Skip to content

Commit 9c56763

Browse files
committed
Revert "dns: fix off-by-four in EDNS0 OWNER Option (secdev#4955)"
This reverts commit 2b220b9.
1 parent 4d6bd2b commit 9c56763

2 files changed

Lines changed: 3 additions & 32 deletions

File tree

scapy/layers/dns.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -494,11 +494,11 @@ class EDNS0OWN(_EDNS0Dummy):
494494
MACField("primary_mac", "00:00:00:00:00:00"),
495495
ConditionalField(
496496
MACField("wakeup_mac", "00:00:00:00:00:00"),
497-
lambda pkt: (pkt.optlen or 0) >= 14),
497+
lambda pkt: (pkt.optlen or 0) >= 18),
498498
ConditionalField(
499499
StrLenField("password", "",
500-
length_from=lambda pkt: pkt.optlen - 14),
501-
lambda pkt: (pkt.optlen or 0) >= 18)]
500+
length_from=lambda pkt: pkt.optlen - 18),
501+
lambda pkt: (pkt.optlen or 0) >= 22)]
502502

503503
def post_build(self, pkt, pay):
504504
pkt += pay

test/scapy/layers/dns_edns0.uts

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -212,32 +212,3 @@ for opt_class in EDNS0OPT_DISPATCHER.values():
212212
p = DNSRROPT(raw(DNSRROPT(rdata=[EDNS0TLV(), opt_class(), opt_class()])))
213213
assert len(p.rdata) == 3
214214
assert all(Raw not in opt for opt in p.rdata)
215-
216-
217-
+ EDNS0 - Owner
218-
219-
= Dissection
220-
221-
p = EDNS0OWN(b'\x00\x04\x00\x08\x00\x9b\x11"3DUf')
222-
assert p.optcode == 4
223-
assert p.optlen == 8
224-
assert p.v == 0
225-
assert p.s == 155
226-
assert p.primary_mac == '11:22:33:44:55:66'
227-
228-
p = EDNS0OWN(b'\x00\x04\x00\x0e\x00\x9b\x11"3DUffUD3"\x11')
229-
assert p.optcode == 4
230-
assert p.optlen == 14
231-
assert p.v == 0
232-
assert p.s == 155
233-
assert p.primary_mac == '11:22:33:44:55:66'
234-
assert p.wakeup_mac == '66:55:44:33:22:11'
235-
236-
p = EDNS0OWN(b'\x00\x04\x00\x12\x00\x9b\x11"3DUffUD3"\x11abcd')
237-
assert p.optcode == 4
238-
assert p.optlen == 18
239-
assert p.v == 0
240-
assert p.s == 155
241-
assert p.primary_mac == '11:22:33:44:55:66'
242-
assert p.wakeup_mac == '66:55:44:33:22:11'
243-
assert p.password == b'abcd'

0 commit comments

Comments
 (0)