X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/d5754b53e4f119674b9d8a0bdf40bf92f6007d12..2aeb9eece3df3aacb6813db7b151256c2e49a1c2:/src/plugins/apache.sml?ds=sidebyside diff --git a/src/plugins/apache.sml b/src/plugins/apache.sml index 4ea8f22..7689860 100644 --- a/src/plugins/apache.sml +++ b/src/plugins/apache.sml @@ -126,6 +126,11 @@ val cond_flag = fn (EVar "cond_nocase", _) => SOME "NC" | (EVar "ornext", _) => SOME "OR" | _ => NONE +val apache_option = fn (EVar "execCGI", _) => SOME "ExecCGI" + | (EVar "includesNOEXEC", _) => SOME "IncludesNOEXEC" + | (EVar "indexes", _) => SOME "Indexes" + | _ => NONE + val vhostsChanged = ref false @@ -203,7 +208,9 @@ val () = Env.containerV_one "vhost" file end) nodes; - write "\tSuexecUserGroup "; + write "\tServerName "; + write fullHost; + write "\n\tSuexecUserGroup "; write user; write " "; write group; @@ -330,5 +337,127 @@ val () = Env.action_two "errorDocument" write handler; write "\n")) +val () = Env.action_one "options" + ("options", Env.list apache_option) + (fn opts => + case opts of + [] => () + | _ => (write "\tOptions"; + app (fn opt => (write " "; write opt)) opts; + write "\n")) + +val () = Env.action_one "set_options" + ("options", Env.list apache_option) + (fn opts => + case opts of + [] => () + | _ => (write "\tOptions"; + app (fn opt => (write " +"; write opt)) opts; + write "\n")) + +val () = Env.action_one "unset_options" + ("options", Env.list apache_option) + (fn opts => + case opts of + [] => () + | _ => (write "\tOptions"; + app (fn opt => (write " -"; write opt)) opts; + write "\n")) + +val () = Env.action_one "directoryIndex" + ("filenames", Env.list Env.string) + (fn opts => + (write "\tDirectoryIndex"; + app (fn opt => (write " "; write opt)) opts; + write "\n")) + +val () = Env.action_one "serverAlias" + ("host", Env.string) + (fn host => + (write "\tServerAlias "; + write host; + write "\n")) + +val authType = fn (EVar "basic", _) => SOME "basic" + | (EVar "digest", _) => SOME "digest" + | _ => NONE + +val () = Env.action_one "authType" + ("type", authType) + (fn ty => + (write "\tAuthType "; + write ty; + write "\n")) + +val () = Env.action_one "authName" + ("name", Env.string) + (fn name => + (write "\tAuthName \""; + write name; + write "\"\n")) + +val () = Env.action_one "authUserFile" + ("file", Env.string) + (fn name => + (write "\tAuthUserFile "; + write name; + write "\n")) + +val () = Env.action_none "requireValidUser" + (fn () => write "\tRequire valid-user\n") + +val () = Env.action_one "requireUser" + ("users", Env.list Env.string) + (fn names => + case names of + [] => () + | _ => (write "\tRequire user"; + app (fn name => (write " "; write name)) names; + write "\n")) + +val () = Env.action_one "requireGroup" + ("groups", Env.list Env.string) + (fn names => + case names of + [] => () + | _ => (write "\tRequire group"; + app (fn name => (write " "; write name)) names; + write "\n")) + +val () = Env.action_none "orderAllowDeny" + (fn () => write "\tOrder allow,deny\n") + +val () = Env.action_none "orderDenyAllow" + (fn () => write "\tOrder deny,allow\n") + +val () = Env.action_none "allowFromAll" + (fn () => write "\tAllow from all\n") + +val () = Env.action_one "allowFrom" + ("entries", Env.list Env.string) + (fn names => + case names of + [] => () + | _ => (write "\tAllow from"; + app (fn name => (write " "; write name)) names; + write "\n")) + +val () = Env.action_none "denyFromAll" + (fn () => write "\tDeny from all\n") + +val () = Env.action_one "denyFrom" + ("entries", Env.list Env.string) + (fn names => + case names of + [] => () + | _ => (write "\tDeny from"; + app (fn name => (write " "; write name)) names; + write "\n")) + +val () = Env.action_none "satisfyAll" + (fn () => write "\tSatisfy all\n") + +val () = Env.action_none "satisfyAny" + (fn () => write "\tSatisfy any\n") end