From 2838f577af1c3b8d5ddffa12d502cbb67a28de12 Mon Sep 17 00:00:00 2001 From: Guillaume Valadon Date: Fri, 17 Nov 2017 16:19:42 +0100 Subject: [PATCH 1/4] Remove duplicated test --- test/regression.uts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/regression.uts b/test/regression.uts index 177f32808..910fb357f 100644 --- a/test/regression.uts +++ b/test/regression.uts @@ -266,10 +266,6 @@ Ether(dst="ff:ff:ff:ff:ff:ff", src="ff:ff:ff:ff:ff:ff", type=0x9000) assert _.mysummary() in ['ff:ff:ff:ff:ff:ff > ff:ff:ff:ff:ff:ff (%s)' % loop for loop in ['0x9000', 'LOOP']] -= Test fletcher16_* functions -assert(fletcher16_checksum(b"\x28\x07") == 22319) -assert(fletcher16_checkbytes(b"ABCDEF", 2) == "\x89\x67") - = Test zerofree_randstring function random.seed(0x2807) zerofree_randstring(4) in [b"\xd2\x12\xe4\x5b", b'\xd3\x8b\x13\x12'] From b4428595222f931ae25836f7b962d04a1a87aa0a Mon Sep 17 00:00:00 2001 From: Guillaume Valadon Date: Fri, 17 Nov 2017 16:37:22 +0100 Subject: [PATCH 2/4] Missing bytes marker --- test/regression.uts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/regression.uts b/test/regression.uts index 910fb357f..d763e2ecf 100644 --- a/test/regression.uts +++ b/test/regression.uts @@ -8826,7 +8826,7 @@ s = raw(IP(src="127.0.0.1")/UDP()/BOOTP(chaddr="00:01:02:03:04:05")/DHCP(options assert s == b'E\x00\x01\x10\x00\x01\x00\x00@\x11{\xda\x7f\x00\x00\x01\x7f\x00\x00\x01\x00C\x00D\x00\xfcf\xea\x01\x01\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0000:01:02:03:04:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00c\x82Sc5\x01\x01\xff' s2 = raw(IP(src="127.0.0.1")/UDP()/BOOTP(chaddr="05:04:03:02:01:00")/DHCP(options=[("param_req_list",[12,57,45,254]),("requested_addr", "192.168.0.1"),"end"])) -assert s2 == 'E\x00\x01\x19\x00\x01\x00\x00@\x11{\xd1\x7f\x00\x00\x01\x7f\x00\x00\x01\x00C\x00D\x01\x058\xeb\x01\x01\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0005:04:03:02:01:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00c\x82Sc7\x04\x0c9-\xfe2\x04\xc0\xa8\x00\x01\xff' +assert s2 == b'E\x00\x01\x19\x00\x01\x00\x00@\x11{\xd1\x7f\x00\x00\x01\x7f\x00\x00\x01\x00C\x00D\x01\x058\xeb\x01\x01\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0005:04:03:02:01:0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00c\x82Sc7\x04\x0c9-\xfe2\x04\xc0\xa8\x00\x01\xff' = DHCP - dissection p = IP(s) From 7f567202bc176b4ebde5a43622cd4147e716e091 Mon Sep 17 00:00:00 2001 From: Guillaume Valadon Date: Mon, 20 Nov 2017 16:39:26 +0100 Subject: [PATCH 3/4] RandEnumKeys - sort internal list before testing --- test/regression.uts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/regression.uts b/test/regression.uts index d763e2ecf..8c3969a22 100644 --- a/test/regression.uts +++ b/test/regression.uts @@ -8395,7 +8395,8 @@ assert(sane(raw(cb)) in ["ECk@Y", "QB.P."]) ~ not_pypy random.seed(0x2807) rek = RandEnumKeys({'a': 1, 'b': 2, 'c': 3}, seed=0x2807) -assert(rek == ('b' if six.PY2 else 'a')) +rek.enum.sort() +assert(rek == ('c' if six.PY2 else 'a')) = RandSingNum ~ not_pypy From a24fb381e944567bedaa9f97dd943fd656ea76cc Mon Sep 17 00:00:00 2001 From: Guillaume Valadon Date: Fri, 17 Nov 2017 16:18:31 +0100 Subject: [PATCH 4/4] Don't fail while reading non ascii characters --- scapy/main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scapy/main.py b/scapy/main.py index 865f97e1c..60d68b8a1 100644 --- a/scapy/main.py +++ b/scapy/main.py @@ -16,6 +16,7 @@ import importlib import logging from random import choice import types +import io # Never add any global import, in main.py, that would trigger a warning messsage # before the console handlers gets added in interact() @@ -176,7 +177,7 @@ def list_contrib(name=None): if mod.endswith(".py"): mod = mod[:-3] desc = { "description":"-", "status":"?", "name":mod } - for l in open(f): + for l in io.open(f, errors="replace"): p = l.find("scapy.contrib.") if p >= 0: p += 14