summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Acl.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Acl.py b/src/lib/Bcfg2/Server/Plugins/Acl.py
index 0dd056ba4..907d2b6a6 100644
--- a/src/lib/Bcfg2/Server/Plugins/Acl.py
+++ b/src/lib/Bcfg2/Server/Plugins/Acl.py
@@ -1,8 +1,24 @@
-""" Provides access-control lists for server connections """
-
+import os
import Bcfg2.Server.Plugin
-class Acl(Bcfg2.Server.Plugin.PrioDir):
- name = "Acl"
+class AclFile(Bcfg2.Server.Plugin.XMLFileBacked):
+ """ representation of ACL config.xml """
+
+ def __init__(self, filename, core=None):
+ try:
+ fam = core.fam
+ except AttributeError:
+ fam = None
+ Bcfg2.Server.Plugin.XMLFileBacked.__init__(self, filename, fam=fam,
+ should_monitor=True)
+ self.core = core
+ self.ips = []
+
+class Acl(Bcfg2.Server.Plugin.Plugin,
+ Bcfg2.Server.Plugin.Connector):
+ """ allow connections to bcfg-server based on IP address """
def __init__(self, core, datastore):
+ Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
+ Bcfg2.Server.Plugin.Connector.__init__(self)
+ self.config = AclFile(os.path.join(self.data, 'config.xml'), core=core)