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);
}
}