Aldo Cortesi
21c7218ee3
Close when Pathoc.connect raises an exception
2016-06-06 16:52:51 +12:00
Aldo Cortesi
c31b9c461d
Merge pull request #1211 from cortesi/pathod
...
WIP: Radical webectomy of pathod
2016-06-06 08:40:20 +12:00
Shadab Zafar
cff54edf6b
Py3: Use functools.total_ordering for better rich comparison
2016-06-06 00:07:44 +05:30
Shadab Zafar
bda30efb35
Py3: Use rich comparison methods (__eq__, __lt__) instead of __cmp__
2016-06-06 00:07:44 +05:30
Aldo Cortesi
a31c183a0f
Ditch pathod static assets
2016-06-05 13:28:57 +12:00
Aldo Cortesi
375d7c9741
Remove last vestiges of noapi and noweb from pathod
...
Also hide HTTP2 freeze bug by making explain configurable in the tests
2016-06-05 13:24:46 +12:00
Aldo Cortesi
48da24ae7e
First-order removal of pathod API and app
2016-06-05 13:04:13 +12:00
Shadab Zafar
2dec2db756
Py3: Return path unescaped
...
[skip appveyor]
2016-06-04 18:31:31 +05:30
Shadab Zafar
1c82231129
Use encode to detect if string is valid ASCII
2016-06-04 12:49:11 +02:00
Shadab Zafar
ae553ef472
Fix Docstring: "inject" can be an action too
2016-06-04 15:23:09 +05:30
Aldo Cortesi
6943d7e397
More explicit name for the tcp.Server handler counter
2016-06-03 13:57:12 +12:00
Aldo Cortesi
e60860e65d
Make tcp.Client.connect return a context manager that closes the connection
2016-06-03 12:06:36 +12:00
Aldo Cortesi
36383a6146
Pathod websocket service threads should not be immortal
2016-06-03 11:58:05 +12:00
Aldo Cortesi
c5076f5e01
Implement a service connection handler counter, use it in Pathod test suite
...
Lots of failures, but that's a good thing.
2016-06-03 11:47:07 +12:00
Aldo Cortesi
c6d15904f3
Merge remote-tracking branch 'upstream/master' into testsuite
2016-06-03 10:19:22 +12:00
Shadab Zafar
8e60a9bca9
Handle the slice object case in TransformGenerator.__getitem__
2016-06-03 02:00:58 +05:30
Maximilian Hils
5e385405ca
please flake8
2016-06-02 09:54:19 -07:00
Maximilian Hils
29c52d98dc
Merge remote-tracking branch 'duffer/pathod-lang-generators'
2016-06-02 09:53:22 -07:00
Shadab Zafar
75ce2498e8
Simplify rand_byte by creating a special case for Python 2
2016-06-02 13:34:18 +05:30
Aldo Cortesi
69de78515d
Make last_log actually return last log
2016-06-02 19:45:18 +12:00
Shadab Zafar
ec5d931ee3
Remove redundant __getslice__ from TransformGenerator
2016-06-02 13:02:17 +05:30
Shadab Zafar
b510616c69
Py3: Return bytes from FileGenerator
...
and use __getitem__ instead of __getslice__
2016-06-02 13:00:44 +05:30
Shadab Zafar
a04d7fd166
Py3: Return bytes from RandomGenerator
...
and use __getitem__ rather than __getslice__
2016-06-02 13:00:02 +05:30
Aldo Cortesi
a7522d9308
pathod.test shouldn't use the API at all
2016-06-02 18:27:51 +12:00
Aldo Cortesi
254614e9f7
Since we have locks over the logs, use direct access rather than API requests to get to them
2016-06-02 18:10:36 +12:00
Aldo Cortesi
40156ce123
Bump error timeout
2016-06-02 17:55:11 +12:00
Aldo Cortesi
5e12384486
Remove debug print
2016-06-02 17:54:34 +12:00
Aldo Cortesi
92decf96dd
Add expect_log to the pathod test truss, and use it for last_log
2016-06-02 17:46:37 +12:00
Aldo Cortesi
29bcdc8250
Fix lock over pathod locks
...
There were basically a nop before... o_O
2016-06-02 16:08:17 +12:00
Aldo Cortesi
09da1febbd
Shift a bunch more string-related functions to strutils
2016-06-02 13:04:19 +12:00
Aldo Cortesi
31012d782f
Consolidate some functions to strutils.bytes_to_escaped_str
2016-06-02 12:53:12 +12:00
Aldo Cortesi
3d9dbd6a49
xrepr is used exactly once. move to pathoc.py.
2016-06-02 12:37:24 +12:00
Aldo Cortesi
cccdc98426
Utils reorganisation: add netlib.strutils
...
Extract a number of string and format-related functions to netlib.strutils.
2016-06-02 12:31:41 +12:00
Shadab Zafar
42f16d5d40
Py3: Use six.string_types instead of basestring
2016-05-31 00:49:44 +05:30
Shadab Zafar
769e20f2a9
Py3: Use range from six.moves
2016-05-31 00:41:44 +05:30
Aldo Cortesi
b2f63458fc
Move human-friendly format functions to netlib.human, remove redundant implementations
2016-05-31 19:32:08 +12:00
Thomas Kriechbaumer
e2447406cc
more style cleanup
2016-05-29 13:43:20 +02:00
Thomas Kriechbaumer
e4045dc7f8
pathod: fix most flake8 offenses
2016-05-28 22:44:28 +02:00
Thomas Kriechbaumer
caee1adeb6
cleanup imports with flake8
2016-05-28 14:43:32 +02:00
Shadab Zafar
4ec56808dd
remove str()
2016-05-26 23:07:37 +05:30
Shadab Zafar
1bbb178b6a
Remove inner_repr, fixup escape_unprintables
2016-05-26 23:07:37 +05:30
Shadab Zafar
1699592f09
Use escaped_str functions for TokValueLiteral
2016-05-26 23:07:37 +05:30
Shadab Zafar
daaa672d39
Remove Py3 specific check
2016-05-26 23:07:37 +05:30
Shadab Zafar
5c62fabc84
Use BytesIO in pathod app
2016-05-26 23:07:37 +05:30
Shadab Zafar
22e4bc1938
Py3: Handle bytes case in inner_repr
2016-05-26 23:07:37 +05:30
Shadab Zafar
e5cebb81fb
Removed wrong import
2016-05-26 23:07:37 +05:30
Shadab Zafar
88e42bab6d
Py3: inner_repr and escape_unprintables
2016-05-26 23:07:37 +05:30
Shadab Zafar
f3932b27da
Py3: Import and Other misc. stuff
2016-05-26 23:07:37 +05:30
Aldo Cortesi
123e3b130c
We don't need 3 slightly different implementations of Data
2016-05-21 11:53:14 +12:00
Thomas Kriechbaumer
55a17b2ed3
fix encoding error on *too* random bytes
...
This should fix things like:
def __init__(self, val):
self.val = val.decode("string_escape")
ValueError: Trailing \ in string
pathod/language/base.py:108: ValueError
test/pathod/test_language_websocket.py:83: in fr
return netlib.websockets.Frame.from_bytes(tutils.render(wf, settings))
test/pathod/tutils.py:123: in render
r = r.resolve(settings)
pathod/language/websockets.py:179: in resolve
Key(base.TokValueLiteral(os.urandom(4)))
2016-05-15 10:41:54 -07:00
Maximilian Hils
acab4fea5a
fix version.NAME
2016-05-11 13:02:19 -06:00
Maximilian Hils
bc60c26c7b
py3++
2016-04-13 22:34:28 -07:00
Maximilian Hils
35a6d6e7f6
response.msg -> response.reason
2016-04-02 22:54:46 +02:00
Thomas Kriechbaumer
ec68d8b8e4
s/nocover/no cover/g
...
according to coveralls docs
2016-03-27 12:02:41 +02:00
Maximilian Hils
2ce023a991
py3++
2016-03-20 22:50:03 +01:00
Maximilian Hils
88d365cfe6
py3++: cStringIO
2016-03-20 19:40:03 +01:00
ikoz
9b970b0303
fix for sslinfo cert chain printing bug - now all certs get printed
2016-03-15 14:40:54 +00:00
Maximilian Hils
d33d3663ec
combine projects
2016-02-18 13:03:40 +01:00
Maximilian Hils
294774d6f0
move pathod/.sources to root
2016-02-18 12:29:49 +01:00
Aldo Cortesi
36e070ee25
Pull bin to the top, move pathod examples to examples dir
2016-02-18 10:15:59 +13:00
Maximilian Hils
b7701eb8c1
add combined MANIFEST.in and CHANGELOG
2016-02-17 00:02:18 +01:00
Thomas Kriechbaumer
1785f70a19
fix all libpathod->pathod references
2016-02-16 21:11:19 +01:00
Thomas Kriechbaumer
dedca54099
rename pathod source directory
2016-02-16 20:37:53 +01:00
Maximilian Hils
5101843683
fix wheel creation, re-add MANIFEST.in
2016-02-16 04:28:10 +01:00
Maximilian Hils
4583fa7922
remove MANIFEST.in, move Dockerfile to root
2016-02-16 00:57:42 +01:00
Maximilian Hils
10f9b6faa7
fix release tool, refs #947
2016-02-16 00:22:38 +01:00
Maximilian Hils
3d9a5157e7
use own shields instance, update pathod readme
2016-02-15 21:13:06 +01:00
Maximilian Hils
fc9fa87827
fix ALPN checks
2016-02-15 18:43:06 +01:00
Maximilian Hils
b7af845523
fix appveyor, re-introduce requirements.txt
2016-02-15 18:12:12 +01:00
Maximilian Hils
a1190c3696
adjust travis
2016-02-15 17:06:32 +01:00
Maximilian Hils
d7158f975e
move tests into shared folder
2016-02-15 16:34:22 +01:00
Maximilian Hils
95cef3c0e9
merge metadata files
2016-02-15 15:43:59 +01:00
Maximilian Hils
175ce43a30
add pathod
2016-02-15 14:58:49 +01:00
Thomas Kriechbaumer
18a4456397
refactor cmdline tests
2015-06-15 15:50:44 +02:00
Aldo Cortesi
cd481fdd14
Refactor and whitespace
2014-10-24 17:12:54 +13:00
Aldo Cortesi
962a414327
Fix tests, re-add scripts
2014-10-24 14:01:34 +13:00
Maximilian Hils
658a56a1ac
use setuptools entrypoints rather than scripts
2014-08-31 02:09:04 +02:00
Aldo Cortesi
e54bf1a804
Adjust for upstream cert store changes, improve cert handling significantly
2014-03-05 15:03:31 +13:00
Aldo Cortesi
0177eb899a
Support cert/key combo files in args. Improve argument names in SSLOptions
2014-03-02 15:56:36 +13:00
Aldo Cortesi
091e539a02
Big improvements to SSL handling
...
- pathod now dynamically generates SSL certs, using the ~/.mitmproxy
cacert
- pathoc returns data on SSL peer certificates
- Pathod certificate CN can be specified on command line
- Support SSLv23
2014-03-02 13:45:35 +13:00
Aldo Cortesi
a1d0da2b53
Expand SSL support
...
- Cipher suite selection for both pathoc and pathod
- SSL version specification for pathod
- Expose SSLv23 as an option, and use it by default
2014-02-27 18:33:48 +13:00
Maximilian Hils
0c04abb6e4
fix pathod main script
2014-02-08 22:42:27 +01:00
Maximilian Hils
42aede6181
ensure binary read on windows
2013-08-19 19:21:47 +02:00
Aldo Cortesi
9e7f08acea
Download path, version flags for both tools.
2013-05-15 18:56:05 +12:00
Aldo Cortesi
1e932e7045
Collect SSL options into an SSLOptions object
...
Also split SSL cert specifications from SSL service mode - we can now enter SSL
service mode through a proxy CONNECT request as well.
2013-01-05 16:48:49 +13:00
Aldo Cortesi
3886ccae93
Provisional proxy mode support for pathod.
2013-01-05 15:25:09 +13:00
Aldo Cortesi
b07ab253b7
Require requests > 1.0.4
...
This changes the API slightly, since json is now a method, not a property.
2012-12-31 12:23:42 +13:00
Aldo Cortesi
3f50930dc0
Use .freeze to implement the -e explain flags for pathod and pathoc.
...
This now prints (in pathoc) or logs (in pathod) a frozen specification that
includes an expanded record of all generated values and locations.
2012-10-31 11:34:58 +13:00
Aldo Cortesi
f5d5cc4988
rparse.py -> language.py
2012-10-05 10:30:32 +13:00
Aldo Cortesi
41f1c66772
Add -q and -r flags to pathod, logging request and respnose bytes.
...
- These flags also mean that a bytes log is included in the internal log
buffer.
- There's an -x flag to turn on hex dump output in the text logs (does
not affect the log buffer).
2012-10-01 12:48:26 +13:00
Aldo Cortesi
915bcfbd30
Add timeout argument to Pathod, and matching -t command-line option.
2012-10-01 12:01:02 +13:00
Aldo Cortesi
60b016365f
Use 24-hour clock for log timestamps.
2012-08-23 17:22:17 +12:00
Aldo Cortesi
d758409b76
Make sure date stamps are added to all logs.
2012-08-23 12:00:16 +12:00
Aldo Cortesi
ea2ca98bea
Add -D to daemonize pathod.
2012-08-16 16:07:23 +12:00
Aldo Cortesi
d7db6757b2
Listen on localhost by default.
2012-07-29 17:29:38 +12:00
Aldo Cortesi
bc84cc99cd
Handle file access denied in pathod.
2012-07-29 16:10:22 +12:00
Aldo Cortesi
d8c53cbc57
Add an option to specify a log file to pathod.
2012-07-27 14:03:15 +12:00
Aldo Cortesi
3e158211a8
Add a --nohang flag that turns off pauses in response generation.
2012-07-26 20:01:51 +12:00
Aldo Cortesi
eb1f2c3fc4
Add option to specify craft anchor point.
2012-07-24 21:51:43 +12:00
Aldo Cortesi
a950a4d7a3
Add pathod --noapi to turn off the service API.
2012-07-23 23:31:26 +12:00