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
U
 Usage Example
 Useful primitives, Access
 USEFUL PRIMITIVES
 user
 USER SPECIFICATION, Sudoers
 user_alias, Sudoers
 user_list, Access
 user_re, Access
 user_record, cgrules
 users, Syslog
 Util
V
 various macros, Syslog
 videoram, Xorg
 virtual_server, Keepalived
 virtual_server_field, Keepalived
 virtual_server_group, Keepalived
 virtual_server_group_field, Keepalived
 VRRP CONFIGURATION, Keepalived
 vrrp_instance, Keepalived
 vrrp_instance_field, Keepalived
 vrrp_sync_group, Keepalived
 vrrp_sync_group_field, Keepalived
 vrrpd_conf, Keepalived
W
 word
 word_slash, Keepalived
 ws, cgrules
X
 xchg, Build
 xchgs, Build
 Xinetd
 Xorg
let user = [ label "user" . store user_re ]
user can be a username or a group
let user = [ label "user" . store Rx.word ]
let user = comma_sep_list "user"
TODO: support for quoted strings
let user_alias = alias_entry "User_Alias" "user" sto_to_com
User_Alias, see alias_field
let user_list = Build.opt_list (user|netgroup) Sep.space
A list of users or netgroups to apply the rule to
let user_re = Rx.word - /[Ee][Xx][Cc][Ee][Pp][Tt]/
Regex for user/netgroup fields
let user_record = generic_record "user" (store name)
let users = label_opt_list_or "user" (store word) comma "*"
a list of users or a “*”
Generic module providing useful primitives
let videoram = entry_int "VideoRam" /[vV]ideo[rR]am/
let virtual_server = named_block_arg "virtual_server" "ip" "port" virtual_server_field
let virtual_server_field = field "delay_loop" sto_num | field "lb_algo" sto_word | field "lb_kind" sto_word | field "nat_mask" sto_word | field "protocol" sto_word | named_block_arg "real_server" "ip" "port" real_server_field
let virtual_server_group = named_block "virtual_server_group" virtual_server_group_field
let virtual_server_group_field = [ indent . label "vip" . [ ipaddr ] . sep_spc . [ label "port" . sto_num ] . comment_or_eol ]
let vrrp_instance = named_block "vrrp_instance" vrrp_instance_field
let vrrp_instance_field = field "state" sto_word | field "interface" sto_word | field "lvs_sync_daemon_interface" sto_word | field "virtual_router_id" sto_num | field "priority" sto_num | field "advert_int" sto_num | flag "smtp_alert" | flag "nopreempt" | block "authentication" (
   field "auth_type" sto_word | field "auth_pass" sto_word
) | block "virtual_ipaddress" static_ipaddress_field
let vrrp_sync_group = named_block "vrrp_sync_group" vrrp_sync_group_field
let vrrp_sync_group_field = block "group" [ indent . key word . comment_or_eol ]
let vrrpd_conf = vrrp_sync_group | vrrp_instance
contains subblocks of VRRP synchronization group(s) and VRRP instance(s)
let word = Rx.word
let word = Rx.word
let word = /[A-Za-z0-9][A-Za-z0-9_.-]*/
our version can’t start with [_.-] because it would mess up the grammar
let word_slash = word | "/"
let ws = del /[ \t]+/ " "
let xchg (m:regexp) (d:string) (l:string) = del m d . label l
Replace a pattern with a different label in the tree, thus emulating a key but allowing to replace the keyword with a different value than matched
let xchgs (m:string) (l:string) = xchg m m l
Same as xchg, but the pattern is the default string
Parses xinetd configuration files
Parses /etc/X11/xorg.conf
Close