server_pat = r'[-.0-9A-Za-z]+'
client_pat = r'[.:0-9a-f]+'
server_re = regexp.compile(server_pat)
- serverclient_re = regexp.compile(server_pat + r' ' + client_pat)
+ serverclient_re = regexp.compile(
+ server_pat + r' ' + '(?:' + client_pat + '|LIMIT)')
for cs in cfg.sections():
+ log_debug_config('putatives: section [%s]...' % (cs))
+
+ def log_ignore(why):
+ log_debug_config('putatives: section [%s] X ignore: %s' % (cs, why))
+ print('warning: ignoring config section [%s] (%s)' % (cs, why),
+ file=sys.stderr)
+
if cs == 'LIMIT' or cs == 'COMMON':
# plan A "[LIMIT]" or "[COMMON]"
+ log_debug_config('putatives: section [%s] A ignore' % (cs))
continue
try:
if server_re.fullmatch(cs):
# plan C "[<servername>]"
+ log_debug_config('putatives: section [%s] C <server>' % (cs))
putative(servers, cs, cs)
continue
if pcs == 'LIMIT':
# plan E "[<servername> LIMIT]"
+ log_debug_config('putatives: section [%s] E <server> LIMIT' % (cs))
continue
try:
# plan D "[<servername> <client>]" part 2
- ci = ipaddr(pc)
+ ci = ipaddr(pcs)
except AddressValueError:
# plan F "[<some thing we do not understand>]"
- # well, we ignore this
- print('warning: ignoring config section %s' % cs, file=sys.stderr)
+ log_ignore('bad-addr')
continue
else: # no AddressValueError
- # plan D "[<servername> <client]" part 3
+ # plan D "[<servername> <client>]" part 3
+ log_debug_config('putatives: section [%s] D <server> <client>'
+ % (cs))
putative(clients, ci, pcs)
putative(servers, pss, pss)
continue
else: # no AddressValueError
# plan B "[<client>" part 2
+ log_debug_config('putatives: section [%s] B <client>' % (cs))
putative(clients, ci, cs)
continue