Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
A
 access, Access
 Access
 action, Syslog
 address, Pg_Hba
 alias
 alias_entry, Sudoers
 alias_entry_single, Sudoers
 alias_field, Sudoers
 alias_list, Sudoers
 alias_name, Sudoers
 ALIASES, Sudoers
 alpha, Cron
 alphanum, Cron
 at, Syslog
 Augeas Lenses
 Augeas Variables
B
 bang, Syslog
 block, Keepalived
 body, Xinetd
 brackets, Build
 Build
C
 CAVEATS, Sshd
 cgconfig
 cgrules
 cmd_kv, Solaris_System
 cmd_moddir, Solaris_System
 cmd_set, Solaris_System
 cmnd_alias, Sudoers
 cmnd_spec, Sudoers
 cmnd_spec_list, Sudoers
 colon
 Columns definitions, Pg_Hba
 comma
 comma_sep_list
 COMMANDS, Solaris_System
 comment
 Comment, Util
 comment_c_style, Util
 comment_default, IniFile
 comment_eol
 comment_generic, Util
 comment_multiline, Util
 comment_or_eol
 comment_re, IniFile
 Comments and empty lines
 COMMON ENTRIES, Mke2fs
 common_entry, Mke2fs
 comparison, Syslog
 Configuration files
 controller, cgrules
 CONTROLLER, cgrules
 Cron
 crypttab.aug
 ctrl_key, cgrules
 ctrl_value, cgrules
let access = label "access" . store /[+-]/
Allow (+) or deny (-) access
Parses /etc/security/access.conf
let address = [ label "address" . store ipaddr ]
let alias = [ label "alias" . store word_re ]
let alias = user_alias | runas_alias | host_alias | cmnd_alias
Every kind of Alias entry, see user_alias, runas_alias, host_alias and cmnd_alias
let alias_entry (
   kw:string
) (field:string) (sto:lens) = [ indent . key kw . sep_cont . alias_entry_single field sto . ( sep_col . alias_entry_single field sto )* . eol ]
Alias entry, a list of comma-separated alias_entry_single fields
let alias_entry_single (
   field:string
) (sto:lens) = [ label "alias" . alias_name . sep_eq . alias_list field sto ]
Single alias_entry, named using alias_name and listing alias_list
let alias_field (kw:string) (sto:lens) = [ label kw . sto ]
Generic alias field to gather all Alias definitions
let alias_list (
   kw:string
) (sto:lens) = alias_field kw sto . ( sep_com . alias_field kw sto )*
List of alias_fields, separated by commas
let alias_name = [ label "name" . store /[A-Z][A-Z0-9_]*/ ]
Name of an alias_entry_single
let alpha = /[A-Za-z]{3}/
let alphanum = num | alpha
let at = Util.del_str "@"
Deletes a at and default to it
let bang = Util.del_str "!"
Deletes a bang and default to it
let block (kw:string) (sto:lens) = lens_block (key kw) sto
A simple block with just a block title
let body (
   attr:lens
) = Util.del_str "\n{\n" . (empty|comment|attr)* . del /[ \t]*}[ \t]*\n/ "}\n"
We would really like to say “the body can contain any of a list of a list of attributes, each of them at most once”; but that would require that we build a lens that matches the permutation of all attributes; with around 40 individual attributes, that’s not computationally feasible, even if we didn’t have to worry about how to write that down.
let brackets (l:lens) (r:lens) (lns:lens) = l . lns . r
Put a lens inside brackets
Generic functions to build lenses
In sshd_config, Match blocks must be located at the end of the file.
Parses /etc/cgconfig.conf
Parses /etc/cgrules.conf
let cmd_kv (
   cmd:string
) (value:regexp) = Build.key_value_line cmd sep_colon (store value)
Function for simple key/value setting commands such as rootfs
let cmd_moddir = Build.key_value_line "moddir" sep_colon (
   Build.opt_list modpath sep_moddir
)
The moddir command for specifying module search paths
let cmd_set = [ key "set" . Util.del_ws_spc . ( set_var | set_varmod ) . set_sep_spc . [ label "operator" . store set_operators ] . set_sep_spc . set_value . Util.eol ]
The set command for individual kernel/module parameters
let cmnd_alias = alias_entry "Cmnd_Alias" "command" sto_to_com_cmnd
Cmnd_Alias, see alias_field
let cmnd_spec = [ label "command" . runas_spec? . tag_spec* . sto_to_com_cmnd ]
Command specification for spec, with optional runas_spec and any amount of tag_specs
let cmnd_spec_list = cmnd_spec . (sep_com cmnd_spec)*
A list of comma-separated cmnd_specs
let colon = Sep.space . Sep.colon . Sep.space
this is the standard field separator “ : “
let colon = sep_tab_opt . Util.del_str ":" . sep_tab_opt
Deletes a colon and default to it
let comma = Sep.comma
let comma = sep_tab_opt . Util.del_str "," . sep_tab_opt
Deletes a comma and default to it
let comma_sep_list (
   l:string
) = let value = [ label "value" . Util.del_str "=" . store optval ] in
A comma separated list of options (opt=value or opt)
let comment = Util.comment
let comment = Util.comment
let comment = Util.comment
let comment = Util.comment
let comment (
   pat:regexp
) (default:string) = [ label "#comment" . sep pat default . sto_to_eol? . eol ]
Map comments into “#comment” nodes
let comment = Util.comment_generic /[ \t]*[#!][ \t]*/ "# "
Map comments in “#comment” nodes
let comment = IniFile.comment IniFile.comment_re IniFile.comment_default
let comment = Util.comment
let comment = Util.comment_generic /[ \t]*[;#][ \t]*/ "# "
let comment = Util.comment_generic /[ \t]*\*[ \t]*/ "* "
let comment = let sto_to_eol = store (
   /([^ \t\n].*[^ \t\n]|[^ \t\n])/ /includedir.*/
) in [ label "#comment" . del /[ \t]*#[ \t]*/ "# " . sto_to_eol . eol ]
Map comments in “#comment” nodes
let comment = [ label "#comment" . del /#[ \t]*/ "# " . store /([^ \t\n+!-].*[^ \t\n]|[^ \t\n+!-])/ . eol ]
Map comments into “#comment” nodes Can’t use Util.comment as #+ and #! 
let comment = comment_generic /[ \t]*#[ \t]*/ "# "
Map comments into “#comment” nodes
let comment = Util.comment
This is a general definition of comment It allows indentation for comments, removes the leading and trailing spaces of comments and stores them in nodes, except for empty comments which are ignored together with empty lines
let comment_c_style = comment_generic /[ \t]*\/\/[ \t]*/ "// "
A comment line, C-style
let comment_default = ";"
Default value for comment pattern
let comment_eol = Util.comment_generic /[ \t]*[#!][ \t]*/ " # "
Map comments at eol
let comment_eol = comment_generic /[ \t]*#[ \t]*/ " # "
Map eol comments into “#comment” nodes Add a space before # for end of line comments
let comment_generic (
   r:regexp
) (d:string) = [ label "#comment" . del r d . store /([^ \t\n].*[^ \t\n]|[^ \t\n])/ . eol ]
Map comments and set default comment sign
let comment_multiline = let mline_re = (
   /[^ \t\n].*[^ \t\n]|[^ \t\n]/ /.*\*\/.*/
) in
A C-style multiline comment
let comment_or_eol = comment_eol | (del /[ \t]*#?\n/ "\n")
A comment_eol or eol
let comment_or_eol = comment_eol | (del /[ \t]*#?\n/ "\n")
A comment_eol or eol
let comment_re = /[;#]/
Default regexp for comment pattern
let common_entry = list_sto (
   "base_features"|"default_features"
) (key Rx.word) | entry_sto "blocksize" ("-"? . Rx.integer) | entry_sto "hash_alg" ("legacy"|"half_md4"|"tea") | entry_sto ("inode_ratio"|"inode_size") Rx.integer
Entries shared between defaults and fs_types sections
let comparison = /(!|[<=>]+|![<=>]+)/
a comparison is an optional !
This lens applies to /etc/security/access.conf.
This lens applies to /etc/cgconfig.conf.
This lens applies to /etc/cgconfig.conf.
This lens applies to /etc/cron.d/* and /etc/crontab.
This lens applies to /etc/dhcpd3/dhcpd.conf.
This lens applies to /etc/keepalived/keepalived.conf.
This lens applies to /etc/login.defs.
This lens applies to /etc/mke2fs.conf.
This lens applies to /etc/nsswitch.conf.
This lens applies to /etc/pbuilderrc and /etc/pbuilder/pbuilderrc.
This lens applies to pg_hba.conf.
This lens applies to /etc/resolv.conf.
This lens applies to /etc/services.
This lens applies to /etc/shells.
This lens applies to /etc/system on Solaris.
This lens applies to /etc/ssh/sshd_config
This lens applies to /etc/sudoers.
This lens applies to /etc/syslog.conf.
This lens applies to /etc/X11/xorg.conf.
let controller = ws . [ key ctrl_key . ws . store ctrl_value ]
Parses /etc/cron.d/*, /etc/crontab
let ctrl_key = /[^ \t\n\/]+/
let ctrl_value = /[^ \t\n]+/
Close