Commit Graph

278 Commits

Author SHA1 Message Date
Aldo Cortesi 3d52d16e8d Merge branch 'tcp_proxy' 2014-02-07 10:50:23 +13:00
Maximilian Hils 7fc544bc7f adjust netlib.wsgi to reflect changes in mitmproxys flow format 2014-02-05 21:34:14 +01:00
Maximilian Hils 763cb90b66 add tcp.Address to unify ipv4/ipv6 address handling 2014-01-28 17:26:35 +01:00
Maximilian Hils 9759ec7c29 move test requirements out of main requirements.txt 2014-01-28 02:57:46 +01:00
Maximilian Hils cebec67e08 refactor read_http_body 2013-12-15 06:43:54 +01:00
Maximilian Hils 0187d92ec0 test tcpclient.source_address, increase coverage 2013-12-14 00:19:24 +01:00
Maximilian Hils f2e8efdf15 merge smurfix/ipv6, add ipv6 support for TCPServer, add ipv6 test 2013-12-13 15:04:38 +01:00
Aldo Cortesi 4840c6b3bf Fix race condition in test suite. 2013-12-08 15:26:30 +13:00
Maximilian Hils bae2b6ea36 fix AuthAction tests failures from last merge 2013-12-08 02:24:00 +01:00
Aldo Cortesi 7213f86d49 Unit test auth actions. 2013-12-08 13:35:42 +13:00
Aldo Cortesi d05c20d8fa Domain checks for persistent cert store is now irrelevant.
We no longer store these on disk, so we don't care about path
components.
2013-12-08 13:15:08 +13:00
Aldo Cortesi 75745cb0af Zap stray print in tests. 2013-12-08 13:04:27 +13:00
Aldo Cortesi 98a580cf69 Merge pull request #19 from rouli/ciphersuites
adding cipher list selection option to BaseHandler
2013-12-07 15:51:44 -08:00
Maximilian Hils 643602c066 Merge branch 'fix_windows_bugs' into fix_invalid_tcp_close 2013-11-19 05:03:10 +01:00
Maximilian Hils 5e4ccbd7ed attempt to fix #24 2013-11-19 04:11:24 +01:00
Israel Nir d5b3e397e1 adding cipher list selection option to BaseHandler 2013-08-21 13:42:30 +03:00
Maximilian Hils 28a0030c1e compatibility fixes for windows 2013-08-19 19:41:20 +02:00
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