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
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
Aldo Cortesi
7d01d5c797
Don't read all from server by default.
...
This can cause us to hang waiting for data. More research is needed to
establish the right course of action here.
2012-06-24 23:13:09 +12:00
Aldo Cortesi
820ac5152e
WSGI SERVER_PORT should be a string.
2012-06-24 22:57:09 +12:00
Aldo Cortesi
5988b65419
Add and unit test http.read_response
2012-06-24 22:45:40 +12:00
Aldo Cortesi
0de765f360
Make read_headers return an ODictCaseless object.
2012-06-24 21:49:23 +12:00
Aldo Cortesi
171de05d8e
Add http_status.py
2012-06-23 18:34:51 +12:00
Aldo Cortesi
1263221ddd
100% testcoverage for netlib.http
2012-06-23 15:07:42 +12:00
Aldo Cortesi
5cf6aeb926
protocol.py -> http.py
2012-06-23 13:56:17 +12:00
Aldo Cortesi
227e72abf4
README, setup.py, version
2012-06-23 13:49:57 +12:00
Aldo Cortesi
b706200796
Drop default poll interval to 0.1s.
2012-06-20 11:01:40 +12:00
Aldo Cortesi
084be7684d
Close socket on shutdown.
2012-06-20 10:51:02 +12:00
Aldo Cortesi
ce1ef55456
Adapt WSGI, convert test suite to nose.
2012-06-19 14:23:22 +12:00
Aldo Cortesi
c7e9051cbb
Import wsgi.
2012-06-19 10:42:25 +12:00
Aldo Cortesi
b558997fd9
Initial checkin.
2012-06-19 09:42:32 +12:00