|
|
8a3219 |
From 464add2ad05781e72e54d05cc06150c21e1c282d Mon Sep 17 00:00:00 2001
|
|
|
8a3219 |
From: Eric Garver <eric@garver.life>
|
|
|
8a3219 |
Date: Mon, 1 Jul 2019 10:27:51 -0400
|
|
|
8a3219 |
Subject: [PATCH 11/20] fix: dbus: add missing APIs for service includes
|
|
|
8a3219 |
|
|
|
8a3219 |
Fixes: 1fc208bf9317 ("feat: service includes")
|
|
|
8a3219 |
(cherry picked from commit bcdc1e2bf1e71c32606fdaadabd9a913e2e1d651)
|
|
|
8a3219 |
---
|
|
|
8a3219 |
src/firewall/server/config_service.py | 61 +++++++++++++++++++++++++++
|
|
|
8a3219 |
1 file changed, 61 insertions(+)
|
|
|
8a3219 |
|
|
|
8a3219 |
diff --git a/src/firewall/server/config_service.py b/src/firewall/server/config_service.py
|
|
|
8a3219 |
index 47530d319bdb..05ded1c78da7 100644
|
|
|
8a3219 |
--- a/src/firewall/server/config_service.py
|
|
|
8a3219 |
+++ b/src/firewall/server/config_service.py
|
|
|
8a3219 |
@@ -652,3 +652,64 @@ class FirewallDConfigService(slip.dbus.service.Object):
|
|
|
8a3219 |
settings = self.getSettings()
|
|
|
8a3219 |
return (family in settings[5] and
|
|
|
8a3219 |
address == settings[5][family])
|
|
|
8a3219 |
+
|
|
|
8a3219 |
+ # includes
|
|
|
8a3219 |
+
|
|
|
8a3219 |
+ @dbus_service_method(config.dbus.DBUS_INTERFACE_CONFIG_SERVICE,
|
|
|
8a3219 |
+ out_signature='as')
|
|
|
8a3219 |
+ @dbus_handle_exceptions
|
|
|
8a3219 |
+ def getIncludes(self, sender=None):
|
|
|
8a3219 |
+ log.debug1("%s.getIncludes()", self._log_prefix)
|
|
|
8a3219 |
+ self.parent.accessCheck(sender)
|
|
|
8a3219 |
+ settings = list(self.config.get_service_config(self.obj))
|
|
|
8a3219 |
+ return settings[8]
|
|
|
8a3219 |
+
|
|
|
8a3219 |
+ @dbus_service_method(config.dbus.DBUS_INTERFACE_CONFIG_SERVICE,
|
|
|
8a3219 |
+ in_signature='as')
|
|
|
8a3219 |
+ @dbus_handle_exceptions
|
|
|
8a3219 |
+ def setIncludes(self, includes, sender=None):
|
|
|
8a3219 |
+ includes = dbus_to_python(includes, list)
|
|
|
8a3219 |
+ log.debug1("%s.setIncludes('%s')", self._log_prefix, includes)
|
|
|
8a3219 |
+ self.parent.accessCheck(sender)
|
|
|
8a3219 |
+ settings = list(self.config.get_service_config(self.obj))
|
|
|
8a3219 |
+ settings[8] = includes[:]
|
|
|
8a3219 |
+ self.config.set_service_config(self.obj, tuple(settings))
|
|
|
8a3219 |
+ self.Updated(self.obj.name)
|
|
|
8a3219 |
+
|
|
|
8a3219 |
+ @dbus_service_method(config.dbus.DBUS_INTERFACE_CONFIG_SERVICE,
|
|
|
8a3219 |
+ in_signature='s')
|
|
|
8a3219 |
+ @dbus_handle_exceptions
|
|
|
8a3219 |
+ def addInclude(self, include, sender=None):
|
|
|
8a3219 |
+ include = dbus_to_python(include, str)
|
|
|
8a3219 |
+ log.debug1("%s.addInclude('%s')", self._log_prefix, include)
|
|
|
8a3219 |
+ self.parent.accessCheck(sender)
|
|
|
8a3219 |
+ settings = list(self.config.get_service_config(self.obj))
|
|
|
8a3219 |
+ settings[8].append(include)
|
|
|
8a3219 |
+ self.config.set_service_config(self.obj, tuple(settings))
|
|
|
8a3219 |
+ self.Updated(self.obj.name)
|
|
|
8a3219 |
+
|
|
|
8a3219 |
+ @dbus_service_method(config.dbus.DBUS_INTERFACE_CONFIG_SERVICE,
|
|
|
8a3219 |
+ in_signature='s')
|
|
|
8a3219 |
+ @dbus_handle_exceptions
|
|
|
8a3219 |
+ def removeInclude(self, include, sender=None):
|
|
|
8a3219 |
+ include = dbus_to_python(include, str)
|
|
|
8a3219 |
+ log.debug1("%s.removeInclude('%s')", self._log_prefix, include)
|
|
|
8a3219 |
+ self.parent.accessCheck(sender)
|
|
|
8a3219 |
+ settings = list(self.config.get_service_config(self.obj))
|
|
|
8a3219 |
+ settings[8].remove(include)
|
|
|
8a3219 |
+ self.config.set_service_config(self.obj, tuple(settings))
|
|
|
8a3219 |
+ self.Updated(self.obj.name)
|
|
|
8a3219 |
+
|
|
|
8a3219 |
+ @dbus_service_method(config.dbus.DBUS_INTERFACE_CONFIG_SERVICE,
|
|
|
8a3219 |
+ in_signature='s', out_signature='b')
|
|
|
8a3219 |
+ @dbus_handle_exceptions
|
|
|
8a3219 |
+ def queryInclude(self, include, sender=None):
|
|
|
8a3219 |
+ include = dbus_to_python(include, str)
|
|
|
8a3219 |
+ log.debug1("%s.queryInclude('%s')", self._log_prefix, include)
|
|
|
8a3219 |
+ settings = list(self.config.get_service_config(self.obj))
|
|
|
8a3219 |
+ try:
|
|
|
8a3219 |
+ settings[8].index(include)
|
|
|
8a3219 |
+ except ValueError:
|
|
|
8a3219 |
+ return False
|
|
|
8a3219 |
+ else:
|
|
|
8a3219 |
+ return True
|
|
|
8a3219 |
--
|
|
|
8a3219 |
2.20.1
|
|
|
8a3219 |
|