diff options
| -rw-r--r-- | recipes-security/scapy/scapy/scapy-Pickling-issues-fixed.patch | 111 | ||||
| -rw-r--r-- | recipes-security/scapy/scapy_2.3.2.bb | 1 |
2 files changed, 112 insertions, 0 deletions
diff --git a/recipes-security/scapy/scapy/scapy-Pickling-issues-fixed.patch b/recipes-security/scapy/scapy/scapy-Pickling-issues-fixed.patch new file mode 100644 index 0000000..9901f91 --- /dev/null +++ b/recipes-security/scapy/scapy/scapy-Pickling-issues-fixed.patch | |||
| @@ -0,0 +1,111 @@ | |||
| 1 | From 331dff6c73f89307d108f9ae89264b9548e22dc6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Guillaume Valadon <guillaume.valadon@ssi.gouv.fr> | ||
| 3 | Date: Wed, 31 Aug 2016 13:59:21 +0200 | ||
| 4 | Subject: [PATCH] Pickling issues fixed | ||
| 5 | |||
| 6 | Backport from: | ||
| 7 | https://github.com/secdev/scapy/pull/284 | ||
| 8 | |||
| 9 | Upstream-Status: Backport | ||
| 10 | |||
| 11 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
| 12 | --- | ||
| 13 | scapy/layers/inet.py | 6 ++++-- | ||
| 14 | scapy/layers/inet6.py | 4 +++- | ||
| 15 | scapy/layers/l2.py | 14 +++++++++----- | ||
| 16 | scapy/route.py | 1 - | ||
| 17 | 4 files changed, 16 insertions(+), 9 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/scapy/layers/inet.py b/scapy/layers/inet.py | ||
| 20 | index 4b66946..e35a247 100644 | ||
| 21 | --- a/scapy/layers/inet.py | ||
| 22 | +++ b/scapy/layers/inet.py | ||
| 23 | @@ -734,8 +734,10 @@ conf.l3types.register(ETH_P_IP, IP) | ||
| 24 | conf.l3types.register_num2layer(ETH_P_ALL, IP) | ||
| 25 | |||
| 26 | |||
| 27 | -conf.neighbor.register_l3(Ether, IP, lambda l2,l3: getmacbyip(l3.dst)) | ||
| 28 | -conf.neighbor.register_l3(Dot3, IP, lambda l2,l3: getmacbyip(l3.dst)) | ||
| 29 | +def inet_register_l3(l2, l3): | ||
| 30 | + return getmacbyip(l3.dst) | ||
| 31 | +conf.neighbor.register_l3(Ether, IP, inet_register_l3) | ||
| 32 | +conf.neighbor.register_l3(Dot3, IP, inet_register_l3) | ||
| 33 | |||
| 34 | |||
| 35 | ################### | ||
| 36 | diff --git a/scapy/layers/inet6.py b/scapy/layers/inet6.py | ||
| 37 | index ba5674c..195ca9c 100644 | ||
| 38 | --- a/scapy/layers/inet6.py | ||
| 39 | +++ b/scapy/layers/inet6.py | ||
| 40 | @@ -474,7 +474,9 @@ class IPv6(_IPv6GuessPayload, Packet, IPTools): | ||
| 41 | return self.payload.answers(other.payload) | ||
| 42 | |||
| 43 | |||
| 44 | -conf.neighbor.register_l3(Ether, IPv6, lambda l2,l3: getmacbyip6(l3.dst)) | ||
| 45 | +def inet6_register_l3(l2, l3): | ||
| 46 | + return getmacbyip6(l3.dst) | ||
| 47 | +conf.neighbor.register_l3(Ether, IPv6, inet6_register_l3) | ||
| 48 | |||
| 49 | |||
| 50 | class IPerror6(IPv6): | ||
| 51 | diff --git a/scapy/layers/l2.py b/scapy/layers/l2.py | ||
| 52 | index 3d88961..47fa386 100644 | ||
| 53 | --- a/scapy/layers/l2.py | ||
| 54 | +++ b/scapy/layers/l2.py | ||
| 55 | @@ -183,8 +183,10 @@ class LLC(Packet): | ||
| 56 | XByteField("ssap", 0x00), | ||
| 57 | ByteField("ctrl", 0) ] | ||
| 58 | |||
| 59 | -conf.neighbor.register_l3(Ether, LLC, lambda l2,l3: conf.neighbor.resolve(l2,l3.payload)) | ||
| 60 | -conf.neighbor.register_l3(Dot3, LLC, lambda l2,l3: conf.neighbor.resolve(l2,l3.payload)) | ||
| 61 | +def l2_register_l3(l2, l3): | ||
| 62 | + return conf.neighbor.resolve(l2, l3.payload) | ||
| 63 | +conf.neighbor.register_l3(Ether, LLC, l2_register_l3) | ||
| 64 | +conf.neighbor.register_l3(Dot3, LLC, l2_register_l3) | ||
| 65 | |||
| 66 | |||
| 67 | class CookedLinux(Packet): | ||
| 68 | @@ -203,7 +205,7 @@ class SNAP(Packet): | ||
| 69 | fields_desc = [ X3BytesField("OUI",0x000000), | ||
| 70 | XShortEnumField("code", 0x000, ETHER_TYPES) ] | ||
| 71 | |||
| 72 | -conf.neighbor.register_l3(Dot3, SNAP, lambda l2,l3: conf.neighbor.resolve(l2,l3.payload)) | ||
| 73 | +conf.neighbor.register_l3(Dot3, SNAP, l2_register_l3) | ||
| 74 | |||
| 75 | |||
| 76 | class Dot1Q(Packet): | ||
| 77 | @@ -236,7 +238,7 @@ class Dot1Q(Packet): | ||
| 78 | return self.sprintf("802.1q (%Dot1Q.type%) vlan %Dot1Q.vlan%") | ||
| 79 | |||
| 80 | |||
| 81 | -conf.neighbor.register_l3(Ether, Dot1Q, lambda l2,l3: conf.neighbor.resolve(l2,l3.payload)) | ||
| 82 | +conf.neighbor.register_l3(Ether, Dot1Q, l2_register_l3) | ||
| 83 | |||
| 84 | class STP(Packet): | ||
| 85 | name = "Spanning Tree Protocol" | ||
| 86 | @@ -351,7 +353,9 @@ class ARP(Packet): | ||
| 87 | else: | ||
| 88 | return self.sprintf("ARP %op% %psrc% > %pdst%") | ||
| 89 | |||
| 90 | -conf.neighbor.register_l3(Ether, ARP, lambda l2,l3: getmacbyip(l3.pdst)) | ||
| 91 | +def l2_register_l3_arp(l2, l3): | ||
| 92 | + return getmacbyip(l3.pdst) | ||
| 93 | +conf.neighbor.register_l3(Ether, ARP, l2_register_l3_arp) | ||
| 94 | |||
| 95 | class GRErouting(Packet): | ||
| 96 | name = "GRE routing informations" | ||
| 97 | diff --git a/scapy/route.py b/scapy/route.py | ||
| 98 | index 52a9562..4bd27b7 100644 | ||
| 99 | --- a/scapy/route.py | ||
| 100 | +++ b/scapy/route.py | ||
| 101 | @@ -20,7 +20,6 @@ from error import Scapy_Exception,warning | ||
| 102 | class Route: | ||
| 103 | def __init__(self): | ||
| 104 | self.resync() | ||
| 105 | - self.s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) | ||
| 106 | self.cache = {} | ||
| 107 | |||
| 108 | def invalidate_cache(self): | ||
| 109 | -- | ||
| 110 | 2.8.3 | ||
| 111 | |||
diff --git a/recipes-security/scapy/scapy_2.3.2.bb b/recipes-security/scapy/scapy_2.3.2.bb index 0a42ad9..2965c72 100644 --- a/recipes-security/scapy/scapy_2.3.2.bb +++ b/recipes-security/scapy/scapy_2.3.2.bb | |||
| @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://bin/scapy;beginline=9;endline=13;md5=1d5249872cc54cd4 | |||
| 7 | 7 | ||
| 8 | SRC_URI = "https://github.com/secdev/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ | 8 | SRC_URI = "https://github.com/secdev/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ |
| 9 | file://run-ptest \ | 9 | file://run-ptest \ |
| 10 | file://scapy-Pickling-issues-fixed.patch \ | ||
| 10 | " | 11 | " |
| 11 | 12 | ||
| 12 | SRC_URI[md5sum] = "00f11df3d6b46fe6ac306efd757486f9" | 13 | SRC_URI[md5sum] = "00f11df3d6b46fe6ac306efd757486f9" |
