Skip to content

Commit bf8bf7d

Browse files
authored
Merge pull request #1 from Shu-xueyuan/Shu-xueyuan-patch-2
Update inet.py
2 parents 0350778 + 50c07af commit bf8bf7d

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

scapy/layers/inet.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -755,10 +755,10 @@ def post_build(self, p, pay):
755755
elif conf.ipv6_enabled and isinstance(self.underlayer, scapy.layers.inet6.IPv6) or isinstance(self.underlayer, scapy.layers.inet6._IPv6ExtHdr): # noqa: E501
756756
ck = scapy.layers.inet6.in6_chksum(socket.IPPROTO_TCP, self.underlayer, p) # noqa: E501
757757
p = p[:16] + struct.pack("!H", ck) + p[18:]
758-
elif self.underlayer.name == "AH" and isinstance(self.underlayer.underlayer, IP):
758+
elif self.underlayer and self.underlayer.name == "AH" and isinstance(self.underlayer.underlayer, IP):
759759
ck = in4_chksum(socket.IPPROTO_TCP, self.underlayer.underlayer, p)
760760
p = p[:16] + struct.pack("!H", ck) + p[18:]
761-
elif self.underlayer.name == "AH" and (conf.ipv6_enabled and isinstance(self.underlayer.underlayer, scapy.layers.inet6.IPv6) or isinstance(self.underlayer.underlayer, scapy.layers.inet6._IPv6ExtHdr)): # noqa: E501
761+
elif self.underlayer and self.underlayer.name == "AH" and ((conf.ipv6_enabled and isinstance(self.underlayer.underlayer, scapy.layers.inet6.IPv6)) or isinstance(self.underlayer.underlayer, scapy.layers.inet6._IPv6ExtHdr)): # noqa: E501
762762
ck = scapy.layers.inet6.in6_chksum(socket.IPPROTO_TCP, self.underlayer.underlayer, p) # noqa: E501
763763
p = p[:16] + struct.pack("!H", ck) + p[18:]
764764
else:
@@ -839,13 +839,13 @@ def post_build(self, p, pay):
839839
if ck == 0:
840840
ck = 0xFFFF
841841
p = p[:6] + struct.pack("!H", ck) + p[8:]
842-
elif self.underlayer.name == "AH" and isinstance(self.underlayer.underlayer, IP):
842+
elif self.underlayer and self.underlayer.name == "AH" and isinstance(self.underlayer.underlayer, IP):
843843
ck = in4_chksum(socket.IPPROTO_UDP, self.underlayer.underlayer, p)
844844
# According to RFC768 if the result checksum is 0, it should be set to 0xFFFF # noqa: E501
845845
if ck == 0:
846846
ck = 0xFFFF
847847
p = p[:6] + struct.pack("!H", ck) + p[8:]
848-
elif self.underlayer.name == "AH" and (isinstance(self.underlayer.underlayer, scapy.layers.inet6.IPv6) or isinstance(self.underlayer.underlayer, scapy.layers.inet6._IPv6ExtHdr)): # noqa: E501
848+
elif self.underlayer and self.underlayer.name == "AH" and (isinstance(self.underlayer.underlayer, scapy.layers.inet6.IPv6) or isinstance(self.underlayer.underlayer, scapy.layers.inet6._IPv6ExtHdr)): # noqa: E501
849849
ck = scapy.layers.inet6.in6_chksum(socket.IPPROTO_UDP, self.underlayer.underlayer, p) # noqa: E501
850850
# According to RFC2460 if the result checksum is 0, it should be set to 0xFFFF # noqa: E501
851851
if ck == 0:

0 commit comments

Comments
 (0)