Commit Graph

164 Commits

Author SHA1 Message Date
Aldo Cortesi
15679e010d Add a settimeout method to tcp.BaseHandler. 2012-10-01 11:30:02 +13:00
Aldo Cortesi
064b4c8001 Make cleanBin escape carriage returns.
We get confusing output on terminals if we leave \r unescaped.
2012-09-27 10:59:46 +12:00
Aldo Cortesi
b308824193 Create netlib.utils, move cleanBin and hexdump from libmproxy.utils. 2012-09-24 11:21:48 +12:00
Aldo Cortesi
3a21e28bf1 Split FileLike into Writer and Reader, and add logging functionality. 2012-09-24 11:10:21 +12:00
Aldo Cortesi
8a6cca530c Don't create fresh FileLike objects when converting to SSL 2012-09-24 10:47:41 +12:00
Aldo Cortesi
1c80c2fdd7 Add a collection of standard User-Agent strings.
These will be used in both mitmproxy and pathod.
2012-09-01 23:04:44 +12:00
Aldo Cortesi
33557245bf v0.2.1 2012-08-23 12:57:22 +12:00
Aldo Cortesi
877a3e2062 Add a get_first convenience function to ODict. 2012-08-18 18:14:13 +12:00
Aldo Cortesi
1c21a28e64 read_headers: handle some crashes, return None on invalid data. 2012-07-30 12:50:35 +12:00
Aldo Cortesi
eafa5566c2 Handle disconnects on flush. 2012-07-30 11:30:31 +12:00
Aldo Cortesi
4fb5d15f14 Bump version. 2012-07-29 15:53:42 +12:00
Aldo Cortesi
728ef107a0 Ignore SAN entries that we don't understand. 2012-07-24 14:55:54 +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
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
ed64b0e796 Fix http_protocol parsing crash discovered with pathoc fuzzing. 2012-07-22 12:35:16 +12:00
Aldo Cortesi
619f3c6edc Handle unexpected SSL connection termination in readline. 2012-07-21 20:51:05 +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
2387d2e8ed Timeout for TCP clients. 2012-07-21 16:10:54 +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
Aldo Cortesi
f62d5b43b6 Merge pull request #1 from mhils/master
Fix cert generation if confdir is relative
2012-07-11 02:14:38 -07:00
Maximilian Hils
9ab7842c81 fix relative certdir 2012-07-11 11:09:41 +02:00
Aldo Cortesi
1227369db3 Signal errors back to caller in WSGI .serve() 2012-07-11 07:16:45 +12:00
Aldo Cortesi
4fdc2179e2 Don't write empty values. 2012-07-10 16:34:39 +12:00
Aldo Cortesi
721e2c8277 Somewhat nicer handling of errors after thread termination. 2012-07-10 16:22:45 +12:00
Aldo Cortesi
ba7437abcb Add an exception to indicate remote disconnects. 2012-07-08 23:50:38 +12:00
Aldo Cortesi
20cc1b6aa4 Refactor TCP test suite. 2012-07-05 10:57:20 +12:00
Aldo Cortesi
96af5c16a0 Expose SSL options, use TLSv1 by default for client connections. 2012-07-04 21:30:07 +12:00
Aldo Cortesi
67669a2a57 Allow control of buffer size for TCPClient, improve error messages. 2012-06-30 10:52:28 +12:00
Aldo Cortesi
7480f87cd7 Add utility function for converstion to PEM. 2012-06-28 14:56:21 +12:00
Aldo Cortesi
3f9aad53ab Return a certutils.SSLCert object from get_remote_cert. 2012-06-28 10:59:03 +12:00
Aldo Cortesi
bae86480d4 Merge branch 'master' of github.com:cortesi/netlib 2012-06-28 09:57:33 +12:00
Aldo Cortesi
92c7d38bd3 Handle obscure termination scenario, where interpreter exits before thread termination. 2012-06-28 09:56:58 +12:00
Aldo Cortesi
a1491a6ae0 Add a get_remote_cert method to tcp client. 2012-06-28 08:15:55 +12:00
Aldo Cortesi
b0ef9ad07b Refactor certutils.SSLCert API. 2012-06-27 22:11:58 +12:00
Aldo Cortesi
f7fcb1c80b Add certutils to netlib. 2012-06-27 16:42:00 +12:00
Aldo Cortesi
97071c0952 Merge branch 'master' of ssh.github.com:cortesi/netlib 2012-06-27 16:24:34 +12:00
Aldo Cortesi
5d4c7829bf Minor refactoring. 2012-06-27 16:24:22 +12:00
Aldo Cortesi
d0fd8385e6 Fix termiantion error in file read. 2012-06-27 12:11:55 +12:00
Aldo Cortesi
abe335e57d Add a flag to track SSL connection establishment. 2012-06-26 23:52:35 +12:00
Aldo Cortesi
658c9c0446 Hunt down a tricky WSGI socket hang. 2012-06-26 14:49:23 +12:00
Aldo Cortesi
ccf2603ddc Add SNI. 2012-06-26 09:50:42 +12:00
Aldo Cortesi
ea457fac2e Perform handshake immediately on SSL conversion.
Otherwise the handshake happens at first write, which can balls up if either
side hangs immediately.
2012-06-25 16:16:01 +12:00
Aldo Cortesi
353efec7ce Improve TCPClient interface.
- Don't pass SSL parameters on instantiation.
- Add a convert_to_ssl method analogous to that in TCPServer.
2012-06-25 14:42:15 +12:00
Aldo Cortesi
47f862ae27 Add a finished flag to BaseHandler, and catch an extra OpenSSL exception. 2012-06-25 11:34:10 +12:00
Aldo Cortesi
f3237503a7 Don't connect during __init__ methods for either client or server.
This means we now need to do these things explicitly at the caller.
2012-06-25 11:23:04 +12:00
Aldo Cortesi
8f0754b9c4 SSL tests, plus some self-signed test certificates. 2012-06-25 11:00:39 +12:00