diff options
| author | Aldo Cortesi <aldo@nullcube.com> | 2014-10-26 18:16:47 +1300 |
|---|---|---|
| committer | Aldo Cortesi <aldo@nullcube.com> | 2014-10-26 18:16:47 +1300 |
| commit | 956149c126c0500aa67604996ca310824b2f23a2 (patch) | |
| tree | 7cbe51958d2ca926b4969ff517067249763423de /libpathod | |
| parent | bd1f7ebb5c3cf3dfa613e194f4728bae1420b241 (diff) | |
| download | mitmproxy-956149c126c0500aa67604996ca310824b2f23a2.tar.gz mitmproxy-956149c126c0500aa67604996ca310824b2f23a2.tar.bz2 mitmproxy-956149c126c0500aa67604996ca310824b2f23a2.zip | |
--memo-limit - limit failed attempts to find new generated requests to N
Diffstat (limited to 'libpathod')
| -rw-r--r-- | libpathod/cmdline.py | 4 | ||||
| -rw-r--r-- | libpathod/pathoc.py | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libpathod/cmdline.py b/libpathod/cmdline.py index fe5eed68..4a2390ed 100644 --- a/libpathod/cmdline.py +++ b/libpathod/cmdline.py @@ -35,6 +35,10 @@ def go_pathoc(): help="Issue an HTTP CONNECT to connect to the specified host." ) parser.add_argument( + "--memo-limit", dest='memolimit', default=5000, type=int, metavar="N", + help='Stop if we do not find a valid request after N attempts.' + ) + parser.add_argument( "-m", dest='memo', action="store_true", default=False, help=""" Remember specs, and never play the same one twice. Note that this diff --git a/libpathod/pathoc.py b/libpathod/pathoc.py index 0ff02b01..e7aff520 100644 --- a/libpathod/pathoc.py +++ b/libpathod/pathoc.py @@ -222,9 +222,14 @@ class Pathoc(tcp.TCPClient): def main(args): memo = set([]) + trycount = 0 try: cnt = 0 while 1: + if trycount > args.memolimit: + print >> sys.stderr, "Memo limit exceeded..." + return + cnt += 1 if args.random: playlist = [random.choice(args.requests)] @@ -251,8 +256,10 @@ def main(args): newlist.append(spec) playlist = newlist if not playlist: + trycount += 1 continue + trycount = 0 try: p.connect(args.connect_to) except (tcp.NetLibError, PathocError), v: |
