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 @@
source
- - Current release: pathod 0.9.2
+ - Current release: pathod {{version}}
- GitHub: github.com/cortesi/pathod
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'")