]> git.llucax.com Git - software/pymin.git/blobdiff - config.py
Bugfix: don't call the handler twice.
[software/pymin.git] / config.py
index ee3c174cf3dd0eb6c02506e2c15c71c47f4e84d2..7a9b60452ddeb6cef41be1a2c78e9a6b5121d8d5 100644 (file)
--- a/config.py
+++ b/config.py
@@ -1,5 +1,13 @@
 # vim: set et sts=4 sw=4 encoding=utf-8 :
 
+# First of all, we need to setup the logging framework
+import logging
+logging.basicConfig(
+        level   = logging.DEBUG,
+        format  = '%(asctime)s %(name)-24s %(levelname)-8s %(message)s',
+        datefmt = '%a, %d %b %Y %H:%M:%S',
+)
+
 from pymin.services import *
 from pymin.dispatcher import Handler
 from os.path import join
@@ -10,44 +18,63 @@ pickle_path = join(base_path, 'pickle')
 config_path = join(base_path, 'config')
 
 class Root(Handler):
-    ip = IpHandler(
-        pickle_dir = join(pickle_path, 'ip'),
-        config_dir = join(config_path, 'ip'))
+
+    def __init__(self):
+        f = file("/proc/sys/net/ipv4/ip_forward","w")
+        f.write("1")
+        f.close()
+        #self.ip.device_up_hook(self.dns)
 
     firewall = FirewallHandler(
         pickle_dir = join(pickle_path, 'firewall'),
-        config_dir = '/tmp')
+        config_dir = join(config_path, 'firewall'))
 
-    dhcp = DhcpHandler(
-        pickle_dir = join(pickle_path, 'dhcp'),
-        config_dir = '/etc')
+    nat = NatHandler(pickle_dir = join(pickle_path, 'nat'))
+
+    ppp = PppHandler(
+        pickle_dir = join(pickle_path, 'ppp'),
+        config_dir = {
+            'pap-secrets':  join(config_path, 'ppp'),
+            'chap-secrets': join(config_path, 'ppp'),
+            'options.X':    join(config_path, 'ppp'),
+            'nameX':        join(config_path, 'ppp', 'peers'),
+        })
+
+    vpn = VpnHandler(
+         pickle_dir = join(pickle_path, 'vpn'),
+         config_dir = join(config_path, 'vpn'))
+
+    ip = IpHandler(
+        pickle_dir = join(pickle_path, 'ip'),
+        config_dir = join(config_path, 'ip'))
 
     dns = DnsHandler(
         pickle_dir = join(pickle_path, 'dns'),
         config_dir = {
-            'named.conf': '/etc',
-            'zoneX.zone': '/var/lib/named',
+            'named.conf': join(config_path, 'dns'),
+            'zoneX.zone': join(config_path, 'dns', 'zones'),
         })
 
-    nat = NatHandler(pickle_dir = join(pickle_path, 'nat'))
+    dhcp = DhcpHandler(
+        pickle_dir = join(pickle_path, 'dhcp'),
+        config_dir = join(config_path, 'dhcp'))
 
     proxy = ProxyHandler(
         pickle_dir = join(pickle_path, 'proxy'),
-        config_dir = '/etc/squid')
+        config_dir = join(config_path, 'proxy'))
 
     vrrp = VrrpHandler(
         pickle_dir = join(pickle_path, 'vrrp'),
         config_dir = join(config_path, 'vrrp'),
-        pid_dir    = '/var/run')
+        pid_dir    = join(config_path, 'vrrp', 'run'))
 
-    ppp = PppHandler(
-        pickle_dir = join(pickle_path, 'ppp'),
-        config_dir = {
-            'pap-secrets':  '/etc/ppp',
-            'chap-secrets': '/etc/ppp',
-            'options.X':    '/etc/ppp',
-            'nameX':        '/etc/ppp/peers',
-        })
+    vpn = VpnHandler(
+        pickle_dir = join(pickle_path, 'vpn'),
+        config_dir = join(config_path, 'vpn'))
+
+    #qos = QoSHandler(
+    #    pickle_dir = join(pickle_path, 'qos'),
+    #    config_dir = join(config_path, 'qos'))
 
 bind_addr = \
 (