From 80cc85e5d56ca49038c8afdf3000c475a8e5ab3f Mon Sep 17 00:00:00 2001 From: grossmj Date: Wed, 15 Apr 2026 14:17:12 +0800 Subject: [PATCH] Fix exception when custom adapters is not set --- gns3server/compute/base_node.py | 7 ++++--- gns3server/controller/node.py | 9 +++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/gns3server/compute/base_node.py b/gns3server/compute/base_node.py index d67b96bef..228239518 100644 --- a/gns3server/compute/base_node.py +++ b/gns3server/compute/base_node.py @@ -1045,7 +1045,8 @@ class BaseNode: def _get_custom_adapter_settings(self, adapter_number): - for custom_adapter in self.custom_adapters: - if custom_adapter["adapter_number"] == adapter_number: - return custom_adapter + if self.custom_adapters: + for custom_adapter in self.custom_adapters: + if custom_adapter["adapter_number"] == adapter_number: + return custom_adapter return {} diff --git a/gns3server/controller/node.py b/gns3server/controller/node.py index a8639abcf..a047ad253 100644 --- a/gns3server/controller/node.py +++ b/gns3server/controller/node.py @@ -745,10 +745,11 @@ class Node: elif self._node_type == "docker": for adapter_number in range(0, self._properties["adapters"]): custom_adapter_settings = {} - for custom_adapter in self.custom_adapters: - if custom_adapter["adapter_number"] == adapter_number: - custom_adapter_settings = custom_adapter - break + if self.custom_adapters: + for custom_adapter in self.custom_adapters: + if custom_adapter["adapter_number"] == adapter_number: + custom_adapter_settings = custom_adapter + break port_name = f"eth{adapter_number}" port_name = custom_adapter_settings.get("port_name", port_name) mac_address = custom_adapter_settings.get("mac_address")