diff --git a/src/utils/resources.py b/src/utils/resources.py index 0232cc7fa2..52d8edbbfd 100644 --- a/src/utils/resources.py +++ b/src/utils/resources.py @@ -1341,16 +1341,19 @@ def provision_or_update(self, context: Dict = {}): firewall_reload() def deprovision(self, context: Dict = {}): - from yunohost.firewall import firewall_disallow + from yunohost.firewall import firewall_disallow, firewall_list, firewall_reload + + previous_ports = firewall_list(raw=True) for name, infos in self.ports.items(): setting_name = f"port_{name}" if name != "main" else "port" value = self.get_setting(setting_name) self.delete_setting(setting_name) if value and str(value).strip(): - firewall_disallow( - infos["exposed"], int(value), reload_only_if_change=True - ) + firewall_disallow(infos["exposed"], int(value), no_reload=True) + + if firewall_list(raw=True) != previous_ports: + firewall_reload() class DatabaseAppResource(AppResource):