make-secnet-sites: Do newline-trimming in pline()
[secnet] / make-secnet-sites
index c49467a..0c19a78 100755 (executable)
@@ -267,7 +267,7 @@ class sitelevel(level):
         'networks':None,
         'peer':None,
         'pubkey':(lambda n,v:"key %s;\n"%v),
-        'address':None,
+        'address':(lambda n,v:"address %s;\n"%v),
         'mobile':sp,
        })
        require_properties={
@@ -333,7 +333,7 @@ def set_property(obj,w):
 def pline(i,allow_include=False):
        "Process a configuration file line"
        global allow_defs, obstack, root
-       w=string.split(i)
+       w=string.split(i.rstrip('\n'))
        if len(w)==0: return
        keyword=w[0]
        current=obstack[len(obstack)-1]
@@ -376,6 +376,8 @@ def pline(i,allow_include=False):
                        if nl.depth<allow_defs:
                                complain("New definitions not allowed at "
                                        "level %d"%nl.depth)
+                               # we risk crashing if we continue
+                               sys.exit(1)
                        current.children[w[1]]=nl
                        current=nl
                obstack.append(current)
@@ -405,7 +407,6 @@ def pfile(name,lines,allow_include=False):
        for i in lines:
                line=line+1
                if (i[0]=='#'): continue
-               if (i[len(i)-1]=='\n'): i=i[:len(i)-1] # strip trailing LF
                pline(i,allow_include=allow_include)
 
 def outputsites(w):