From 26f727b913e16936c8f319fde9d7e06b677345f6 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 17 Dec 2011 21:36:07 +0000 Subject: [PATCH] make-secnet-sites: New -P option make-secnet-sites generates a config file which defines the keys "vpn-data", "vpn", and "all-sites". To make it possible to usefully include the output of more than one different piece of output from make-secnet-sites, support the option -P , which generates a config file which defines "vpn-data", "vpn", and "all-sites". Signed-off-by: Ian Jackson --- make-secnet-sites | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/make-secnet-sites b/make-secnet-sites index 9d0c6a6..c49467a 100755 --- a/make-secnet-sites +++ b/make-secnet-sites @@ -320,6 +320,7 @@ def moan(msg): root=level(['root','root']) # All vpns are children of this node obstack=[root] allow_defs=0 # Level above which new definitions are permitted +prefix='' def set_property(obj,w): "Set a property on a configuration node" @@ -415,20 +416,21 @@ def outputsites(w): w.write("# Command line: %s\n\n"%string.join(sys.argv)) # Raw VPN data section of file - w.write("vpn-data {\n") + w.write(prefix+"vpn-data {\n") for i in root.children.values(): i.output_data(w,2,"") w.write("};\n") # Per-VPN flattened lists - w.write("vpn {\n") + w.write(prefix+"vpn {\n") for i in root.children.values(): - i.output_vpnflat(w,2,"vpn-data") + i.output_vpnflat(w,2,prefix+"vpn-data") w.write("};\n") # Flattened list of sites - w.write("all-sites %s;\n"%string.join(map(lambda x:"vpn/%s/all-sites"% - x,root.children.keys()),",")) + w.write(prefix+"all-sites %s;\n"%string.join( + map(lambda x:"%svpn/%s/all-sites"%(prefix,x), + root.children.keys()),",")) # Are we being invoked from userv? service=0 @@ -471,6 +473,9 @@ else: userinput=sys.stdin.readlines() pfile("user input",userinput) else: + if sys.argv[1]=='-P': + prefix=sys.argv[2] + sys.argv[1:3]=[] if len(sys.argv)>3: print "Too many arguments" sys.exit(1) -- 2.30.2