/usr/share/doc/augeas-doc/lenses/files/hosts_access-aug.html is in augeas-doc 1.2.0-0ubuntu1.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Hosts_Access - Augeas Documentation</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
<!-- Generated by Natural Docs, version 1.51 -->
<!-- http://www.naturaldocs.org -->
<!-- saved from url=(0026)http://www.naturaldocs.org -->
<div id=Content><div class="CAugeasModule"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Hosts_Access"></a>Hosts_Access</h1><div class=CBody><p>Parses /etc/hosts.{allow,deny}</p><p>Author: Raphael Pinson <a href="#" onClick="location.href='mai' + 'lto:' + 'rap' + 'hink' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>rap<span style="display: none">.nosp@m.</span>hink<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Hosts_Access" >Hosts_Access</a></td><td class=SDescription>Parses /etc/hosts.{allow,deny}</td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Hosts_Access.Reference" >Reference</a></td><td class=SDescription>This lens tries to keep as close as possible to `man 5 hosts_access` and `man 5 hosts_options` where possible.</td></tr><tr class="SGeneric SIndent1"><td class=SEntry><a href="#Hosts_Access.License" >License</a></td><td class=SDescription>This file is licenced under the LGPL v2+, like the rest of Augeas.</td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Hosts_Access.Lens_Usage" >Lens Usage</a></td><td class=SDescription>To be documented</td></tr><tr class="SGeneric SIndent1"><td class=SEntry><a href="#Hosts_Access.Configuration_files" >Configuration files</a></td><td class=SDescription>This lens applies to /etc/hosts.{allow,deny}. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Hosts_Access.USEFUL_PRIMITIVES" >USEFUL PRIMITIVES</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.colon" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">colon</a></td><td class=SDescription></td></tr><tr class="SAugeasVariable SIndent2"><td class=SEntry><a href="#Hosts_Access.comma_sep" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">comma_sep</a></td><td class=SDescription></td></tr><tr class="SAugeasVariable SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.ws_sep" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">ws_sep</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2"><td class=SEntry><a href="#Hosts_Access.list_sep" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">list_sep</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.list_item" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">list_item</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2"><td class=SEntry><a href="#Hosts_Access.client_host_item" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">client_host_item</a></td><td class=SDescription>Allows @ for netgroups, supports [ipv6] syntax</td></tr><tr class="SAugeasLens SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.client_file_item" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">client_file_item</a></td><td class=SDescription></td></tr><tr class="SAugeasVariable SIndent2"><td class=SEntry><a href="#Hosts_Access.option_kw" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">option_kw</a></td><td class=SDescription>Since either an option or a shell command can be given, use an explicit list of known options to avoid misinterpreting a command as an option</td></tr><tr class="SAugeasVariable SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.shell_command_rx" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">shell_command_rx</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2"><td class=SEntry><a href="#Hosts_Access.sto_to_colon" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">sto_to_colon</a></td><td class=SDescription>Allows escaped colon sequences</td></tr><tr class="SAugeasLens SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.except" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">except</a></td><td class=SDescription>The except operator makes it possible to write very compact rules.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Hosts_Access.ENTRY_TYPES" >ENTRY TYPES</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.daemon" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">daemon</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2"><td class=SEntry><a href="#Hosts_Access.daemon_list" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">daemon_list</a></td><td class=SDescription>A list of <a href="#Hosts_Access.daemon" class=LAugeasLens id=link14 onMouseOver="ShowTip(event, 'tt12', 'link14')" onMouseOut="HideTip('tt12')">daemon</a>s</td></tr><tr class="SAugeasLens SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.client" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">client</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2"><td class=SEntry><a href="#Hosts_Access.client_file" id=link16 onMouseOver="ShowTip(event, 'tt15', 'link16')" onMouseOut="HideTip('tt15')">client_file</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.client_list" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">client_list</a></td><td class=SDescription>A list of <a href="#Hosts_Access.client" class=LAugeasLens id=link18 onMouseOver="ShowTip(event, 'tt14', 'link18')" onMouseOut="HideTip('tt14')">client</a>s</td></tr><tr class="SAugeasLens SIndent2"><td class=SEntry><a href="#Hosts_Access.option" id=link19 onMouseOver="ShowTip(event, 'tt17', 'link19')" onMouseOut="HideTip('tt17')">option</a></td><td class=SDescription>Optional extensions defined in hosts_options(5)</td></tr><tr class="SAugeasLens SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.shell_command" id=link20 onMouseOver="ShowTip(event, 'tt18', 'link20')" onMouseOut="HideTip('tt18')">shell_command</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2"><td class=SEntry><a href="#Hosts_Access.entry" id=link21 onMouseOver="ShowTip(event, 'tt19', 'link21')" onMouseOut="HideTip('tt19')">entry</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Hosts_Access.LENS_AND_FILTER" >LENS AND FILTER</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2 SMarked"><td class=SEntry><a href="#Hosts_Access.lns" id=link22 onMouseOver="ShowTip(event, 'tt20', 'link22')" onMouseOut="HideTip('tt20')">lns</a></td><td class=SDescription></td></tr><tr class="SAugeasLens SIndent2"><td class=SEntry><a href="#Hosts_Access.filter" >filter</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.Reference"></a>Reference</h3><div class=CBody><p>This lens tries to keep as close as possible to `man 5 hosts_access` and `man 5 hosts_options` where possible.</p></div></div></div>
<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.License"></a>License</h3><div class=CBody><p>This file is licenced under the LGPL v2+, like the rest of Augeas.</p></div></div></div>
<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.Lens_Usage"></a>Lens Usage</h3><div class=CBody><p>To be documented</p></div></div></div>
<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.Configuration_files"></a>Configuration files</h3><div class=CBody><p>This lens applies to /etc/hosts.{allow,deny}. See <a href="#Hosts_Access.filter" class=LAugeasLens >filter</a>.</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.USEFUL_PRIMITIVES"></a>USEFUL PRIMITIVES</h3></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.colon"></a>colon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let colon = del /[ \t]*(\\\\[ \t]*\n[ \t]+)?:[ \t]*(\\\\[ \t]*\n[ \t]+)?/ ": "
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasVariable"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.comma_sep"></a>comma_sep</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let comma_sep = /([ \t]|(\\\\\n))*,([ \t]|(\\\\\n))*/
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasVariable"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.ws_sep"></a>ws_sep</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let ws_sep = / +/
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.list_sep"></a>list_sep</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let list_sep = del ( comma_sep | ws_sep ) ", "
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.list_item"></a>list_item</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let list_item = store ( Rx.word - /EXCEPT/i )
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.client_host_item"></a>client_host_item</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client_host_item =
let client_hostname_rx = /[A-Za-z0-9_.@?*-][A-Za-z0-9_.?*-]*/ in
let client_ipv6_rx = "[" . /[A-Za-z0-9:?*%]+/ . "]" in
let client_host_rx = client_hostname_rx | client_ipv6_rx in
let netmask = [ Util.del_str "/" . label "netmask" . store Rx.word ] in
store ( client_host_rx - /EXCEPT/i ) . netmask?
</td></tr></table></blockquote><p>Allows @ for netgroups, supports [ipv6] syntax</p></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.client_file_item"></a>client_file_item</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client_file_item =
let client_file_rx = /\/[^ \t\n,:]+/ in
store ( client_file_rx - /EXCEPT/i )
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasVariable"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.option_kw"></a>option_kw</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let option_kw = "severity"
| "spawn"
| "twist"
| "keepalive"
| "linger"
| "rfc931"
| "banners"
| "nice"
| "setenv"
| "umask"
| "user"
| /allow/i
| /deny/i
</td></tr></table></blockquote><p>Since either an option or a shell command can be given, use an explicit list of known options to avoid misinterpreting a command as an option</p></div></div></div>
<div class="CAugeasVariable"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.shell_command_rx"></a>shell_command_rx</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let shell_command_rx = /[^ \t\n:][^\n]*[^ \t\n]|[^ \t\n:\\\\]/
- ( option_kw . /.*/ )
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.sto_to_colon"></a>sto_to_colon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let sto_to_colon = store /[^ \t\n:=][^\n:]*((\\\\:|\\\\[ \t]*\n[ \t]+)[^\n:]*)*[^ \\\t\n:]|[^ \t\n:\\\\]/
</td></tr></table></blockquote><p>Allows escaped colon sequences</p></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.except"></a>except</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let except (lns:lens) = [ label "except" . Sep.space
. del /except/i "EXCEPT"
. Sep.space . lns ]
</td></tr></table></blockquote><p>The except operator makes it possible to write very compact rules.</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.ENTRY_TYPES"></a>ENTRY TYPES</h3></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.daemon"></a>daemon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let daemon =
let host = [ label "host"
. Util.del_str "@"
. list_item ] in
[ label "process"
. list_item
. host? ]
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.daemon_list"></a>daemon_list</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let daemon_list = Build.opt_list daemon list_sep
</td></tr></table></blockquote><p>A list of <a href="#Hosts_Access.daemon" class=LAugeasLens id=link23 onMouseOver="ShowTip(event, 'tt12', 'link23')" onMouseOut="HideTip('tt12')">daemon</a>s</p></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.client"></a>client</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client =
let user = [ label "user"
. list_item
. Util.del_str "@" ] in
[ label "client"
. user?
. client_host_item ]
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.client_file"></a>client_file</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client_file = [ label "file" . client_file_item ]
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.client_list"></a>client_list</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client_list = Build.opt_list ( client | client_file ) list_sep
</td></tr></table></blockquote><p>A list of <a href="#Hosts_Access.client" class=LAugeasLens id=link24 onMouseOver="ShowTip(event, 'tt14', 'link24')" onMouseOut="HideTip('tt14')">client</a>s</p></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.option"></a>option</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let option = [ key option_kw
. ( del /([ \t]*=[ \t]*|[ \t]+)/ " " . sto_to_colon )? ]
</td></tr></table></blockquote><p>Optional extensions defined in hosts_options(5)</p></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.shell_command"></a>shell_command</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let shell_command = [ label "shell_command"
. store shell_command_rx ]
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.entry"></a>entry</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let entry = [ seq "line"
. daemon_list
. (except daemon_list)?
. colon
. client_list
. (except client_list)?
. ( (colon . option)+ | (colon . shell_command)? )
. Util.eol ]
</td></tr></table></blockquote></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.LENS_AND_FILTER"></a>LENS AND FILTER</h3></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.lns"></a>lns</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let lns = (Util.empty | Util.comment | entry)*
</td></tr></table></blockquote></div></div></div>
<div class="CAugeasLens"><div class=CTopic><h3 class=CTitle><a name="Hosts_Access.filter"></a>filter</h3></div></div>
</div><!--Content-->
<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
<div id=Menu><div class=MTitle>Augeas Documentation<div class=MSubTitle>Modules</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Main Site</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MLink><a href="/index.html">Main</a></div></div><div class=MEntry><div class=MLink><a href="/docs/index.html">Documentation</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Specific Modules</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="access-aug.html">Access</a></div></div><div class=MEntry><div class=MFile><a href="activemq_conf-aug.html">ActiveMQ_Conf</a></div></div><div class=MEntry><div class=MFile><a href="activemq_xml-aug.html">ActiveMQ_XML</a></div></div><div class=MEntry><div class=MFile><a href="aliases-aug.html">Aliases</a></div></div><div class=MEntry><div class=MFile><a href="anacron-aug.html">Anacron</a></div></div><div class=MEntry><div class=MFile><a href="approx-aug.html">Approx</a></div></div><div class=MEntry><div class=MFile><a href="apt_update_manager-aug.html">Apt_Update_Manager</a></div></div><div class=MEntry><div class=MFile><a href="aptcacherngsecurity-aug.html">AptCacherNGSecurity</a></div></div><div class=MEntry><div class=MFile><a href="aptconf-aug.html">AptConf</a></div></div><div class=MEntry><div class=MFile><a href="aptpreferences-aug.html">AptPreferences</a></div></div><div class=MEntry><div class=MFile><a href="aptsources-aug.html">Aptsources</a></div></div><div class=MEntry><div class=MFile><a href="authorized_keys-aug.html">Authorized_Keys</a></div></div><div class=MEntry><div class=MFile><a href="automaster-aug.html">Automaster</a></div></div><div class=MEntry><div class=MFile><a href="automounter-aug.html">Automounter</a></div></div><div class=MEntry><div class=MFile><a href="avahi-aug.html">Avahi</a></div></div><div class=MEntry><div class=MFile><a href="backuppchosts-aug.html">BackupPCHosts</a></div></div><div class=MEntry><div class=MFile><a href="bootconf-aug.html">BootConf</a></div></div><div class=MEntry><div class=MFile><a href="cachefilesd-aug.html">Cachefilesd</a></div></div><div class=MEntry><div class=MFile><a href="carbon-aug.html">Carbon</a></div></div><div class=MEntry><div class=MFile><a href="cgconfig-aug.html">Cgconfig</a></div></div><div class=MEntry><div class=MFile><a href="cgrules-aug.html">Cgrules</a></div></div><div class=MEntry><div class=MFile><a href="channels-aug.html">Channels</a></div></div><div class=MEntry><div class=MFile><a href="collectd-aug.html">Collectd</a></div></div><div class=MEntry><div class=MFile><a href="cron-aug.html">Cron</a></div></div><div class=MEntry><div class=MFile><a href="crypttab-aug.html">Crypttab</a></div></div><div class=MEntry><div class=MFile><a href="cups-aug.html">Cups</a></div></div><div class=MEntry><div class=MFile><a href="debctrl-aug.html">Debctrl</a></div></div><div class=MEntry><div class=MFile><a href="desktop-aug.html">Desktop</a></div></div><div class=MEntry><div class=MFile><a href="dhcpd-aug.html">Dhcpd</a></div></div><div class=MEntry><div class=MFile><a href="dovecot-aug.html">Dovecot</a></div></div><div class=MEntry><div class=MFile><a href="dpkg-aug.html">Dpkg</a></div></div><div class=MEntry><div class=MFile><a href="exports-aug.html">Exports</a></div></div><div class=MEntry><div class=MFile><a href="fai_diskconfig-aug.html">FAI_DiskConfig</a></div></div><div class=MEntry><div class=MFile><a href="fonts-aug.html">Fonts</a></div></div><div class=MEntry><div class=MFile><a href="fuse-aug.html">Fuse</a></div></div><div class=MEntry><div class=MFile><a href="grub-aug.html">Grub</a></div></div><div class=MEntry><div class=MFile><a href="gtkbookmarks-aug.html">GtkBookmarks</a></div></div><div class=MEntry><div class=MFile><a href="host_conf-aug.html">Host_Conf</a></div></div><div class=MEntry><div class=MFile><a href="hostname-aug.html">Hostname</a></div></div><div class=MEntry><div class=MFile id=MSelected>Hosts_Access</div></div><div class=MEntry><div class=MFile><a href="htpasswd-aug.html">Htpasswd</a></div></div><div class=MEntry><div class=MFile><a href="inputrc-aug.html">Inputrc</a></div></div><div class=MEntry><div class=MFile><a href="jettyrealm-aug.html">JettyRealm</a></div></div><div class=MEntry><div class=MFile><a href="jmxaccess-aug.html">JMXAccess</a></div></div><div class=MEntry><div class=MFile><a href="jmxpassword-aug.html">JMXPassword</a></div></div><div class=MEntry><div class=MFile><a href="iptables-aug.html">Iptables</a></div></div><div class=MEntry><div class=MFile><a href="kdump-aug.html">Kdump</a></div></div><div class=MEntry><div class=MFile><a href="keepalived-aug.html">Keepalived</a></div></div><div class=MEntry><div class=MFile><a href="koji-aug.html">Koji</a></div></div><div class=MEntry><div class=MFile><a href="ldif-aug.html">Ldif</a></div></div><div class=MEntry><div class=MFile><a href="ldso-aug.html">Ldso</a></div></div><div class=MEntry><div class=MFile><a href="lightdm-aug.html">Lightdm</a></div></div><div class=MEntry><div class=MFile><a href="login_defs-aug.html">Login_defs</a></div></div><div class=MEntry><div class=MFile><a href="lokkit-aug.html">Lokkit</a></div></div><div class=MEntry><div class=MFile><a href="lvm-aug.html">LVM</a></div></div><div class=MEntry><div class=MFile><a href="mcollective-aug.html">MCollective</a></div></div><div class=MEntry><div class=MFile><a href="memcached-aug.html">Memcached</a></div></div><div class=MEntry><div class=MFile><a href="mke2fs-aug.html">Mke2fs</a></div></div><div class=MEntry><div class=MFile><a href="modprobe-aug.html">Modprobe</a></div></div><div class=MEntry><div class=MFile><a href="mongodbserver-aug.html">MongoDBServer</a></div></div><div class=MEntry><div class=MFile><a href="modules-aug.html">Modules</a></div></div><div class=MEntry><div class=MFile><a href="modules_conf-aug.html">Modules_conf</a></div></div><div class=MEntry><div class=MFile><a href="nagioscfg-aug.html">NagiosCfg</a></div></div><div class=MEntry><div class=MFile><a href="nagiosobjects-aug.html">NagiosObjects</a></div></div><div class=MEntry><div class=MFile><a href="netmasks-aug.html">Netmasks</a></div></div><div class=MEntry><div class=MFile><a href="networkmanager-aug.html">NetworkManager</a></div></div><div class=MEntry><div class=MFile><a href="networks-aug.html">Networks</a></div></div><div class=MEntry><div class=MFile><a href="nginx-aug.html">Nginx</a></div></div><div class=MEntry><div class=MFile><a href="nrpe-aug.html">Nrpe</a></div></div><div class=MEntry><div class=MFile><a href="nsswitch-aug.html">Nsswitch</a></div></div><div class=MEntry><div class=MFile><a href="ntpd-aug.html">Ntpd</a></div></div><div class=MEntry><div class=MFile><a href="openshift_config-aug.html">OpenShift_Config</a></div></div><div class=MEntry><div class=MFile><a href="openshift_http-aug.html">OpenShift_Http</a></div></div><div class=MEntry><div class=MFile><a href="openshift_quickstarts-aug.html">OpenShift_Quickstarts</a></div></div><div class=MEntry><div class=MFile><a href="pam-aug.html">Pam</a></div></div><div class=MEntry><div class=MFile><a href="pamconf-aug.html">PamConf</a></div></div><div class=MEntry><div class=MFile><a href="pbuilder-aug.html">Pbuilder</a></div></div><div class=MEntry><div class=MFile><a href="pg_hba-aug.html">Pg_Hba</a></div></div><div class=MEntry><div class=MFile><a href="postfix_transport-aug.html">Postfix_Transport</a></div></div><div class=MEntry><div class=MFile><a href="postfix_virtual-aug.html">Postfix_Virtual</a></div></div><div class=MEntry><div class=MFile><a href="postgresql-aug.html">Postgresql</a></div></div><div class=MEntry><div class=MFile><a href="protocols-aug.html">Protocols</a></div></div><div class=MEntry><div class=MFile><a href="puppetfileserver-aug.html">PuppetFileserver</a></div></div><div class=MEntry><div class=MFile><a href="puppet_auth-aug.html">Puppet_Auth</a></div></div><div class=MEntry><div class=MFile><a href="qpid-aug.html">Qpid</a></div></div><div class=MEntry><div class=MFile><a href="rabbitmq-aug.html">Rabbitmq</a></div></div><div class=MEntry><div class=MFile><a href="redis-aug.html">Redis</a></div></div><div class=MEntry><div class=MFile><a href="reprepro_uploaders-aug.html">Reprepro_Uploaders</a></div></div><div class=MEntry><div class=MFile><a href="resolv-aug.html">Resolv</a></div></div><div class=MEntry><div class=MFile><a href="rsyslog-aug.html">Rsyslog</a></div></div><div class=MEntry><div class=MFile><a href="schroot-aug.html">Schroot</a></div></div><div class=MEntry><div class=MFile><a href="services-aug.html">Services</a></div></div><div class=MEntry><div class=MFile><a href="shells-aug.html">Shells</a></div></div><div class=MEntry><div class=MFile><a href="shellvars-aug.html">Shellvars</a></div></div><div class=MEntry><div class=MFile><a href="simplelines-aug.html">Simplelines</a></div></div><div class=MEntry><div class=MFile><a href="simplevars-aug.html">Simplevars</a></div></div><div class=MEntry><div class=MFile><a href="sip_conf-aug.html">Sip_Conf</a></div></div><div class=MEntry><div class=MFile><a href="smbusers-aug.html">SmbUsers</a></div></div><div class=MEntry><div class=MFile><a href="splunk-aug.html">Splunk</a></div></div><div class=MEntry><div class=MFile><a href="solaris_system-aug.html">Solaris_System</a></div></div><div class=MEntry><div class=MFile><a href="ssh-aug.html">Ssh</a></div></div><div class=MEntry><div class=MFile><a href="sshd-aug.html">Sshd</a></div></div><div class=MEntry><div class=MFile><a href="sssd-aug.html">Sssd</a></div></div><div class=MEntry><div class=MFile><a href="subversion-aug.html">Subversion</a></div></div><div class=MEntry><div class=MFile><a href="sudoers-aug.html">Sudoers</a></div></div><div class=MEntry><div class=MFile><a href="sysconfig_route-aug.html">Sysconfig_Route</a></div></div><div class=MEntry><div class=MFile><a href="sysctl-aug.html">Sysctl</a></div></div><div class=MEntry><div class=MFile><a href="syslog-aug.html">Syslog</a></div></div><div class=MEntry><div class=MFile><a href="systemd-aug.html">Systemd</a></div></div><div class=MEntry><div class=MFile><a href="thttpd-aug.html">Thttpd</a></div></div><div class=MEntry><div class=MFile><a href="up2date-aug.html">Up2date</a></div></div><div class=MEntry><div class=MFile><a href="vmware_config-aug.html">VWware_Config</a></div></div><div class=MEntry><div class=MFile><a href="vfstab-aug.html">Vfstab</a></div></div><div class=MEntry><div class=MFile><a href="xinetd-aug.html">Xinetd</a></div></div><div class=MEntry><div class=MFile><a href="xorg-aug.html">Xorg</a></div></div><div class=MEntry><div class=MFile><a href="xymon_alerting-aug.html">Xymon_Alerting</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Generic Modules</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="build-aug.html">Build</a></div></div><div class=MEntry><div class=MFile><a href="erlang-aug.html">Erlang</a></div></div><div class=MEntry><div class=MFile><a href="inifile-aug.html">IniFile</a></div></div><div class=MEntry><div class=MFile><a href="quote-aug.html">Quote</a></div></div><div class=MEntry><div class=MFile><a href="rx-aug.html">Rx</a></div></div><div class=MEntry><div class=MFile><a href="sep-aug.html">Sep</a></div></div><div class=MEntry><div class=MFile><a href="util-aug.html">Util</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Tests and Examples</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="tests/test_access-aug.html">Test_Access</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_activemq_conf-aug.html">Test_ActiveMQ_Conf</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_activemq_xml-aug.html">Test_ActiveMQ_XML</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_aliases-aug.html">Test_Aliases</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_anacron-aug.html">Test_Anacron</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_approx-aug.html">Test_Approx</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_apt_update_manager-aug.html">Test_Apt_Update_Manager</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_authorized_keys-aug.html">Test_Authorized_Keys</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_bootconf-aug.html">Test_BootConf</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_build-aug.html">Test_Build</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_carbon-aug.html">Test_Carbon</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_channels-aug.html">Test_Channels</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_collectd-aug.html">Test_Collectd</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_cups-aug.html">Test_Cups</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_dovecot-aug.html">Test_Dovecot</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_erlang-aug.html">Test_Erlang</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_fai_diskconfig-aug.html">Test_FAI_DiskConfig</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_fonts-aug.html">Test_Fonts</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_fuse-aug.html">Test_Fuse</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_gtkbookmarks-aug.html">Test_GtkBookmarks</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_htpasswd-aug.html">Test_Htpasswd</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_inifile-aug.html">Test_IniFile</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_inputrc-aug.html">Test_Inputrc</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_jettyrealm-aug.html">Test_JettyRealm</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_jmxaccess-aug.html">Test_JMXAccess</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_jmxpassword-aug.html">Test_JMXPassword</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_keepalived-aug.html">Test_Keepalived</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_koji-aug.html">Test_Koji</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_ldso-aug.html">Test_Ldso</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_lightdm-aug.html">Test_Lightdm</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_lvm-aug.html">Test_LVM</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_mcollective-aug.html">Test_MCollective</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_memcached-aug.html">Test_Memcached</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_mongodbserver-aug.html">Test_MongoDBServer</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_nagioscfg-aug.html">Test_NagiosCfg</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_networkmanager-aug.html">Test_NetworkManager</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_nginx-aug.html">Test_Nginx</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_ntpd-aug.html">Test_Ntpd</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_openshift_config-aug.html">Test_OpenShift_Config</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_openshift_http-aug.html">Test_OpenShift_Http</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_openshift_quickstarts-aug.html">Test_OpenShift_Quickstarts</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_postfix_transport-aug.html">Test_Postfix_Transport</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_postfix_virtual-aug.html">Test_Postfix_Virtual</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_postgresql-aug.html">Test_Postgresql</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_protocols-aug.html">Test_Protocols</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_puppet_auth-aug.html">Test_Puppet_Auth</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_qpid-aug.html">Test_Qpid</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_quote-aug.html">Test_Quote</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_rabbitmq-aug.html">Test_Rabbitmq</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_redis-aug.html">Test_Redis</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_reprepro_uploaders-aug.html">Test_Reprepro_Uploaders</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_rsyslog-aug.html">Test_Rsyslog</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_simplelines-aug.html">Test_Simplelines</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_simplevars-aug.html">Test_Simplevars</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_smbusers-aug.html">Test_SmbUsers</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_subversion-aug.html">Test_Subversion</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_sysconfig_route-aug.html">Test_Sysconfig_Route</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_sysctl-aug.html">Test_Sysctl</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_systemd-aug.html">Test_Systemd</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_thttpd-aug.html">Test_Thttpd</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_up2date-aug.html">Test_Up2date</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_vmware_config-aug.html">Test_VMware_Config</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_xml-aug.html">Test_Xml</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_yum-aug.html">Test_Yum</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_login_defs-aug.html">Test_login_defs</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_sssd-aug.html">Test_sssd</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_sudoers-aug.html">Test_sudoers</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_ssh-aug.html">Test_ssh</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_sshd-aug.html">Test_sshd</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_shellvars_list-aug.html">Shellvars_list.lns</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_slapd-aug.html">test_slapd.aug</a></div></div><div class=MEntry><div class=MFile><a href="tests/test_xymon_alerting-aug.html">Test_Xymon_Alerting</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Index</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MIndex><a href="../index/AugeasLenses.html">Lenses</a></div></div><div class=MEntry><div class=MIndex><a href="../index/AugeasModules.html">Modules</a></div></div><div class=MEntry><div class=MIndex><a href="../index/AugeasVariables.html">Variables</a></div></div><div class=MEntry><div class=MIndex><a href="../index/AugeasTests.html">Tests</a></div></div><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="AugeasLenses">Augeas Lenses</option><option value="AugeasModules">Augeas Modules</option><option value="AugeasTests">Augeas Tests</option><option value="AugeasVariables">Augeas Variables</option><option value="Files">Files</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
HideAllBut([2], 6);// --></script></div><!--Menu-->
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let colon = del /[ \t]*(\\\\[ \t]*\n[ \t]+)?:[ \t]*(\\\\[ \t]*\n[ \t]+)?/ ": "
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CAugeasVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let comma_sep = /([ \t]|(\\\\\n))*,([ \t]|(\\\\\n))*/
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt3"><div class=CAugeasVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let ws_sep = / +/
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt4"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let list_sep = del ( comma_sep | ws_sep ) ", "
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt5"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let list_item = store ( Rx.word - /EXCEPT/i )
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt6"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client_host_item =
let client_hostname_rx = /[A-Za-z0-9_.@?*-][A-Za-z0-9_.?*-]*/ in
let client_ipv6_rx = "[" . /[A-Za-z0-9:?*%]+/ . "]" in
let client_host_rx = client_hostname_rx | client_ipv6_rx in
let netmask = [ Util.del_str "/" . label "netmask" . store Rx.word ] in
store ( client_host_rx - /EXCEPT/i ) . netmask?
</td></tr></table></blockquote>Allows @ for netgroups, supports [ipv6] syntax</div></div><div class=CToolTip id="tt7"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client_file_item =
let client_file_rx = /\/[^ \t\n,:]+/ in
store ( client_file_rx - /EXCEPT/i )
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt8"><div class=CAugeasVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let option_kw = "severity"
| "spawn"
| "twist"
| "keepalive"
| "linger"
| "rfc931"
| "banners"
| "nice"
| "setenv"
| "umask"
| "user"
| /allow/i
| /deny/i
</td></tr></table></blockquote>Since either an option or a shell command can be given, use an explicit list of known options to avoid misinterpreting a command as an option</div></div><div class=CToolTip id="tt9"><div class=CAugeasVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let shell_command_rx = /[^ \t\n:][^\n]*[^ \t\n]|[^ \t\n:\\\\]/
- ( option_kw . /.*/ )
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt10"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let sto_to_colon = store /[^ \t\n:=][^\n:]*((\\\\:|\\\\[ \t]*\n[ \t]+)[^\n:]*)*[^ \\\t\n:]|[^ \t\n:\\\\]/
</td></tr></table></blockquote>Allows escaped colon sequences</div></div><div class=CToolTip id="tt11"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let except (lns:lens) = [ label "except" . Sep.space
. del /except/i "EXCEPT"
. Sep.space . lns ]
</td></tr></table></blockquote>The except operator makes it possible to write very compact rules.</div></div><div class=CToolTip id="tt12"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let daemon =
let host = [ label "host"
. Util.del_str "@"
. list_item ] in
[ label "process"
. list_item
. host? ]
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt13"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let daemon_list = Build.opt_list daemon list_sep
</td></tr></table></blockquote>A list of daemons</div></div><div class=CToolTip id="tt14"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client =
let user = [ label "user"
. list_item
. Util.del_str "@" ] in
[ label "client"
. user?
. client_host_item ]
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt15"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client_file = [ label "file" . client_file_item ]
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt16"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let client_list = Build.opt_list ( client | client_file ) list_sep
</td></tr></table></blockquote>A list of clients</div></div><div class=CToolTip id="tt17"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let option = [ key option_kw
. ( del /([ \t]*=[ \t]*|[ \t]+)/ " " . sto_to_colon )? ]
</td></tr></table></blockquote>Optional extensions defined in hosts_options(5)</div></div><div class=CToolTip id="tt18"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let shell_command = [ label "shell_command"
. store shell_command_rx ]
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt19"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let entry = [ seq "line"
. daemon_list
. (except daemon_list)?
. colon
. client_list
. (except client_list)?
. ( (colon . option)+ | (colon . shell_command)? )
. Util.eol ]
</td></tr></table></blockquote></div></div><div class=CToolTip id="tt20"><div class=CAugeasLens><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">let lns = (Util.empty | Util.comment | entry)*
</td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|