diff options
| author | Indrajit Raychaudhuri <irc@indrajit.com> | 2026-05-29 16:13:33 -0500 |
|---|---|---|
| committer | Indrajit Raychaudhuri <irc@indrajit.com> | 2026-05-29 16:25:03 -0500 |
| commit | 8a319ecce79dc0783e6bd8ade8ac9bf8030caf1e (patch) | |
| tree | 9d37c0cd4bbb7c52a7447eed5f8c53bba7bce8a8 | |
| parent | 8fa34f5882ec907db5e8446cfa92e82098236a00 (diff) | |
| download | vyos-1x-8a319ecce79dc0783e6bd8ade8ac9bf8030caf1e.tar.gz vyos-1x-8a319ecce79dc0783e6bd8ade8ac9bf8030caf1e.zip | |
dhcp: T8941: Apply guards for empty or missing mapping keys
| -rwxr-xr-x | src/op_mode/dhcp.py | 17 |
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 = [ |
