[Fedora-directory-commits] adminserver/admserv/cgi-src40 ReadLog.c, 1.6, 1.7 admpw.c, 1.8, 1.9 config.c, 1.8, 1.9 dsconfig.c, 1.7, 1.8 getport.c, 1.5, 1.6 htmladmin.c, 1.8, 1.9 mergeConfig.cpp, 1.6, 1.7 migrateConfig.c, 1.6, 1.7 restartsrv.c, 1.6, 1.7 sec-activate.c, 1.8, 1.9 security.c, 1.9, 1.10 setport.c, 1.5, 1.6 start_config_ds.c, 1.6, 1.7 ugdsconfig.c, 1.7, 1.8 viewdata.c, 1.7, 1.8 viewlog.c, 1.6, 1.7

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


Author: rmeggins

Update of /cvs/dirsec/adminserver/admserv/cgi-src40
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24035/adminserver/admserv/cgi-src40

Modified Files:
	ReadLog.c admpw.c config.c dsconfig.c getport.c htmladmin.c 
	mergeConfig.cpp migrateConfig.c restartsrv.c sec-activate.c 
	security.c setport.c start_config_ds.c ugdsconfig.c viewdata.c 
	viewlog.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: ReadLog.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/ReadLog.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ReadLog.c	9 May 2007 00:26:30 -0000	1.6
+++ ReadLog.c	11 May 2007 19:44:05 -0000	1.7
@@ -89,6 +89,7 @@
 {
 	char line[BIG_LINE];
     const char *logdir = util_get_log_dir();
+    const char *configdir = util_get_conf_dir();
 	char filename[BIG_LINE];
 	FILE *f;
 
@@ -97,7 +98,7 @@
     }
 
     if (!util_find_file_in_paths(filename, sizeof(filename), "local.conf",
-                                 CONFIGDIR, "", "admin-serv/config")) {
+                                 configdir, "", "admin-serv/config")) {
         return 0;
     }
 


Index: admpw.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/admpw.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- admpw.c	9 May 2007 00:26:30 -0000	1.8
+++ admpw.c	11 May 2007 19:44:05 -0000	1.9
@@ -182,11 +182,12 @@
     char error_info[128];
     AdmldapInfo admInfo;
     int errorcode = 0;
+    char *configdir = util_get_conf_dir();
 	    
     logMsg(" In %s\n", argv[0]);
 
     i18nInit();
-    admInfo = admldapBuildInfoOnly(CONFIGDIR, &errorcode);
+    admInfo = admldapBuildInfoOnly(configdir, &errorcode);
     if (!admInfo || errorcode) {
 	rpt_err(SYSTEM_ERROR, i18nMsg(DBT_OPEN_ADMPW, "Can not open admpw file"), NULL, NULL);
     }
@@ -307,7 +308,9 @@
 	}
 
 	if (newpw != NULL) {
-		int errorCode = ADMSSL_InitSimple(CONFIGDIR, SECURITYDIR, 1 /* force to use hashing */);
+        char *configdir = util_get_conf_dir();
+        char *secdir = util_get_security_dir();
+		int errorCode = ADMSSL_InitSimple(configdir, secdir, 1 /* force to use hashing */);
 		if (errorCode) {
 			rpt_err(APP_ERROR,
 				i18nMsg(DBT_SECURITY_INIT, "Security Initialization Failed"),
@@ -362,6 +365,7 @@
   char *binddn = 0;
   char *bindpw = 0;
   char  error_info[128];
+  char *configdir = util_get_conf_dir();
 
   /* Get UserDN and User Password  */
 
@@ -394,7 +398,7 @@
   /* Initialize the pset  */
 
   pset = psetCreateSSL("admin-serv", 
-		       /* configRoot */ CONFIGDIR,
+		       /* configRoot */ configdir,
 		       /* userDN */ binddn, 
 		       /* passwd */ bindpw,
 		       /* errorcode */ &rv);


Index: config.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/config.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- config.c	11 May 2007 17:26:12 -0000	1.8
+++ config.c	11 May 2007 19:44:05 -0000	1.9
@@ -45,6 +45,7 @@
 #include "libadmsslutil/admsslutil.h"
 
 #include "libadmin/install.h"
+#include "libadmin/libadmin.h"
 
 #include "config.h"
 
@@ -125,6 +126,9 @@
   char           *acceptLanguage = (char*)"en";
   Resource       *i18nResource = NULL;
   AdmldapInfo    adminfo = NULL;
+  char     *configdir = util_get_conf_dir();
+  char     *secdir = util_get_security_dir();
+  char     *logdir = util_get_log_dir();
 #if 0
   int            waitforever = 1;
 
@@ -221,13 +225,13 @@
 
   if (binddn) rv = ADM_GetCurrentPassword(&err, &bindpw);
 
-  adminfo = admldapBuildInfo(CONFIGDIR, &rv);
+  adminfo = admldapBuildInfo(configdir, &rv);
   if (adminfo) {
     binddn = admldapGetSIEDN(adminfo);
     bindpw = admldapGetSIEPWD(adminfo);
   }
 
-  errorCode = ADMSSL_InitSimple(CONFIGDIR, SECURITYDIR, 0);
+  errorCode = ADMSSL_InitSimple(configdir, secdir, 0);
   if (errorCode) {
     if (i18nResource) 
       rpt_err(APP_ERROR,
@@ -240,7 +244,7 @@
 
   /* Initialize the pset  */
   pset = psetCreateSSL("admin-serv", 
-		       /* configRoot */ CONFIGDIR,
+		       /* configRoot */ configdir,
 		       /* userDN */ binddn, 
 		       /* passwd */ bindpw,
 		       /* errorcode */ &rv);
@@ -537,7 +541,7 @@
 	    rpt_err(APP_ERROR, error_info, NULL, NULL);
 	  }
 	  else {
-            char *pathline = PR_smprintf("%s/%s %s", LOGDIR, valptr, "common");
+            char *pathline = PR_smprintf("%s/%s %s", logdir, valptr, "common");
             err = update_conf("console.conf", "CustomLog", pathline);
 	    PR_smprintf_free(pathline);
 	  }
@@ -557,7 +561,7 @@
 	    rpt_err(APP_ERROR, error_info, NULL, NULL);
 	  }
 	  else {
-	    char *newpath = PR_smprintf("%s/%s", LOGDIR, valptr);
+	    char *newpath = PR_smprintf("%s/%s", logdir, valptr);
 	    err = update_conf("console.conf", "ErrorLog", newpath);
 	  }
 	}
@@ -670,8 +674,9 @@
   static char filename[BIG_LINE];
   static char inbuf[BIG_LINE];
   char * retval = NULL;
+  char *configdir = util_get_conf_dir();
 
-  util_find_file_in_paths(filename, sizeof(filename), file, CONFIGDIR, "", "admin-serv/config");
+  util_find_file_in_paths(filename, sizeof(filename), file, configdir, "", "admin-serv/config");
 
   f = fopen(filename, "r");
   if (f==NULL) {
@@ -706,8 +711,9 @@
   static char buf[BIG_LINE];
   int linecnt=0;	
   char *lines[CONF_LINES];
+  char *configdir = util_get_conf_dir();
 
-  util_find_file_in_paths(filename, sizeof(filename), file, CONFIGDIR, "", "admin-serv/config");
+  util_find_file_in_paths(filename, sizeof(filename), file, configdir, "", "admin-serv/config");
 
   f = fopen(filename, "r");
   if (f==NULL) {
@@ -775,8 +781,9 @@
 					 "configuration.nsPidLog", 
 					 &errorCode);
   if (oldname != NULL && strcmp(oldname, newname) != 0) {
-    PR_snprintf(oldpath, sizeof(oldpath), "%s/%s", PIDDIR, oldname);
-    PR_snprintf(newpath, sizeof(newpath), "%s/%s", PIDDIR, newname);
+    char *piddir = util_get_pid_dir();
+    PR_snprintf(oldpath, sizeof(oldpath), "%s/%s", piddir, oldname);
+    PR_snprintf(newpath, sizeof(newpath), "%s/%s", piddir, newname);
     if(rename (oldpath, newpath) != 0)
       return 0;
     return !update_conf("console.conf", "PidFile", newname);
@@ -793,6 +800,9 @@
 static int  change_server_uid(PsetHndl pset, char* newuname) {
   int errorCode;
   int newuid;
+  char *configdir = util_get_conf_dir();
+  char *secdir = util_get_security_dir();
+  char *logdir = util_get_log_dir();
   char *olduname = psetGetAttrSingleValue(pset, 
 					  "configuration.nsSuiteSpotUser", 
 					  &errorCode);
@@ -813,8 +823,8 @@
     newuid = verify_server_uname(newuname);
 
     if (newuid >= 0) {
-      if (change_uid_all(CONFIGDIR, 0, newuid) || change_uid_all(SECURITYDIR, 0, newuid) ||
-	  change_uid_all(LOGDIR, 0, newuid) || (pidfile && change_uid(pidfile, 0, newuid))) {
+      if (change_uid_all(configdir, 0, newuid) || change_uid_all(secdir, 0, newuid) ||
+	  change_uid_all(logdir, 0, newuid) || (pidfile && change_uid(pidfile, 0, newuid))) {
 	return -1;
       } else {
 	return update_conf("console.conf", "User", newuname);
@@ -847,8 +857,9 @@
   int i = 0;
   int grmem_found = 0;
   char buf[BUFSIZ];
+  char *configdir = util_get_conf_dir();
 
-  admInfo = admldapBuildInfoOnly(CONFIGDIR, &errorcode);
+  admInfo = admldapBuildInfoOnly(configdir, &errorcode);
   if (!admInfo || errorcode) {
     rpt_err(SYSTEM_ERROR, "Can not open adm.conf for reading", NULL, NULL);
     return -1;


Index: dsconfig.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/dsconfig.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- dsconfig.c	9 May 2007 00:26:30 -0000	1.7
+++ dsconfig.c	11 May 2007 19:44:05 -0000	1.8
@@ -223,9 +223,10 @@
   char *ldapurl = NULL;
   int errorcode = 0;
   AdmldapInfo admInfo = NULL;
+  char *configdir = util_get_conf_dir();
 
   logMsg("In get_ldap_url\n");
-  admInfo = admldapBuildInfoOnly(CONFIGDIR, &errorcode);
+  admInfo = admldapBuildInfoOnly(configdir, &errorcode);
   if (!admInfo || errorcode) {
 	  logMsg("Could not get ldap info from config - %d", errorcode);
 	  return NULL;
@@ -370,9 +371,10 @@
 static void update_adm_conf(char *ldapURL, char *sieDN, char *isieDN) {
   AdmldapInfo admInfo = NULL;
   int errorcode = 0;
+  char *configdir = util_get_conf_dir();
 
   /* get a handle to the current one */
-  admInfo = admldapBuildInfoOnly(CONFIGDIR, &errorcode);
+  admInfo = admldapBuildInfoOnly(configdir, &errorcode);
   if (!admInfo || errorcode) {
     rpt_err(SYSTEM_ERROR, i18nMsg(DBT_OPEN_ADM_RD, "Can not open adm.conf for reading"), NULL, NULL);
   }


Index: getport.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/getport.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- getport.c	9 May 2007 00:26:30 -0000	1.5
+++ getport.c	11 May 2007 19:44:05 -0000	1.6
@@ -49,6 +49,8 @@
   char           *newValue = 0;
   char           *portVal = 0;
   char           error_info[128];
+  const char *configdir = util_get_conf_dir();
+  const char *secdir = util_get_security_dir();
 
   memset((void *)errp, 0, sizeof(int));
   method = getenv("REQUEST_METHOD");
@@ -83,13 +85,13 @@
   if (binddn) rv = ADM_GetCurrentPassword(&err, &bindpw);
 
   /* Initialize the pset  */
-  rv = ADMSSL_InitSimple(CONFIGDIR, SECURITYDIR);
+  rv = ADMSSL_InitSimple(configdir, secdir);
   if (rv) {
     rpt_err(APP_ERROR, "SSL related initialization failed", NULL, NULL);
   }
 
   pset = psetCreateSSL("admin-serv", 
-		       /* configRoot */ NULL,
+		       /* configRoot */ configdir,
 		       /* userDN */ binddn, 
 		       /* passwd */ bindpw,
 		       /* errorcode */ &rv);


Index: htmladmin.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/htmladmin.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- htmladmin.c	9 May 2007 00:26:30 -0000	1.8
+++ htmladmin.c	11 May 2007 19:44:05 -0000	1.9
@@ -1577,6 +1577,8 @@
     char *bindpw;
     
     int rv;
+    const char *configdir = util_get_conf_dir();
+    const char *secdir = util_get_security_dir();
 
     i18nResource = res_find_and_init_resource(PROPERTYDIR, RESOURCE_FILE);
     acceptLanguage = "en";
@@ -1643,7 +1645,7 @@
 	 int i;
 	 int found;
 
-	 ldapInfo = get_adm_ldapinfo(CONFIGDIR, SECURITYDIR);
+	 ldapInfo = get_adm_ldapinfo(configdir, secdir);
 	 if(!get_bindinfo(&binddn, &bindpw))
 	   exit(0);
 
@@ -1687,7 +1689,7 @@
            */
 
 
-	 ldapInfo = get_adm_ldapinfo(CONFIGDIR, SECURITYDIR);
+	 ldapInfo = get_adm_ldapinfo(configdir, secdir);
 
 	 fprintf(stdout, getResourceString(DBT_MAIN_TOPOLOGY_HEADER),
 		 get_topology_refresh_rate(ldapInfo), view ? viewparam : "");


Index: mergeConfig.cpp
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/mergeConfig.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- mergeConfig.cpp	9 May 2007 00:26:30 -0000	1.6
+++ mergeConfig.cpp	11 May 2007 19:44:05 -0000	1.7
@@ -36,6 +36,7 @@
 #include "libadmsslutil/admsslutil.h"
 #include "libadminutil/resource.h"
 #include "setuputil/ldapu.h"
+#include "libadmin/libadmin.h"
 #include <ldap_ssl.h>
 
 #include "config.h"
@@ -804,6 +805,8 @@
   char response[4096], sie_response[4096], isie_response[4096];
   char *temp, *temp2;  
   const char *admin_brand = "Fedora";
+  char *configdir = util_get_conf_dir();
+  char *secdir = util_get_security_dir();
 
   method = getenv("REQUEST_METHOD");
 
@@ -845,13 +848,13 @@
     
     if (source_binddn) rv = ADM_GetCurrentPassword(&err, &source_bindpw);
 
-    ldapInfo = admldapBuildInfo(CONFIGDIR, &rv);
+    ldapInfo = admldapBuildInfo(configdir, &rv);
     
     if (!ldapInfo) {
       rpt_err(INCORRECT_USAGE, getResourceString(DBT_INVALID_SOURCE_SR), NULL, NULL);
     }
     
-    rv = ADMSSL_InitSimple(CONFIGDIR, SECURITYDIR, 0);
+    rv = ADMSSL_InitSimple(configdir, secdir, 0);
     if (rv) {
       PR_snprintf(error_info, sizeof(error_info), getResourceString(DBT_ADMSSL_INITFAIL), rv);
       rpt_err(APP_ERROR, error_info, NULL, NULL);


Index: migrateConfig.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/migrateConfig.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- migrateConfig.c	9 May 2007 00:26:30 -0000	1.6
+++ migrateConfig.c	11 May 2007 19:44:05 -0000	1.7
@@ -133,6 +133,8 @@
   char           buf[1024], cpcmd[1024], *tmpptr;
   const char     *errMsg = NULL;
   PRFileInfo     fileInfo;
+  const char *configdir = util_get_conf_dir();
+  const char *secdir = util_get_security_dir();
 #if 0
   int            waitforever = 1;
 
@@ -226,7 +228,7 @@
   }
 
   if (binddn) rv = ADM_GetCurrentPassword(&err, &bindpw);
-  rv = ADMSSL_InitSimple(CONFIGDIR, SECURITYDIR);
+  rv = ADMSSL_InitSimple(configdir, secdir);
   if (rv) {
     if (i18nResource &&
 	(errMsg = res_getstring(i18nResource,
@@ -239,7 +241,7 @@
   /* Initialize the pset  */
 
   pset = psetCreateSSL("admin-serv", 
-		       /* configRoot */ CONFIGDIR,
+		       /* configRoot */ configdir,
 		       /* userDN */ binddn, 
 		       /* passwd */ bindpw,
 		       /* errorcode */ &rv);


Index: restartsrv.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/restartsrv.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- restartsrv.c	9 May 2007 00:26:30 -0000	1.6
+++ restartsrv.c	11 May 2007 19:44:05 -0000	1.7
@@ -294,8 +294,11 @@
   static char filename[BIG_LINE];
   static char buf[BIG_LINE];
   char * p = NULL;
+  const char *configdir = util_get_conf_dir();
+  const char *logdir = util_get_log_dir();
+  const char *piddir = util_get_pid_dir();
 
-  util_find_file_in_paths(filename, sizeof(filename), "console.conf", CONFIGDIR, "", "admin-serv/config");
+  util_find_file_in_paths(filename, sizeof(filename), "console.conf", configdir, "", "admin-serv/config");
 
   f = fopen(filename, "r");
   if (f==NULL) {
@@ -318,7 +321,7 @@
       PR_snprintf(buf, sizeof(buf),"%s",p);
     }
     else {
-      util_find_file_in_paths(buf, sizeof(buf), p, LOGDIR, "..", "admin-serv");
+      util_find_file_in_paths(buf, sizeof(buf), p, piddir, "..", "admin-serv");
     }
     free(p);
     p = strdup(buf);


Index: sec-activate.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/sec-activate.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- sec-activate.c	9 May 2007 00:26:30 -0000	1.8
+++ sec-activate.c	11 May 2007 19:44:05 -0000	1.9
@@ -521,7 +521,8 @@
       rpt_err(ELEM_MISSING, getResourceString(DBT_PSET_INIT_NO_USERNAME), NULL, NULL);
     else {
       /* No DN, maybe it is local super */
-      localAdmin = admGetLocalAdmin(CONFIGDIR, &rv);
+      configdir = util_get_conf_dir();
+      localAdmin = admGetLocalAdmin(configdir, &rv);
       if (localAdmin) {
         if (PORT_Strcmp(username, localAdmin))
           rpt_err(ELEM_MISSING, getResourceString(DBT_PSET_INIT_NO_USERDN), NULL, NULL);
@@ -551,8 +552,8 @@
     }
   }
   else {
-    configdir =  CONFIGDIR;
-    securitydir = SECURITYDIR;
+    configdir =  util_get_conf_dir();
+    securitydir = util_get_security_dir();
     rv = ADMSSL_InitSimple(configdir, securitydir, 1);
     if (rv) {
       rpt_err(APP_ERROR, getResourceString(DBT_ADMSSL_INIT_FAIL), NULL, NULL);


Index: security.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/security.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- security.c	9 May 2007 00:26:30 -0000	1.9
+++ security.c	11 May 2007 19:44:05 -0000	1.10
@@ -61,6 +61,8 @@
 
 #include "cgicommon.h"
 
+#include "libadmin/libadmin.h"
+
 #ifdef __cplusplus
 }
 #endif
@@ -429,13 +431,14 @@
   int rval = 0;
   char *securitydir = NULL;
   PsetHndl pset;
+  char *configdir = util_get_conf_dir();
 
   if (!PL_strncasecmp(sie, "admin-serv", strlen("admin-serv"))) {
-    return PL_strdup(SECURITYDIR); /* same as admin server security dir */
+    return PL_strdup(util_get_security_dir()); /* same as admin server security dir */
   }
 
   /* create pset with this dn */
-  pset = psetCreateSSL((char *)sie, CONFIGDIR, NULL, NULL, &rval);
+  pset = psetCreateSSL((char *)sie, configdir, NULL, NULL, &rval);
   if (pset && ((rval == PSET_OP_OK) || (rval == PSET_LOCAL_OPEN_FAIL))) { /* only admin-serv uses local file */
     securitydir = psetGetAttrSingleValue(pset, "configuration.encryption.certdir", &rval);
     if (!securitydir && psetHasObjectClass(pset, DSOBJECTCLASS)) {
@@ -1507,11 +1510,12 @@
   CERTSignedCrl *signed_crl, *excrl, *crl_rv = NULL;
   SECItem derCrl;
   char msg[BIG_LINE];
+  char *secdir = util_get_security_dir();
 
   int list_type = (type && !PORT_Strcmp(type, "CKL"))? SEC_KRL_TYPE : SEC_CRL_TYPE;
   if (!filename || !*filename ||
       !util_is_valid_path_string(filename) ||
-      !util_verify_file_or_dir(SECURITYDIR, PR_FILE_DIRECTORY, filename, -1, PR_FILE_FILE)) {
+      !util_verify_file_or_dir(secdir, PR_FILE_DIRECTORY, filename, -1, PR_FILE_FILE)) {
 	  /* invalid file */
       PR_snprintf(msg, sizeof(msg), getResourceString(DBT_NO_FILE_EXISTS), filename);
       errorRpt(FILE_ERROR, msg);
@@ -1818,7 +1822,7 @@
 static void moduleOperation(char* op) {
   const char *binary = "modutil"; /* PATH and LD_LIBRARY_PATH must already be set correctly */
   const char *install_dir = LIBDIR;
-  const char *database_dir = SECURITYDIR;
+  const char *database_dir = util_get_security_dir();
   char *filename, *filetype, *dllname;
   char cmd[BIG_LINE];
   char msg[BIG_LINE];
@@ -1840,9 +1844,9 @@
     filename = getParameter("filename",getResourceString(DBT_MISSING_FILE));
     filetype = getParameter("format",getResourceString(DBT_MISSING_FORMAT));
 
-    /* see if filename exists in SECURITYDIR */
+    /* see if filename exists in database_dir (securitydir) */
     if(!util_is_valid_path_string(filename) ||
-       !util_verify_file_or_dir(SECURITYDIR, PR_FILE_DIRECTORY, filename, -1, PR_FILE_FILE)) {
+       !util_verify_file_or_dir(database_dir, PR_FILE_DIRECTORY, filename, -1, PR_FILE_FILE)) {
       PR_snprintf(msg, sizeof(msg), getResourceString(DBT_NO_FILE_EXISTS), filename);
       rpt_err(FILE_ERROR, msg, NULL, NULL);
     }
@@ -1956,6 +1960,7 @@
   AdmldapInfo ldapInfo; /* our config */
   int rc = 0;
   char *sie;
+  char *configdir = util_get_conf_dir();
 
 #if 0
   CGI_Debug("security");
@@ -1985,9 +1990,9 @@
   post_begin(stdin);
 
   sie = getParameter("sie", getResourceString(DBT_SIE));
-  ldapInfo = admldapBuildInfoOnly(CONFIGDIR, &rc);
+  ldapInfo = admldapBuildInfoOnly(configdir, &rc);
   if (rc || !ldapInfo) {
-        PR_snprintf(line, sizeof(line), getResourceString(CMN_CONFIGPROBLEM), CONFIGDIR, rc);
+        PR_snprintf(line, sizeof(line), getResourceString(CMN_CONFIGPROBLEM), configdir ? configdir : "(null)", rc);
         errorRpt(FILE_ERROR, line);
   }
 


Index: setport.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/setport.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- setport.c	9 May 2007 00:26:30 -0000	1.5
+++ setport.c	11 May 2007 19:44:05 -0000	1.6
@@ -49,6 +49,8 @@
   char           *newValue = 0;
   char           *portVal = 0;
   char           error_info[128];
+  const char *configdir = util_get_conf_dir();
+  const char *secdir = util_get_security_dir();
 
   memset((void *)errp, 0, sizeof(int));
   method = getenv("REQUEST_METHOD");
@@ -94,7 +96,7 @@
     else {
       /* No DN, maybe it is local super */
       /* No DN, maybe it is local super */
-      localAdmin = admGetLocalAdmin(NULL, &rv);
+      localAdmin = admGetLocalAdmin(configdir, &rv);
       if (localAdmin) {
 	if (strcmp(username, localAdmin)) {
 	  rpt_err(ELEM_MISSING, "ErrorString: NO USER DN!", NULL, NULL);
@@ -112,7 +114,7 @@
 
   if (binddn) rv = ADM_GetCurrentPassword(&err, &bindpw);
 
-  rv = ADMSSL_InitSimple(CONFIGDIR, SECURITYDIR);
+  rv = ADMSSL_InitSimple(configdir, secdir);
   if (rv) {
     rpt_err(APP_ERROR, "SSL related initialization failed", NULL, NULL);
   }
@@ -120,7 +122,7 @@
   /* Initialize the pset  */
 
   pset = psetCreateSSL("admin-serv", 
-		       /* configRoot */ NULL,
+		       /* configRoot */ configdir,
 		       /* userDN */ binddn, 
 		       /* passwd */ bindpw,
 		       /* errorcode */ &rv);


Index: start_config_ds.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/start_config_ds.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- start_config_ds.c	9 May 2007 00:26:30 -0000	1.6
+++ start_config_ds.c	11 May 2007 19:44:05 -0000	1.7
@@ -64,9 +64,10 @@
    int   ret_val = 0;
    char *startcmd = 0;
    AdmldapInfo info;
+   char *configdir = util_get_conf_dir();
 
    /* find and open the AS config file adm.conf */
-   info = admldapBuildInfoOnly(CONFIGDIR, &ret_val);
+   info = admldapBuildInfoOnly(configdir, &ret_val);
 
    if (!info) {
       return error_exit("Failed to open adm.conf");


Index: ugdsconfig.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/ugdsconfig.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ugdsconfig.c	9 May 2007 00:26:30 -0000	1.7
+++ ugdsconfig.c	11 May 2007 19:44:05 -0000	1.8
@@ -179,6 +179,8 @@
 
     char *method = getenv("REQUEST_METHOD");
     char *qs = 0, *op=0;
+    const char *configdir = util_get_conf_dir();
+    const char *secdir = util_get_security_dir();
 
     logMsg(" In %s\n", argv[0]);
 
@@ -219,10 +221,10 @@
         rpt_err(INCORRECT_USAGE, i18nMsg(DBT_NO_OPERATION,"No operation is defined"), NULL, NULL);
     }
 	if (strcmp(op,"getconfig") == 0) {
-        handle_getconfig(CONFIGDIR, SECURITYDIR);
+        handle_getconfig(configdir, secdir);
     }
     else if (strcmp(op,"setconfig") == 0) {
-		handle_setconfig(CONFIGDIR, SECURITYDIR);
+		handle_setconfig(configdir, secdir);
     }
 	else {
         PR_snprintf(error_info, sizeof(error_info), i18nMsg(DBT_UNKNOWN_OPERATION,"Unknown Operation (%s)"), op);


Index: viewdata.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/viewdata.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- viewdata.c	9 May 2007 00:26:30 -0000	1.7
+++ viewdata.c	11 May 2007 19:44:05 -0000	1.8
@@ -413,8 +413,10 @@
     LDAP *server;
     LDAPMessage *entry;
     int ldapError;
+    const char *configdir = util_get_conf_dir();
+    const char *secdir = util_get_security_dir();
 
-    AdmldapInfo ldapInfo = get_adm_ldapinfo(CONFIGDIR, SECURITYDIR);
+    AdmldapInfo ldapInfo = get_adm_ldapinfo(configdir, secdir);
 
     i18nInit();
 


Index: viewlog.c
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/cgi-src40/viewlog.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- viewlog.c	9 May 2007 00:26:30 -0000	1.6
+++ viewlog.c	11 May 2007 19:44:05 -0000	1.7
@@ -209,8 +209,10 @@
 
   char *errorlog_attr = NULL;
   char *accesslog_attr = NULL;
+  char *configdir = util_get_conf_dir();
+  char *secdir = util_get_security_dir();
 
-  rv = ADMSSL_InitSimple(CONFIGDIR, SECURITYDIR, 0);
+  rv = ADMSSL_InitSimple(configdir, secdir, 0);
   if (rv) {
     if (i18nResource) {
       char msgbuf[BUFSIZ];
@@ -222,7 +224,7 @@
     }
   }
 
-  pset = psetCreateSSL(id, CONFIGDIR, NULL, NULL, &rv);
+  pset = psetCreateSSL(id, configdir, NULL, NULL, &rv);
 
   if (pset) {
     return_dir = psetGetAttrSingleValue(pset, LOGDIRATTR, &rv);
@@ -240,11 +242,12 @@
   }
 
   if(!return_dir) {
+    char *logdir = util_get_log_dir();
     if (!strncasecmp(id, "admin-", 6)) {
-      return PR_smprintf("%s%c%s", LOGDIR, FILE_PATHSEP, id); /* this is us */
+      return PL_strdup(logdir);
     } else if (!strncmp(id, "slapd-", 6)) {
       /* DIRECTORY SERVER and admin server share the same log dir parent */
-      return_dir = PR_smprintf("%s%c%s", LOGDIR, FILE_PATHSEP, id);
+      return_dir = PR_smprintf("%s%c..%s%s", logdir, FILE_PATHSEP, FILE_PATHSEP, id);
     }
   }
 




More information about the Fedora-directory-commits mailing list