HCoop
/
hcoop
/
domtool2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add davFilesystem directive
[hcoop/domtool2.git]
/
src
/
plugins
/
apache.sml
diff --git
a/src/plugins/apache.sml
b/src/plugins/apache.sml
index
4c60d7a
..
167759f
100644
(file)
--- a/
src/plugins/apache.sml
+++ b/
src/plugins/apache.sml
@@
-1,5
+1,5
@@
(* HCoop Domtool (http://hcoop.sourceforge.net/)
(* HCoop Domtool (http://hcoop.sourceforge.net/)
- * Copyright (c) 2006, Adam Chlipala
+ * Copyright (c) 2006
-2007
, Adam Chlipala
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@
-353,6
+353,7
@@
val rewriteEnabled = ref false
val localRewriteEnabled = ref false
val currentVhost = ref ""
val currentVhostId = ref ""
val localRewriteEnabled = ref false
val currentVhost = ref ""
val currentVhostId = ref ""
+val sslEnabled = ref false
val pre = ref (fn _ : {user : string, nodes : string list, id : string, hostname : string} => ())
fun registerPre f =
val pre = ref (fn _ : {user : string, nodes : string list, id : string, hostname : string} => ())
fun registerPre f =
@@
-397,6
+398,7
@@
val () = Env.containerV_one "vhost"
in
currentVhost := fullHost;
currentVhostId := vhostId;
in
currentVhost := fullHost;
currentVhostId := vhostId;
+ sslEnabled := Option.isSome ssl;
rewriteEnabled := false;
localRewriteEnabled := false;
rewriteEnabled := false;
localRewriteEnabled := false;
@@
-429,6
+431,7
@@
val () = Env.containerV_one "vhost"
TextIO.output (file, ".");
TextIO.output (file, dom)))
(Domain.currentAliasDomains ());
TextIO.output (file, ".");
TextIO.output (file, dom)))
(Domain.currentAliasDomains ());
+
if suexec then
if isVersion1 node then
(TextIO.output (file, "\n\tUser ");
if suexec then
if isVersion1 node then
(TextIO.output (file, "\n\tUser ");
@@
-442,13
+445,19
@@
val () = Env.containerV_one "vhost"
TextIO.output (file, group))
else
();
TextIO.output (file, group))
else
();
+
if isWaklog node then
if isWaklog node then
- (TextIO.output (file, "\n\tWaklog
Protected on\n\tWaklog
Principal ");
+ (TextIO.output (file, "\n\tWaklog
Enabled on\n\tWaklogLocation
Principal ");
TextIO.output (file, user);
TextIO.output (file, user);
- TextIO.output (file, "/
cgi@HCOOP.NET /etc/keytabs/cgi
/");
+ TextIO.output (file, "/
daemon@HCOOP.NET /etc/keytabs/user.daemon
/");
TextIO.output (file, user))
else
();
TextIO.output (file, user))
else
();
+
+ TextIO.output (file, "\n\tDAVLockDB /var/lock/apache2/dav.");
+ TextIO.output (file, user);
+ TextIO.output (file, "/DAVLock");
+
(ld, file)
end)
nodes;
(ld, file)
end)
nodes;
@@
-570,6
+579,14
@@
val () = Env.action_three "rewriteCond"
write "]");
write "\n"))
write "]");
write "\n"))
+val () = Env.action_one "rewriteBase"
+ ("prefix", Env.string)
+ (fn prefix =>
+ (checkRewrite ();
+ write "\tRewriteBase\t";
+ write prefix;
+ write "\n"))
+
val () = Env.action_one "rewriteLogLevel"
("level", Env.int)
(fn level =>
val () = Env.action_one "rewriteLogLevel"
("level", Env.int)
(fn level =>
@@
-679,16
+696,22
@@
val authType = fn (EVar "basic", _) => SOME "basic"
| (EVar "kerberos", _) => SOME "kerberos"
| _ => NONE
| (EVar "kerberos", _) => SOME "kerberos"
| _ => NONE
+fun allowAuthType "kerberos" = !sslEnabled
+ | allowAuthType _ = true
+
val () = Env.action_one "authType"
("type", authType)
(fn ty =>
val () = Env.action_one "authType"
("type", authType)
(fn ty =>
- (write "\tAuthType ";
- write ty;
- write "\n";
- case ty of
- "kerberos" =>
- write "\tKrbMethodNegotiate off\n\tKrbMethodK5Passwd on\n\tKrbVerifyKDC off\n\tKrbAuthRealms HCOOP.NET\n\tKrbSaveCredentials on\n"
- | _ => ()))
+ if allowAuthType ty then
+ (write "\tAuthType ";
+ write ty;
+ write "\n";
+ case ty of
+ "kerberos" =>
+ write "\tKrbMethodNegotiate off\n\tKrbMethodK5Passwd on\n\tKrbVerifyKDC off\n\tKrbAuthRealms HCOOP.NET\n\tKrbSaveCredentials on\n"
+ | _ => ())
+ else
+ print "WARNING: Skipped Kerberos authType because this isn't an SSL vhost.\n")
val () = Env.action_one "authName"
("name", Env.string)
val () = Env.action_one "authName"
("name", Env.string)
@@
-796,6
+819,9
@@
val () = Env.action_one "authzSvnAccessFile"
write path;
write "\n"))*)
write path;
write "\n"))*)
+val () = Env.action_none "davFilesystem"
+ (fn path => write "\tDAV filesystem\n")
+
val () = Env.action_two "addDescription"
("description", Env.string, "patterns", Env.list Env.string)
(fn (desc, pats) =>
val () = Env.action_two "addDescription"
("description", Env.string, "patterns", Env.list Env.string)
(fn (desc, pats) =>
@@
-856,6
+882,14
@@
val () = Env.action_one "readmeName"
write name;
write "\n"))
write name;
write "\n"))
+val () = Env.action_two "setEnv"
+ ("key", Env.string, "value", Env.string)
+ (fn (key, value) => (write "\tSetEnv \"";
+ write key;
+ write "\" \"";
+ write value;
+ write "\"\n"))
+
val () = Domain.registerResetLocal (fn () =>
ignore (OS.Process.system (Config.rm ^ " -rf /var/domtool/vhosts/*")))
val () = Domain.registerResetLocal (fn () =>
ignore (OS.Process.system (Config.rm ^ " -rf /var/domtool/vhosts/*")))