wip
[hippotat] / hippotat / __init__.py
index 3617235..cc77cf6 100644 (file)
@@ -86,6 +86,7 @@ class LogNotBoringTwisted:
       if event.get('log_level') != LogLevel.info:
         return yes
       dflag = event.get('dflag')
+      if dflag is False                            : return yes
       if dflag                         in debug_set: return yes
       if dflag is None and DBG.TWISTED in debug_set: return yes
       return no
@@ -239,14 +240,14 @@ class _IpifProcessProtocol(twisted.internet.protocol.ProcessProtocol):
     status.raiseException()
 
 def start_ipif(command, router):
-  global ipif
   ipif = _IpifProcessProtocol(router)
   reactor.spawnProcess(ipif,
                        '/bin/sh',['sh','-xc', command],
                        childFDs={0:'w', 1:'r', 2:2},
                        env=None)
+  return ipif
 
-def queue_inbound(packet):
+def queue_inbound(ipif, packet):
   log_debug(DBG.FLOW, "queue_inbound", d=packet)
   ipif.transport.write(slip.delimiter)
   ipif.transport.write(slip.encode(packet))
@@ -399,7 +400,7 @@ def _cfg_process_putatives():
 
   return (servers, clients)
 
-def cfg_process_common(ss):
+def cfg_process_common(c, ss):
   c.mtu = cfg.getint(ss, 'mtu')
 
 def cfg_process_saddrs(c, ss):
@@ -430,16 +431,16 @@ def cfg_process_saddrs(c, ss):
     c.saddrs.append(sa)
 
 def cfg_process_vnetwork(c, ss):
-  c.network = ipnetwork(cfg.get(ss,'network'))
-  if c.network.num_addresses < 3 + 2:
-    raise ValueError('network needs at least 2^3 addresses')
+  c.vnetwork = ipnetwork(cfg.get(ss,'vnetwork'))
+  if c.vnetwork.num_addresses < 3 + 2:
+    raise ValueError('vnetwork needs at least 2^3 addresses')
 
 def cfg_process_vaddr(c, ss):
   try:
-    c.vaddr = cfg.get(ss,'server')
+    c.vaddr = cfg.get(ss,'vaddr')
   except NoOptionError:
     cfg_process_vnetwork(c, ss)
-    c.vaddr = next(c.network.hosts())
+    c.vaddr = next(c.vnetwork.hosts())
 
 def cfg_search_section(key,sections):
   for section in sections:
@@ -469,7 +470,7 @@ def cfg_process_client_common(cc,ss,cs,ci):
   except NoOptionError: return None
     
   pw = cfg.get(pwsection, 'password')
-  pw = pw.encode('utf-8')
+  cc.password = pw.encode('utf-8')
 
   cfg_process_client_limited(cc,ss,sections,'target_requests_outstanding')
   cfg_process_client_limited(cc,ss,sections,'http_timeout')
@@ -482,7 +483,7 @@ def cfg_process_ipif(c, sections, varmap):
     except AttributeError: continue
     setattr(c, d, v)
 
-  print('CFGIPIF',repr((varmap, sections, c.__dict__)),file=sys.stderr)
+  #print('CFGIPIF',repr((varmap, sections, c.__dict__)),file=sys.stderr)
 
   section = cfg_search_section('ipif', sections)
   c.ipif_command = cfg.get(section,'ipif', vars=c.__dict__)