From 96a7b89086d928e28cb2617b5e4cbcfda95c4f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20De=20Keersmaeker?= <francois.dekeersmaeker@uclouvain.be> Date: Sat, 14 Dec 2024 18:37:48 +0100 Subject: [PATCH] DHCP options: fixed bug when encountering option 'end' --- pcap_anonymize/layers/mac.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pcap_anonymize/layers/mac.py b/pcap_anonymize/layers/mac.py index ffcdc14..656b014 100644 --- a/pcap_anonymize/layers/mac.py +++ b/pcap_anonymize/layers/mac.py @@ -222,7 +222,12 @@ def anonymize_dhcp(dhcp: BOOTP) -> BOOTP: if dhcp is None or dhcp.options is None: return dhcp - for i, (code, value) in enumerate(dhcp.options): + for i, option in enumerate(dhcp.options): + # Option is not of format (code, value), skip + if len(option) != 2: + continue + + code, value = option if code == DHCP_OPTION_CLIENT_ID and value[0] == DHCP_CLIENT_ID_TYPE_ETH: mac_anon = mac_str_to_bytes(anonymize_mac(value[1:7])) dhcp.options[i] = (code, value[0].to_bytes(1, BYTE_ORDER) + mac_anon) -- GitLab