aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG9
-rw-r--r--libpathod/app.py11
-rw-r--r--libpathod/templates/index.html2
-rw-r--r--libpathod/version.py8
-rw-r--r--setup.py7
-rw-r--r--test/test_pathod.py4
6 files changed, 31 insertions, 10 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 55b11342..2de445b4 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,12 @@
+7 November 2014: pathod 0.11:
+
+ * Hugely improved SSL support, including dynamic generation of certificates
+ using the mitproxy cacert
+ * pathoc -S dumps information on the remote SSL certificate chain
+ * Big improvements to fuzzing, including random spec selection and memoization to avoid repeating randomly generated patterns
+ * Reflected patterns, allowing you to embed a pathod server response specification in a pathoc request, resolving both on client side. This makes fuzzing proxies and other intermediate systems much better.
+
+
25 August 2013: pathod 0.9.2:
* Adapt to interface changes in netlib
diff --git a/libpathod/app.py b/libpathod/app.py
index 1910e80e..d23d26a0 100644
--- a/libpathod/app.py
+++ b/libpathod/app.py
@@ -1,4 +1,6 @@
-import logging, pprint, cStringIO
+import logging
+import pprint
+import cStringIO
from flask import Flask, jsonify, render_template, request, abort, make_response
import version, language, utils
from netlib import http_uastrings
@@ -39,7 +41,12 @@ def make_app(noapi):
@app.route('/')
@app.route('/index.html')
def index():
- return render("index.html", True, section="main")
+ return render(
+ "index.html",
+ True,
+ section="main",
+ version=version.VERSION
+ )
@app.route('/download')
@app.route('/download.html')
diff --git a/libpathod/templates/index.html b/libpathod/templates/index.html
index 5e4bd842..337f361c 100644
--- a/libpathod/templates/index.html
+++ b/libpathod/templates/index.html
@@ -56,7 +56,7 @@
<h2>source</h2>
<ul>
- <li>Current release: <a href="http://mitmproxy.org/download/pathod-0.9.2.tar.gz">pathod 0.9.2</a></li>
+ <li>Current release: <a href="http://mitmproxy.org/download/pathod-{{version}}.tar.gz">pathod {{version}}</a></li>
<li>GitHub: <a href="http://github.com/mitmproxy/pathod">github.com/cortesi/pathod</a></li>
</li>
diff --git a/libpathod/version.py b/libpathod/version.py
index ad539392..5f7675e2 100644
--- a/libpathod/version.py
+++ b/libpathod/version.py
@@ -1,5 +1,9 @@
-IVERSION = (0, 11)
+IVERSION = (0, 11, 1)
VERSION = ".".join(str(i) for i in IVERSION)
MINORVERSION = ".".join(str(i) for i in IVERSION[:2])
NAME = "pathod"
-NAMEVERSION = NAME + " " + VERSION \ No newline at end of file
+NAMEVERSION = NAME + " " + VERSION
+
+NEXT_MINORVERSION = list(IVERSION)
+NEXT_MINORVERSION[1] += 1
+NEXT_MINORVERSION = ".".join(str(i) for i in NEXT_MINORVERSION[:2])
diff --git a/setup.py b/setup.py
index 46f8a969..adad576a 100644
--- a/setup.py
+++ b/setup.py
@@ -35,16 +35,17 @@ setup(
packages=find_packages(),
include_package_data=True,
-
entry_points={
'console_scripts': [
"pathod = libpathod.cmdline:go_pathod",
"pathoc = libpathod.cmdline:go_pathoc"
]
},
-
install_requires=[
- 'netlib>=%s' % version.MINORVERSION,
+ "netlib>=%s, <%s" % (version.MINORVERSION, version.NEXT_MINORVERSION),
+ # It's INSANE that we have to do this, but...
+ # FIXME: Requirement to be removed at next release
+ "pip>=1.5.6",
"requests>=2.4.1",
"Flask>=0.10.1"
],
diff --git a/test/test_pathod.py b/test/test_pathod.py
index 158f3bda..8b37b545 100644
--- a/test/test_pathod.py
+++ b/test/test_pathod.py
@@ -153,7 +153,7 @@ class CommonTests(tutils.DaemonTests):
assert l["type"] == "error"
assert "foo" in l["msg"]
- def test_invalid_body(self):
+ def test_invalid_content_length(self):
tutils.raises(
http.HttpError,
self.pathoc,
@@ -161,7 +161,7 @@ class CommonTests(tutils.DaemonTests):
)
l = self.d.last_log()
assert l["type"] == "error"
- assert "Invalid" in l["msg"]
+ assert "Content-Length unknown" in l["msg"]
def test_invalid_headers(self):
tutils.raises(http.HttpError, self.pathoc, "get:/:h'\t'='foo'")