diff --git a/lenses/tests/test_xinetd.aug b/lenses/tests/test_xinetd.aug index d728d73..aaaeec0 100644 --- a/lenses/tests/test_xinetd.aug +++ b/lenses/tests/test_xinetd.aug @@ -21,6 +21,7 @@ service cvspserver server_args = -f --allow-root=/var/cvs pserver # bind = 127.0.0.1 log_on_failure += HOST + FLAGS = IPv6 IPv4 } " @@ -60,7 +61,10 @@ test Xinetd.lns get cvs = { "value" = "--allow-root=/var/cvs" } { "value" = "pserver" } } { "#comment" = "bind = 127.0.0.1" } - { "log_on_failure" { "add" } { "value" = "HOST" } } } + { "log_on_failure" { "add" } { "value" = "HOST" } } + { "FLAGS" + { "value" = "IPv6" } + { "value" = "IPv4" } } } (* Switch the '+=' to a simple '=' *) test Xinetd.lns put lst_add after rm "/service/log_on_failure/add" = diff --git a/lenses/xinetd.aug b/lenses/xinetd.aug index c9849ce..bb018d2 100644 --- a/lenses/xinetd.aug +++ b/lenses/xinetd.aug @@ -44,26 +44,15 @@ module Xinetd = * causes the type checker to work _very_ hard. *) let service_attr = - attr_one ("socket_type" | "protocol" | "wait" | "user" | "group" - |"server" | "instances" | "rpc_version" | "rpc_number" - | "id" | "port" | "nice" | "banner" | "bind" | "interface" - | "per_source" | "groups" | "banner_success" | "banner_fail" - | "disable" | "max_load" | "rlimit_as" | "rlimit_cpu" - | "rlimit_data" | "rlimit_rss" | "rlimit_stack" | "v6only" - | "deny_time" | "umask" | "mdns" | "libwrap") + attr_one (/socket_type|protocol|wait|user|group|server|instances|rpc_version|rpc_number|id|port|nice|banner|bind|interface|per_source|groups|banner_success|banner_fail|disable|max_load|rlimit_as|rlimit_cpu|rlimit_data|rlimit_rss|rlimit_stack|v6only|deny_time|umask|mdns|libwrap/i) (* redirect and cps aren't really lists, they take exactly two values *) - |attr_lst_eq ("server_args" | "log_type" | "access_times" | "type" - | "flags" | "redirect" | "cps") - |attr_lst_op ( "log_on_success" | "log_on_failure"| "only_from" - | "no_access" | "env" | "passenv") + |attr_lst_eq (/server_args|log_type|access_times|type|flags|redirect|cps/i) + |attr_lst_op (/log_on_success|log_on_failure|only_from|no_access|env|passenv/i) let default_attr = - attr_one ( "instances" | "banner" | "bind" | "interface" | "per_source" - | "groups" | "banner_success" | "banner_fail" | "max_load" - | "v6only" | "umask" | "mdns") - |attr_lst_eq "cps" (* really only two values, not a whole list *) - |attr_lst_op ( "log_type" | "log_on_success" | "log_on_failure" | "disabled" - | "no_access" | "only_from" | "passenv" | "enabled" ) + attr_one (/instances|banner|bind|interface|per_source|groups|banner_success|banner_fail|max_load|v6only|umask|mdns/i) + |attr_lst_eq /cps/i (* really only two values, not a whole list *) + |attr_lst_op (/log_type|log_on_success|log_on_failure|disabled|no_access|only_from|passenv|enabled/i) (* View: body * Note: