- release 1.6
[m6w6/mod-domaintree] / mod_domaintree.c
index 4df18aa1b7e12a7ef85df9259fc9c56c107f030d..94db127a1efafef6b36da86f4518e2c1f41b56ee 100644 (file)
@@ -31,7 +31,8 @@
  * DomainTreeAlias /*one/ /anyone/
  * DomainTreeIgnore *.foo.com *.foo.co.uk
  * DomainTreeForbid html.*
- * <Directory "/sites/.../home">
+ * <Directory "/sites/com/example/users">
+ * # e.g. a symlink to /home
  *     DomainTreeSuexec
  * </Directory>
  *
@@ -59,7 +60,7 @@
 
 #define MODULE "mod_domaintree"
 #define AUTHOR "<mike@iworks.at>"
-#define VERSION "1.5"
+#define VERSION "1.6"
 
 /* {{{ Includes */
 
@@ -95,9 +96,11 @@ module AP_MODULE_DECLARE_DATA domaintree_module;
 #ifndef HAVE_UNIX_SUEXEC
 #      ifdef SUEXEC_BIN
 #              define HAVE_UNIX_SUEXEC
-#              include "unixd.h"
 #      endif
 #endif
+#ifdef HAVE_UNIX_SUEXEC
+#      include "unixd.h"
+#endif
 
 #define DBG 0
 
@@ -141,7 +144,7 @@ typedef struct {
        apr_global_mutex_t      *lock;
 } dircache_t;
 
-typedef apr_array_header_t *hostlist_t;
+typedef apr_array_header_t *hostlist_t, *pathlist_t;
 
 typedef struct {
        server_rec      *server;
@@ -156,7 +159,7 @@ typedef struct {
        hostlist_t      ignore;
        hostlist_t      forbid;
 #ifdef HAVE_UNIX_SUEXEC
-       hostlist_t      suexec;
+       pathlist_t      suexec;
 #endif
 } domaintree_conf;
 
@@ -575,7 +578,7 @@ static STATUS domaintree_hook_translate_name(request_rec *r)
 }
 
 #ifdef HAVE_UNIX_SUEXEC
-static STATUS domaintree_hook_get_suexec_identity(const request_rec *r)
+static ap_unix_identity_t *domaintree_hook_get_suexec_identity(const request_rec *r)
 {
        ap_unix_identity_t *ugid = NULL;
 #if APR_HAS_USER