X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/hippotat/blobdiff_plain/809bcf831f76bbb1ad8623853103c8abfe4c6194..fa63bd9399a07c4b26affb3fc214291331d120b4:/hippotatd diff --git a/hippotatd b/hippotatd index cb86c2b..e458853 100755 --- a/hippotatd +++ b/hippotatd @@ -64,7 +64,7 @@ def route(packet, iface, saddr, daddr): elif daddr == c.vaddr or daddr not in c.vnetwork: lt('inbound') queue_inbound(ipif, packet) - elif daddr == c.relay: + elif daddr == c.vrelay: lt('discard relay') log_discard(packet, iface, saddr, daddr, 'relay') else: @@ -104,7 +104,8 @@ class Client(): def _req_cancel(self, request): self._log(DBG.HTTP_CTRL, 'cancel', idof=request) - request.finish() + try: request.finish() + except Exception: pass def _req_error(self, err, request): self._log(DBG.HTTP_CTRL, 'error %s' % err, idof=request) @@ -296,9 +297,10 @@ def process_cfg(_opts, putative_servers, putative_clients): global c c = ConfigResults() - c.server = cfg.get('SERVER','server') + try: c.server = cfg.get('SERVER','server') + except NoOptionError: c.server = 'SERVER' - cfg_process_common(c, c.server) + cfg_process_general(c, c.server) cfg_process_saddrs(c, c.server) cfg_process_vnetwork(c, c.server) cfg_process_vaddr(c, c.server) @@ -319,6 +321,9 @@ def process_cfg(_opts, putative_servers, putative_clients): c.vrelay = search break + try: c.ifname = cfg.get(c.server, 'ifname_server', raw=True) + except NoOptionError: pass + cfg_process_ipif(c, [c.server, 'DEFAULT'], (('local','vaddr'), @@ -371,6 +376,10 @@ def daemonise(): elif level == LogLevel.warn : sl = syslog.LOG_WARNING else : sl = syslog.LOG_INFO syslog.syslog(sl,m) + failure = event.get('log_failure') + if failure is not None: + for l in failure.getTraceback().split('\n'): + syslog.syslog(sl,l) glp = twisted.logger.globalLogPublisher glp.addObserver(emit) log_debug(DBG.INIT, 'starting to log to syslog')