open Ast
+fun webNode node =
+ List.exists (fn (x, _) => x = node) Config.Apache.webNodes_all
+ orelse (Domain.hasPriv "www"
+ andalso List.exists (fn (x, _) => x = node) Config.Apache.webNodes_admin)
+
val _ = Env.type_one "web_node"
Env.string
- (fn node =>
- List.exists (fn (x, _) => x = node) Config.Apache.webNodes_all
- orelse (Domain.hasPriv "www"
- andalso List.exists (fn (x, _) => x = node) Config.Apache.webNodes_admin))
+ webNode
val _ = Env.registerFunction ("web_node_to_node",
fn [e] => SOME e
structure Mailman :> MAILMAN = struct
+open Ast
+
+val () = Env.type_one "mailman_web_node"
+ Env.string
+ (fn node => Apache.webNode node orelse node = Config.Mailman.node)
+
+val dl = ErrorMsg.dummyLoc
+
+val () = Defaults.registerDefault
+ ("MailmanWebNodes",
+ (TList (TBase "mailman_web_node", dl), dl),
+ (fn () => (EList [(EString Config.Mailman.node, dl)], dl)))
+
val files = ref ([] : TextIO.outstream list)
val write = ref (fn _ : string => ())
("host", Env.string)
(fn (env, host) =>
let
- val nodes = Env.env (Env.list Env.string) (env, "WebNodes")
+ val nodes = Env.env (Env.list Env.string) (env, "MailmanWebNodes")
val ssl = Env.env Apache.ssl (env, "SSL")
val user = Env.env Env.string (env, "User")
print (case ssl of
SOME _ => "443"
| NONE => "80");
- print "\n";
+ print ">\n";
print " ServerName $LISTDOMAIN\n";
print " ServerAdmin ";
print user;