summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIndrajit Raychaudhuri <irc@indrajit.com>2026-05-29 16:13:33 -0500
committerIndrajit Raychaudhuri <irc@indrajit.com>2026-05-29 16:25:03 -0500
commit8a319ecce79dc0783e6bd8ade8ac9bf8030caf1e (patch)
tree9d37c0cd4bbb7c52a7447eed5f8c53bba7bce8a8 /src
parent8fa34f5882ec907db5e8446cfa92e82098236a00 (diff)
downloadvyos-1x-8a319ecce79dc0783e6bd8ade8ac9bf8030caf1e.tar.gz
vyos-1x-8a319ecce79dc0783e6bd8ade8ac9bf8030caf1e.zip
dhcp: T8941: Apply guards for empty or missing mapping keys
Diffstat (limited to 'src')
-rwxr-xr-xsrc/op_mode/dhcp.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/op_mode/dhcp.py b/src/op_mode/dhcp.py
index 8e0130c17..4b95432de 100755
--- a/src/op_mode/dhcp.py
+++ b/src/op_mode/dhcp.py
@@ -93,9 +93,9 @@ def _get_raw_server_leases(
if sorted:
if sorted == 'ip':
- mappings.sort(key=lambda x: ip_address(x['ip']))
+ mappings.sort(key=lambda x: ip_address(val) if (val := x.get('ip')) else '')
else:
- mappings.sort(key=lambda x: x[sorted])
+ mappings.sort(key=lambda x: x.get(sorted) or '')
return mappings
@@ -238,9 +238,9 @@ def _get_raw_server_static_mappings(config, family='inet', pool=None, sorted=Non
if sorted:
if sorted == 'ip':
- mappings.sort(key=lambda x: ip_address(x['ip']))
+ mappings.sort(key=lambda x: ip_address(val) if (val := x.get('ip')) else '')
else:
- mappings.sort(key=lambda x: x[sorted])
+ mappings.sort(key=lambda x: x.get(sorted) or '')
return mappings
@@ -251,10 +251,11 @@ def _get_formatted_server_static_mappings(raw_data):
pool = entry.get('pool')
subnet = entry.get('subnet')
hostname = entry.get('hostname')
- ip_addr = entry.get('ip', 'N/A')
- mac_addr = entry.get('mac', 'N/A')
- duid = entry.get('duid', 'N/A')
- desc = entry.get('description', 'N/A')
+ # These fields may be either None or '', display 'N/A' in both cases
+ ip_addr = entry.get('ip') or 'N/A'
+ mac_addr = entry.get('mac') or 'N/A'
+ duid = entry.get('duid') or 'N/A'
+ desc = entry.get('description') or 'N/A'
data_entries.append([pool, subnet, hostname, ip_addr, mac_addr, duid, desc])
headers = [