Aldo Cortesi
dbed251fb9
Add a raw modifier to requests and responses, which turn off automatic additions.
...
For now, this just turns off adding a Content-Length header when a body is specified.
2012-07-24 12:18:14 +12:00
Aldo Cortesi
91752990d5
Handle HTTP responses that have a body but no content-length or transfer encoding
...
We check if the server sent a connection:close header, and read till the socket
closes.
Closes #2
2012-07-24 11:41:18 +12:00
Aldo Cortesi
4ce309107a
Merge pull request #52 from cjneasbi/master
...
Fixed a bug causing an AttributeError when request is set to false but response not None in ProxyHandler.handle_request
2012-07-23 15:34:25 -07:00
Aldo Cortesi
2dd2137d44
Better handling of binary data output by pathoc.
2012-07-24 00:00:55 +12:00
Aldo Cortesi
a950a4d7a3
Add pathod --noapi to turn off the service API.
2012-07-23 23:31:26 +12:00
Aldo Cortesi
eb88cea3c7
Catch an amazingly subtle SSL connection corruption bug.
...
Closing a set of pseudo-file descriptors in the wrong order caused junk data to
be written to the SSL stream. An apparent bug in OpenSSL then lets this corrupt
the _next_ SSL connection.
2012-07-23 23:20:32 +12:00
Aldo Cortesi
190392ea13
Add a --nocraft option to pathod that turns off crafting.
2012-07-23 21:39:31 +12:00
Aldo Cortesi
622a2b5607
Add a --noweb option to turn web iface off, refactor unit tests.
2012-07-23 19:55:33 +12:00
Aldo Cortesi
eba485f5eb
100% unit test coverage
2012-07-23 19:25:57 +12:00
Aldo Cortesi
763e1ff786
pathod.py unit tests++
2012-07-23 17:53:17 +12:00
Aldo Cortesi
1d1098687c
100% test coverage for pathoc.py
2012-07-23 17:42:44 +12:00
Aldo Cortesi
c1f75dd5a3
Use local scrolling with a JQuery module, because anchor jumps are braindead.
2012-07-23 17:30:50 +12:00
Aldo Cortesi
091d90011b
Unify offset specifications, and document them.
2012-07-23 17:19:25 +12:00
Aldo Cortesi
2880fee4e3
Escape unprintable content in preview.
2012-07-23 16:39:25 +12:00
Aldo Cortesi
e354974787
100% test coverage for app.py
2012-07-23 16:28:34 +12:00
Aldo Cortesi
773ada882d
Unit tests for most of app.py, return 404 for unknown log entry.
2012-07-23 16:18:47 +12:00
Aldo Cortesi
3027aae142
Use configured size limit to keep previews in check.
2012-07-23 15:38:06 +12:00
Aldo Cortesi
5283bb2507
Refactor rparse.InternalResponse -> rparse.PathodErrorResponse
2012-07-23 15:11:40 +12:00
Aldo Cortesi
1c45f5b05c
Use policy hook to apply a size limit in pathod, add corresponding cmdline arg.
2012-07-23 15:03:56 +12:00
Aldo Cortesi
c7b5faf7db
Add hooks for policy checks of served data.
2012-07-23 14:37:00 +12:00
Aldo Cortesi
204a556aa7
Add function for effective length calculation when actions are present.
2012-07-23 10:47:33 +12:00
Aldo Cortesi
32bd16aa31
Make file generators display nicely in pathoc actions dump.
2012-07-22 23:51:44 +12:00
Aldo Cortesi
96db3557ce
Constrain file access to configured directory in pathod.
2012-07-22 23:46:56 +12:00
Aldo Cortesi
1b03fd6780
Allow execution of specs from file, using +./path
2012-07-22 23:37:46 +12:00
Aldo Cortesi
33208b8720
Doc reorg.
2012-07-22 22:24:16 +12:00
Aldo Cortesi
817e550aa1
Multiline specifications for pathod and pathoc.
2012-07-22 15:26:05 +12:00
Aldo Cortesi
30a6988392
pathod: handle keyboard interrupts and SSL errors.
2012-07-22 12:49:59 +12:00
Aldo Cortesi
1e93e42883
Escape special characters in first line error log.
2012-07-22 12:40:27 +12:00
Aldo Cortesi
ed64b0e796
Fix http_protocol parsing crash discovered with pathoc fuzzing.
2012-07-22 12:35:16 +12:00
Aldo Cortesi
8d8ede7e26
Handle invalid content length headers.
2012-07-22 12:30:10 +12:00
Aldo Cortesi
619f3c6edc
Handle unexpected SSL connection termination in readline.
2012-07-21 20:51:05 +12:00
Aldo Cortesi
7a49cdfef3
More robust response handling.
2012-07-21 20:50:41 +12:00
Aldo Cortesi
86fe199988
pathoc: add a flag to dump request information.
2012-07-21 20:20:37 +12:00
Aldo Cortesi
b2c491fe39
Handle socket disconnects on reads.
2012-07-21 17:50:21 +12:00
Aldo Cortesi
29f907ecf9
Handle HTTP versions malformed due to non-integer major/minor numbers.
2012-07-21 17:27:23 +12:00
Aldo Cortesi
059a232903
Add support for client timeout to pathoc.
2012-07-21 16:19:44 +12:00
Aldo Cortesi
2387d2e8ed
Timeout for TCP clients.
2012-07-21 16:10:54 +12:00
Aldo Cortesi
72e30d4712
Add an -n argument to pathoc, to repeat the specified requests N times.
2012-07-21 15:15:10 +12:00
Aldo Cortesi
3e6f440b8d
Document Python-style string escaping.
2012-07-21 14:17:41 +12:00
Aldo Cortesi
5577d85ce6
Use injection to test a corner case in pathod daemon.
2012-07-21 14:14:31 +12:00
Aldo Cortesi
8ec44c6277
Allow Python string escape sequences in value literals.
2012-07-21 14:12:45 +12:00
Aldo Cortesi
8e0c01ae39
Fine-tuning for injection: docs, bugfixes.
2012-07-20 23:47:34 +12:00
Aldo Cortesi
d7841898e3
Add an injection operator.
2012-07-20 23:36:39 +12:00
Aldo Cortesi
2bdbbaa8af
Convert documentation to HTML, fix styling.
2012-07-20 23:19:58 +12:00
Aldo Cortesi
21ef35fd28
Much simpler rewrite of inner data sending loop.
...
We don't have to do the asynchronous code contortion anymore.
2012-07-20 20:14:35 +12:00
Aldo Cortesi
3d9e8b2dbf
We shouldn't ever get a socket error emanating from netlib.
2012-07-20 15:21:36 +12:00
Aldo Cortesi
ba53d2e4ca
Set ssl_established right after the connection object is changed.
2012-07-20 15:15:07 +12:00
Aldo Cortesi
a1a1663c0f
Fix cert path.
2012-07-20 14:45:58 +12:00
Aldo Cortesi
0791fe6cc6
Merge branch 'master' of ssh.github.com:cortesi/netlib
2012-07-20 14:44:23 +12:00
Aldo Cortesi
63d789109a
close() methods for clients and servers.
2012-07-20 14:43:51 +12:00