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 |
user can be a username or a group
let user = [ label "user" . store user_re ]
let user = [ label "user" . store Rx.word ]
TODO: support for quoted strings
let user = comma_sep_list "user"
User_Alias, see alias_field
let user_alias = alias_entry "User_Alias" "user" sto_to_com
A list of users or netgroups to apply the rule to
let user_list = Build.opt_list ( user|netgroup ) Sep.space
Regex for user/netgroup fields
let user_re = Rx.word - /[Ee][Xx][Cc][Ee][Pp][Tt]/
let user_record = generic_record "user" ( store name )
a list of users or a “*”
let users = label_opt_list_or "user" ( store word ) comma "*"
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 ]
contains subblocks of VRRP synchronization group(s) and VRRP instance(s)
let vrrpd_conf = vrrp_sync_group | vrrp_instance
let word = Rx.word
let word = Rx.word
our version can’t start with [_.-] because it would mess up the grammar
let word = /[A-Za-z0-9][A-Za-z0-9_.-]*/
let word_slash = word | "/"
let ws = del /[ \t]+/ " "
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 xchg ( m:regexp ) (d:string) (l:string) = del m d . label l
Same as xchg, but the pattern is the default string
let xchgs ( m:string ) (l:string) = xchg m m l