diff options
author | Mojca Miklavec <mojca.miklavec@gmail.com> | 2012-05-14 17:38:55 +0000 |
---|---|---|
committer | Mojca Miklavec <mojca.miklavec@gmail.com> | 2012-05-14 17:38:55 +0000 |
commit | 15995e10bfc68edf79970c4ea4fbb6678566c46e (patch) | |
tree | 2de7ca2a83f2d37ef043ad7429a5cb945bb79ddb /Master/texmf-dist/tex/context/base/x-pfs-01.mkiv | |
parent | c9a39f716f1e5ec820ed3aab2c9aef25c5a9d730 (diff) |
ConTeXt 2012.05.14 16:00
git-svn-id: svn://tug.org/texlive/trunk@26371 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/x-pfs-01.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/x-pfs-01.mkiv | 399 |
1 files changed, 399 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/x-pfs-01.mkiv b/Master/texmf-dist/tex/context/base/x-pfs-01.mkiv new file mode 100644 index 00000000000..8b06bd873ff --- /dev/null +++ b/Master/texmf-dist/tex/context/base/x-pfs-01.mkiv @@ -0,0 +1,399 @@ +% pfsense status info, work in progress +% +% usage: +% +% context --environment=x-pfs-01 filename.xml +% +% or +% +% <?context-directive job ctxfile x-pfsense.ctx ?> + +\setupbodyfont + [dejavu,10pt] + +\setuplayout + [topspace=1cm, + backspace=1cm, + footer=0pt, + header=1cm, + width=middle, + height=middle] + +\setupheader + [style=bold] + +\setuphead + [section] + [style=\bfb] + +\setuphead + [subsection] + [style=\bfa] + +\setuppagenumbering + [location=] + +\dontcomplain + +% todo: show all values and map keys onto longer names via labels + +\startxmlsetups xml:system + + \startsection[title={System}] + + \startsubsection[title={Properties}] + + \starttabulate[|B|T|] + \NC hostname \NC \xmlfirst{#1}{hostname} \NC \NR + \NC domain \NC \xmlfirst{#1}{domain} \NC \NR + \NC timezone \NC \xmlfirst{#1}{timezone} \NC \NR + \NC timeservers \NC \xmlfirst{#1}{timeservers} \NC \NR + \NC dnsserver \NC \xmlfirst{#1}{dnsserver} \NC \NR + \stoptabulate + + \stopsubsection + + \startsubsection[title={Groups}] + \xmlfilter{#1}{group/command(xml:system:group)} + \stopsubsection + + \startsubsection[title={Users}] + \xmlfilter{#1}{user/command(xml:system:user)} + \stopsubsection + + \stopsection + +\stopxmlsetups + +\startxmlsetups xml:system:group + + \starttabulate[|B|T|] + \NC name \NC \xmlfirst{#1}{/name} \NC \NR + \NC description \NC \xmlfirst{#1}{/descr} \NC \NR + \NC scope \NC \xmlfirst{#1}{/scope} \NC \NR + \NC gid \NC \xmlfirst{#1}{/gid} \NC \NR + \NC privilege \NC \xmlfirst{#1}{/priv} \NC \NR + \NC members \NC \xmlconcat{#1}{/member}{ } \NC \NR + \stoptabulate + +\stopxmlsetups + +\startxmlsetups xml:system:user + + \starttabulate[|B|T|] + \NC name \NC \xmlfirst{#1}{/name} \NC \NR + \NC description \NC \xmlfirst{#1}{/descr} \NC \NR + \NC scope \NC \xmlfirst{#1}{/scope} \NC \NR + \NC uid \NC \xmlfirst{#1}{/uid} \NC \NR + \NC group \NC \xmlfirst{#1}{/groupname} \NC \NR + \NC privilege \NC \xmlfirst{#1}{/priv} \NC \NR + \NC password \NC \xmldoifelsetext{#1}{/password}{set}{unset} \NC \NR + \NC ipsec psk \NC \xmldoifelsetext{#1}{/ipsecpsk}{set}{unset} \NC \NR + \NC certificate \NC \xmldoifelsetext{#1}{/cert} {set}{unset} \NC \NR + \stoptabulate + +\stopxmlsetups + +\startxmlsetups xml:interfaces + + \startsection[title={Interfaces}] + + \xmlfilter{#1}{*/command(xml:interfaces:network)} + + \stopsection + +\stopxmlsetups + +\startxmlsetups xml:interfaces:network + + \startsubsection[title={\xmltag{#1}}] + + % <blockpriv/> <blockbogons/> <spoofmac/> <enable/> + + \starttabulate[|B|T|] + \NC interface \NC \xmlfirst{#1}{/if} \NC \NR + \NC block private \NC \xmldoifelse{#1}{/blockpriv} {yes}{no} \NC \NR + \NC block bogons \NC \xmldoifelse{#1}{/blockbogons}{yes}{no} \NC \NR + \NC spoof mac address \NC \xmldoifelse{#1}{/spoofmac} {yes}{no} \NC \NR + \NC enable interface \NC \xmldoifelse{#1}{/enable} {yes}{no} \NC \NR + \NC ipaddress \NC \xmlfirst{#1}{/ipaddr} \NC \NR + \NC subnet \NC \xmlfirst{#1}{/subnet} \NC \NR + \NC gateway \NC \xmlfirst{#1}{/gateway} \NC \NR + \NC description \NC \xmlfirst{#1}{/descr} \NC \NR + \stoptabulate + + \stopsubsection + +\stopxmlsetups + +\startxmlsetups xml:gateways + + \startsection[title={Gateways}] + + \xmlfilter{#1}{*/command(xml:gateways:entry)} + + \stopsection + +\stopxmlsetups + +\startxmlsetups xml:gateways:entry + + \starttabulate[|B|T|] + \NC interface \NC \xmlfirst{#1}{/interface} \NC \NR + \NC gateway \NC \xmlfirst{#1}{/gateway} \NC \NR + \NC name \NC \xmlfirst{#1}{/name} \NC \NR + \NC weight \NC \xmlfirst{#1}{/weight} \NC \NR + \NC interval \NC \xmlfirst{#1}{/interval} \NC \NR + \NC description \NC \xmlfirst{#1}{/descr} \NC \NR + \NC disable monitor \NC \xmlfirst{#1}{/monitor_disable} \NC \NR + \NC default gateway \NC \xmlfirst{#1}{/defaultgw} \NC \NR + \stoptabulate + +\stopxmlsetups + +\startxmlsetups xml:virtualips + + \startsection[title={Virtual ipadresses}] + + \xmlfilter{#1}{*/command(xml:virtualips:entry)} + + \stopsection + +\stopxmlsetups + +\startxmlsetups xml:virtualips:entry + + \starttabulate[|B|T|] + \NC interface \NC \xmlfirst{#1}{/interface} \NC \NR + \NC type \NC \xmlfirst{#1}{/type} \NC \NR + \NC mode \NC \xmlfirst{#1}{/mode} \NC \NR + \NC subnet \NC \xmlfirst{#1}{/subnet} + /\xmlfirst{#1}{/subnet_bits} \NC \NR + \NC description \NC \xmlfirst{#1}{/descr} \NC \NR + \stoptabulate + +\stopxmlsetups + +\startxmlsetups xml:dhcp + + \startsection[title={DHCP}] + + \xmlfilter{#1}{*/command(xml:dhcp:network)} + + \stopsection + +\stopxmlsetups + +\startxmlsetups xml:dhcp:network + + \startsubsection[title={\xmltag{#1}}] + + \starttabulate[|B|T|] + \NC range \NC \xmlfirst{#1}{/range/from} \endash\ \xmlfirst{#1}{/range/to} \NC \NR + \NC domain \NC \xmlfirst{#1}{/domain} \NC \NR + \NC dnsserver \NC \xmlfirst{#1}{/dnsserver} \NC \NR + \NC gateway \NC \xmlfirst{#1}{/gateway} \NC \NR + \NC ddnsdomain \NC \xmlfirst{#1}{/ddnsdomain} \NC \NR + \stoptabulate + + \xmldoif {#1} {/staticmap} { + + \starttabulate[|T|T|T|p|] + \NC \rm\bf macaddress + \NC \rm\bf ipaddress + \NC \rm\bf hostname + \NC \rm\bf description + \NC \NR + \HL + \xmlfilter{#1}{/staticmap/command(xml:dhcp:network:entry)} + \stoptabulate + + } + + \stopsubsection + +\stopxmlsetups + +\startxmlsetups xml:dhcp:network:entry + + \NC \xmlfirst{#1}{/mac} + \NC \xmlfirst{#1}{/ipaddr} + \NC \xmlfirst{#1}{/hostname} + \NC \xmlfirst{#1}{/descr} + \NC \NR + +\stopxmlsetups + +\startxmlsetups xml:dnsmasq + + \startsection[title={DNS MASQ}] + + \starttabulate[|T|T|T|p|] + \NC \rm\bf host + \NC \rm\bf domain + \NC \rm\bf ipaddress + \NC \rm\bf description + \NC \NR + \HL + \xmlfilter{#1}{/hosts/command(xml:dnsmasq:hosts)} + \stoptabulate + + \stopsection + +\stopxmlsetups + + +\startxmlsetups xml:dnsmasq:hosts + + \NC \xmlfirst{#1}{/host} + \NC \xmlfirst{#1}{/domain} + \NC \xmlfirst{#1}{/ip} + \NC \xmlfirst{#1}{/descr} + \NC \NR + +\stopxmlsetups + +\startxmlsetups xml:nat + + \startsection[title={NAT}] + + \startsubsection[title={Rules}] + + \starttabulate[|T|T|T|T|T|p|] + \NC \rm\bf interface + \NC \rm\bf protocol + \NC \rm\bf source + \NC \rm\bf destination + \NC \rm\bf target + \NC \rm\bf description + \NC \NR + \HL + \xmlfilter{#1}{/rule/command(xml:nat:rule)} + \stoptabulate + + \stopsubsection + + \startsubsection[title={One to one}] + + \starttabulate[|T|T|T|T|T|p|] + \NC \rm\bf interface + \NC \rm\bf protocol + \NC \rm\bf source + \NC \rm\bf destination + \NC \rm\bf external + \NC \rm\bf description + \NC \NR + \HL + \xmlfilter{#1}{/onetoone/command(xml:nat:onetoone)} + \stoptabulate + + \stopsubsection + +\stopsection + +\stopxmlsetups + +\startxmlsetups xml:nat:rule + + \NC \xmlfilter{#1}{/interface/command(xml:checked)} + \NC \xmlfilter{#1}{/protocol/command(xml:checked)} + \NC \xmlfilter{#1}{/source/command(xml:checked)} + \NC \xmlfilter{#1}{/destination/(address|any)/command(xml:checked)} + :\xmlfilter{#1}{/destination/port/command(xml:checked)} + \NC \xmlfilter{#1}{/target/command(xml:checked)} + :\xmlfilter{#1}{/local-port/command(xml:checked)} + \NC \xmlfirst {#1}{/descr} + \NC \NR + +\stopxmlsetups + +\startxmlsetups xml:nat:onetoone + + \NC \xmlfilter{#1}{/interface/command(xml:checked)} + \NC \xmlfilter{#1}{/protocol/command(xml:checked)} + \NC \xmlfilter{#1}{/source/command(xml:checked)} + \NC \xmlfilter{#1}{/destination/(address|any)/command(xml:checked)} + :\xmlfilter{#1}{/destination/port/command(xml:checked)} + \NC \xmlfilter{#1}{/external/command(xml:checked)} + :\xmlfilter{#1}{/local-port/command(xml:checked)} + \NC \xmlfirst {#1}{/descr} + \NC \NR + +\stopxmlsetups + +\startxmlsetups xml:checked + \xmldoifelse {#1} {/any} { + * + } { + \xmldoifelsetext {#1} {.} { + \xmlflush{#1} + } { + * + } + } +\stopxmlsetups + +\startxmlsetups xml:filter + + \startsection[title={Filter}] + + \startsubsection[title={Rules}] + + \starttabulate[|T|T|T|T|T|p|] + \NC \rm\bf type + \NC \rm\bf interface + \NC \rm\bf protocol + \NC \rm\bf source + \NC \rm\bf destination + \NC \rm\bf description + \NC \NR + \HL + \xmlfilter{#1}{/rule/command(xml:filter:rule)} + \stoptabulate + + \stopsubsection + + \stopsubsection + +\stopxmlsetups + +\startxmlsetups xml:filter:rule + + \NC \xmlfilter{#1}{/type/command(xml:checked)} + \NC \xmlfilter{#1}{/interface/command(xml:checked)} + \NC \xmlfilter{#1}{/protocol/command(xml:checked)} + \NC \xmlfilter{#1}{/source/(address|any)/command(xml:checked)}: + :\xmlfilter{#1}{/source/port/command(xml:checked)} + \NC \xmlfilter{#1}{/destination/(address|any)/command(xml:checked)} + :\xmlfilter{#1}{/destination/port/command(xml:checked)} + \NC \xmlfirst {#1}{/descr} + \NC \NR + +\stopxmlsetups + +\starttext + + \doifelse {\inputfilename} {x-pfs-01.mkiv} { + + \xmlloadonly{main}{router.xml}{} + + \setupheadertexts[router.xml][\pagenumber] + + } { + + \xmlloadonly{main}{\inputfilename}{} + + \setupheadertexts[\inputfilename][\pagenumber] + + } + + \xmlfilter{main}{/pfsense/system/command(xml:system)} + \xmlfilter{main}{/pfsense/interfaces/command(xml:interfaces)} + \xmlfilter{main}{/pfsense/gateways/command(xml:gateways)} + \xmlfilter{main}{/pfsense/virtualip/command(xml:virtualips)} + \xmlfilter{main}{/pfsense/dhcpd/command(xml:dhcp)} + \xmlfilter{main}{/pfsense/dnsmasq/command(xml:dnsmasq)} + \xmlfilter{main}{/pfsense/nat/command(xml:nat)} + \xmlfilter{main}{/pfsense/filter/command(xml:filter)} + +\stoptext |