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
 ALIASES, Sudoers
 All but, Rx
 alpha, Cron
 alphanum, Cron
 Approx
 AptConf
 at, Syslog
 att_def1, Test_Xml
 att_def2, Test_Xml
 att_def3, Test_Xml
 att_list_def, Test_Xml.Xml
 attr1, Test_Xml
 attr2, Test_Xml
 attributes, Test_Xml.Xml
 Attributes, Test_Xml
 Augeas Lenses
 Augeas Tests
 Augeas Variables
B
 BackupPCHosts
 bang, Syslog
 basic tokens, Aliases
 blacklist, Modprobe
 block, Keepalived
 body, Xinetd
 bool, Host_Conf
 bool_warn, Host_Conf
 boot, Grub
 BOOT ENTRIES, Grub
 boot_setting, Grub
 brackets, Build
 Build
 by, Reprepro_Uploaders
 by_key, Reprepro_Uploaders
let access = label "access" . store /[+-]/
Allow (+) or deny (-) access
Parses /etc/security/access.conf
let address = [ label "address" . store ipaddr ]
let alias = let modulename = [ label "modulename" . sto_no_spaces ] in Build.key_value_line_comment "alias" sep_space (sto_no_spaces . sep_space . modulename) comment
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 )* . comment_or_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
Parses /etc/aliases
let alpha = /[A-Za-z]{3}/
let alphanum = (num|alpha) . ("-" . (num|alpha))?
Parses /etc/approx/approx.conf
Parses /etc/apt/apt.conf and /etc/apt/apt.conf.d/*
let at = Util.del_str "@"
Deletes a at and default to it
let att_def1 = "<!ATTLIST termdef id ID #REQUIRED name CDATA #IMPLIED>"
let att_def2 = "<!ATTLIST list type (bullets|ordered|glossary) \"ordered\">"
let att_def3 = "<!ATTLIST form method CDATA #FIXED \"POST\">"
test Xml.att_list_def get att_def1 = { "!ATTLIST" = "termdef" { "1" { "#name" = "id" } { "#type" = "ID" } { "#REQUIRED" } } { "2" { "#name" = "name" } { "#type" = "CDATA" } { "#IMPLIED" } } }
let attr1 = " attr1=\"value1\" attr2=\"value2\""
let attr2 = " attr2=\"foo\""
test Xml.attributes get attr1 = { "#attribute" { "attr1" = "value1" } { "attr2" = "value2" } }
Parses /etc/backuppc/hosts
let bang = Util.del_str "!"
Deletes a bang and default to it
let blacklist = Build.key_value_line_comment "blacklist" sep_space sto_no_spaces comment
let block (kw:string) (sto:lens) = lens_block (key kw) sto
A simple block with just a block title
let body (attr:lens) = del /\n\{[ \t]*\n/ "\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 bool (kw:regexp) = Build.key_value_line kw Sep.space sto_bool
A boolean switch
let bool_warn (kw:regexp) = Build.key_value_line kw Sep.space sto_bool_warn
A boolean switch with extended values
let boot = let line = ((boot_setting|comment)* . boot_setting)? in [ label "title" . title . line ]
let boot_setting = kw_boot_arg "root" | kernel | kw_boot_arg "initrd" | kw_boot_arg "rootnoverify" | chainloader | kw_boot_arg "uuid" | kw_boot_arg "findroot" (* Solaris extension *) | kw_boot_arg "bootfs" (* Solaris extension *) | kw_pres "quiet" (* Seems to be a Ubuntu extension *) | savedefault | configfile | module_line | map_line
boot entries
let brackets (l:lens) (r:lens) (lns:lens) = l . lns . r
Put a lens inside brackets
Generic functions to build lenses
let by = [ key "by" . Sep.space . ( store ("anybody"|"unsigned") | by_key ) ]
by statements define who is allowed to upload.
let by_key = let any_key = [ store "any" . Sep.space . key "key" ] in let named_key = [ key "key" . Sep.space . store (Rx.word - "any") ] in value "key" . (any_key | named_key)
When a key is used to authenticate packages, the value can either be a key ID or “any”:
Close