[Fedora-directory-commits] adminserver/lib/libadmin httpcon.c, 1.6, 1.7 util.c, 1.8, 1.9

Richard Allen Megginson (rmeggins) fedora-directory-commits at redhat.com
Fri May 11 19:44:09 UTC 2007


Author: rmeggins

Update of /cvs/dirsec/adminserver/lib/libadmin
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24035/adminserver/lib/libadmin

Modified Files:
	httpcon.c util.c 
Log Message:
Resolves: bug 239502
Description: adminserver: autotools, FHS, and many bug fixes
Fix Description: Many more changes to make admin server more FHS friendly
Allow all hardcoded paths to writable directories to be overridden by environment variables
Integrate mod_admserv and mod_restartd
Allow Admin Server to use Fortitude or standalone mod_nss
Better httpd detection and support



Index: httpcon.c
===================================================================
RCS file: /cvs/dirsec/adminserver/lib/libadmin/httpcon.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- httpcon.c	9 May 2007 00:26:37 -0000	1.6
+++ httpcon.c	11 May 2007 19:44:05 -0000	1.7
@@ -317,6 +317,8 @@
     PRHostEnt   hent;
     char        buf[PR_NETDB_BUF_SIZE];
     PRStatus    err;
+    const char *configdir = util_get_conf_dir();
+    const char *secdir = util_get_security_dir();
 
     /* removed for new ns security integration
     memset((char *) sin, 0, sizeof(*sin));
@@ -356,7 +358,7 @@
 
     if (!strcmp(protocol, "https")) {
 	
-	req_socket = SSLSocket_init(req_socket, CONFIGDIR, SECURITYDIR);
+	req_socket = SSLSocket_init(req_socket, configdir, secdir);
 	if (req_socket == NULL) {
 	    *errcode = PR_GetError();
             report_error(SYSTEM_ERROR, "SEC Init Failed", 


Index: util.c
===================================================================
RCS file: /cvs/dirsec/adminserver/lib/libadmin/util.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- util.c	9 May 2007 00:26:37 -0000	1.8
+++ util.c	11 May 2007 19:44:05 -0000	1.9
@@ -1163,8 +1163,7 @@
 )
 {
     int retval = 0;
-    const char *admroot = getenv("ADMSERV_ROOT");
-    const char *nsroot = getenv("NETSITE_ROOT");
+    const char *admroot = getenv("ADMSERV_CONF_DIR");
 
     /* try given path */
     PR_snprintf(filebuf, bufsize, "%s/%s", path, filename);
@@ -1176,13 +1175,6 @@
 		    filename);
 	retval = util_is_file_ok(filebuf);
     }
-    if (!retval && nsroot) { /* look in ADMSERV_ROOT */
-	PR_snprintf(filebuf, bufsize, "%s%s%s/%s", nsroot,
-		    (nrpath && *nrpath) ? "/" : "",
-		    (nrpath && *nrpath) ? nrpath : "",
-		    filename);
-	retval = util_is_file_ok(filebuf);
-    }
 
     if (!retval) {
 	filebuf[0] = '\0';
@@ -1191,20 +1183,17 @@
     return retval;
 }
 
-NSAPI_PUBLIC const char*
+NSAPI_PUBLIC char*
 util_get_conf_dir(void)
 {
-    const char *admroot = getenv("ADMSERV_ROOT");
-    const char *nsroot = getenv("NETSITE_ROOT");
+    const char *admroot = getenv("ADMSERV_CONF_DIR");
     static char confdir[PATH_MAX];
 
     if (!confdir[0]) {
-        if (util_is_dir_ok(CONFIGDIR)) {
-            PR_snprintf(confdir, sizeof(confdir), CONFIGDIR);
-        } else if (util_is_dir_ok(admroot)) {
+        if (util_is_dir_ok(admroot)) {
             PR_snprintf(confdir, sizeof(confdir), admroot);
-        } else if (util_is_dir_ok(nsroot)) {
-            PR_snprintf(confdir, sizeof(confdir), "%s/admin-serv/config", nsroot);
+        } else if (util_is_dir_ok(CONFIGDIR)) {
+            PR_snprintf(confdir, sizeof(confdir), CONFIGDIR);
         } else {
             return NULL;
         }
@@ -1213,20 +1202,36 @@
     return confdir;
 }
 
-NSAPI_PUBLIC const char*
+NSAPI_PUBLIC char*
+util_get_security_dir(void)
+{
+    const char *admroot = getenv("ADMSERV_CONF_DIR");
+    static char secdir[PATH_MAX];
+
+    if (!secdir[0]) {
+        if (util_is_dir_ok(admroot)) {
+            PR_snprintf(secdir, sizeof(secdir), admroot);
+        } else if (util_is_dir_ok(SECURITYDIR)) {
+            PR_snprintf(secdir, sizeof(secdir), SECURITYDIR);
+        } else {
+            return util_get_conf_dir();
+        }
+    }
+
+    return secdir;
+}
+
+NSAPI_PUBLIC char*
 util_get_log_dir(void)
 {
-    const char *admroot = getenv("ADMSERV_ROOT");
-    const char *nsroot = getenv("NETSITE_ROOT");
+    const char *admroot = getenv("ADMSERV_LOG_DIR");
     static char logdir[PATH_MAX];
 
     if (!logdir[0]) {
-        if (util_is_dir_ok(LOGDIR)) {
+        if (util_is_dir_ok(admroot)) {
+            PR_snprintf(logdir, sizeof(logdir), admroot);
+        } else if (util_is_dir_ok(LOGDIR)) {
             PR_snprintf(logdir, sizeof(logdir), LOGDIR);
-        } else if (util_is_dir_ok(admroot)) {
-            PR_snprintf(logdir, sizeof(logdir), "%s/../logs", admroot);
-        } else if (util_is_dir_ok(nsroot)) {
-            PR_snprintf(logdir, sizeof(logdir), "%s/admin-serv/logs", nsroot);
         } else {
             return NULL;
         }
@@ -1235,6 +1240,25 @@
     return logdir;
 }
 
+NSAPI_PUBLIC char*
+util_get_pid_dir(void)
+{
+    const char *admroot = getenv("ADMSERV_PID_DIR");
+    static char piddir[PATH_MAX];
+
+    if (!piddir[0]) {
+        if (util_is_dir_ok(admroot)) {
+            PR_snprintf(piddir, sizeof(piddir), admroot);
+        } else if (util_is_dir_ok(PIDDIR)) {
+            PR_snprintf(piddir, sizeof(piddir), PIDDIR);
+        } else {
+            return NULL;
+        }
+    }
+
+    return piddir;
+}
+
 /* old style html dir == progpath/../html */
 #define HTML_DIR "../html/"
 




More information about the Fedora-directory-commits mailing list