max_batch_up = 4000
http_retry = 5
port = 80
+vroutes = ''
#[server] or [<client>] overrides
ipif = userv root ipif %(local)s,%(peer)s,%(mtu)s,slip %(rnets)s
# url
# relating to virtual network
-routes = ''
-vnetwork = 172.24.230.192
-# network = <prefix>/<len>
-# server = <ipaddr>
-# relay = <ipaddr>
+vvnetwork = 172.24.230.192
+# vnetwork = <prefix>/<len>
+# vadd r = <ipaddr>
+# vrelay = <ipaddr>
# [<client-ip4-or-ipv6-address>]
serverclient_re = regexp.compile(server_pat + r' ' + client_pat)
for cs in cfg.sections():
- if cs = 'LIMIT':
+ if cs == 'LIMIT':
# plan A "[LIMIT]"
continue
# plan D "[<servername> <client>]" part 1
(pss,pcs) = cs.split(' ')
- if pcs = 'LIMIT':
+ if pcs == 'LIMIT':
# plan E "[<servername> LIMIT]"
continue
if c.network.num_addresses < 3 + 2:
raise ValueError('network needs at least 2^3 addresses')
-def cfg_process_vaddr():
+def cfg_process_vaddr(c, ss):
try:
- c.server = cfg.get('virtual','server')
+ c.vaddr = cfg.get(ss,'server')
except NoOptionError:
- process_cfg_network()
- c.server = next(c.network.hosts())
+ cfg_process_vnetwork(c, ss)
+ c.vaddr = next(c.network.hosts())
def cfg_search_section(key,sections):
for section in sections:
if cfg.has_option(section, key):
return section
- raise NoOptionError('missing %s %s' % (key, repr(sections)))
+ raise NoOptionError(key, repr(sections))
def cfg_search(getter,key,sections):
section = cfg_search_section(key,sections)
def cfg_process_client_limited(cc,ss,sections,key):
val = cfg_search(cfg.getint, key, sections)
- lim = cfg_search(cfg.getint, key, '%s LIMIT' % ss, 'LIMIT')
+ lim = cfg_search(cfg.getint, key, ['%s LIMIT' % ss, 'LIMIT'])
cc.__dict__[key] = min(val,lim)
def cfg_process_client_common(cc,ss,cs,ci):
# returns sections to search in, iff password is defined, otherwise None
cc.ci = ci
- sections = ['%s %s' % section,
+ sections = ['%s %s' % (ss,cs),
cs,
ss,
'DEFAULT']
return sections
-def process_cfg_ipif(c, sections, varmap):
+def cfg_process_ipif(c, sections, varmap):
for d, s in varmap:
try: v = getattr(c, s)
except AttributeError: continue
setattr(c, d, v)
+ 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__)
readconfig('/etc/hippotat/config.d', False)
try:
- (pss, pcs) = process_cfg_putatives()
+ (pss, pcs) = _cfg_process_putatives()
process_cfg(pss, pcs)
except (configparser.Error, ValueError):
traceback.print_exc(file=sys.stderr)