chiark / gitweb /
wip
[hippotat.git] / hippotat / __init__.py
index f51caf555bb0bc844be37d89d5757e3cd4e34c47..c57767ae1c2c3045def4875cdaa1efd7c7c61191 100644 (file)
@@ -3,6 +3,8 @@
 import signal
 signal.signal(signal.SIGINT, signal.SIG_DFL)
 
+import sys
+
 import twisted
 from twisted.internet import reactor
 from twisted.logger import LogLevel
@@ -11,14 +13,16 @@ import twisted.internet.endpoints
 import ipaddress
 from ipaddress import AddressValueError
 
-import hippotat.slip as slip
-
 from optparse import OptionParser
 from configparser import ConfigParser
 from configparser import NoOptionError
 
 import collections
 
+import re as regexp
+
+import hippotat.slip as slip
+
 defcfg = '''
 [DEFAULT]
 #[<client>] overrides
@@ -71,6 +75,11 @@ class ConfigResults:
 
 c = ConfigResults()
 
+def log_discard(packet, saddr, daddr, why):
+  print('DROP ', saddr, daddr, why)
+#  syslog.syslog(syslog.LOG_DEBUG,
+#                'discarded packet %s -> %s (%s)' % (saddr, daddr, why))
+
 #---------- packet parsing ----------
 
 def packet_addrs(packet):
@@ -249,7 +258,7 @@ def process_cfg_clients(constructor):
 
 #---------- startup ----------
 
-def common_startup(defcfg):
+def common_startup():
   twisted.logger.globalLogPublisher.addObserver(crash_on_critical)
 
   optparser.add_option('-c', '--config', dest='configfile',
@@ -257,7 +266,8 @@ def common_startup(defcfg):
   (opts, args) = optparser.parse_args()
   if len(args): optparser.error('no non-option arguments please')
 
-  cfg.read_string(defcfg)
+  re = regexp.compile('#.*')
+  cfg.read_string(re.sub('', defcfg))
   cfg.read(opts.configfile)
 
 def common_run():