Aldo Cortesi
62edceee09
Revamp dummy cert generation.
...
We no longer use on-disk storage - we just keep the certs in memory.
2013-08-12 16:03:29 +12:00
Aldo Cortesi
00cf889837
Merge pull request #15 from mhils/fix_binary_rw
...
always read files in binary mode
2013-06-15 15:35:36 -07:00
Maximilian Hils
c9ab1c60b5
always read files in binary mode
2013-06-16 00:28:21 +02:00
Maximilian Hils
f02c04d9d8
add test case for invalid characters in cert commonnames
2013-06-14 20:46:14 +02:00
Aldo Cortesi
7f0aa415e1
Add a request_client_cert argument to server SSL conversion.
...
By default, we now do not request the client cert. We're supposed to be able to
do this with no negative effects - if the client has no cert to present, we're
notified and proceed as usual. Unfortunately, Android seems to have a bug
(tested on 4.2.2) - when an Android client is asked to present a certificate it
does not have, it hangs up, which is frankly bogus. Some time down the track
we may be able to make the proper behaviour the default again, but until then
we're conservative.
2013-05-13 08:48:21 +12:00
Aldo Cortesi
9c13224353
Fix exception hierarchy.
2013-05-05 13:49:20 +12:00
Aldo Cortesi
a94d17970e
Sync version number with mitmproxy.
2013-03-05 09:09:52 +13:00
Aldo Cortesi
5f0ad7b2a6
Ensure that HTTP methods are ASCII.
2013-03-03 22:13:23 +13:00
Aldo Cortesi
5a050bb6b2
Tighten up checks on port ranges and path character sets.
2013-03-03 21:39:15 +13:00
Aldo Cortesi
b21a7da142
parse_url: Handle invalid IPv6 addresses
2013-03-03 15:12:58 +13:00
Aldo Cortesi
7b9300743e
More parse_url solidification: check that port is in range 0-65535
2013-03-03 15:08:17 +13:00
Aldo Cortesi
cd4ed8530f
Check that hosts in parse_url do not contain NULL bytes.
2013-03-03 15:03:57 +13:00
Aldo Cortesi
2897ddfbee
Stricter error checking for http.parse_url
2013-03-03 14:52:06 +13:00
Aldo Cortesi
1fe1a802ad
100% test coverage.
2013-03-03 12:16:09 +13:00
Aldo Cortesi
0acab862a6
Integrate HTTP auth, test to 100%
2013-03-03 10:37:28 +13:00
Aldo Cortesi
0fa6351965
ODict.keys
2013-02-28 09:28:48 +13:00
Aldo Cortesi
97e11a219f
Housekeeping and cleanup, some minor argument name changes.
2013-02-24 15:36:15 +13:00
Aldo Cortesi
c6f9a2d74d
More accurate description of an HTTP read error, make pyflakes happy.
2013-02-24 11:08:43 +13:00
Aldo Cortesi
7d18535665
100% test coverage
2013-01-27 19:21:18 +13:00
Aldo Cortesi
7433dfceae
Bump unit tests, fix two serious wee buglets discovered.
2013-01-26 21:29:45 +13:00
Aldo Cortesi
e5b125eec8
Introduce the mock module to improve unit tests.
...
There are a few socket corner-cases that are incredibly hard to reproduce in a
unit test suite, so we use mock to trigger the exceptions instead.
2013-01-26 21:19:35 +13:00
Aldo Cortesi
cc4867064b
Streamline netlib.test API
2013-01-25 16:03:59 +13:00
Aldo Cortesi
2eb6651e51
Extract TCP test utilities into netlib.test
2013-01-25 15:54:41 +13:00
Aldo Cortesi
7248a22d5e
Improve error signalling for client certificates.
2013-01-20 22:36:54 +13:00
Aldo Cortesi
00d20abdd4
Beef up client certificate handling substantially.
2013-01-20 22:13:38 +13:00
Rouli
04048b4c73
renaming the timestamp in preparation of other timestamps that will be added later, adding tests
2013-01-16 22:30:19 +02:00
Aldo Cortesi
e4acace8ea
Sanity-check certstore common names.
2013-01-06 01:34:39 +13:00
Aldo Cortesi
72032d7fe7
Basic certificate store implementation and cert utils API cleanup.
2013-01-06 01:16:25 +13:00
Aldo Cortesi
a9a4064ff9
Unit test for ODict.__iter__
2013-01-05 20:08:48 +13:00
Aldo Cortesi
d3b46feb60
Handle non-integer port error in parse_init_connect correctly
2013-01-05 20:06:55 +13:00
Aldo Cortesi
77869634e2
Limit reads to block length.
2012-10-09 16:25:15 +13:00
Aldo Cortesi
15679e010d
Add a settimeout method to tcp.BaseHandler.
2012-10-01 11:30:02 +13: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
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
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
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
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
63d789109a
close() methods for clients and servers.
2012-07-20 14:43:51 +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
7480f87cd7
Add utility function for converstion to PEM.
2012-06-28 14:56:21 +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
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
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
1662d6d572
Repair test suite.
2012-06-24 23:16:06 +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
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
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