Skip to content

Commit 210993d

Browse files
authored
Merge pull request #3030 from secdev/guedou/issue_3018
Missing Python3 compatible conversion
2 parents 6f0958e + dae2db9 commit 210993d

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

scapy/contrib/icmp_extensions.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import struct
2020

2121
import scapy
22+
from scapy.compat import chb
2223
from scapy.packet import Packet, bind_layers
2324
from scapy.fields import BitField, ByteField, ConditionalField, \
2425
FieldLenField, IPField, IntField, PacketListField, ShortField, \
@@ -55,7 +56,7 @@ class ICMPExtensionHeader(Packet):
5556
def post_build(self, p, pay):
5657
if self.chksum is None:
5758
ck = checksum(p)
58-
p = p[:2] + chr(ck >> 8) + chr(ck & 0xff) + p[4:]
59+
p = p[:2] + chb(ck >> 8) + chb(ck & 0xff) + p[4:]
5960
return p + pay
6061

6162
def guess_payload_class(self, payload):

test/contrib/icmp_extensions.uts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
+ ICMP Extensions tests
2+
3+
= Basic build
4+
5+
p = IP(src="192.0.2.1", dst="192.0.2.2")/ICMP()/ICMPExtensionHeader(version = 2)/ICMPExtensionMPLS(classnum = 1, classtype = 1)
6+
print(raw(p))
7+
b = b'E\x00\x00$\x00\x01\x00\x00@\x01\xf6\xd4\xc0\x00\x02\x01\xc0\x00\x02\x02\x08\x00\xf6\xfa\x00\x00\x00\x00 \x00\xdf\xff\x00\x04\x01\x01'
8+
assert raw(p) == b

0 commit comments

Comments
 (0)