Skip to content

Commit aa1fe52

Browse files
authored
DHCP: fix iteration of random options (#4837)
1 parent b673424 commit aa1fe52

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

scapy/layers/dhcp.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,9 @@ def _fix(self):
409409
op.append((o.name, r))
410410
return op
411411

412+
def __iter__(self):
413+
return iter(self._fix())
414+
412415

413416
class DHCPOptionsField(StrField):
414417
"""

test/scapy/layers/dhcp.uts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ assert s5 == b'E\x00\x01&\x00\x01\x00\x00@\x11{\xc4\x7f\x00\x00\x01\x7f\x00\x00\
5454

5555
pkt = fuzz(DHCP())
5656
assert isinstance(pkt.options, RandDHCPOptions)
57+
pkt.show()
5758
pkt = DHCP(bytes(pkt))
5859
pkt.show()
5960

@@ -135,4 +136,3 @@ assert result in [
135136
'<function scapy.ansmachine.dhcpd(self, pool: Union[scapy.base_classes.Net, List[str]] = Net("192.168.1.128/25"), network: str = \'192.168.1.0/24\', gw: str = \'192.168.1.1\', nameserver: Union[str, List[str]] = None, domain: Union[str, NoneType] = None, renewal_time: int = 60, lease_time: int = 1800, **kwargs)>',
136137
'<function scapy.ansmachine.dhcpd(self, pool=Net("192.168.1.128/25"), network=\'192.168.1.0/24\', gw=\'192.168.1.1\', nameserver=None, domain=None, renewal_time=60, lease_time=1800, **kwargs)>',
137138
]
138-

0 commit comments

Comments
 (0)