Maximilian Hils
|
48b166ab57
|
move cert serialization to cryptography
|
2020-12-29 23:36:12 +01:00 |
|
Maximilian Hils
|
3fe29b27be
|
use cryptography to generate certificates
this fixes #4368, but we are not done here. the goal is to replace most
usages of pyOpenSSL's cert object with cryptography.
|
2020-12-29 01:19:58 +01:00 |
|
Maximilian Hils
|
74aeb3ae4c
|
add memory leak detect script for certificate generation, refs #4368
|
2020-12-29 01:17:01 +01:00 |
|
Maximilian Hils
|
70f1d173e2
|
Reply: remove return value
|
2020-12-28 22:09:57 +01:00 |
|
Maximilian Hils
|
1655f54817
|
cleanup old proxy server
|
2020-12-28 14:33:10 +01:00 |
|
Maximilian Hils
|
a0f923aa14
|
coverage++
|
2020-12-28 09:56:25 +01:00 |
|
Maximilian Hils
|
2db9a43fd6
|
add type annotations, test sslkeylogfile
|
2020-12-28 09:44:37 +01:00 |
|
Maximilian Hils
|
de46db53e9
|
minor fixes
|
2020-12-21 20:52:02 +01:00 |
|
Maximilian Hils
|
57f5d1af63
|
monkeypatch pyOpenSSL to accept new TLS methods
|
2020-12-21 16:34:37 +01:00 |
|
Maximilian Hils
|
8842abbb4f
|
clean up tls bits
|
2020-12-21 16:20:03 +01:00 |
|
Maximilian Hils
|
61a2beac3c
|
minor fixes
|
2020-12-20 14:17:43 +01:00 |
|
Maximilian Hils
|
8ce4bc7142
|
additional test speedups
|
2020-12-20 00:50:40 +01:00 |
|
Maximilian Hils
|
2f725e5f02
|
massively speed up tests by properly mocking ldap proxyauth
|
2020-12-20 00:34:30 +01:00 |
|
Maximilian Hils
|
b05c13daa6
|
remove old mitmproxy.net.tcp code
this is not needed anymore with sans-io
|
2020-12-20 00:12:21 +01:00 |
|
Maximilian Hils
|
1ffe406d24
|
Merge pull request #4359 from mhils/warn-no-nextlayer
Warn if no nextlayer addon is present
|
2020-12-18 03:08:21 +01:00 |
|
Thomas Kriechbaumer
|
47f8e1d115
|
asgi: refactor tests to new proxy core
|
2020-12-15 23:37:39 +01:00 |
|
Maximilian Hils
|
e0d5dea959
|
warn if no nextlayer addon is present
|
2020-12-15 23:35:43 +01:00 |
|
Thomas Kriechbaumer
|
df164f42e1
|
imports cleanup
|
2020-12-14 23:52:48 +01:00 |
|
Thomas Kriechbaumer
|
722d8f2db7
|
onboardingapp: test using nativ flask test client
|
2020-12-14 23:52:48 +01:00 |
|
Thomas Kriechbaumer
|
60342344e4
|
nuke sessions addon with sqlite an protobuf components
|
2020-12-14 22:14:44 +01:00 |
|
Thomas Kriechbaumer
|
acd985c4c9
|
fix extracting PEM from context.Server.certificate_list
|
2020-12-14 22:14:44 +01:00 |
|
Thomas Kriechbaumer
|
55a58ba8e8
|
fix deprecation warnings in context client/server
|
2020-12-14 22:14:44 +01:00 |
|
Thomas Kriechbaumer
|
d159897d98
|
nuke legacy protocol stack
|
2020-12-14 22:14:43 +01:00 |
|
Thomas Kriechbaumer
|
e6445af2cd
|
cibuild: cleanup outdated providers
|
2020-12-14 20:01:32 +01:00 |
|
Thomas Kriechbaumer
|
c35316f85a
|
remove pathod and pathoc
|
2020-12-13 20:21:11 +01:00 |
|
Maximilian Hils
|
a3909ee024
|
[sans-io] add dedicated proxy_debug option
|
2020-12-12 23:57:20 +01:00 |
|
Maximilian Hils
|
a768825fba
|
[sans-io] docs++
|
2020-12-12 21:55:58 +01:00 |
|
Maximilian Hils
|
8f49cde627
|
[sans-io] add tunnel tests
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
f0bdf887fc
|
[sans-io] tests++
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
641b1c425b
|
[sans-io] add mode tests, minor fixes
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
4c75765387
|
[sans-io] test coverage++
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
64d2ac8ef3
|
[sans-io] add Layer tests
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
ed753d1a38
|
[sans-io] add read_sansio tests
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
d3bd603fb9
|
[sans-io] add proxyserver tests
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
8e7cbb3991
|
[sans-io] remove unused code
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
efacbca0ca
|
[sans-io] add clientplayback tests
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
1c9e9660b8
|
[sans-io] add next_layer tests
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
21293edce0
|
[sans-io] TLS: add handshake fuzzing
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
de925ab397
|
[sans-io] fix tests
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
8201a90e22
|
[sans-io] lint!
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
00c54e68b8
|
[sans-io] HTTP/2: more fuzzing, improve cancellation logic
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
8f516bfd81
|
[sans-io] HTTP/2: reset half-closed streams on error
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
66868b1186
|
[sans-io] HTTP/2: protocol fixes, tests++
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
52479e94bb
|
[sans-io] include non-standard ports in host header, refs #4280
|
2020-12-12 21:24:21 +01:00 |
|
Maximilian Hils
|
8ae2ab2aca
|
[sans-io] fix HTTP/2 stream cancellation
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
d32a5d5f33
|
[sans-io] websockets: fix bugs, 100% test coverage 🎉
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
a4a0428bc6
|
[sans-io] handle 101 switching protocols
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
19f8cd0839
|
[sans-io] add websocket proof-of-concept
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
222d5cedc8
|
[sans-io] HTTP/1: Add tests for HTTP -> TCP pipe behavior
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
4f0cbec308
|
[sans-io] http: emit error hook when killed
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
41f69749f2
|
[sans-io] enable "Secure Web Proxy" mode
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
1d4bdeb68d
|
[sans-io] HTTP/2: enable END_STREAM for HEADERS
Akamai really doesn't like empty DATA frames with END_STREAM set,
so we mitigate this by indicating end stream in the MessageHeaders events.
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
3c061b7863
|
[sans-io] fix playbook SendData merging
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
1112135920
|
[sans-io] HTTP/2: respect max_concurrency_limit
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
485c8eb3e9
|
[sans-io] fix HTTP/2 -> HTTP/1 interop, limit max connections / server / client
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
32208b14eb
|
[sans-io] fix HTTP/2 stream concurrency
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
553f102d6e
|
[sans-io] playbook: fix multiple placeholders of same type
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
9251f7820a
|
[sans-io] fix HTTP/2 client aborts
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
3bffcf5e2f
|
[sans-io] fix tcp half close behavior
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
b5f59a1297
|
[sans-io] test NextLayer behavior on connection close
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
65870b729f
|
[sans-io] improve tcp half close behavior
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
c639fafd64
|
[sans-io] more testing, more bugfixes!
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
38f006eb9a
|
[sans-io] more http testing, more bugfixes!
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
25999ba9d4
|
[sans-io] http bugfixes!
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
74f94fe5a3
|
disable asyncio debug mode, fix tests
|
2020-12-12 21:24:20 +01:00 |
|
Maximilian Hils
|
3fdbff3faa
|
[sans-io] tlsconfig: add tests
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
decd2b8c80
|
[sans-io] add minimal benchmarks
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
75b7b743c4
|
[sans-io] fix tls tests
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
97285512f1
|
[sans-io] rely on kill message instead of subclass
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
40fc542cf6
|
[sans-io] add flow killing, tests++
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
34d96da876
|
[sans-io] extend HTTP/2 fuzzing, fix found bugs
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
0549d50a47
|
[sans-io] add HTTP/2 fuzzing, various other fixes
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
87ec81e435
|
[sans-io] complete h1/h2 interop
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
ffa5a69ebf
|
[sans-io] h2 client (wip)
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
0646a4f1ba
|
[sans-io] h2++, typeize Placeholder
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
21000fca2c
|
[sans-io] close client conn on CONNECT failure
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
b9e3b46fd8
|
[sans-io] add http fuzzing tests
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
a568721e86
|
[sans-io] add tests for unreachable http servers
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
f12b2b7e87
|
[sans-io] better sockname/peername naming, refs #3896
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
c5cb0d2f0b
|
[sans-io] implement support for Expect: 100-continue
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
c00a78751e
|
[sans-io] enable proxying by host header
This mirrors the current examples/complex/dns_spoofing.py script.
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
3f9441ac5f
|
[sans-io] finalize upstream proxy mode
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
549eb8df4b
|
[sans-io] upstream proxy tests and fixes
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
605da3afb6
|
[sans-io] refactor TLS layer to be a tunnel
|
2020-12-12 21:24:19 +01:00 |
|
Maximilian Hils
|
a30a6758f3
|
[sans-io] fixes, fixes, fixes
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
b2060356b6
|
[sans-io] wip: tls establishment semantics
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
7efe27be74
|
[sans-io] refactor
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
0740c673bd
|
[sans-io] implement http streaming, refine error handling
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
5671012163
|
[sans-io] make hooks explicit
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
03801aecb2
|
[sans-io] split http layer into smaller modules
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
9e6548e581
|
[sans-io] tls: handle untrusted mitmproxy certs
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
b075b7fc15
|
[sans-io] tls: handle invalid clienthellos
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
6cf0bec912
|
[sans-io] tls: various improvements
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
09b6257de0
|
[sans-io] tls tests++
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
7fbe8cece7
|
[sans-io] tls: test alpn
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
6ee7802bf1
|
[sans-io] http tests++
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
1c80dfe17f
|
[sans-io] tls layer++
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
2736c9c705
|
[sans-io] remove old implementations
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
84287f928c
|
[sans-io] improve testing story
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
e0eb77a794
|
[sans-io] add transparent proxy, improve testing
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
87a4d3efdb
|
[sans-io] http implementation++
|
2020-12-12 21:24:18 +01:00 |
|
Maximilian Hils
|
f76b751661
|
[sans-io] fix NextLayer race condition
|
2020-12-12 21:24:17 +01:00 |
|
Thomas Kriechbaumer
|
bc20b77c48
|
refactor websockets
|
2020-12-12 21:24:17 +01:00 |
|
Maximilian Hils
|
a860fe4a4b
|
[sans-io] minor test improvements
|
2020-12-12 21:24:17 +01:00 |
|
Maximilian Hils
|
8938aec2c0
|
[sans-io] adjust tls tests
|
2020-12-12 21:24:17 +01:00 |
|
Maximilian Hils
|
b5a3343d03
|
[sans-io] add ALPN support to TLS layer, tests++
|
2020-12-12 21:24:17 +01:00 |
|
Maximilian Hils
|
3f7b850268
|
[sans-io] test server tls
|
2020-12-12 21:24:17 +01:00 |
|
Maximilian Hils
|
4cd83ee0af
|
[sans-io] minor test improvements
|
2020-12-12 21:24:17 +01:00 |
|
Maximilian Hils
|
c6262f9e9c
|
[sans-io] remove hook reply
This is not desired as hooks modify the passed object itself
instead of returning a custom reply.
|
2020-12-12 21:24:17 +01:00 |
|
Maximilian Hils
|
1fa2e59734
|
[sans-io] add initial tls tests
|
2020-12-12 21:24:17 +01:00 |
|
Maximilian Hils
|
9ea0259bb7
|
[sans-io] improve ClientHello parsing, add tests
|
2020-12-12 21:24:17 +01:00 |
|
Ujjwal Verma
|
0cb06b428e
|
Moved tests
|
2020-12-12 21:24:17 +01:00 |
|
Maximilian Hils
|
08ecb21a78
|
sans-io adjustments (#4342)
|
2020-12-12 16:09:11 +01:00 |
|
林玮 (Jade Lin)
|
380ac072aa
|
ASGIApp should ignore the HTTP flows loaded from somewhere (#4324)
|
2020-12-12 11:17:38 +01:00 |
|
Maximilian Hils
|
01f57346ee
|
sans-io adjustments
|
2020-12-11 14:09:18 +01:00 |
|
Maximilian Hils
|
5c734b3cd6
|
Merge pull request #4333 from mhils/issue-4280
fix #4280
|
2020-12-10 09:55:29 +01:00 |
|
Maximilian Hils
|
009c124dc8
|
fix #4280
|
2020-12-10 09:24:28 +01:00 |
|
Maximilian Hils
|
c5eae9d752
|
drop support for Python 3.6 and 3.7
We require Python 3.8 for sans-io (#1775),
so we need to drop support for older versions.
|
2020-12-06 00:25:09 +01:00 |
|
Maximilian Hils
|
4b8fcc8650
|
use OpenSSL's keylog callback for SSLKEYLOGFILE, refs #3994
|
2020-11-27 23:49:04 +01:00 |
|
Maximilian Hils
|
b01d574d8b
|
Merge pull request #4309 from jrblixt/InformUnderscoreFormat-Issue_4054
Inform user when underscore-formatted options are used.
|
2020-11-26 18:39:45 +01:00 |
|
Maximilian Hils
|
6d8a315c5d
|
assume keep-alive for HTTP/2
|
2020-11-24 14:48:22 +01:00 |
|
jrblixt
|
ce528a9ff3
|
Inform user when underscore-formatted options are used.
|
2020-11-24 01:37:54 -07:00 |
|
Maximilian Hils
|
bce8bf5f81
|
make individual coverage checker happy
|
2020-11-21 20:19:47 +01:00 |
|
Maximilian Hils
|
9b0c4e2338
|
debug: dump asyncio tasks
|
2020-11-21 20:06:11 +01:00 |
|
Maximilian Hils
|
9b7dfb0fc9
|
add asyncio_utils
|
2020-11-21 20:01:11 +01:00 |
|
Thomas Kriechbaumer
|
38cca379df
|
pyupgrade --py36-plus mitmproxy/**/*.py
|
2020-11-20 19:25:26 +01:00 |
|
Thomas Kriechbaumer
|
44a1848799
|
Merge pull request #4292 from Kriechi/fix-4287
command-history: fail-safe file handling
|
2020-11-18 22:45:22 +01:00 |
|
Thomas Kriechbaumer
|
3c50523025
|
command-history: fail-safe file handling
|
2020-11-17 23:08:57 +01:00 |
|
Maximilian Hils
|
4351262c95
|
Merge pull request #4294 from mhils/sans-io-adjustments
Add a switch for sans-io proxy core
|
2020-11-17 21:58:27 +01:00 |
|
Maximilian Hils
|
1490d665fe
|
lint!
|
2020-11-17 20:20:38 +01:00 |
|
Maximilian Hils
|
77758cff93
|
skip async tests on old python versions
|
2020-11-17 19:15:24 +01:00 |
|
Maximilian Hils
|
739b5b0b74
|
sans-io compat++
|
2020-11-17 17:29:33 +01:00 |
|
Felix Yan
|
0b0a6cfef6
|
Replace asynctest with stdlib mock
This is an implementation of
https://github.com/mitmproxy/mitmproxy/issues/4020
Tested to work fine here with Python 3.8.6.
|
2020-11-14 05:27:35 +08:00 |
|
Thomas Kriechbaumer
|
6289d9bca8
|
refactor and remove dead code
|
2020-11-08 13:07:44 +01:00 |
|
Thomas Kriechbaumer
|
488be14412
|
Merge pull request #4283 from Kriechi/decouple++
websocket: decouple from pathod
|
2020-11-07 17:15:04 +01:00 |
|
Thomas Kriechbaumer
|
f47bf6fe4f
|
websocket: decouple from pathod
|
2020-11-07 17:04:57 +01:00 |
|
Maximilian Hils
|
b45147e91d
|
Merge pull request #4271 from jpstotz/asgi-query
asgiapp.py: fix query parameters
|
2020-11-07 09:48:56 +01:00 |
|
Thomas Kriechbaumer
|
232c71b2e0
|
Merge pull request #4268 from Kriechi/cleanup
detangle custom websockets implementation and replace it with mostly …
|
2020-11-06 22:21:24 +01:00 |
|
Thomas Kriechbaumer
|
c8f9823704
|
detangle custom websockets implementation and replace it with mostly wsproto
|
2020-11-06 22:08:14 +01:00 |
|
Jan Peter Stotz
|
66322c57e1
|
unit test for issue #4270 added
|
2020-11-06 11:32:19 +01:00 |
|
Maximilian Hils
|
02fad34239
|
update verification certs
|
2020-11-03 08:04:15 +01:00 |
|
Maximilian Hils
|
2ead32652e
|
fix option checks
|
2020-11-03 07:19:05 +01:00 |
|
Maximilian Hils
|
f8b3874034
|
sync minor sans-io changes
|
2020-11-03 07:10:13 +01:00 |
|
Maximilian Hils
|
dd8d338a62
|
update cryptography, change test cert generation to use different CNs
|
2020-11-01 01:38:10 +01:00 |
|
Thomas Kriechbaumer
|
0f7f4ba949
|
various trailer-related fixes
|
2020-10-31 17:30:15 +01:00 |
|
Thomas Kriechbaumer
|
c0e846b700
|
fix invididual test coverage
|
2020-10-31 11:59:51 +01:00 |
|
Thomas Kriechbaumer
|
a415c218ea
|
fix http trailer tests
|
2020-10-31 11:42:26 +01:00 |
|
Shiva
|
f4b9930b05
|
Added support to echo http trailers in dumper addon
|
2020-10-31 11:04:56 +01:00 |
|
Thomas Kriechbaumer
|
730ee85469
|
Merge branch 'master' into send-http1-trailers
|
2020-10-21 20:17:24 +02:00 |
|
Thomas Kriechbaumer
|
b167f9fd2d
|
http2: fix missing END_STREAM flag on requests without body
fixes #4231
|
2020-10-17 16:59:24 +02:00 |
|