[Fedora-directory-commits] setuputil/installer/unix installer.cc, 1.5, 1.6 product.cc, 1.5, 1.6
by Doctor Conrad
Author: nhosoi
Update of /cvs/dirsec/setuputil/installer/unix
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv16139
Modified Files:
installer.cc product.cc
Log Message:
Resolves: #234893
Summary: Build SetupUtil with autotools (Comment #13, #15)
Changes: 1) resource file and inf file could be an absolute path,
or they could be located in the same dir as dssetup binary or
in $datadir/setuputil.
2) dssetup does not issue "Notice: Your LD_LIBRARY_PATH variable is set to .."
since the library path is set in the wrapper script by the autotools.
Index: installer.cc
===================================================================
RCS file: /cvs/dirsec/setuputil/installer/unix/installer.cc,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- installer.cc 27 Mar 2006 21:18:35 -0000 1.5
+++ installer.cc 4 Apr 2007 22:29:46 -0000 1.6
@@ -27,6 +27,15 @@
**
** HISTORY:
** $Log$
+** Revision 1.6 2007/04/04 22:29:46 nhosoi
+** Resolves: #234893
+** Summary: Build SetupUtil with autotools (Comment #13, #15)
+** Changes: 1) resource file and inf file could be an absolute path,
+** or they could be located in the same dir as dssetup binary or
+** in $datadir/setuputil.
+** 2) dssetup does not issue "Notice: Your LD_LIBRARY_PATH variable is set to .."
+** since the library path is set in the wrapper script by the autotools.
+**
** Revision 1.5 2006/03/27 21:18:35 nhosoi
** [186642] Directory Server Makefile updates for Internal build
** Changed the createSIE so that caller (Admin Server and Directory Server) passes
@@ -792,9 +801,42 @@
if (filename)
{
- NSString resourceFile;
- resourceFile = _baseDir + "/" + filename;
- customResource.read(resourceFile);
+ /*
+ * resource file can be specified in the [General] section of setup.inf
+ * # All dialog strings can be defined in a resource file (optional).
+ * Resource = setup.res
+ * The value can be an absolute path.
+ * If the value is a relative path or just a file name,
+ * first the code checks if the value starting from the
+ * setup binary location exists.
+ * If it does not exist, then it checks in PROPERTYDIR,
+ * which is defined at the build time.
+ * If the resource value is set and the file does not exist,
+ * it issues an warning and steps forward.
+ */
+ NSString resourceFile = NULL;
+ if ('/' == *filename) /* absolute path */
+ {
+ resourceFile = filename;
+ }
+ else
+ {
+ resourceFile = _baseDir + "/" + filename;
+ if (InstUtil::fileExists(resourceFile) == False)
+ {
+ /* the file is not in _baseDir (where dssetup is located) */
+ resourceFile = NSString(PROPERTYDIR) + "/" + filename;
+ }
+ }
+ if (InstUtil::fileExists(resourceFile) == False)
+ {
+ setupLogMessage(WARN, "Setup",
+ "Resource file %s does not exist.\n", resourceFile);
+ }
+ else
+ {
+ customResource.read(resourceFile);
+ }
}
// Even without resource file defined, we still want to
@@ -929,8 +971,6 @@
/*
* Start the first stage - common installer's questions
*/
-
- printNotice();
prepreInstall();
if (_installMode == Silent)
@@ -1430,20 +1470,44 @@
{
NSString infFile;
- infFile = sourceDir + "/";
- infFile = infFile + infName;
+ /*
+ * sourceDir: start point to look for inf file (infName)
+ * infName:
+ * The value can be an absolute path.
+ * If the value is a relative path or just a file name,
+ * first the code checks if the value starting from sourceDir.
+ * If it does not exist, then it checks in PROPERTYDIR,
+ * which is defined at the build time.
+ */
+ if ('/' == *infName) /* absolute path */
+ {
+ infFile = infName;
+ }
+ else
+ {
+ infFile = sourceDir + "/";
+ infFile = infFile + infName;
+ if (InstUtil::fileExists(infFile) == False)
+ {
+ /* the file is not in sourceDir, try PROPERTYDIR */
+ infFile = NSString(PROPERTYDIR) + "/" + infName;
+ }
+ }
+ /*
+ * If the resource value is set and the file does not exist, it returns -1.
+ */
if (InstUtil::fileExists(infFile) == False)
{
- return -1;
+ return -1; /* infFile does not exist */
}
-
+
if (sourceDir == _sourceDir && _newSuiteSpot.numComponents())
{
return 0;
}
- if (_newSuiteSpot.retrieveSuiteSpot(sourceDir, infName) == 0 && _newSuiteSpot.numComponents())
+ if (_newSuiteSpot.retrieveSuiteSpot(sourceDir, infFile) == 0 && _newSuiteSpot.numComponents())
{
_newSuiteSpot.getComponents()->sortComponents();
_newSuiteSpot.select();
@@ -3289,50 +3353,3 @@
{
return _checkDomainName;
}
-
-
-
-void
-Installer::printNotice()
-{
- /* Bug 408242: Check if the LD_LIBRARY_PATH/SHLIB_PATH is set.
- * If so, display a warning. Also, unset ENV variable.
- */
-
- char *lib_name = NULL, *lib_path = NULL, tmp[XSM_BUF], *env_path = NULL;
-
-#if defined (HPUX)
- lib_name = strdup("SHLIB_PATH");
-#else
- lib_name = strdup("LD_LIBRARY_PATH");
-#endif
-
- memset(tmp, '\0', XSM_BUF);
- if (lib_path = getenv(lib_name))
- {
- DialogManager::disableWinMode();
- printf("\n%s %s %s\n\n", "Notice: Your", lib_name, "variable is set to:");
- printf("\t%s\n\n", lib_path);
- printf("%s %s %s\n", "Please unset", lib_name, "or verify that the");
- printf("%s\n", "above setting is correct before continuing with");
- printf("%s\n", "the installation. An incorrect setting may cause");
- printf("%s\n", "problems during the installation such as the wrong");
- printf("%s\n\n", "copy of a shared library being used.");
- if (_installMode != Silent)
- {
- printf("%s", "Continue [n]? ");
- fflush(stdout);
- fgets(tmp, sizeof(tmp), stdin);
- if (tmp[0] == 'n' || tmp[0] == 'N' || tmp[0] == '\0' || (tmp[0] < 0x20))
- {
- free(lib_name);
- exit(0);
- }
- }
- }
-
- free(lib_name);
-
- env_path = strdup("ENV=");
- putenv(env_path);
-}
Index: product.cc
===================================================================
RCS file: /cvs/dirsec/setuputil/installer/unix/product.cc,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- product.cc 23 Mar 2006 15:59:17 -0000 1.5
+++ product.cc 4 Apr 2007 22:29:46 -0000 1.6
@@ -27,6 +27,15 @@
**
** HISTORY:
** $Log$
+** Revision 1.6 2007/04/04 22:29:46 nhosoi
+** Resolves: #234893
+** Summary: Build SetupUtil with autotools (Comment #13, #15)
+** Changes: 1) resource file and inf file could be an absolute path,
+** or they could be located in the same dir as dssetup binary or
+** in $datadir/setuputil.
+** 2) dssetup does not issue "Notice: Your LD_LIBRARY_PATH variable is set to .."
+** since the library path is set in the wrapper script by the autotools.
+**
** Revision 1.5 2006/03/23 15:59:17 rmeggins
** Bug(s) fixed: 186280
** Bug Description: Close potential security vulnerabilities in CGI code
@@ -628,7 +637,29 @@
// This is top level master configuration file
init();
- snprintf(tstr, sizeof(tstr), "%s/%s", sourceDir.data(), fileName);
+ /*
+ * sourceDir: start point to look for inf file (infName)
+ * infName:
+ * The value can be an absolute path.
+ * If the value is a relative path or just a file name,
+ * first the code checks if the value starting from sourceDir.
+ * If it does not exist, then it checks in PROPERTYDIR,
+ * which is defined at the build time.
+ */
+ if ('/' == *fileName) /* absolute path */
+ {
+ snprintf(tstr, sizeof(tstr), "%s", fileName);
+ }
+ else
+ {
+ NSString setupFile = sourceDir + "/" + fileName;
+ if (InstUtil::fileExists(setupFile) == False)
+ {
+ /* the file is not in sourceDir, try PROPERTYDIR */
+ setupFile = NSString(PROPERTYDIR) + "/" + fileName;
+ }
+ snprintf(tstr, sizeof(tstr), "%s", setupFile.data(), fileName);
+ }
tstr[sizeof(tstr)-1] = 0;
_packageInfo = new PackageInfo(tstr);
@@ -693,7 +724,29 @@
init();
- snprintf(tstr, sizeof(tstr), "%s/%s", sourceDir.data(), fileName);
+ /*
+ * sourceDir: start point to look for inf file (fileName)
+ * fileame:
+ * The value can be an absolute path.
+ * If the value is a relative path or just a file name,
+ * first the code checks if the value starting from sourceDir.
+ * If it does not exist, then it checks in PROPERTYDIR,
+ * which is defined at the build time.
+ */
+ if ('/' == *fileName) /* absolute path */
+ {
+ snprintf(tstr, sizeof(tstr), "%s", fileName);
+ }
+ else
+ {
+ NSString subFile = sourceDir + "/" + fileName;
+ if (InstUtil::fileExists(subFile) == False)
+ {
+ /* the file is not in sourceDir, try PROPERTYDIR */
+ subFile = NSString(PROPERTYDIR) + "/" + fileName;
+ }
+ snprintf(tstr, sizeof(tstr), "%s", subFile.data(), fileName);
+ }
tstr[sizeof(tstr)-1] = 0;
_packageInfo = new PackageInfo(tstr);
17 years, 1 month
[Fedora-directory-commits] adminutil/lib/libadmsslutil admsslutil.c, 1.6, 1.7 certmgt.c, 1.1.1.1, 1.2 psetcssl.c, 1.2, 1.3 secpwd.c, 1.1.1.1, 1.2 srvutilssl.c, 1.3, 1.4 uginfossl.c, 1.2, 1.3
by Doctor Conrad
Author: rmeggins
Update of /cvs/dirsec/adminutil/lib/libadmsslutil
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30346/adminutil/lib/libadmsslutil
Modified Files:
admsslutil.c certmgt.c psetcssl.c secpwd.c srvutilssl.c
uginfossl.c
Log Message:
Resolves: bug 234420
Bug Description: adminutil: Use FHS paths and general code cleanup
Reviewed by: nkinder (Thanks!)
Fix Description:
1) Added a propertydir parameter to Makefile.am. This is where the .res files go. This also gets baked into the code so that the library knows where to find them.
2) The icu code expects the .res files to be in a packagename directory - packagename/foo.res not packagename_foo.res. I don't know how this ever worked. I also added en_US.res and en.res - icu recommends having the actual locale file rather than just falling back to the default root.res - see http://icu-project.org/userguide/ResourceManagement.html
3) There was quite a bit of dead code that I got rid of
4) Fixed many compiler warnings
5) There were quite a few memory leaks. The biggest one was probably in psetDelete, which did not actually delete the pset. Another one was the resource string handling - this returns malloc'd memory, and was never freed. I added the option to pass in a static sized buffer to hold the resource string - this may be truncated but we usually won't care. There were several places where the code was calling PR_Free on a data structure pointer - doing a "shallow" free rather than a "deep" free of all of the pointers in the data structure.
6) I merged in configuration from dbswitch.conf and other config files so that we could get rid of them and just have adm.conf. We'll have to take care of this during migration.
Platforms tested: RHEL4, FC6
Flag Day: no
Doc impact: no
Index: admsslutil.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadmsslutil/admsslutil.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- admsslutil.c 3 Nov 2006 17:41:06 -0000 1.6
+++ admsslutil.c 4 Apr 2007 19:37:47 -0000 1.7
@@ -69,6 +69,22 @@
char custom_file[BIG_LINE] = "";
char retried_token[BIG_LINE] = "";
+/* returns true if the given path is a valid directory, false otherwise */
+static int
+is_dir_ok(const char *path)
+{
+ PRFileInfo prinfo;
+ int ret = 0;
+
+ if (path && *path &&
+ (PR_SUCCESS == PR_GetFileInfo(path, &prinfo)) &&
+ prinfo.type == PR_FILE_DIRECTORY) {
+ ret = 1;
+ }
+
+ return ret;
+}
+
PR_IMPLEMENT(int)
admldapBuildInfoSSL(AdmldapInfo info, int *errorcode)
{
@@ -135,64 +151,13 @@
return 1;
}
-/*
- * Given filepath e.g. /opt/servers/alias/slapd-dilly-cert7.db
- * return slapd-dilly- as the prefix fo cert file;
- * or filepath is e.g. /opt/servers/alias/slapd-dilly-key3.db
- * return slapd-dilly- as the prefix for key file.
-*/
-static void
-getPrefix(char *filepath, char *basename, char *prefix, int maxprefixlen)
-{
- char *filename, *base;
- int prefixLen;
-
- if (NULL == prefix || 0 == maxprefixlen) {
- return;
- }
- prefix[0] = '\0';
-
- if((filename = strrchr(filepath, FILE_PATHSEP)) == NULL) {
- filename=filepath;
- }
- else {
- filename++; /* Skip '/' */
- }
-
- /* basename is either "-cert" or "-key" - look for last occurance */
- base = PL_strrstr(filename, basename);
- if (base == NULL) {
- return;
- }
-
- /* Include '-' into prefix */
- prefixLen = base-filename+1;
- if (prefixLen > maxprefixlen) {
- return;
- }
- memcpy(prefix, filename, prefixLen);
- prefix[prefixLen]=0;
-}
-
-static int initNSS(char *certdbFile, char *keydbFile)
+static int initNSS(const char *securitydir, AdmldapInfo info)
{
- char certdbPrefix[256], keydbPrefix[256];
- char secdbDir[PATH_MAX];
- char admconfDir[PATH_MAX];
+ char *custom_file_copy = NULL;
PRUint32 flags = 0;
char *db_name;
- getPrefix(certdbFile, "-cert", certdbPrefix, 256);
- getPrefix(keydbFile, "-key", keydbPrefix, 256);
-
- if(('\0' == certdbPrefix) || ('\0' == keydbPrefix)) return -1;
-
- PR_snprintf(secdbDir, sizeof(secdbDir), "%s%calias",
- getenv("NETSITE_ROOT"), FILE_PATHSEP);
- PR_snprintf(admconfDir, sizeof(admconfDir), "%s%cadmin-serv%cconfig",
- getenv("NETSITE_ROOT"), FILE_PATHSEP,FILE_PATHSEP);
-
/* PKSC11 module must be configured before NSS is initialized */
db_name = PL_strdup("internal (software) ");
if (!db_name) {
@@ -203,18 +168,23 @@
/*minPwdLen=*/8, /*pwdRequired=*/1);
/* init NSS */
- if (NSS_Initialize(secdbDir, certdbPrefix, keydbPrefix, "secmod.db", flags)) {
+ if (NSS_Initialize(securitydir, NULL, NULL, "secmod.db", flags)) {
return -1;
}
+ /* custom file should contain a line like this:
+ pinFile:/path/to/pinfile
+ The pin file should contain the pin for the token
+ We just use adm.conf as the custom file.
+ */
+ custom_file_copy = admldapGetConfigFileName(info);
+ PR_snprintf(custom_file, sizeof(custom_file), custom_file_copy);
+ PL_strfree(custom_file_copy);
/* set password function */
- PR_snprintf(custom_file, sizeof(custom_file), "%s%ccustom.conf",
- admconfDir, FILE_PATHSEP);
PK11_SetPasswordFunc(getPassword_cb);
/* enable all default ciphers */
- if (SSL_OptionSetDefault(SSL_ENABLE_SSL2, PR_FALSE)
- || SSL_OptionSetDefault(SSL_ENABLE_SSL3, PR_TRUE)) {
+ if (SSL_OptionSetDefault(SSL_ENABLE_SSL2, PR_FALSE)) {
return -1;
}
@@ -228,41 +198,32 @@
PR_IMPLEMENT(int)
-ADMSSL_InitSimple2(char* serverRoot)
+ADMSSL_InitSimple(char* configdir, char *securitydir)
{
AdmldapInfo admLdapInfo=NULL;
- char configDir[256];
int error;
- PR_snprintf(configDir, sizeof(configDir), "%s%cadmin-serv%cconfig",
- serverRoot, FILE_PATHSEP, FILE_PATHSEP);
- admLdapInfo = admldapBuildInfo(configDir, &error);
+ admLdapInfo = admldapBuildInfo(configdir, &error);
if (!admLdapInfo) return -1;
- if (!admldapGetSecurity(admLdapInfo)) return 0;
+ if (admldapGetSecurity(admLdapInfo)) {
+ error = ADMSSL_Init(admLdapInfo, securitydir);
+ } else {
+ error = 0;
+ }
- error = ADMSSL_Init(admLdapInfo, configDir);
destroyAdmldap(admLdapInfo);
return error;
}
-PR_IMPLEMENT(int)
-ADMSSL_InitSimple()
-{
- char *serverRoot = getenv("NETSITE_ROOT");
-
- return ADMSSL_InitSimple2(serverRoot);
-}
-
-
/* set minimum SSL stuff for LDAP/SSL to work */
PR_IMPLEMENT(int)
-ADMSSL_Init(AdmldapInfo info, char *admroot)
+ADMSSL_Init(AdmldapInfo info, char *securitydir)
{
- char *certdbFile, *keydbFile;
int secure;
char *dirURL, *bindDN, *bindPwd, *dirInfoRef;
int errCode;
+ int needfree = 0;
secure = admldapGetSecurity(info);
@@ -278,14 +239,18 @@
return 0;
}
- certdbFile = admldapGetCertDBFile(info);
- keydbFile = admldapGetKeyDBFile(info);
+ if (!securitydir) {
+ securitydir = admldapGetSecurityDir(info);
+ needfree = 1;
+ }
+
+ if((!securitydir)) return -1;
- if((!certdbFile) || (!keydbFile) || (!admroot)) return -1;
+ errCode = initNSS(securitydir, info);
- errCode = initNSS(certdbFile, keydbFile);
- PR_Free(certdbFile);
- PR_Free(keydbFile);
+ if (needfree) {
+ PL_strfree(securitydir);
+ }
return errCode;
}
@@ -433,244 +398,17 @@
#endif /* NET_SSL */
-
-/*
- * In HCL 1.5 final this is called by each socket created.
- * Pass the socket in. - adam
- */
-PR_IMPLEMENT(void)
-servssl_init(PsetHndl pset, PRFileDesc *fd, char *admroot)
-{
- SECKEYPrivateKey *key = NULL;
- CERTCertificate *cert = NULL;
- int rv;
-
- int errorCode;
- AttrNameList family_list;
-
- char *keyfn = NULL;
- char *certfn = NULL;
- char *val = NULL;
- char *val2 = NULL;
- int stimeout;
- long ssl3timeout;
-#define CIPHER_STRLEN 1024
- char cipher_string[CIPHER_STRLEN];
- int cipher_len = CIPHER_STRLEN;
-
- if (!pset) {
- servssl_error("Security Initialization: Failed to retrieve SSL cipher family information\n");
- return;
- }
-
- /* Get general pset information */
-
- keyfn = psetGetAttrSingleValue(pset,
- "configuration.encryption.nsKeyfile",
- &errorCode);
-
- certfn = psetGetAttrSingleValue(pset,
- "configuration.encryption.nsCertfile",
- &errorCode);
-
- val = psetGetAttrSingleValue(pset,
- "configuration.encryption.nsSslSessionTimeout",
- &errorCode);
-
- val2 = psetGetAttrSingleValue(pset,
- "configuration.encryption.nsSsl3SessionTimeout",
- &errorCode);
-
- if((!keyfn) || (!certfn) || (!val) || (!val2)) {
- servssl_error("Security Initialization: Failed to retrieve SSL cipher family information (error code = %d)\n", errorCode);
- return;
- }
-
- stimeout = atoi(val);
- ssl3timeout = atol(val2);
-
- /* Initialize the cert data base */
- if (initNSS(certfn, keyfn)) {
- servssl_error("Security Initialization: Failed to initialize NSS\n");
- return;
- }
-
- /* Set SSL cipher preferences */
- cipher_string[0] = '\0';
- val = NULL;
- val = psetGetAttrSingleValue(pset,
- "configuration.encryption.nsSsl2Ciphers",
- &errorCode);
- if(val && strcmp(val, "blank")) {
- PL_strncat(cipher_string, val, cipher_len);
- cipher_len -= PL_strlen(val);
- }
-
- val = NULL;
- val = psetGetAttrSingleValue(pset,
- "configuration.encryption.nsSsl3Ciphers",
- &errorCode);
- if(val && strcmp(val, "blank")) {
- if(cipher_string[0] != '\0') {
- PL_strncat(cipher_string, ",", cipher_len);
- cipher_len -= 1;
- }
- PL_strncat(cipher_string, val, cipher_len);
- cipher_len -= PL_strlen(val);
- }
-
- if(!strcmp(cipher_string, ""))
- _conf_setciphers(NULL);
- else {
- if(_conf_setciphers(cipher_string))
- servssl_warn("Security Initialization Warning: Failed to set SSL cipher preference information!");
- }
-
-
- /*
- * Now, get the complete list of cipher families. Each family
- * has a token name and personality name which we'll use to find
- * appropriate keys and certs, and call SSL_ConfigSecureServer
- * with.
- */
-
- if((family_list = psetGetChildren(pset, "configuration.Encryption", &errorCode))) {
- char **family;
- char cert_name[ADMSSL_BUF_LEN];
- char family_attribute[ADMSSL_BUF_LEN];
- char *token;
- char *personality;
- PK11SlotInfo *current_slot;
-
- for (family = family_list; *family; family++) {
-
- token = NULL;
- personality = NULL;
- val = NULL;
-
- PR_snprintf(family_attribute, sizeof(family_attribute),
- "%s.nsSslActivation", *family);
- val = psetGetAttrSingleValue(pset,
- family_attribute,
- &errorCode);
-
- if((!val) || (!strcmp(val, "off")))
- /* this family was turned off, goto next */
- continue;
-
- PR_snprintf(family_attribute, sizeof(family_attribute),
- "%s.nsSslToken", *family);
- token = psetGetAttrSingleValue(pset,
- family_attribute,
- &errorCode);
- PR_snprintf(family_attribute, sizeof(family_attribute),
- "%s.nsSslPersonalityssl", *family);
- personality = psetGetAttrSingleValue(pset,
- family_attribute,
- &errorCode);
-
- if((token) && (personality)) {
- if(strstr(token, "internal")) {
- PL_strncpyz(cert_name, personality, sizeof(cert_name));
- current_slot = PK11_GetInternalKeySlot();
- }
- else {
- /* external PKCS #11 token - attach token name */
- PR_snprintf(cert_name, sizeof(cert_name), "%s:%s",
- token, personality);
- current_slot = PK11_FindSlotByName(token);
- }
- }
- else {
- servssl_error("Security Initialization: Failed to get cipher family information");
- }
-
- /* Step Three.6 - If in FIPS mode, authenticate to the token before doing anything else */
- if(PK11_IsFIPS()) {
- PK11_Authenticate(current_slot, PR_FALSE, NULL);
- }
-
- PK11_SetSlotPWValues(current_slot, 0, 0);
-
- /* Step Four -- Locate the server certificate */
- cert = PK11_FindCertFromNickname(cert_name, NULL);
-
- if (cert == NULL) {
- servssl_error("Security Initialization: Can't find certificate (%s)", personality);
- }
-
- /* Step Four.5 -- check that the cert is valid */
- if(CERT_VerifyCertNow(/*certdb=*/NULL, cert, PR_FALSE, certUsageSSLServer, NULL) != SECSuccess) {
- servssl_warn("Security Initialization Warning: For certificate (%s) - %s",
- personality, SSL_Strerror(PR_GetError()));
- }
-
- /* Step Five -- Get the private key from cert */
- key = PK11_FindKeyByAnyCert(cert, NULL);
-
- if (key == NULL) {
- servssl_error("Security Initialization: Unable to retrieve private key (%d)", PR_GetError());
- }
-
- /* Step Six -- Configure Secure Server Mode */
- if(fd) {
- if(PK11_FortezzaHasKEA(cert) == PR_TRUE)
- rv = SSL_ConfigSecureServer(fd, cert, key, kt_fortezza);
- else
- rv = SSL_ConfigSecureServer(fd, cert, key, kt_rsa);
- }
- if (rv) {
- servssl_error("Security Initialization: Server key/certificate is bad (%d)",
- PR_GetError());
- }
- }
- }
-
- /* Step Seven -- Configure Server Session ID Cache */
- val = (char *)PR_Malloc(L_tmpnam * sizeof(char));
-#ifdef XP_WIN32
- if(GetTempPath(L_tmpnam, val) == 0)
- servssl_error("Security Initialization: Config of server nonce cache failed, "
- "cannot find a valid temporary directory! (%d)", GetLastError());
- rv = SSL_ConfigServerSessionIDCache(0, stimeout, ssl3timeout, val);
-#else
- rv = SSL_ConfigServerSessionIDCache(0, stimeout, ssl3timeout, dirname(tmpnam(val)));
-#endif
- PR_Free(val);
- if (rv) {
- if (PR_GetError() == ENOSPC) {
- servssl_error("Security Initialization: Config of server nonce cache failed, "
- "out of disk space! Make more room in /tmp "
- "and try again.");
- }
- else {
- servssl_error("Security Initialization: Config of server nonce cache failed (%d)",
- PR_GetError());
- }
- }
-
- /* Question- Any house cleaning here???? key, keydb, cert and certdb */
-}
-
-
/*
* Modify "security" in adm.conf and DS
*/
void set_security(PsetHndl pset,
- char *sroot,
- char *security,
- char *cert_file,
- char *key_file)
-{
- FILE *f;
- int i, modified_security=0, modified_cert=0, modified_key=0;
- static char filename[BIG_LINE];
- static char inbuf[BIG_LINE];
- static char buf[BIG_LINE];
- int linecnt=0;
- char *col;
- char *lines[50];
+ char *securitydir, /* where security files can be found */
+ char *configdir, /* where config files can be found */
+ char *security /* security on/off */
+)
+{
int rv;
+ AdmldapInfo admInfo = NULL;
/* set security attribute in DS */
if((pset) && (security) && (*security != '\0')) {
@@ -688,96 +426,21 @@
}
}
- /* add/edit security field in adm.conf */
- for(i=0; i<50; i++)
- lines[i] = NULL;
-
- PR_snprintf(filename, sizeof(filename),
- "%s/admin-serv/config/adm.conf", sroot);
-
- f = fopen(filename, "r");
- if (f==NULL) {
- fclose(f);
+ /* add/edit security fields in adm.conf */
+ rv = 0;
+ admInfo = admldapBuildInfoOnly(configdir, &rv);
+ if (!admInfo || rv) {
servssl_error("Can not open adm.conf for reading");
}
-
- while(fgets(inbuf, sizeof(inbuf), f) != NULL) {
- if ((strstr(inbuf,"security:") == inbuf) &&
- (security && *security != '\0')) {
- /* Line starts with "security" */
- col = strrchr(inbuf,':');
- if (col == NULL) {
- servssl_error("Bad format for adminurl in adm.conf");
- }
- *col=0;
- PR_snprintf(buf, sizeof(buf), "%s: %s\n", inbuf, security);
- lines[linecnt++] = PL_strdup(buf);
- modified_security=1;
- }
- else if ((strstr(inbuf,"certDBFile:") == inbuf) &&
- (cert_file && *cert_file != '\0')) {
- /* Line starts with "certDBFile" */
- col = strchr(inbuf,':');
- if (col == NULL) {
- servssl_error("Bad format for adminurl in adm.conf");
- }
- *col=0;
- PR_snprintf(buf, sizeof(buf), "%s: %s%c%s\n",
- inbuf, sroot, FILE_PATHSEP, cert_file);
- lines[linecnt++] = PL_strdup(buf);
- modified_cert=1;
- }
- else if ((strstr(inbuf,"keyDBFile:") == inbuf) &&
- (key_file && *key_file != '\0')) {
- /* Line starts with "keyDBFile" */
- col = strchr(inbuf,':');
- if (col == NULL) {
- servssl_error("Bad format for adminurl in adm.conf");
- }
- *col=0;
- PR_snprintf(buf, sizeof(buf), "%s: %s%c%s\n",
- inbuf, sroot, FILE_PATHSEP, key_file);
- lines[linecnt++] = PL_strdup(buf);
- modified_key=1;
- }
- else {
- lines[linecnt++] = PL_strdup(inbuf);
- }
- }
- fclose(f);
-
- if ((!modified_security) &&
- (security && *security != '\0')) {
- /* security not found - put it in */
- PR_snprintf(buf, sizeof(buf), "security: %s\n", security);
- lines[linecnt++] = PL_strdup(buf);
- }
- if ((!modified_cert) &&
- (cert_file && *cert_file != '\0')) {
- /* certDBFile not found - put it in */
- PR_snprintf(buf, sizeof(buf), "certDBFile: %s%c%s\n",
- sroot, FILE_PATHSEP, cert_file);
- lines[linecnt++] = PL_strdup(buf);
- }
- if ((!modified_key) &&
- (key_file && *key_file != '\0')) {
- /* keyDBFile not found - put it in */
- PR_snprintf(buf, sizeof(buf), "keyDBFile: %s%c%s\n",
- sroot, FILE_PATHSEP, key_file);
- lines[linecnt++] = PL_strdup(buf);
+
+ if (is_dir_ok(securitydir)) {
+ admldapSetSecurityDir(admInfo, securitydir);
}
-
- f = fopen(filename, "w");
- if (f==NULL) {
- fclose(f);
+
+ if (admldapWriteInfoFile(admInfo)) {
servssl_error("Can not open adm.conf for writing");
}
-
- for (i=0; i < linecnt; i++) {
- fprintf(f, "%s", lines[i]);
- }
-
- fclose(f);
+ destroyAdmldap(admInfo);
}
@@ -920,12 +583,11 @@
PR_IMPLEMENT(PRFileDesc*)
-SSLSocket_init(PRFileDesc *req_socket)
+SSLSocket_init(PRFileDesc *req_socket, const char *configdir, const char *securitydir)
{
PRFileDesc *ssl_socket = NULL;
- char *serverRoot = getenv("NETSITE_ROOT");
- if (ADMSSL_InitSimple() != 0) {
+ if (ADMSSL_InitSimple((char *)configdir, (char *)securitydir) != 0) {
PR_Close(ssl_socket);
return NULL;
}
Index: certmgt.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadmsslutil/certmgt.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- certmgt.c 20 Jul 2005 22:51:33 -0000 1.1.1.1
+++ certmgt.c 4 Apr 2007 19:37:47 -0000 1.2
@@ -37,26 +37,6 @@
#include <stdlib.h>
#include <string.h>
-/*
- * This function should not be used as of NSS 3.2. Open of CERTDB is
- * done with NSS initialize functions.
- */
-PR_IMPLEMENT(int)
-cmgOpenCertDB(char * alias, CERTCertDBHandle **dbhandle)
-{
- servssl_error("cmgOpenCertDB should not be used as of NSS 3.2\n");
- return -1;
-}
-
-/*
- * This function should not be used as of NSS 3.2. Close of CERTDB is
- * done with NSS_Shutdown() call.
- */
-PR_IMPLEMENT(void)
-cmgCloseCertDB(CERTCertDBHandle * handle)
-{
- servssl_error("cmgCloseCertDB should not be used as of NSS 3.2\n");
-}
/* Get a representative string for a given SECName */
PR_IMPLEMENT(char *)
@@ -82,40 +62,6 @@
return PORT_Strdup(s);
}
-PR_IMPLEMENT(int)
-cmgShowCerts(CERTCertDBHandle * handle, char * caption)
-{
- servssl_error("cmgShowCerts() is not ported to NSS 3.2 as not used (HTML)\n");
- return -1;
-}
-
-
-/*
- * cmgShowCertsBySlot
- * Output a list of server certificates belonging to an external slot.
- * (no HTML output)
- */
-
-PR_IMPLEMENT(int)
-cmgShowCertsBySlot(PK11SlotInfo *slot)
-{
- servssl_error("cmgShowCertsBySlot is not ported to NSS 3.2 as not used\n");
- return -1;
-}
-
-
-/*
- * cmgShowInternalCerts
- * Output a list of server certificates belonging to an internal slot.
- * (Unlike cmgShowCerts, this has no HTML output)
- */
-
-PR_IMPLEMENT(int)
-cmgShowInternalCerts(CERTCertDBHandle *handle)
-{
- servssl_error("cmgShowInternalCerts is not ported to NSS 3.2 as not used\n");
- return -1;
-}
static SECStatus cmgShowCrlRow(CERTSignedCrl *crl)
{
@@ -156,156 +102,6 @@
}
-#define BREAK "<br>"
-#define BREAKLEN 4
-#define COMMA ", "
-#define COMMALEN 2
-
-/********
- XXX Out of date, use at your own risk!
- We now use CERT_FormatName instead. -Adam
-*********/
-
-PR_IMPLEMENT(char *)
-cmgFormatName(CERTName *name)
-{
- CERTRDN** rdns;
- CERTRDN *rdn;
- CERTAVA** avas;
- CERTAVA* ava;
- char *buf = 0;
- char *tmpbuf = 0;
- unsigned len = 0;
- int tag;
- SECItem *cn, *email, *org, *orgunit, *loc, *state, *country;
- PRBool first;
-
- cn = 0;
- email = 0;
- org = 0;
- orgunit = 0;
- loc = 0;
- state = 0;
- country = 0;
-
- /* Loop over name components and gather the interesting ones */
- rdns = name->rdns;
- while ((rdn = *rdns++) != 0) {
- avas = rdn->avas;
- while ((ava = *avas++) != 0) {
- tag = CERT_GetAVATag(ava);
- switch(tag) {
- case SEC_OID_AVA_COMMON_NAME:
- cn = &ava->value;
- len += cn->len;
- break;
- case SEC_OID_AVA_COUNTRY_NAME:
- country = &ava->value;
- len += country->len;
- break;
- case SEC_OID_AVA_LOCALITY:
- loc = &ava->value;
- len += loc->len;
- break;
- case SEC_OID_AVA_STATE_OR_PROVINCE:
- state = &ava->value;
- len += state->len;
- break;
- case SEC_OID_AVA_ORGANIZATION_NAME:
- org = &ava->value;
- len += org->len;
- break;
- case SEC_OID_AVA_ORGANIZATIONAL_UNIT_NAME:
- orgunit = &ava->value;
- len += orgunit->len;
- break;
- case SEC_OID_PKCS9_EMAIL_ADDRESS:
- email = &ava->value;
- len += email->len;
- break;
- default:
- break;
- }
- }
- }
-
- /* XXX - add some for formatting */
- len += 128;
-
- /* allocate buffer */
- buf = (char *)PORT_Alloc(len);
- if ( !buf ) {
- return(0);
- }
-
- tmpbuf = buf;
-
- if ( cn ) {
- PORT_Memcpy(tmpbuf, cn->data + 2, cn->len - 2);
- tmpbuf += ( cn->len - 2 );
- PORT_Memcpy(tmpbuf, BREAK, BREAKLEN);
- tmpbuf += BREAKLEN;
- }
- if ( email ) {
- PORT_Memcpy(tmpbuf, email->data + 2, email->len - 2);
- tmpbuf += ( email->len - 2 );
- PORT_Memcpy(tmpbuf, BREAK, BREAKLEN);
- tmpbuf += BREAKLEN;
- }
- if ( orgunit ) {
- PORT_Memcpy(tmpbuf, orgunit->data + 2, orgunit->len - 2);
- tmpbuf += ( orgunit->len - 2 );
- PORT_Memcpy(tmpbuf, BREAK, BREAKLEN);
- tmpbuf += BREAKLEN;
- }
- if ( org ) {
- PORT_Memcpy(tmpbuf, org->data + 2, org->len - 2);
- tmpbuf += ( org->len - 2 );
- PORT_Memcpy(tmpbuf, BREAK, BREAKLEN);
- tmpbuf += BREAKLEN;
- }
- first = PR_TRUE;
- if ( loc ) {
- PORT_Memcpy(tmpbuf, loc->data + 2, loc->len - 2);
- tmpbuf += ( loc->len - 2 );
- first = PR_FALSE;
- }
- if ( state ) {
- if ( !first ) {
- PORT_Memcpy(tmpbuf, COMMA, COMMALEN);
- tmpbuf += COMMALEN;
- }
- PORT_Memcpy(tmpbuf, state->data + 2, state->len - 2);
- tmpbuf += ( state->len - 2 );
- first = PR_FALSE;
- }
- if ( country ) {
- if ( !first ) {
- PORT_Memcpy(tmpbuf, COMMA, COMMALEN);
- tmpbuf += COMMALEN;
- }
- PORT_Memcpy(tmpbuf, country->data + 2, country->len - 2);
- tmpbuf += ( country->len - 2 );
- first = PR_FALSE;
- }
- if ( !first ) {
- PORT_Memcpy(tmpbuf, BREAK, BREAKLEN);
- tmpbuf += BREAKLEN;
- }
-
- *tmpbuf = 0;
-
- return(buf);
-}
-
-PR_IMPLEMENT(char *)
-cmgHTMLCertInfo(CERTCertificate *cert)
-{
- servssl_error("cmgHTMLCertInfo() is not ported to NSS 3.2 as not used (HTML)\n");
- return NULL;
-}
-
-
PR_IMPLEMENT(char *)
cmgHTMLCrlInfo(CERTSignedCrl *crl)
{
@@ -314,7 +110,6 @@
#define NCHARPERLINE 50
#define NLINES 20
- const int output_buflen = NCHARPERLINE * NLINES;
char * outputBuffer;
if (!crl) {
@@ -402,21 +197,3 @@
else
return NULL;
}
-
-
-void
-ByteRev(unsigned char *cpLENumber, int iSize)
-{
- int iCursor = 0, iLimit;
- unsigned char cTemp;
-
- iLimit = iSize/2; /* Last byte to exchange */
- for (; iCursor<iLimit; iCursor++)
- {
- cTemp = *(cpLENumber+iCursor);
- *(cpLENumber+iCursor) = *(cpLENumber+iSize-iCursor-1);
- *(cpLENumber+iSize-iCursor-1) = cTemp;
- }
-
- return;
-}
Index: psetcssl.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadmsslutil/psetcssl.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- psetcssl.c 11 May 2006 23:30:32 -0000 1.2
+++ psetcssl.c 4 Apr 2007 19:37:47 -0000 1.3
@@ -25,6 +25,7 @@
#include <ctype.h>
#include "ldap.h"
#include "ldap_ssl.h"
+#include "libadminutil/distadm.h"
#include "libadmsslutil/psetcssl.h"
#ifdef XP_WIN32
@@ -36,13 +37,53 @@
#define PATH_MAX 256
#endif
+/* returns true if the given path is a valid directory, false otherwise */
+static int
+is_dir_ok(const char *path)
+{
+ PRFileInfo prinfo;
+ int ret = 0;
+
+ if (path && *path &&
+ (PR_SUCCESS == PR_GetFileInfo(path, &prinfo)) &&
+ prinfo.type == PR_FILE_DIRECTORY) {
+ ret = 1;
+ }
+
+ return ret;
+}
+
+/* returns full path and file name if the file was found somewhere, false otherwise
+ file may not yet exist, but we will create it if the dir exists */
+static char *
+find_file_in_paths(
+ const char *filename, /* the base filename to look for */
+ const char *path /* path given by caller */
+)
+{
+ char *retval = NULL;
+ char *adminutilConfDir = getenv(ADMINUTIL_CONFDIR_ENV_VAR);
+
+ /* try given path */
+ if (!is_dir_ok(path)) {
+ if (is_dir_ok(adminutilConfDir)) {
+ path = adminutilConfDir;
+ } else {
+ return retval;
+ }
+ }
+ retval = PR_smprintf("%s/%s", path, filename);
+
+ return retval;
+}
+
PR_IMPLEMENT(PsetHndl)
psetRealLDAPImportSSL(PsetHndl pseth, char* ldapHost, int ldapPort,
int secure, char* sieDN, char* userDN, char* passwd,
char* configFile, char* filter, int* errorcode)
{
LDAP *ld = NULL;
- PsetHndl psethndl;
+ PsetHndl psethndl = NULL;
int ldapError, unbindF = 0;
if ((!ldapHost) || (ldapPort < 1) || (!sieDN)) {
@@ -68,12 +109,14 @@
case LDAP_INSUFFICIENT_ACCESS:
/* authenticate failed: Should not continue */
/* ldap_perror( pset->ld, "ldap_simple_bind_s" ); */
+ ldap_unbind(ld);
*errorcode = PSET_AUTH_FAIL;
return NULL;
case LDAP_NO_SUCH_OBJECT:
case LDAP_ALIAS_PROBLEM:
case LDAP_INVALID_DN_SYNTAX:
/* Not a good DN */
+ ldap_unbind(ld);
*errorcode = PSET_ENTRY_NOT_EXIST;
return NULL;
default:
@@ -111,12 +154,10 @@
int* errorcode)
{
PsetHndl pset;
- AdmldapInfo ldapInfo= NULL, admLdapInfo=NULL;
- char *serverRoot = getenv("NETSITE_ROOT");
- char path[PATH_MAX], *ldapHost=NULL, *sieDN, *bindPasswd = NULL;
- char *secureStr = NULL;
+ AdmldapInfo ldapInfo= NULL;
+ char *path = NULL, *ldapHost=NULL, *sieDN, *bindPasswd = NULL;
char *userDN = NULL;
- int ldapPort = 389, dummy, secure = 0;
+ int ldapPort = -1, secure = 0;
ldapInfo = admldapBuildInfo(configRoot, errorcode);
@@ -126,18 +167,6 @@
ldapHost = admldapGetHost(ldapInfo);
ldapPort = admldapGetPort(ldapInfo);
- /* For non-admin server, if no ldap information, get ldap host and port
- from admin server */
- if (strcasecmp(serverID, "admin-serv")) {
- if (!ldapHost && serverRoot) {
- PR_snprintf(path, sizeof(path), "%s%cadmin-serv%cconfig",
- serverRoot, FILE_PATHSEP, FILE_PATHSEP);
- admLdapInfo = admldapBuildInfo(configRoot, &dummy);
- ldapHost = admldapGetHost(admLdapInfo);
- ldapPort = admldapGetPort(admLdapInfo);
- }
- }
-
*errorcode = PSET_OP_OK;
if (!ldapHost) ldapHost = PL_strdup("localhost");
@@ -152,6 +181,9 @@
/* Get SIE and password */
sieDN = admldapGetSIEDN(ldapInfo);
if (!user) {
+ ADM_GetUserDNString(errorcode, &user);
+ }
+ if (!user) {
ADM_GetCurrentUsername(errorcode, &user);
}
/* if user is just attr val, get dn */
@@ -166,17 +198,19 @@
}
}
- if (configRoot)
- PR_snprintf(path, sizeof(path), "%s%clocal.conf", configRoot, FILE_PATHSEP);
- else
- PR_snprintf(path, sizeof(path), "%s%c%s%cconfig%clocal.conf",
- serverRoot, FILE_PATHSEP, serverID, FILE_PATHSEP, FILE_PATHSEP);
+ /* find local.conf file */
+ if (!(path = find_file_in_paths("local.conf", configRoot))) {
+ /* error - no valid file or dir could be found */
+ *errorcode = PSET_ENV_ERR;
+ }
pset = psetRealCreateSSL(ldapHost, ldapPort, secure, sieDN, userDN,
bindPasswd, path, errorcode);
destroyAdmldap(ldapInfo);
+ PR_Free(userDN);
PR_Free(ldapHost);
PR_Free(sieDN);
+ PR_smprintf_free(path);
if (!passwd) { if (bindPasswd) PR_Free(bindPasswd); }
return pset;
}
Index: secpwd.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadmsslutil/secpwd.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- secpwd.c 20 Jul 2005 22:51:33 -0000 1.1.1.1
+++ secpwd.c 4 Apr 2007 19:37:47 -0000 1.2
@@ -39,6 +39,10 @@
#include <termios.h>
#include <stdio.h>
+#if HAVE_UNISTD_H == 1
+#include <unistd.h>
+#endif
+
static void echoOff(int fd)
{
if (isatty(fd)) {
Index: srvutilssl.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadmsslutil/srvutilssl.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- srvutilssl.c 3 Nov 2006 21:26:35 -0000 1.3
+++ srvutilssl.c 4 Apr 2007 19:37:47 -0000 1.4
@@ -80,7 +80,8 @@
nl = retrieveSIEs(domainPset, domainDN, adminName);
- psetDelete(domainPset); /* free sie, domainDN, internally */
+ psetDelete(domainPset);
+ if (domainDN) PR_Free(domainDN);
if (sie) PR_Free(sie);
if (isie) PR_Free(isie);
return nl;
@@ -136,6 +137,7 @@
resultList = retrieveISIEs(domainPset, domainDN);
psetDelete(domainPset);
+ PR_Free(isie);
return resultList;
err:
if (isie) PR_Free(isie);
Index: uginfossl.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadmsslutil/uginfossl.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- uginfossl.c 3 Nov 2006 21:26:35 -0000 1.2
+++ uginfossl.c 4 Apr 2007 19:37:47 -0000 1.3
@@ -34,9 +34,8 @@
static AdmldapInfo
-admldapCGIbuild(int* error_code)
+admldapCGIbuild(AdmldapInfo ldapInfo, int* error_code)
{
- AdmldapInfo ldapInfo;
char *localAdmin = 0;
char *username = 0;
char *binddn = 0;
@@ -45,17 +44,11 @@
LDAP *ld;
int rv, err;
int ldapError;
- char *admroot = getenv("ADMSERV_ROOT");
- /* Get UserDN and User Password */
- if (admroot) {
- ldapInfo = admldapBuildInfo(admroot, &rv);
- }
- else {
+ if (!ldapInfo) {
*error_code = ADMUTIL_ENV_ERR;
return NULL;
}
-
/* Get UserDN and User Password */
rv = ADM_GetUserDNString(&err, &binddn);
@@ -156,16 +149,16 @@
}
PR_IMPLEMENT(int)
-admldapSetAdmGrpUserDirectoryCGI(char* directoryURL,
+admldapSetAdmGrpUserDirectoryCGI(AdmldapInfo ldapInfo,
+ char* directoryURL,
char* bindDN,
char* bindPassword,
char* directoryInfoRef,
int* error_code)
{
int errorCode, status;
- AdmldapInfo ldapInfo;
- if ((ldapInfo = admldapCGIbuild(&errorCode)) == NULL) {
+ if ((ldapInfo = admldapCGIbuild(ldapInfo, &errorCode)) == NULL) {
*error_code = UG_OP_FAIL;
return 0;
}
@@ -177,21 +170,20 @@
directoryInfoRef,
error_code);
- destroyAdmldap(ldapInfo);
return status;
}
PR_IMPLEMENT(int)
-admldapSetDomainUserDirectoryCGI(char* directoryURL,
+admldapSetDomainUserDirectoryCGI(AdmldapInfo ldapInfo,
+ char* directoryURL,
char* bindDN,
char* bindPassword,
char* directoryInfoRef,
int* error_code)
{
int errorCode, status;
- AdmldapInfo ldapInfo;
- if ((ldapInfo = admldapCGIbuild(&errorCode)) == NULL) {
+ if ((ldapInfo = admldapCGIbuild(ldapInfo, &errorCode)) == NULL) {
*error_code = UG_OP_FAIL;
return 0;
}
@@ -203,6 +195,5 @@
directoryInfoRef,
error_code);
- destroyAdmldap(ldapInfo);
return status;
}
17 years, 1 month
[Fedora-directory-commits] adminutil/tests nsroot.ldif, NONE, 1.1 psetread.c, NONE, 1.1 psetreadssl.c, NONE, 1.1 psetwrite.c, NONE, 1.1 retrieveSIEssl.c, NONE, 1.1 setup.sh, NONE, 1.1 readme.txt, 1.1, 1.2 retrieveSIE.c, 1.2, 1.3
by Doctor Conrad
Author: rmeggins
Update of /cvs/dirsec/adminutil/tests
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30346/adminutil/tests
Modified Files:
readme.txt retrieveSIE.c
Added Files:
nsroot.ldif psetread.c psetreadssl.c psetwrite.c
retrieveSIEssl.c setup.sh
Log Message:
Resolves: bug 234420
Bug Description: adminutil: Use FHS paths and general code cleanup
Reviewed by: nkinder (Thanks!)
Fix Description:
1) Added a propertydir parameter to Makefile.am. This is where the .res files go. This also gets baked into the code so that the library knows where to find them.
2) The icu code expects the .res files to be in a packagename directory - packagename/foo.res not packagename_foo.res. I don't know how this ever worked. I also added en_US.res and en.res - icu recommends having the actual locale file rather than just falling back to the default root.res - see http://icu-project.org/userguide/ResourceManagement.html
3) There was quite a bit of dead code that I got rid of
4) Fixed many compiler warnings
5) There were quite a few memory leaks. The biggest one was probably in psetDelete, which did not actually delete the pset. Another one was the resource string handling - this returns malloc'd memory, and was never freed. I added the option to pass in a static sized buffer to hold the resource string - this may be truncated but we usually won't care. There were several places where the code was calling PR_Free on a data structure pointer - doing a "shallow" free rather than a "deep" free of all of the pointers in the data structure.
6) I merged in configuration from dbswitch.conf and other config files so that we could get rid of them and just have adm.conf. We'll have to take care of this during migration.
Platforms tested: RHEL4, FC6
Flag Day: no
Doc impact: no
--- NEW FILE nsroot.ldif ---
version: 1
# entry-id: 1
dn: o=NetscapeRoot
objectClass: top
objectClass: organization
o: NetscapeRoot
creatorsName: cn=directory manager
modifiersName: cn=directory manager
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a203-1dd211b2-8008e98c-0e470000
aci: (targetattr="*")(version 3.0; acl "Enable Configuration Administrator Group modification"; allow (all) groupdn="ldap:///cn=Configuration Administrators, ou=Groups, ou=TopologyManagement, o=NetscapeRoot";)
aci: (targetattr="*")(targetfilter=(o=NetscapeRoot))(version 3.0; acl "Default anonymous access"; allow (read, search) userdn="ldap:///anyone";)
aci: (targetattr="*")(version 3.0; acl "Enable Group Expansion"; allow (read, search, compare) groupdnattr="uniquemember";)
# entry-id: 2
dn: ou=TopologyManagement, o=NetscapeRoot
objectClass: top
objectClass: organizationalunit
ou: TopologyManagement
description: Branch for Configuration Administration users and groups
creatorsName: cn=directory manager
modifiersName: cn=directory manager
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a204-1dd211b2-8008e98c-0e470000
aci: (targetattr!="userPassword")(version 3.0; acl "Enable anonymous access"; allow (read, search, compare)userdn="ldap:///anyone";)
# entry-id: 3
dn: ou=Groups, ou=TopologyManagement, o=NetscapeRoot
objectClass: top
objectClass: organizationalunit
ou: Groups
description: Standard Branch for group entries
creatorsName: cn=directory manager
modifiersName: cn=directory manager
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a205-1dd211b2-8008e98c-0e470000
# entry-id: 4
dn: ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
objectClass: top
objectClass: organizationalunit
ou: Administrators
description: Standard branch for Configuration Administrator (uid) entries
creatorsName: cn=directory manager
modifiersName: cn=directory manager
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a206-1dd211b2-8008e98c-0e470000
# entry-id: 5
dn: cn=Configuration Administrators, ou=Groups, ou=TopologyManagement, o=NetscapeRoot
objectClass: top
objectClass: groupofuniquenames
cn: Configuration Administrators
creatorsName: cn=directory manager
modifiersName: cn=directory manager
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a207-1dd211b2-8008e98c-0e470000
uniqueMember: uid=admin,ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
# entry-id: 6
dn: uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
objectClass: top
objectClass: person
objectClass: organizationalperson
objectClass: inetorgperson
cn: Configuration Administrator
sn: Administrator
givenName: Configuration
uid: admin
passwordExpirationTime: 20380119031407Z
userPassword: {SSHA}reJj+X8MTuLLpc8VfPDfBVsIKlP4md3HMd0ZSw==
creatorsName: cn=directory manager
modifiersName: cn=directory manager
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a208-1dd211b2-8008e98c-0e470000
# entry-id: 7
dn: ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: organizationalunit
objectClass: nsadmindomain
ou: localdomain
description: Standard branch for configuration information
nsAdminDomainName: localdomain
creatorsName: cn=directory manager
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172952Z
nsUniqueId: 5131a209-1dd211b2-8008e98c-0e470000
aci: (targetattr=*)(targetfilter=(ou=localdomain))(version 3.0; acl "Enable anonymous access"; allow(read,search) userdn="ldap:///anyone";)
# entry-id: 8
dn: ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: organizationalunit
ou: Global Preferences
creatorsName: cn=directory manager
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 5131a20a-1dd211b2-8008e98c-0e470000
aci: (targetattr=*)(version 3.0; acl "Enable anonymous access"; allow(read,search) userdn="ldap:///anyone";)
description: Default branch for Fedora Server Products Global Preferences
# entry-id: 9
dn: ou=Host Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: organizationalunit
ou: Host Preferences
creatorsName: cn=directory manager
modifiersName: cn=directory manager
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a20b-1dd211b2-8008e98c-0e470000
# entry-id: 10
dn: cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsHost
objectClass: groupOfUniqueNames
cn: localhost.localdomain
serverHostName: localhost.localdomain
nsOsVersion: Linux 2.6.9-42.0.8.ELsmp #1 SMP Tue Jan 23 13:01:26 EST 2007
nsHardwarePlatform: i686
aci: (targetattr= *)(targetfilter=(nshardwarePlatform=*))(version 3.0; acl "Enable delegated access"; allow (read, search, compare) groupdn="ldap:///cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a20c-1dd211b2-8008e98c-0e470000
uniqueMember: cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
# entry-id: 11
dn: cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: nsAdminGroup
objectClass: groupOfUniqueNames
objectClass: nsDirectoryInfo
objectClass: top
nsAdminGroupName: Server Group
nsConfigRoot: /opt/fedora-ds
nsDirectoryInfoRef: cn=UserDirectory, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
nsAdminSIEDN: cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
aci: (targetattr=*)(targetfilter=(nsconfigRoot=*))(version 3.0; acl "Enable delegated access"; allow (read,search, compare) groupdn="ldap:///cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
aci: (targetattr=*)(version 3.0; acl "Enable delegated access"; allow (read,search,compare) userdn="ldap:///cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
cn: Server Group
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a20d-1dd211b2-8008e98c-0e470000
uniqueMember: cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
uniqueMember: cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
# entry-id: 12
dn: cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: nsApplication
objectClass: groupOfUniqueNames
objectClass: top
cn: Fedora Directory Server
nsProductName: Fedora Directory Server
nsProductVersion: 1.1.0
nsNickName: slapd
nsBuildNumber: 2007.066.1710
nsVendor: Fedora, Inc.
nsInstalledLocation: /opt/fedora-ds
installationTimeStamp: 20070307172853Z
nsExpirationDate: 1183655405
nsBuildSecurity: domestic
aci: (targetattr=*)(targetfilter=(nsNickName=*))(version 3.0; acl "Enable delegated access"; allow (read,search, compare) groupdn="ldap:///cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a20e-1dd211b2-8008e98c-0e470000
uniqueMember: cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsServerMigrationClassname: com.netscape.admin.dirserv.task.MigrateCreate@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsServerCreationClassname: com.netscape.admin.dirserv.task.MigrateCreate@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
# entry-id: 13
dn: cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: netscapeServer
objectClass: nsDirectoryServer
objectClass: nsResourceRef
objectClass: nsConfig
objectClass: groupOfUniqueNames
objectClass: top
nsServerSecurity: off
nsServerID: slapd-localhost
nsBindDN: cn=Directory Manager
nsBaseDN: dc=example,dc=com
serverRoot: /opt/fedora-ds
nsServerPort: 389
nsSecureServerPort: 636
serverProductName: Directory Server (localhost)
serverVersionNumber: 1.1.0
installationTimeStamp: 20070307172853Z
nsSuiteSpotUser: nobody
serverHostName: localhost.localdomain
cn: slapd-localhost
aci: (targetattr=*)(version 3.0; acl "Enable delegated access"; allow (read, search, compare) groupdn="ldap:///cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
aci: (targetattr="uniquemember || serverProductName || administratorContactInfo || userpassword || description")(targetfilter=(objectclass=netscapeServer))(version 3.0; acl "Enable access delegation"; allow (write) groupdn="ldap:///cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
uniqueMember: cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
uniqueMember: cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
userPassword: {SSHA}o6R0OcE3A3L2Ja8oSy610p3d3sKSp+qMr1xvWQ==
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a20f-1dd211b2-8008e98c-0e470000
# entry-id: 14
dn: cn=configuration,cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: nsResourceRef
objectClass: nsAdminObject
objectClass: nsDirectoryInfo
objectClass: top
cn: configuration
nsClassname: com.netscape.admin.dirserv.DSAdmin@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsJarfilename: ds11.jar
nsDirectoryInfoRef: cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
aci: (targetattr=*)(version 3.0; acl "Enable Server configuration"; allow (all) groupdn="ldap:///cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a210-1dd211b2-8008e98c-0e470000
# entry-id: 15
dn: cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
cn: Tasks
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a211-1dd211b2-8008e98c-0e470000
# entry-id: 16
dn: cn=Operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstaskgroup
nsTaskLabel: Operation Tasks Group
cn: Operation
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a212-1dd211b2-8008e98c-0e470000
# entry-id: 17
dn: cn=task summary, cn=Operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsConfig
description: start stop restart Backup Restore KeyCert Authenticate CompleteImport CompleteExport
cn: task summary
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a213-1dd211b2-8008e98c-0e470000
# entry-id: 18
dn: cn=start, cn=Operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Start@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: start
cn: start
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a214-1dd211b2-8008e98c-0e470000
# entry-id: 19
dn: cn=stop, cn=Operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Stop@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: shutdown
cn: stop
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a215-1dd211b2-8008e98c-0e470000
# entry-id: 20
dn: cn=restart, cn=Operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Restart@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: restart
cn: restart
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a216-1dd211b2-8008e98c-0e470000
# entry-id: 21
dn: cn=Backup, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Backup@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: ds_db2bak
cn: Backup
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a217-1dd211b2-8008e98c-0e470000
# entry-id: 22
dn: cn=Restore, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Restore@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: ds_bak2db
cn: Restore
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172853Z
modifyTimestamp: 20070307172853Z
nsUniqueId: 5131a218-1dd211b2-8008e98c-0e470000
# entry-id: 23
dn: cn=KeyCert, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.KeyCert@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: KeyCert
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a219-1dd211b2-8008e98c-0e470000
# entry-id: 24
dn: cn=Authenticate, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Authenticate@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: Authenticate
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a21a-1dd211b2-8008e98c-0e470000
# entry-id: 25
dn: cn=CompleteImport, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.CompleteImport@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: CompleteImport
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a21b-1dd211b2-8008e98c-0e470000
# entry-id: 26
dn: cn=CompleteExport, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.CompleteExport@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: CompleteExport
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a21c-1dd211b2-8008e98c-0e470000
# entry-id: 27
dn: cn=Export, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_db2ldif
cn: Export
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a21d-1dd211b2-8008e98c-0e470000
# entry-id: 28
dn: cn=Import, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_ldif2db
cn: Import
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a21e-1dd211b2-8008e98c-0e470000
# entry-id: 29
dn: cn=ViewLog, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: perl?ds_viewlog.pl
cn: ViewLog
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a21f-1dd211b2-8008e98c-0e470000
# entry-id: 30
dn: cn=ListBackups, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_listdb
cn: ListBackups
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a220-1dd211b2-8008e98c-0e470000
# entry-id: 31
dn: cn=Remove, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_remove
cn: Remove
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a221-1dd211b2-8008e98c-0e470000
# entry-id: 32
dn: cn=CreateVLVIndex, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: vlvindex
cn: CreateVLVIndex
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a222-1dd211b2-8008e98c-0e470000
# entry-id: 33
dn: cn=AddIndex, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: addindex
cn: AddIndex
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a223-1dd211b2-8008e98c-0e470000
# entry-id: 34
dn: cn=SNMPCtrl, cn=operation, cn=Tasks, cn=slapd-localhost, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_snmpctrl
cn: SNMPCtrl
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a224-1dd211b2-8008e98c-0e470000
# entry-id: 35
dn: cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
cn: Tasks
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a225-1dd211b2-8008e98c-0e470000
# entry-id: 36
dn: cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstaskgroup
nsTaskLabel: Operation Tasks Group
cn: Operation
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a226-1dd211b2-8008e98c-0e470000
# entry-id: 37
dn: cn=Migrate, cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: perl?migrateInstance
cn: Migrate
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a227-1dd211b2-8008e98c-0e470000
# entry-id: 38
dn: cn=Create, cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_create
cn: Create
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a228-1dd211b2-8008e98c-0e470000
# entry-id: 39
dn: cn=GetConfigInfo, cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: perl?getConfigInfo
cn: GetConfigInfo
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a229-1dd211b2-8008e98c-0e470000
# entry-id: 40
dn: cn=MigrateLocalDB, cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: perl?migrateLocalDB
cn: MigrateLocalDB
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a22a-1dd211b2-8008e98c-0e470000
# entry-id: 41
dn: ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: organizationalUnit
objectClass: extensibleObject
ou: admin
nsmerge: ADD_IF_EMPTY
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 5131a22b-1dd211b2-8008e98c-0e470000
# entry-id: 42
dn: ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: organizationalunit
objectClass: extensibleObject
ou: 4.0
nsmerge: ADD_IF_EMPTY
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 5131a22c-1dd211b2-8008e98c-0e470000
# entry-id: 43
dn: cn=ResourceEditorExtension, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
objectClass: extensibleObject
cn: ResourceEditorExtension
nsmerge: ADD_IF_EMPTY
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 5131a22d-1dd211b2-8008e98c-0e470000
# entry-id: 44
dn: cn=nsroledefinition, cn=ResourceEditorExtension, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
cn: nsroledefinition
objectClass: top
objectClass: extensibleObject
objectClass: nsResourceRef
objectClass: nsAdminResourceEditorExtension
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.roledit.ResEditorRoleInfo(a)ds11.jar
nsClassname: com.netscape.admin.dirserv.roledit.ResEditorRoleMembers(a)ds11.jar
nsClassname: com.netscape.admin.dirserv.roledit.ResEditorRoleAccountPage(a)ds11.jar
nsmerge: {nsclassname}MULTI_MERGE
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 5131a22e-1dd211b2-8008e98c-0e470000
# entry-id: 45
dn: cn=cossuperdefinition, cn=ResourceEditorExtension, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
cn: cossuperdefinition
objectClass: top
objectClass: extensibleObject
objectClass: nsResourceRef
objectClass: nsAdminResourceEditorExtension
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.cosedit.ResEditorCosInfo(a)ds11.jar
nsClassname: com.netscape.admin.dirserv.cosedit.ResEditorCosAttributes(a)ds11.jar
nsClassname: com.netscape.admin.dirserv.cosedit.ResEditorCosTemplate(a)ds11.jar
nsmerge: {nsclassname}MULTI_MERGE
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 5131a22f-1dd211b2-8008e98c-0e470000
# entry-id: 46
dn: cn=UserDirectory, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsDirectoryInfo
cn: UserDirectory
nsDirectoryURL: ldap://localhost.localdomain:389/dc=example,dc=com
nsDirectoryFailoverList:
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a230-1dd211b2-8008e98c-0e470000
# entry-id: 47
dn: cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsApplication
objectClass: groupOfUniqueNames
cn: Fedora Administration Server
nsVendor: Fedora, Inc.
nsProductName: Fedora Administration Server
nsNickName: admin
nsProductVersion: 7.0
nsBuildNumber: 2006.207.021
nsInstalledLocation: /opt/fedora-ds
installationTimeStamp: 20070307172854Z
nsBuildSecurity: domestic
nsServerMigrationClassname: com.netscape.management.admserv.AdminServerProduct(a)admserv70.jar
aci: (targetattr=*)(targetfilter=(nsNickName=*))(version 3.0; acl "Enable delegated access"; allow (read,search, compare) groupdn="ldap:///cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a238-1dd211b2-8008e98c-0e470000
uniqueMember: cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
# entry-id: 48
dn: cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
passwordExpirationTime: 20380118031417
objectClass: top
objectClass: netscapeServer
objectClass: nsAdminServer
objectClass: nsResourceRef
objectClass: groupOfUniqueNames
cn: admin-serv-localhost
nsServerID: admin-serv
serverRoot: /opt/fedora-ds
serverProductName: Administration Server
serverHostName: localhost.localdomain
aci: (targetattr=*)(version 3.0; acl "Enable delegated access"; allow (read, search, compare) groupdn="ldap:///cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
aci: (targetattr="uniquemember || serverProductName || administratorContactInfo || userpassword || description")(targetfilter=(objectclass=netscapeServer))(version 3.0; acl "Enable access delegation"; allow (write) groupdn="ldap:///cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
uniqueMember: cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
installationTimeStamp: 20070307172854Z
userPassword: {SSHA}/Hki1EvTkF/WHA9HGGvxDMWpyyydXINotO3v8g==
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a239-1dd211b2-8008e98c-0e470000
# entry-id: 49
dn: cn=configuration, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: nsConfig
objectClass: nsAdminConfig
objectClass: nsAdminObject
objectClass: nsDirectoryInfo
objectClass: top
cn: Configuration
nsServerPort: 32348
nsSuiteSpotUser: root
nsServerAddress:
nsAdminEnableEnduser: on
nsAdminEnableDSGW: on
nsDirectoryInfoRef: cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsAdminUsers: admin-serv/config/admpw
nsErrorLog: admin-serv/logs/error
nsPidLog: admin-serv/logs/pid
nsAccessLog: admin-serv/logs/access
nsAdminCacheLifetime: 600
nsAdminAccessHosts: *.localdomain
nsAdminAccessAddresses: *
nsAdminOneACLDir: adminacl
aci: (targetattr=*)(version 3.0; acl "Enable delegated admin to access configuration"; allow (read,search) groupdn="ldap:///cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
aci: (targetattr=*)(version 3.0; acl "Enable Server configuration"; allow (all) groupdn="ldap:///cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
nsDefaultAcceptLanguage: en
nsClassname: com.netscape.management.admserv.AdminServer@admserv70.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a23a-1dd211b2-8008e98c-0e470000
# entry-id: 50
dn: cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
cn: Tasks
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a23b-1dd211b2-8008e98c-0e470000
# entry-id: 51
dn: cn=Operation, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstaskgroup
nsTaskLabel: Operation Tasks Group
cn: Operation
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a23c-1dd211b2-8008e98c-0e470000
# entry-id: 52
dn: cn=Stop, cn=Operation, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/stopadm.html
nsExecRef: stopsrv
nsClassname: com.netscape.management.admserv.task.Stop@admserv70.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: Stop
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a23d-1dd211b2-8008e98c-0e470000
# entry-id: 53
dn: cn=Restart, cn=Operation, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/restartadm.html
nsExecRef: restartsrv
nsClassname: com.netscape.management.admserv.task.Restart@admserv70.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: Restart
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a23e-1dd211b2-8008e98c-0e470000
# entry-id: 54
dn: cn=Authenticate, cn=Operation, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
nsHelpRef: admin/userauth.html
nsExecRef: userauth
cn: Authenticate
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a23f-1dd211b2-8008e98c-0e470000
# entry-id: 55
dn: cn=ListOldServers, cn=Operation, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: listOldSrvs
cn: ListOldServers
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a240-1dd211b2-8008e98c-0e470000
# entry-id: 56
dn: cn=StartConfigDS, cn=Operation, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
nsExecRef: start_config_ds
cn: StartConfigDS
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a241-1dd211b2-8008e98c-0e470000
# entry-id: 57
dn: cn=MigrateConfig, cn=Operation, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: migrateConfig
cn: MigrateConfig
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a242-1dd211b2-8008e98c-0e470000
# entry-id: 58
dn: cn=MergeConfig, cn=Operation, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: mergeConfig
cn: MergeConfig
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a243-1dd211b2-8008e98c-0e470000
# entry-id: 59
dn: cn=StatusPing, cn=Operation, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: statusping
nsLogSuppress: true
cn: StatusPing
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a244-1dd211b2-8008e98c-0e470000
# entry-id: 60
dn: cn=Configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstaskgroup
nsTaskLabel: Configuration Tasks Group
cn: Configuration
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a245-1dd211b2-8008e98c-0e470000
# entry-id: 61
dn: cn=ServerSetup, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: config
nsClassname: com.netscape.management.admserv.task.ServerSetup@admserv70.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: ServerSetup
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a246-1dd211b2-8008e98c-0e470000
# entry-id: 62
dn: cn=DirectorySetup, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: dsconfig
cn: DirectorySetup
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a247-1dd211b2-8008e98c-0e470000
# entry-id: 63
dn: cn=UGDirectorySetup, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ugdsconfig
cn: UGDirectorySetup
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a248-1dd211b2-8008e98c-0e470000
# entry-id: 64
dn: cn=AccessSetup, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: admpw
cn: AccessSetup
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a249-1dd211b2-8008e98c-0e470000
# entry-id: 65
dn: cn=Logging, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/logging.html
nsExecRef: config
nsClassname: com.netscape.management.admserv.task.Logging@admserv70.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: Logging
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a24a-1dd211b2-8008e98c-0e470000
# entry-id: 66
dn: cn=SecurityOp, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: security
cn: SecurityOp
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a24b-1dd211b2-8008e98c-0e470000
# entry-id: 67
dn: cn=CertSetup, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/certrequest.html
nsClassname: com.netscape.management.admserv.task.CertSetup@admserv70.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: CertSetup
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a24c-1dd211b2-8008e98c-0e470000
# entry-id: 68
dn: cn=SSLActivate, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/ssl_activate.html
nsExecRef: sec-activate
cn: SSLActivate
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a24d-1dd211b2-8008e98c-0e470000
# entry-id: 69
dn: cn=ReadLog, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/logging.html
nsExecRef: ReadLog
cn: ReadLog
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a24e-1dd211b2-8008e98c-0e470000
# entry-id: 70
dn: cn=HTMLAdmin, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/htmladmin.html
nsExecRef: htmladmin
cn: HTMLAdmin
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a24f-1dd211b2-8008e98c-0e470000
# entry-id: 71
dn: cn=StatPingServ, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/statpingserv.html
nsExecRef: statpingserv
cn: StatPingServ
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a250-1dd211b2-8008e98c-0e470000
# entry-id: 72
dn: cn=ViewData, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/viewdata.html
nsExecRef: viewdata
cn: ViewData
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a251-1dd211b2-8008e98c-0e470000
# entry-id: 73
dn: cn=ViewLog, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/viewlog.html
nsExecRef: viewlog
cn: ViewLog
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a252-1dd211b2-8008e98c-0e470000
# entry-id: 74
dn: cn=MonReplication, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/monreplication.html
nsExecRef: monreplication
cn: MonReplication
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a253-1dd211b2-8008e98c-0e470000
# entry-id: 75
dn: cn=repl-monitor-cgi.pl, cn=configuration, cn=Tasks, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsHelpRef: admin/monreplication.html
nsExecRef: perl?repl-monitor-cgi.pl
cn: repl-monitor-cgi.pl
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a254-1dd211b2-8008e98c-0e470000
# entry-id: 76
dn: cn=Commands, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
cn: Commands
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a255-1dd211b2-8008e98c-0e470000
# entry-id: 77
dn: cn=sync-task-sie-data, cn=Commands, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
nsHelpRef: admin/sync-task-sie-data.html
nsExecRef: runtime
cn: sync-task-sie-data
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a256-1dd211b2-8008e98c-0e470000
# entry-id: 78
dn: cn=change-sie-password, cn=Commands, cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
nsExecRef: runtime
cn: change-sie-password
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a257-1dd211b2-8008e98c-0e470000
# entry-id: 79
dn: ou=UserPreferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: organizationalUnit
ou: UserPreferences
aci: (targetattr = "*")(version 3.0; acl "Allow saving of User Preferences"; allow (add) userdn = "ldap:///all";)
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a258-1dd211b2-8008e98c-0e470000
# entry-id: 80
dn: cn=Common, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
objectClass: nsGlobalParameters
objectClass: extensibleObject
cn: common
nsUniqueAttribute: uid
nsUserIDFormat: firstletter_lastname
nsUserRDNComponent: uid
nsGroupRDNComponent: cn
nsmerge: {nsuniqueattribute}ADD_IF_EMPTY
nsmerge: {nsuseridformat}ADD_IF_EMPTY
nsmerge: {nsuserrdncomponent}ADD_IF_EMPTY
nsmerge: {nsgrouprdncomponent}ADD_IF_EMPTY
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a259-1dd211b2-8008e98c-0e470000
# entry-id: 81
dn: cn=Client, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
objectClass: nsAdminGlobalParameters
objectClass: extensibleObject
cn: Client
nsAdminEndUserHTMLIndex: [--Category:general,General][--Option:edit.cgi?userpinfo,Personal Information][--Option:edit.cgi?userpasswd,Password]
nsNickName: admin,,Fedora Administration Server
nsNickName: https,netshare,Fedora Enterprise Server
nsNickName: httpd,httpd,Fedora FastTrack Server
nsNickName: msg,msg,Fedora Messaging Server
nsNickName: news,news,Fedora Collabra Server
nsNickName: proxy,proxy,Fedora Proxy Server
nsNickName: lmspd,lmspd,Fedora Media Server
nsNickName: slapd,slapd,Fedora Directory Server
nsNickName: cert,cert,Fedora Certificate Server
nsNickName: compass,compass,Fedora Compass Server
nsNickName: catalog,catalog,Fedora Catalog Server
nsNickName: calendar,calendar,Fedora Calendar Server
nsmerge: {nsadminenduserhtmlindex}MULTI_MERGE
nsmerge: {nsnickname}MULTI_MERGE
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a25a-1dd211b2-8008e98c-0e470000
# entry-id: 82
dn: cn=PublicViews, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsAdminConsoleUser
cn: PublicViews
aci: (targetattr = "*")(version 3.0; acl "Allow Authenticated Users to Save Public Views"; allow (all) userdn = "ldap:///all";)
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a25b-1dd211b2-8008e98c-0e470000
# entry-id: 83
dn: cn=CustomView, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
cn: CustomView
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a25c-1dd211b2-8008e98c-0e470000
# entry-id: 84
dn: cn=inetorgPerson, cn=ResourceEditorExtension, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
cn: inetorgPerson
objectClass: nsResourceRef
objectClass: nsAdminResourceEditorExtension
objectClass: top
objectClass: extensibleObject
objectClass: nsAdminObject
nsClassname: com.netscape.management.client.ug.ResEditorUserPage
nsClassname: com.netscape.management.client.ug.ResEditorAccountPage
nsClassname: com.netscape.management.client.ug.LanguagePage
nsClassname: com.netscape.management.client.ug.ResEditorNTUser
nsClassname: com.netscape.management.client.ug.ResEditorPosixUser
nsmerge: {nsclassname}MULTI_MERGE
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a25d-1dd211b2-8008e98c-0e470000
# entry-id: 85
dn: cn=organizationalPerson, cn=ResourceEditorExtension, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
cn: organizationalPerson
objectClass: nsResourceRef
objectClass: nsAdminResourceEditorExtension
objectClass: top
objectClass: extensibleObject
objectClass: nsAdminObject
nsClassname: com.netscape.management.client.ug.ResEditorUserPage
nsClassname: com.netscape.management.client.ug.ResEditorAccountPage
nsClassname: com.netscape.management.client.ug.LanguagePage
nsmerge: {nsclassname}MULTI_MERGE
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a25e-1dd211b2-8008e98c-0e470000
# entry-id: 86
dn: cn=groupofuniquenames, cn=ResourceEditorExtension, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
cn: groupofuniquenames
objectClass: nsResourceRef
objectClass: nsAdminResourceEditorExtension
objectClass: top
objectClass: extensibleObject
objectClass: nsAdminObject
nsClassname: com.netscape.management.client.ug.ResEditorGroupInfo
nsClassname: com.netscape.management.client.ug.ResEditorGroupMembers
nsClassname: com.netscape.management.client.ug.ResEditorAccountPage
nsClassname: com.netscape.management.client.ug.LanguagePage
nsmerge: {nsclassname}MULTI_MERGE
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a25f-1dd211b2-8008e98c-0e470000
# entry-id: 87
dn: cn=organizationalunit, cn=ResourceEditorExtension, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
cn: organizationalunit
objectClass: nsResourceRef
objectClass: nsAdminResourceEditorExtension
objectClass: top
objectClass: extensibleObject
objectClass: nsAdminObject
nsClassname: com.netscape.management.client.ug.OUPage
nsClassname: com.netscape.management.client.ug.LanguagePage
nsmerge: {nsclassname}MULTI_MERGE
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a260-1dd211b2-8008e98c-0e470000
# entry-id: 88
dn: cn=defaultObjectClassesContainer, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
cn: DefaultObjectClassesContainer
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a261-1dd211b2-8008e98c-0e470000
# entry-id: 89
dn: cn=user, cn=defaultObjectClassesContainer, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
objectClass: nsdefaultObjectClasses
cn: user
nsDefaultObjectClass: top
nsDefaultObjectClass: person
nsDefaultObjectClass: organizationalPerson
nsDefaultObjectClass: inetorgperson
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a262-1dd211b2-8008e98c-0e470000
# entry-id: 90
dn: cn=group, cn=defaultObjectClassesContainer, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
objectClass: nsdefaultObjectClasses
cn: group
nsDefaultObjectClass: top
nsDefaultObjectClass: groupofuniquenames
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a263-1dd211b2-8008e98c-0e470000
# entry-id: 91
dn: cn=ou, cn=defaultObjectClassesContainer, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
objectClass: nsdefaultObjectClasses
cn: ou
nsDefaultObjectClass: top
nsDefaultObjectClass: organizationalunit
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a264-1dd211b2-8008e98c-0e470000
# entry-id: 92
dn: cn=topologyplugin, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
objectClass: extensibleObject
cn: topologyplugin
nsmerge: ADD_IF_EMPTY
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a265-1dd211b2-8008e98c-0e470000
# entry-id: 93
dn: cn=defaultplugin, cn=topologyplugin, ou=4.0, ou=Admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstopologyplugin
objectClass: extensibleObject
objectClass: nsAdminObject
cn: defaultplugin
nsClassname: com.netscape.management.client.topology.DefaultTopologyPlugin
nsmerge: {nsclassname}MULTI_MERGE
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172854Z
modifyTimestamp: 20070307172854Z
nsUniqueId: 5131a266-1dd211b2-8008e98c-0e470000
# entry-id: 94
dn: ou="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot",ou=UserPreferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: organizationalUnit
aci: (targetattr=*)(version 3.0; acl "UserDNControl"; allow (all) userdnattr="creatorsname";)
ou: uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172916Z
modifyTimestamp: 20070307172916Z
nsUniqueId: 5131a267-1dd211b2-8008e98c-0e470000
# entry-id: 95
dn: cn=UI,ou=4.0, ou=admin, ou=Global Preferences, ou=localdomain, o=NetscapeRoot
cn: UI
objectClass: top
objectClass: nsAdminConsoleUser
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172916Z
modifyTimestamp: 20070307172916Z
nsUniqueId: 5131a268-1dd211b2-8008e98c-0e470000
# entry-id: 96
dn: ou=Console,ou="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot",ou=UserPreferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: organizationalUnit
ou: Console
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172916Z
modifyTimestamp: 20070307172916Z
nsUniqueId: 5131a269-1dd211b2-8008e98c-0e470000
# entry-id: 97
dn: ou=4.0,ou=Console,ou="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot",ou=UserPreferences, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: organizationalUnit
ou: 4.0
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172916Z
modifyTimestamp: 20070307172916Z
nsUniqueId: 5131a26a-1dd211b2-8008e98c-0e470000
# entry-id: 98
dn: cn=General,ou=4.0,ou=Console,ou="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot",ou=UserPreferences, ou=localdomain, o=NetscapeRoot
cn: General
objectClass: top
objectClass: nsAdminConsoleUser
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172916Z
modifyTimestamp: 20070307174343Z
nsUniqueId: 5131a26b-1dd211b2-8008e98c-0e470000
nsPreference:: IwojV2VkIE1hciAwNyAxMDo0Mzo0NCBNU1QgMjAwNwpXaWR0aD03NTAKU2hvd1N0YXR1c0Jhcj10cnVlClNob3dCYW5uZXJCYXI9dHJ1ZQpZPTE4NQpYPTIwMwpIZWlnaHQ9NTMwCg==
# entry-id: 99
dn: cn=Fonts,ou=4.0,ou=Console,ou="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot",ou=UserPreferences, ou=localdomain, o=NetscapeRoot
cn: Fonts
objectClass: top
objectClass: nsAdminConsoleUser
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172916Z
modifyTimestamp: 20070307172916Z
nsUniqueId: 5131a26c-1dd211b2-8008e98c-0e470000
# entry-id: 100
dn: cn=ResourcePage,ou=4.0,ou=Console,ou="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot",ou=UserPreferences, ou=localdomain, o=NetscapeRoot
cn: ResourcePage
objectClass: top
objectClass: nsAdminConsoleUser
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172916Z
modifyTimestamp: 20070307174343Z
nsUniqueId: 5131a26d-1dd211b2-8008e98c-0e470000
nsPreference:: IwojV2VkIE1hciAwNyAxMDo0Mzo0NCBNU1QgMjAwNwpTaG93VHJlZT10cnVlCg==
# entry-id: 101
dn: cn=CustomViews,ou=4.0,ou=Console,ou="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot",ou=UserPreferences, ou=localdomain, o=NetscapeRoot
cn: CustomViews
objectClass: top
objectClass: nsAdminConsoleUser
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172916Z
modifyTimestamp: 20070307172916Z
nsUniqueId: 5131a26e-1dd211b2-8008e98c-0e470000
# entry-id: 105
dn: cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: netscapeServer
objectClass: nsDirectoryServer
objectClass: nsResourceRef
objectClass: nsConfig
objectClass: groupOfUniqueNames
objectClass: top
nsServerSecurity: off
nsServerID: slapd-localhost2
nsBindDN: cn=directory manager
nsBaseDN: dc=example,dc=com
serverRoot: /opt/fedora-ds
nsServerPort: 399
nsSecureServerPort: 636
serverProductName: Directory Server (localhost2)
serverVersionNumber: 1.1.0
installationTimeStamp: 20070307174048Z
nsSuiteSpotUser: nobody
serverHostName: localhost
cn: slapd-localhost2
aci: (targetattr=*)(version 3.0; acl "Enable delegated access"; allow (read, search, compare) groupdn="ldap:///cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
aci: (targetattr="uniquemember || serverProductName || administratorContactInfo || userpassword || description")(targetfilter=(objectclass=netscapeServer))(version 3.0; acl "Enable access delegation"; allow (write) groupdn="ldap:///cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
uniqueMember: cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
uniqueMember: cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
userPassword: {SSHA}KJeCJhQmZyQnjSR+AS1qL9wTa8rgaksW5Zcz6A==
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: cn=server,cn=plugins,cn=config
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb04-1dd211b2-8008e98c-0e470000
passwordGraceUserTime: 0
# entry-id: 106
dn: cn=configuration,cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: nsResourceRef
objectClass: nsAdminObject
objectClass: nsDirectoryInfo
objectClass: top
cn: configuration
nsClassname: com.netscape.admin.dirserv.DSAdmin@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsJarfilename: ds11.jar
nsDirectoryInfoRef: cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
aci: (targetattr=*)(version 3.0; acl "Enable Server configuration"; allow (all) groupdn="ldap:///cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot";)
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb05-1dd211b2-8008e98c-0e470000
# entry-id: 107
dn: cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
cn: Tasks
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb06-1dd211b2-8008e98c-0e470000
# entry-id: 108
dn: cn=Operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstaskgroup
nsTaskLabel: Operation Tasks Group
cn: Operation
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb07-1dd211b2-8008e98c-0e470000
# entry-id: 109
dn: cn=task summary, cn=Operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsConfig
description: start stop restart Backup Restore KeyCert Authenticate CompleteImport CompleteExport
cn: task summary
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb08-1dd211b2-8008e98c-0e470000
# entry-id: 110
dn: cn=start, cn=Operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Start@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: start
cn: start
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb09-1dd211b2-8008e98c-0e470000
# entry-id: 111
dn: cn=stop, cn=Operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Stop@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: shutdown
cn: stop
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb0a-1dd211b2-8008e98c-0e470000
# entry-id: 112
dn: cn=restart, cn=Operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Restart@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: restart
cn: restart
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb0b-1dd211b2-8008e98c-0e470000
# entry-id: 113
dn: cn=Backup, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Backup@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: ds_db2bak
cn: Backup
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb0c-1dd211b2-8008e98c-0e470000
# entry-id: 114
dn: cn=Restore, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Restore@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
nsExecRef: ds_bak2db
cn: Restore
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb0d-1dd211b2-8008e98c-0e470000
# entry-id: 115
dn: cn=KeyCert, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.KeyCert@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: KeyCert
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb0e-1dd211b2-8008e98c-0e470000
# entry-id: 116
dn: cn=Authenticate, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.Authenticate@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: Authenticate
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb0f-1dd211b2-8008e98c-0e470000
# entry-id: 117
dn: cn=CompleteImport, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.CompleteImport@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: CompleteImport
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb10-1dd211b2-8008e98c-0e470000
# entry-id: 118
dn: cn=CompleteExport, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsClassname: com.netscape.admin.dirserv.task.CompleteExport@ds11.jar(a)cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
cn: CompleteExport
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb11-1dd211b2-8008e98c-0e470000
# entry-id: 119
dn: cn=Export, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_db2ldif
cn: Export
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb12-1dd211b2-8008e98c-0e470000
# entry-id: 120
dn: cn=Import, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_ldif2db
cn: Import
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb13-1dd211b2-8008e98c-0e470000
# entry-id: 121
dn: cn=ViewLog, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: perl?ds_viewlog.pl
cn: ViewLog
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb14-1dd211b2-8008e98c-0e470000
# entry-id: 122
dn: cn=ListBackups, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_listdb
cn: ListBackups
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb15-1dd211b2-8008e98c-0e470000
# entry-id: 123
dn: cn=Remove, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_remove
cn: Remove
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb16-1dd211b2-8008e98c-0e470000
# entry-id: 124
dn: cn=CreateVLVIndex, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: vlvindex
cn: CreateVLVIndex
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb17-1dd211b2-8008e98c-0e470000
# entry-id: 125
dn: cn=AddIndex, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: addindex
cn: AddIndex
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb18-1dd211b2-8008e98c-0e470000
# entry-id: 126
dn: cn=SNMPCtrl, cn=operation, cn=Tasks, cn=slapd-localhost2, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_snmpctrl
cn: SNMPCtrl
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb19-1dd211b2-8008e98c-0e470000
# entry-id: 127
dn: cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nsResourceRef
cn: Tasks
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb1a-1dd211b2-8008e98c-0e470000
# entry-id: 128
dn: cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstaskgroup
nsTaskLabel: Operation Tasks Group
cn: Operation
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb1b-1dd211b2-8008e98c-0e470000
# entry-id: 129
dn: cn=Migrate, cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: perl?migrateInstance
cn: Migrate
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb1c-1dd211b2-8008e98c-0e470000
# entry-id: 130
dn: cn=Create, cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: ds_create
cn: Create
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172952Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb1d-1dd211b2-8008e98c-0e470000
# entry-id: 131
dn: cn=GetConfigInfo, cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: perl?getConfigInfo
cn: GetConfigInfo
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172953Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb1e-1dd211b2-8008e98c-0e470000
# entry-id: 132
dn: cn=MigrateLocalDB, cn=Operation, cn=Tasks, cn=Fedora Directory Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
objectClass: top
objectClass: nstask
objectClass: nsAdminObject
nsExecRef: perl?migrateLocalDB
cn: MigrateLocalDB
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307172953Z
modifyTimestamp: 20070307174048Z
nsUniqueId: 73c3bb1f-1dd211b2-8008e98c-0e470000
# entry-id: 133
dn: cn=DS_MISCELLANEOUS,ou=4.0,ou=Console,ou="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot",ou=UserPreferences, ou=localdomain, o=NetscapeRoot
cn: DS_MISCELLANEOUS
objectClass: top
objectClass: nsAdminConsoleUser
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307173028Z
modifyTimestamp: 20070307173028Z
nsUniqueId: 73c3bb20-1dd211b2-8008e98c-0e470000
# entry-id: 134
dn: cn=TaskTab,ou=4.0,ou=Console,ou="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot",ou=UserPreferences, ou=localdomain, o=NetscapeRoot
cn: TaskTab
objectClass: top
objectClass: nsAdminConsoleUser
creatorsName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
modifiersName: uid=admin,ou=administrators,ou=topologymanagement,o=netscaperoot
createTimestamp: 20070307173030Z
modifyTimestamp: 20070307173030Z
nsUniqueId: 73c3bb21-1dd211b2-8008e98c-0e470000
--- NEW FILE psetread.c ---
/*
* BEGIN COPYRIGHT BLOCK
* Copyright (C) 2005 Red Hat, Inc.
* All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version
* 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* END COPYRIGHT BLOCK
*/
/*
* retireveSIE.c: test program to test an API getServerDNList
* Usage: retireveSIE configdir
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libadminutil/admutil.h"
#include "libadminutil/srvutil.h"
main(int ac, char **av)
{
int _ai=ADMUTIL_Init();
PsetHndl pset = NULL;
char *configdir = NULL;
int rval = 0;
AttributeList nodeAttrs = NULL;
AttributeList iter = NULL;
char *nodeName = NULL;
AttributePtr attrPtr = NULL;
char buf[BUFSIZ];
if (ac > 1) {
configdir = strdup(*(av+1));
}
if (NULL == configdir || 0 == strlen(configdir)) {
fprintf(stderr, "ERROR: config dir was not specified.\n");
rval = -1;
goto done;
} else {
fprintf(stdout, "%s: configdir: %s\n", *av, configdir);
}
pset = psetCreate("slapd-localhost", configdir, NULL, NULL, &rval);
fprintf(stderr, "pset operation returned [%d: %s]\n", rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (!pset || rval) {
goto done;
}
nodeName = PL_strdup("");
nodeAttrs = psetGetAllAttrsACI(pset, nodeName, &rval);
fprintf(stderr, "pset operation returned [%d: %s]\n", rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (!nodeAttrs) {
goto done;
}
iter = nodeAttrs;
while (attrPtr = *iter++) {
char *p = NULL;
int ii = 0;
for (p = attrPtr->attrVal[0]; attrPtr->attrVal && attrPtr->attrVal[ii];
p = attrPtr->attrVal[++ii]) {
fprintf(stderr, "%s: %s\n", attrPtr->attrName, attrPtr->attrVal[ii]);
}
}
deleteAttributeList(nodeAttrs);
nodeAttrs = NULL;
PL_strfree(nodeName);
nodeName = PL_strdup("configuration");
nodeAttrs = psetGetAllAttrsACI(pset, nodeName, &rval);
fprintf(stderr, "pset operation returned [%d: %s]\n", rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (!nodeAttrs) {
goto done;
}
iter = nodeAttrs;
while (attrPtr = *iter++) {
char *p = NULL;
int ii = 0;
for (p = attrPtr->attrVal[0]; attrPtr->attrVal && attrPtr->attrVal[ii];
p = attrPtr->attrVal[++ii]) {
fprintf(stderr, "%s: %s\n", attrPtr->attrName, attrPtr->attrVal[ii]);
}
}
done:
deleteAttributeList(nodeAttrs);
psetDelete(pset);
free(configdir);
PL_strfree(nodeName);
exit(rval);
}
--- NEW FILE psetreadssl.c ---
/*
* BEGIN COPYRIGHT BLOCK
* Copyright (C) 2005 Red Hat, Inc.
* All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version
* 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* END COPYRIGHT BLOCK
*/
/*
* psetreadssl.c: test program to test the pset read apis
* Usage: psetreadssl configdir
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libadminutil/admutil.h"
#include "libadminutil/srvutil.h"
#include "libadmsslutil/psetcssl.h"
main(int ac, char **av)
{
int _ai=ADMUTIL_Init();
PsetHndl pset = NULL;
char *configdir = NULL;
char *securitydir = NULL;
int rval = 0;
AttributeList nodeAttrs = NULL;
AttributeList iter = NULL;
char *nodeName = NULL;
AttributePtr attrPtr = NULL;
char buf[BUFSIZ];
if (ac > 1) {
configdir = strdup(*(av+1));
}
if (ac > 2) {
securitydir = strdup(*(av+2));
}
if (NULL == configdir || 0 == strlen(configdir)) {
fprintf(stderr, "ERROR: config dir was not specified.\n");
rval = -1;
goto done;
} else {
fprintf(stdout, "%s: configdir: %s\n", *av, configdir);
}
if (NULL == securitydir || 0 == strlen(securitydir)) {
fprintf(stderr, "ERROR: security dir was not specified.\n");
rval = -2;
goto done;
} else {
fprintf(stdout, "%s: securitydir: %s\n", *av, securitydir);
}
rval = ADMSSL_InitSimple(configdir, securitydir);
if (rval) {
fprintf(stderr, "ADMSSL_InitSimple(%s,%s) failed: %d\n", configdir, securitydir, rval);
goto done;
}
pset = psetCreateSSL("slapd-localhost", configdir, NULL, NULL, &rval);
fprintf(stderr, "pset operation returned [%d: %s]\n", rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (!pset || rval) {
goto done;
}
nodeName = PL_strdup("");
nodeAttrs = psetGetAllAttrsACI(pset, nodeName, &rval);
fprintf(stderr, "pset operation returned [%d: %s]\n", rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (!nodeAttrs) {
goto done;
}
iter = nodeAttrs;
while (attrPtr = *iter++) {
char *p = NULL;
int ii = 0;
for (p = attrPtr->attrVal[0]; attrPtr->attrVal && attrPtr->attrVal[ii];
p = attrPtr->attrVal[++ii]) {
fprintf(stderr, "%s: %s\n", attrPtr->attrName, attrPtr->attrVal[ii]);
}
}
deleteAttributeList(nodeAttrs);
nodeAttrs = NULL;
PL_strfree(nodeName);
nodeName = PL_strdup("configuration");
nodeAttrs = psetGetAllAttrsACI(pset, nodeName, &rval);
fprintf(stderr, "pset operation returned [%d: %s]\n", rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (!nodeAttrs) {
goto done;
}
iter = nodeAttrs;
while (attrPtr = *iter++) {
char *p = NULL;
int ii = 0;
for (p = attrPtr->attrVal[0]; attrPtr->attrVal && attrPtr->attrVal[ii];
p = attrPtr->attrVal[++ii]) {
fprintf(stderr, "%s: %s\n", attrPtr->attrName, attrPtr->attrVal[ii]);
}
}
done:
free(configdir);
free(securitydir);
psetDelete(pset);
deleteAttributeList(nodeAttrs);
PL_strfree(nodeName);
SSL_ClearSessionCache();
NSS_Shutdown();
exit(rval);
}
--- NEW FILE psetwrite.c ---
/*
* BEGIN COPYRIGHT BLOCK
* Copyright (C) 2005 Red Hat, Inc.
* All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version
* 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* END COPYRIGHT BLOCK
*/
/*
* psetwrite.c: test program to test the pset API
* Usage: psetwrite configdir
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libadminutil/psetc.h"
#include "libadminutil/admutil.h"
#include "libadminutil/srvutil.h"
main(int ac, char **av)
{
int _ai=ADMUTIL_Init();
PsetHndl pset = NULL;
char *configdir = NULL;
int rval = 0;
AttributeList nodeAttrs = NULL;
AttributeList iter = NULL;
char *nodeName = NULL;
AttributePtr attrPtr = NULL;
AttributeList updateList = NULL, addList = NULL;
char *attrs[] = {
"configuration.nsAdminCacheLifetime",
"configuration.nsAdminAccessHosts",
"configuration.nsAdminAccessAddresses",
"configuration.nsAdminEnableEnduser",
"configuration.nsAdminEnableDSGW"
};
int nattrs = sizeof(attrs)/sizeof(attrs[0]);
char *newattrs[] = {
"configuration.attribute1",
"configuration.attribute2",
"configuration.attribute3",
"configuration.attribute4",
"configuration.attribute5"
};
int nnewattrs = sizeof(newattrs)/sizeof(newattrs[0]);
int ii = 0;
ValueType nodeObjectClass = NULL;
ValueType ocList = NULL;
char buf[BUFSIZ];
if (ac > 1) {
configdir = strdup(*(av+1));
}
if (NULL == configdir || 0 == strlen(configdir)) {
fprintf(stderr, "ERROR: config dir was not specified.\n");
rval = -1;
goto done;
} else {
fprintf(stdout, "%s: configdir: %s\n", *av, configdir);
}
pset = psetCreate("slapd-localhost", configdir, NULL, NULL, &rval);
fprintf(stderr, "pset operation returned [%d: %s]\n", rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (!pset || rval) {
goto done;
}
nodeName = PL_strdup("configuration");
nodeAttrs = psetGetAllAttrsACI(pset, nodeName, &rval);
fprintf(stderr, "pset operation returned [%d: %s]\n", rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (!nodeAttrs) {
goto done;
}
iter = nodeAttrs;
while (attrPtr = *iter++) {
char *p = NULL;
int ii = 0;
for (p = attrPtr->attrVal[0]; attrPtr->attrVal && attrPtr->attrVal[ii];
p = attrPtr->attrVal[++ii]) {
fprintf(stderr, "%s: %s\n", attrPtr->attrName, attrPtr->attrVal[ii]);
}
}
deleteAttributeList(nodeAttrs);
nodeAttrs = NULL;
updateList = createAttributeList(nattrs);
while (ii < nattrs) {
addSingleValueAttribute(updateList, ii, attrs[ii], "new value");
++ii;
}
rval = psetSetAttrList(pset, updateList);
if (rval) {
fprintf(stderr, "PSET_ERROR_NUMBER: %d\nPSET_ERROR_INFO: %s\n",
rval,
psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
goto done;
}
deleteAttributeList(updateList);
updateList = NULL;
nodeObjectClass = psetGetObjectClass(pset, nodeName, &rval);
if (rval) {
psetDelete(pset);
fprintf(stderr, "PSET_ERROR_NUMBER: %d\nPSET_ERROR_INFO: %s\n",
rval,
psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
exit(1);
}
ii = 0;
while (nodeObjectClass[ii]) ++ii;
ocList = createAttrNameList(ii+1);
for (ii = 0; nodeObjectClass[ii]; ++ii) {
addName(ocList, ii, nodeObjectClass[ii]);
}
deleteValue(nodeObjectClass);
nodeObjectClass = NULL;
addName(ocList, ii, "extensibleObject");
rval = psetSetAttr(pset, "configuration.objectclass", ocList);
deleteAttrNameList(ocList);
ocList = NULL;
if (rval) {
fprintf(stderr, "PSET_ERROR_NUMBER: %d\nPSET_ERROR_INFO: %s\n",
rval,
psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
goto done;
}
ii = 0;
while (ii < nnewattrs) {
rval = psetAddSingleValueAttribute(pset, newattrs[ii], "new value");
if (rval) {
fprintf(stderr, "PSET_ERROR_NUMBER: %d\nPSET_ERROR_INFO: %s\n",
rval,
psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
goto done;
}
++ii;
}
nodeAttrs = psetGetAllAttrsACI(pset, nodeName, &rval);
fprintf(stderr, "pset operation returned [%d: %s]\n", rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (!nodeAttrs) {
goto done;
}
iter = nodeAttrs;
while (attrPtr = *iter++) {
char *p = NULL;
int ii = 0;
for (p = attrPtr->attrVal[0]; attrPtr->attrVal && attrPtr->attrVal[ii];
p = attrPtr->attrVal[++ii]) {
fprintf(stderr, "%s: %s\n", attrPtr->attrName, attrPtr->attrVal[ii]);
}
}
done:
free(configdir);
psetDelete(pset);
PL_strfree(nodeName);
deleteValue(nodeObjectClass);
deleteAttributeList(nodeAttrs);
deleteAttributeList(updateList);
deleteAttrNameList(ocList);
exit(rval);
}
--- NEW FILE retrieveSIEssl.c ---
/*
* BEGIN COPYRIGHT BLOCK
* Copyright (C) 2005 Red Hat, Inc.
* All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version
* 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* END COPYRIGHT BLOCK
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libadminutil/distadm.h"
#include "libadminutil/admutil.h"
#include "libadminutil/srvutil.h"
#include "libadmsslutil/admsslutil.h"
#include "libadmsslutil/srvutilssl.h"
#include "libadmsslutil/psetcssl.h"
#include "nss.h"
#include "ssl.h"
int
main(int ac, char **av)
{
int _ai=ADMUTIL_Init();
AdmldapInfo ldapInfo = NULL;
AttrNameList nameList = NULL;
AttributeList isieList = NULL;
char *configdir = NULL;
char *securitydir = NULL;
int rval = 0;
char **p;
int siecnt = 0;
char *host = NULL;
char *siedn = NULL;
char *siepwd = NULL;
char buf[BUFSIZ];
if (ac > 1) {
configdir = strdup(*(av+1));
}
if (NULL == configdir || 0 == strlen(configdir)) {
fprintf(stderr, "ERROR: config dir was not specified.\n");
exit(1);
} else {
fprintf(stdout, "%s: configdir: %s\n", *av, configdir);
}
if (ac > 2) {
securitydir = strdup(*(av+2));
}
if (NULL == securitydir || 0 == strlen(securitydir)) {
fprintf(stderr, "ERROR: security dir was not specified.\n");
exit(1);
} else {
fprintf(stdout, "%s: securitydir: %s\n", *av, securitydir);
}
rval = ADMSSL_InitSimple(configdir, securitydir);
if (rval) {
fprintf(stderr, "ADMSSL_InitSimple(%s,%s) failed: %d\n", configdir, securitydir, rval);
exit(1);
}
/*
* get the LDAP information from admin server config info
*/
ldapInfo = admldapBuildInfo(configdir, &rval);
if (NULL == ldapInfo) {
fprintf(stderr, "ERROR: empty ldapInfo\n");
rval = 1;
goto done;
}
/*
* get servers' DNs belonging to the Admin Server
*/
nameList = getServerDNListSSL(ldapInfo);
if (NULL == nameList) {
fprintf(stderr, "ERROR: empty nameList\n");
rval = 1;
goto done;
}
host = admldapGetHost(ldapInfo);
siedn = admldapGetSIEDN(ldapInfo);
siepwd = admldapGetSIEPWD(ldapInfo);
for (p = nameList; p && *p; p++) {
PsetHndl pset = NULL;
fprintf(stdout, "%s\n", *p);
if (0 == strncasecmp(*p, "cn=", 3)) {
siecnt++;
}
/* Create Pset for each individual server */
rval = 0;
pset = psetRealCreateSSL(host,
admldapGetPort(ldapInfo),
admldapGetSecurity(ldapInfo),
*p,
siedn,
siepwd,
NULL,
&rval);
if (rval && (rval != PSET_LOCAL_OPEN_FAIL)) {
fprintf(stderr, "Error creating pset for server [%s] [%d: %s]\n", *p,
rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
}
if (pset) {
char* serverid = psetGetAttrSingleValue(pset, "nsServerID", &rval);
fprintf(stderr, "psetGetAttrSingleValue(nsServerID) returned [%d: %s]\n",
rval, psetErrorString(rval, NULL, buf, sizeof(buf), NULL));
if (serverid) {
fprintf(stderr, "Found server id [%s] for server DN [%s]\n",
serverid, *p);
} else {
fprintf(stderr, "Could not find id for server DN [%s]\n", *p);
}
PL_strfree(serverid);
}
psetDelete(pset);
}
deleteAttrNameList(nameList);
nameList = NULL;
if (siecnt > 0) {
fprintf(stdout, "SUCCESS: SIE%s retrieved\n", siecnt>1?"S are":" is");
} else {
fprintf(stdout, "FAILURE: SIE is not retrieved\n");
}
PL_strfree(host);
PL_strfree(siedn);
PL_strfree(siepwd);
/*
* get servers' DNs belonging to the Admin Server
*/
isieList = getInstalledServerDNListSSL(ldapInfo);
if (NULL == isieList) {
fprintf(stderr, "ERROR: empty isieList\n");
rval = 1;
goto done;
}
for (siecnt = 0; isieList[siecnt]; siecnt++) {
fprintf(stdout, "%s\n", isieList[siecnt]->attrName);
}
deleteAttributeList(isieList);
if (siecnt > 0) {
fprintf(stdout, "SUCCESS: ISIE%s retrieved\n", siecnt>1?"S are":" is");
} else {
fprintf(stdout, "FAILURE: ISIE is not retrieved\n");
}
done:
destroyAdmldap(ldapInfo);
SSL_ClearSessionCache();
NSS_Shutdown();
exit(rval);
}
--- NEW FILE setup.sh ---
#!/bin/sh
testdir="$1"
sroot=/home/$USER/11srv
port=1100
secport=1101
rootdn="cn=directory manager"
rootpw=password
#adminpw=boguspassword
adminpw=admin
#needinstance=1
needdata=1
#usessl=1
secdir=/path/to/etc/fedora-ds/slapd-localhost
if [ "$needinstance" ] ; then
$sroot/bin/ds_newinst.pl - <<EOF
[General]
FullMachineName= localhost.localdomain
SuiteSpotUserID= $USER
ServerRoot= $sroot/lib/fedora-ds
[slapd]
ServerPort= $port
ServerIdentifier= localhost
Suffix= o=NetscapeRoot
RootDN= $rootdn
RootDNPwd= $rootpw
EOF
fi
if [ "$needdata" ] ; then
$sroot/lib/fedora-ds/slapd-localhost/ldif2db.pl -D "$rootdn" -w "$rootpw" -n userRoot -i $testdir/nsroot.ldif
sleep 10
fi
rm -rf testtmp
mkdir testtmp
if [ "$usessl" ] ; then
ldapurl="ldaps://localhost:$secport/o=NetscapeRoot"
else
ldapurl="ldap://localhost:$port/o=NetscapeRoot"
fi
cat > testtmp/adm.conf <<EOF
ldapurl: $ldapurl
ldapHost: localhost.localdomain
ldapPort: $port
sie: cn=admin-serv-localhost, cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
isie: cn=Fedora Administration Server, cn=Server Group, cn=localhost.localdomain, ou=localdomain, o=NetscapeRoot
port: 32348
ldapStart: slapd-localhost/start-slapd
EOF
cat > testtmp/admpw <<EOF
admin:{SHA}0DPiKuNIrrVmD8IUCuw1hQxNqZc=
EOF
pwpfile=/tmp/pwp.$$
PASSWORD_PIPE=0 ; export PASSWORD_PIPE
cat > $pwpfile <<EOF
User: admin
Password: $adminpw
UserDN: uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
SIEPWD: $adminpw
EOF
dir=`pwd`
cat > .gdbinit <<EOF
break main
run $dir/testtmp $secdir < $pwpfile
EOF
#VALGRIND="valgrind --log-file=/var/tmp/vg.out --tool=memcheck --leak-check=yes --suppressions=/path/to/valgrind.supp --num-callers=40 "
#GDB="gdb -x .gdbinit "
NOSSLTESTS="retrieveSIE psetread psetwrite"
SSLTESTS="retrieveSIEssl psetreadssl"
if [ "$usessl" ] ; then
TESTS="$SSLTESTS"
else
TESTS="$NOSSLTESTS"
fi
for test in $TESTS ; do
# ./libtool --mode execute $GDB ./$test
cat $pwpfile | ./libtool --mode execute $VALGRIND ./$test $dir/testtmp $secdir
done
rm -f $pwpfile .gdbinit
Index: readme.txt
===================================================================
RCS file: /cvs/dirsec/adminutil/tests/readme.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- readme.txt 16 Nov 2005 18:50:21 -0000 1.1
+++ readme.txt 4 Apr 2007 19:37:47 -0000 1.2
@@ -19,16 +19,32 @@
# END COPYRIGHT BLOCK
#
-Test Case 1: test an api retrieveSIEs
+In order to run the test cases, you must have a directory server installed.
+The test prefers Fedora DS 1.1 or later, but it could be made to use
+others with minor modifications. The test script will create an instance
+of the server to use for testing, and it will load the nsroot.ldif data
+set for use.
-How to run:
-gmake [ INTERNAL_BUILD=1 ] run [ SERVER_ROOT=<your_directory_server_root> ]
-default SERVER_ROOT: /opt/redhat-ds
-
-Sample output:
-$ gmake run SERVER_ROOT=/export/servers/ds72
-Server Root: /export/servers/ds72
-cn=slapd-laputa, cn=Fedora Directory Server, cn=Server Group, cn=laputa.sfbay.redhat.com, ou=sfbay.redhat.com, o=NetscapeRoot
-SUCCESS: SIE is retrieved
+If you want to run the *ssl tests, you must have ssl enabled on the server.
+Edit the setup.sh script to uncomment usessl=1. You also have to edit
+secport to the correct port number. Finally, edit secdir to point to
+your key/cert database directory. One convenience would be for the test
+script to configure the server for ssl, or at least just allow you to pass
+in the CA cert used to issue the server cert, and just create the key/cert
+databases in the test directory. But for now, just point the secdir at
+the directory server key/cert db directory.
+To run:
+First, make the tests. They do not get built by default. You can use make check-TESTS - this will build the tests and attempt to run them, which will fail because the setup.sh script must be used to run the tests. If you want to make the tests manually, do
+ make retrieveSIE retrieveSIEssl psetread psetreadssl psetwrite
+Next, setup expects to be able to run from the directory you built in, in order to use libtool to run the tests.
+Next, run setup like this:
+ /path/to/adminutil/tests/setup.sh /path/to/adminutil/tests
+You can also run the tests with gdb or valgrind by editing setup.sh
+The tests (so far):
+retrieveSIE prints a list of the DNs of the server instances (slapd-localhost, slapd-localhost2, and admin server)
+retrieveSIEssl simulates the sync_task_sie_data() function in mod_admserv
+psetread uses the pset api to read an entry
+psetreadssl is the same as psetread but uses ssl
+psetwrite uses the pset api to modify an entry
Index: retrieveSIE.c
===================================================================
RCS file: /cvs/dirsec/adminutil/tests/retrieveSIE.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- retrieveSIE.c 22 Mar 2006 23:47:25 -0000 1.2
+++ retrieveSIE.c 4 Apr 2007 19:37:47 -0000 1.3
@@ -20,7 +20,7 @@
*/
/*
* retireveSIE.c: test program to test an API getServerDNList
- * Usage: retireveSIE [ <server_root> ]
+ * Usage: retireveSIE configdir
*/
#include <stdio.h>
@@ -31,40 +31,30 @@
main(int ac, char **av)
{
+ int _ai=ADMUTIL_Init();
AdmldapInfo ldapInfo = NULL;
AttrNameList nameList = NULL;
- char *svrroot = "/opt/redhat-ds";
- char *admroot = NULL;
+ char *configdir = NULL;
int len = 0;
int rval = 0;
char **p;
int siecnt = 0;
if (ac > 1) {
- svrroot = strdup(*(av+1));
+ configdir = strdup(*(av+1));
}
- if (NULL == svrroot || 0 == strlen(svrroot)) {
- fprintf(stderr, "ERROR: server root was not specified.\n");
+ if (NULL == configdir || 0 == strlen(configdir)) {
+ fprintf(stderr, "ERROR: config dir was not specified.\n");
exit(1);
} else {
- fprintf(stdout, "%s: Server Root: %s\n", *av, svrroot);
+ fprintf(stdout, "%s: configdir: %s\n", *av, configdir);
}
- len = strlen(svrroot) + 32;
- admroot = (char *)malloc(len);
- if (NULL == admroot) {
- fprintf(stderr, "ERROR: failed to allocate %d bytes\n", len);
- exit(1);
- }
-
- snprintf(admroot, len, "%s/admin-serv/config", svrroot);
- admroot[len] = '\0';
-
/*
* get the LDAP information from admin server config info
*/
- ldapInfo = admldapBuildInfo(admroot, &rval);
+ ldapInfo = admldapBuildInfo(configdir, &rval);
if (NULL == ldapInfo) {
fprintf(stderr, "ERROR: empty ldapInfo\n");
rval = 1;
@@ -75,6 +65,7 @@
* get servers' DNs belonging to the Admin Server
*/
nameList = getServerDNList(ldapInfo);
+ destroyAdmldap(ldapInfo);
if (NULL == nameList) {
fprintf(stderr, "ERROR: empty nameList\n");
rval = 1;
@@ -87,6 +78,7 @@
siecnt++;
}
}
+ deleteAttrNameList(nameList);
if (siecnt > 0) {
fprintf(stdout, "SUCCESS: SIE%s retrieved\n", siecnt>1?"S are":" is");
} else {
@@ -94,6 +86,5 @@
}
done:
- free(admroot);
exit(rval);
}
17 years, 1 month
[Fedora-directory-commits] adminutil/include/libadmsslutil admsslutil.h, 1.2, 1.3 certmgt.h, 1.2, 1.3 sslpset.h, 1.2, NONE
by Doctor Conrad
Author: rmeggins
Update of /cvs/dirsec/adminutil/include/libadmsslutil
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30346/adminutil/include/libadmsslutil
Modified Files:
admsslutil.h certmgt.h
Removed Files:
sslpset.h
Log Message:
Resolves: bug 234420
Bug Description: adminutil: Use FHS paths and general code cleanup
Reviewed by: nkinder (Thanks!)
Fix Description:
1) Added a propertydir parameter to Makefile.am. This is where the .res files go. This also gets baked into the code so that the library knows where to find them.
2) The icu code expects the .res files to be in a packagename directory - packagename/foo.res not packagename_foo.res. I don't know how this ever worked. I also added en_US.res and en.res - icu recommends having the actual locale file rather than just falling back to the default root.res - see http://icu-project.org/userguide/ResourceManagement.html
3) There was quite a bit of dead code that I got rid of
4) Fixed many compiler warnings
5) There were quite a few memory leaks. The biggest one was probably in psetDelete, which did not actually delete the pset. Another one was the resource string handling - this returns malloc'd memory, and was never freed. I added the option to pass in a static sized buffer to hold the resource string - this may be truncated but we usually won't care. There were several places where the code was calling PR_Free on a data structure pointer - doing a "shallow" free rather than a "deep" free of all of the pointers in the data structure.
6) I merged in configuration from dbswitch.conf and other config files so that we could get rid of them and just have adm.conf. We'll have to take care of this during migration.
Platforms tested: RHEL4, FC6
Flag Day: no
Doc impact: no
Index: admsslutil.h
===================================================================
RCS file: /cvs/dirsec/adminutil/include/libadmsslutil/admsslutil.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- admsslutil.h 6 Dec 2005 18:38:36 -0000 1.2
+++ admsslutil.h 4 Apr 2007 19:37:46 -0000 1.3
@@ -39,14 +39,16 @@
admldapBuildInfoSSL(AdmldapInfo info, int *errorcode);
PR_IMPLEMENT(int)
-admldapSetAdmGrpUserDirectoryCGI(char* directoryURL,
+admldapSetAdmGrpUserDirectoryCGI(AdmldapInfo info,
+ char* directoryURL,
char* bindDN,
char* bindPassword,
char* directoryInfoRef,
int* error_code);
PR_IMPLEMENT(int)
-admldapSetDomainUserDirectoryCGI(char* directoryURL,
+admldapSetDomainUserDirectoryCGI(AdmldapInfo info,
+ char* directoryURL,
char* bindDN,
char* bindPassword,
char* directoryInfoRef,
@@ -56,16 +58,10 @@
void MC_sslSecmodInit(char *path);
PR_IMPLEMENT(int)
-ADMSSL_Init(AdmldapInfo info, char *admroot);
+ADMSSL_Init(AdmldapInfo info, char *securitydir);
PR_IMPLEMENT(int)
-ADMSSL_InitSimple();
-
-PR_IMPLEMENT(int)
-ADMSSL_InitSimple2(char* serverRoot);
-
-PR_IMPLEMENT(void)
-servssl_init(PsetHndl pset, PRFileDesc *fd, char *admroot);
+ADMSSL_InitSimple(char *configdir, char *securitydir);
char *ADM_GetPassword(char *prompt);
@@ -74,11 +70,9 @@
#endif
void set_security(PsetHndl pset,
- char *sroot,
- char *security,
- char *cert_file,
- char *key_file);
-
+ char *securitydir, /* where security files (key/cert db) may be found */
+ char *configdir, /* where config files may be found */
+ char *security); /* on or off */
void _conf_setdefaults(void);
char *_conf_setciphers(char *ciphers);
@@ -87,7 +81,8 @@
const char *SSL_Strerror(PRErrorCode errNum);
-PR_IMPLEMENT(PRFileDesc*) SSLSocket_init(PRFileDesc *req_socket);
+PR_IMPLEMENT(PRFileDesc*)
+SSLSocket_init(PRFileDesc *req_socket, const char *configdir, const char *securitydir);
#ifdef __cplusplus
}
Index: certmgt.h
===================================================================
RCS file: /cvs/dirsec/adminutil/include/libadmsslutil/certmgt.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- certmgt.h 6 Dec 2005 18:38:36 -0000 1.2
+++ certmgt.h 4 Apr 2007 19:37:46 -0000 1.3
@@ -38,75 +38,9 @@
*/
#include "cert.h"
-
-/*
- * Description (CertMap_t)
- *
- * This is an alternative format to the CertObj_t structure. It
- * contains less information, but what is there is easier to use.
- */
-
-/*typedef struct CertMap_s CertMap_t;*/
-/*struct CertMap_s {*/
-/* char * username;*/ /* login name associated with cert */
-/* char * issuercn;*/ /* issuer common name */
-/* char * subjectcn;*/ /* subject common name */
-/* USI_t certid;*/ /* cert id in database */
-/*};*/
-
-/* common flags for all types of certificates */
-/* [copied from libsec/certdb.h] */
-#define CERTDB_VALID_PEER (1<<0)
-#define CERTDB_TRUSTED (1<<1)
-#define CERTDB_SEND_WARN (1<<2)
-#define CERTDB_VALID_CA (1<<3)
-#define CERTDB_TRUSTED_CA (1<<4)
-#define CERTDB_NS_TRUSTED_CA (1<<5)
-#define CERTDB_USER (1<<6)
-#define CERTDB_TRUSTED_CLIENT_CA (1<<7)
-
-/*
- * This is the data stored in the permanent certificate database.
- * It is actually stored in the database as a stream of bytes of the
- * following format:
- *
- * byte offset field
- * ----------- -----
- * 0 sslFlags
- * 1 emailFlags
- * 2 paymentFlags
- * 3 derCert-len-msb
- * 4 derCert-len-lsb
- * 5 nickname-len-msb
- * 6 nickname-len-lsb
- * ... derCert
- * ... nickname
- *
- * NOTE: the nickname string as stored in the database is null terminated,
- * in other words, the last byte of the db entry is always 0
- * if a nickname is present.
- * NOTE: if nickname is not present, then nickname-len-msb and
- * nickname-len-lsb will both be zero.
- */
-struct _dbCert {
- PRArenaPool *arena;
- CERTCertTrust trust;
- SECItem derCert;
- char *nickname;
-};
-
-/* Flag values for cmgFilterCerts() */
-#define CMGF_REVERSE 0x1 /* reverse filter */
+#include "certdb.h"
/* Functions in certmgt.c */
-PR_EXPORT(int) cmgOpenCertDB(char * alias, CERTCertDBHandle**dbhandle);
-PR_EXPORT(void) cmgCloseCertDB(CERTCertDBHandle * handle);
-PR_EXPORT(int) cmgShowCerts(void * handle, char * caption);
-PR_EXPORT(int) cmgShowCertsBySlot(PK11SlotInfo *slot);
-PR_EXPORT(int) cmgShowInternalCerts(CERTCertDBHandle *handle);
-PR_EXPORT(CERTCertificate *) cmgFindCertByNickname(void * handle,
- char *nickname);
-PR_EXPORT(char *) cmgFormatName(CERTName *name);
PR_EXPORT(char *) cmgHTMLCertInfo(CERTCertificate *cert);
PR_EXPORT(CERTSignedCrl *) cmgFindCrlByName(CERTCertDBHandle *handle, char *name, int list_type);
PR_EXPORT(char *) cmgHTMLCrlInfo(CERTSignedCrl *crl);
--- sslpset.h DELETED ---
17 years, 1 month
[Fedora-directory-commits] adminutil/include/libadminutil admutil.h, 1.5, 1.6 distadm.h, 1.3, 1.4 psetc.h, 1.2, 1.3 resource.h, 1.2, 1.3
by Doctor Conrad
Author: rmeggins
Update of /cvs/dirsec/adminutil/include/libadminutil
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30346/adminutil/include/libadminutil
Modified Files:
admutil.h distadm.h psetc.h resource.h
Log Message:
Resolves: bug 234420
Bug Description: adminutil: Use FHS paths and general code cleanup
Reviewed by: nkinder (Thanks!)
Fix Description:
1) Added a propertydir parameter to Makefile.am. This is where the .res files go. This also gets baked into the code so that the library knows where to find them.
2) The icu code expects the .res files to be in a packagename directory - packagename/foo.res not packagename_foo.res. I don't know how this ever worked. I also added en_US.res and en.res - icu recommends having the actual locale file rather than just falling back to the default root.res - see http://icu-project.org/userguide/ResourceManagement.html
3) There was quite a bit of dead code that I got rid of
4) Fixed many compiler warnings
5) There were quite a few memory leaks. The biggest one was probably in psetDelete, which did not actually delete the pset. Another one was the resource string handling - this returns malloc'd memory, and was never freed. I added the option to pass in a static sized buffer to hold the resource string - this may be truncated but we usually won't care. There were several places where the code was calling PR_Free on a data structure pointer - doing a "shallow" free rather than a "deep" free of all of the pointers in the data structure.
6) I merged in configuration from dbswitch.conf and other config files so that we could get rid of them and just have adm.conf. We'll have to take care of this during migration.
Platforms tested: RHEL4, FC6
Flag Day: no
Doc impact: no
Index: admutil.h
===================================================================
RCS file: /cvs/dirsec/adminutil/include/libadminutil/admutil.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- admutil.h 11 May 2006 23:30:31 -0000 1.5
+++ admutil.h 4 Apr 2007 19:37:41 -0000 1.6
@@ -55,6 +55,15 @@
#define BIG_LINE 1024
#endif
+/* This environment variable holds the name of the directory
+ containing adm.conf, admpw, and other
+ adminutil config files - if this env var is set,
+ IT WILL OVERRIDE NETSITE_ROOT AND FUNCTION ARGUMENTS to
+ functions such as admGetLocalAdmin and admldapBuildInfo
+ This was done to minimize coding changes to other modules.
+*/
+#define ADMINUTIL_CONFDIR_ENV_VAR "ADMINUTIL_CONF_DIR"
+
/* safs/cgi.h */
#ifdef __cplusplus
@@ -90,6 +99,8 @@
PR_IMPLEMENT(void)
deleteAttrNameList(AttrNameList nl);
+PR_IMPLEMENT(void)
+deleteValue(ValueType val);
typedef AttributePtr* AttributeList;
PR_IMPLEMENT(AttributeList)
@@ -116,9 +127,25 @@
typedef void* AdmldapInfo;
+PR_IMPLEMENT(int)
+admldapWriteInfoFile(AdmldapInfo info);
+
+/*
+ * Just read the ldap information from the file, without also opening a connection
+ */
+PR_IMPLEMENT(AdmldapInfo)
+admldapBuildInfoOnly(char* configRoot, int *errorcode);
+
+/*
+ * Read the ldap info, open a connection, and bind, and specify a callback function
+ * that returns the ldap password
+ */
PR_IMPLEMENT(AdmldapInfo)
admldapBuildInfoCbk(char* configRoot, char* (*cbk)(), int *errorcode);
+/*
+ * Read the ldap info, open a connection, and bind
+ */
PR_IMPLEMENT(AdmldapInfo)
admldapBuildInfo(char* configRoot, int *errorcode);
@@ -135,10 +162,10 @@
admldapGetSecurity(AdmldapInfo info);
PR_IMPLEMENT(char*)
-admldapGetCertDBFile(AdmldapInfo info);
+admldapGetSecurityDir(AdmldapInfo info);
-PR_IMPLEMENT(char*)
-admldapGetKeyDBFile(AdmldapInfo info);
+PR_IMPLEMENT(int)
+admldapSetSecurityDir(AdmldapInfo info, const char *securityDir);
PR_IMPLEMENT(char*)
admldapGetBaseDN(AdmldapInfo info);
@@ -158,9 +185,45 @@
PR_IMPLEMENT(char *)
admldapGetDirectoryURL(AdmldapInfo info);
+PR_IMPLEMENT(int)
+admldapSetDirectoryUrl(AdmldapInfo info, const char *ldapurl);
+
+PR_IMPLEMENT(int)
+admldapSetSIEDN(AdmldapInfo info, const char *sieDN);
+
+PR_IMPLEMENT(int)
+admldapSetISIEDN(AdmldapInfo info, const char *isieDN);
+
PR_IMPLEMENT(char *)
admldapGetUserDN(AdmldapInfo info, char *uid);
+PR_IMPLEMENT(char *)
+admldapGetSysUser(AdmldapInfo info);
+
+PR_IMPLEMENT(char *)
+admldapGetSysGroup(AdmldapInfo info);
+
+PR_IMPLEMENT(char*)
+admldapGetAdminDomain(AdmldapInfo info);
+
+PR_IMPLEMENT(char*)
+admldapGetExpressRefreshRate(AdmldapInfo info);
+
+PR_IMPLEMENT(char*)
+admldapGetExpressCGITimeout(AdmldapInfo info);
+
+PR_IMPLEMENT(char*)
+admldapGetLdapStart(AdmldapInfo info);
+
+PR_IMPLEMENT(char*)
+admldapGetConfigFileName(AdmldapInfo info);
+
+PR_IMPLEMENT(char*)
+admldapGetAdmpwFilePath(AdmldapInfo info);
+
+PR_IMPLEMENT(char*)
+admldapGetLocalAdminName(AdmldapInfo info);
+
#define UG_OP_OK 0
#define UG_NO_SSL_SUPPORT 1
#define UG_AUTH_FAIL 2
@@ -419,73 +482,6 @@
/* form_post.c */
PR_IMPLEMENT(char) * compress_and_replace(char *source);
-/****************************************************************************/
-/* */
-/* Migrate cron_conf related stuff to libadminutil */
-/* */
-/****************************************************************************/
-
-/* read and write to cron.conf, cron_conf.c */
-/* Alex Feygin, 3/22/96 */
-typedef struct cron_conf_obj
-{
- char *name;
- char *command;
- char *dir;
- char *user;
- char *start_time;
- char *days;
-}
-cron_conf_obj;
-
-typedef struct cron_conf_list
-{
- char *name;
- cron_conf_obj *obj;
- struct cron_conf_list *next;
-}
-cron_conf_list;
-
-/* Reads cron.conf to a null terminated list of cron_conf_objects; returns
- 0 if unable to do a read; 1 otherwise */
-PR_IMPLEMENT(int) cron_conf_read();
-
-/* gets a cron object, NULL if it doesnt exist */
-PR_IMPLEMENT(cron_conf_obj) *cron_conf_get(char *name);
-
-/* returns a NULL-terminated cron_conf_list of all the cron conf objects */
-PR_IMPLEMENT(cron_conf_list) *cron_conf_get_list();
-
-/* Creates a cron conf object; all these args get STRDUP'd in the function
- so make sure to free up the space later if need be */
-PR_IMPLEMENT(cron_conf_obj) *cron_conf_create_obj(char *name, char *command,
- char *dir, char *user,
- char *start_time, char *days);
-
-/* Puts a cron conf object into list or updates it if it already in there.
- Returns either the object passed or the object in there already;
- cco may be FREE'd during this operation so if you need the object
- back, call it like so:
-
- cco = cron_conf_set(cco->name, cco);
-
- calling cron_conf_set with a NULL cco will cause the 'name' object
- to be deleted.
-*/
-PR_IMPLEMENT(cron_conf_obj) *cron_conf_set(char *name, cron_conf_obj *cco);
-
-/* write out current list of cron_conf_objects to cron.conf file */
-PR_IMPLEMENT(void) cron_conf_write();
-
-/* free all cron conf data structures */
-PR_IMPLEMENT(void) cron_conf_free();
-
-/****************************************************************************/
-/* */
-/* End of cron_conf related stuff */
-/* */
-/****************************************************************************/
-
#ifdef __cplusplus
}
#endif
Index: distadm.h
===================================================================
RCS file: /cvs/dirsec/adminutil/include/libadminutil/distadm.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- distadm.h 6 Dec 2005 18:38:31 -0000 1.3
+++ distadm.h 4 Apr 2007 19:37:41 -0000 1.4
@@ -53,11 +53,6 @@
#define ADM_SIEPWD_STRING "SIEPWD: "
#endif
-/* Initialize libadminutil, for setting up libnls relsted stuff only
- Used by non-CGI situation */
-PR_IMPLEMENT(int)
-ADMUTIL_InitSimple(char* sr, char* lang);
-
/* Initialize libadminutil. Should be called by EVERY CGI. */
/* util.c */
PR_IMPLEMENT(int) ADMUTIL_Init(void);
Index: psetc.h
===================================================================
RCS file: /cvs/dirsec/adminutil/include/libadminutil/psetc.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- psetc.h 6 Dec 2005 18:38:31 -0000 1.2
+++ psetc.h 4 Apr 2007 19:37:41 -0000 1.3
@@ -61,6 +61,7 @@
#define PSET_PARTIAL_OP 22
#define PSET_ILLEGAL_OP 23
#define PSET_NOT_IMPLEMENT 24
+#define PSET_ATTR_NOT_ALLOWED 25
/*
@@ -153,7 +154,7 @@
/* Retrieve the object type of one LDAP entry */
PR_IMPLEMENT(ValueType)
-psetGetObjectType(PsetHndl pseth, NameType name, int* errorcode);
+psetGetObjectClass(PsetHndl pseth, NameType name, int* errorcode);
/* Set the value of given attribute */
PR_IMPLEMENT(int)
@@ -199,9 +200,32 @@
PR_IMPLEMENT(int)
psetDeleteEntry(PsetHndl pseth, NameType name);
-/* Generate pset error string by given pset error number */
-PR_IMPLEMENT(const char*)
-psetErrorString(int errorNum, char* lang);
+/* Generate pset error string by given pset error number
+ If buffer is NULL, the return value will be allocated by malloc and
+ must be free'd by the caller. Even in an error condition, if
+ buffer is NULL, a malloc'd empty string will be returned. The
+ value will be returned in buffer, if given. buffer will be
+ properly NULL terminated, even if bufsize is not large enough to
+ accomodate the entire string (i.e. it's truncated). Buffer will
+ always be NULL terminated, so that even if an error occurred,
+ buffer will be initialized to an empty string, so you do not have
+ to worry about initializing it first. If buffer is given, the
+ return value will point to buffer, so that you can use the return
+ value directly:
+ char buf[BUFSIZE];
+ int rc = 0;
+ ...
+ fprintf(stderr, "Error: %s\n",
+ psetErrorString(num, lang, buf, sizeof(buf), &rc));
+
+ The rc parameter may be used to determine if there was an overflow
+ condition or some other error. If rc == 0, the operation was
+ successful. If rc == 1, an overflow occurred - the given buffer
+ was too small to hold the contents. If rc == -1 or some other
+ value, some other error occurred,
+ */
+PR_IMPLEMENT(char*)
+psetErrorString(int errorNum, char* lang, char *buffer, size_t bufsize, int *rc);
/* Setting up LDAP referal */
PR_IMPLEMENT(int)
Index: resource.h
===================================================================
RCS file: /cvs/dirsec/adminutil/include/libadminutil/resource.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- resource.h 6 Dec 2005 18:38:31 -0000 1.2
+++ resource.h 4 Apr 2007 19:37:41 -0000 1.3
@@ -44,14 +44,6 @@
void *propset;
} Resource;
-/* Set the search root for NLS property file
- return: 1 - OK
- 0 - Failed
- */
-PR_IMPLEMENT(int)
-res_init_path(const char* path);
-
-
/* Initialization routine. Checks for the existence of a resourcebundle
with the default encoding -
@@ -75,18 +67,72 @@
For example, if you have Resdef(my_key, 1, "this is a test") in dbt*.h
file for your source, your key will be my_key.
- return value: NULL if the property file cannot be located
- NULL if any memory allocation fails.
- const char* containing the string if all goes well.
+ If buffer is NULL, the return value will be allocated by malloc and must be free'd by
+ the caller. Even in an error condition, a malloc'd empty string will be returned.
+ The value will be returned in buffer, if given. buffer will be properly NULL terminated,
+ even if bufsize is not large enough to accomodate the entire string (i.e. it's truncated).
+ Buffer will always be NULL terminated, so that even if an error occurred, buffer will be
+ initialized to an empty string, so you do not have to worry about initializing it first.
+ If buffer is given, the return value will point to buffer, so that you can use the return
+ value directly:
+ char buf[BUFSIZE];
+ int rc = 0;
+ ...
+ fprintf(stderr, "Error: %s\n",
+ res_getstring(source, MY_ERROR_KEY, lang, buf, sizeof(buf), &rc));
+
+ The rc parameter may be used to determine if there was an overflow condition or some other error.
+ If rc == 0, the operation was successful. If rc == 1, an overflow occurred - the given buffer was
+ too small to hold the contents. If rc == -1 or some other value, some other error occurred,
*/
-PR_IMPLEMENT(const char*)
-res_getstring(Resource* source, char *key, char *accept_language);
+PR_IMPLEMENT(char*)
+res_getstring(Resource* source, char *key, char *accept_language, char *buffer, size_t bufsize, int *rc);
/* frees Resource* from initialization routine.
*/
PR_IMPLEMENT(void)
res_destroy_resource(Resource* to_destroy);
+/*
+ ----------------------------------------------------------------
+ res_find_and_init_resource
+
+ Initializes a property file path. Looks for the package directory
+ in a variety of well known locations, in order, and stops after
+ the first successful attempt to stat the directory.
+ 1) the given path, if any
+ 2) the current working directory + "/property"
+ 3) getenv("ADMINUTIL_CONF_DIR") + "/property"
+ It is expected that applications will have their default property
+ directory compiled in (via configure ; make) and that's what they
+ will pass in as their first argument. The other path lookup stuff
+ is really for legacy apps or apps in which the user wants to change
+ the property directory at runtime. The package argument may be
+ NULL, if path is already package specific e.g. /usr/share/adminutil,
+ in which case path should contain the .res files.
+ -----------------------------------------------------------------
+ */
+PR_IMPLEMENT(Resource*)
+res_find_and_init_resource(const char *path, const char *package);
+
+/********************/
+/* XP_AccLangList() */
+/********************/
+
+#define MAX_ACCEPT_LANGUAGE 16
+#define MAX_ACCEPT_LENGTH 18
+
+typedef char ACCEPT_LANGUAGE_LIST[MAX_ACCEPT_LANGUAGE][MAX_ACCEPT_LENGTH];
+
+/* Given an AcceptLanguage string in the HTTP_ACCEPT_LANGUAGE format, return
+ an array of languages, sorted by the quality values (if any). If the given
+ string is empty, the list will consist of one value, "en", the default language.
+*/
+PR_EXTERN( int )
+XP_AccLangList(char* AcceptLanguage,
+ ACCEPT_LANGUAGE_LIST AcceptLanguageList);
+
+
#ifdef __cplusplus
}
#endif
@@ -141,7 +187,7 @@
#ifdef RESOURCE_STR
#define BEGIN_STR(argLibraryName) \
- RESOURCE_TABLE argLibraryName[] = { 0, #argLibraryName,
+ res_RESOURCE_TABLE argLibraryName[] = { 0, #argLibraryName,
#define ResDef(argToken,argID,argString) \
argID, argString,
#define END_STR(argLibraryName) \
17 years, 1 month
[Fedora-directory-commits] adminutil/lib/libadminutil acclanglist.c, NONE, 1.1 admutil.c, 1.6, 1.7 admutil_pvt.h, 1.2, 1.3 dbtadmutil.h, 1.1.1.1, 1.2 distadm.c, 1.2, 1.3 errRpt.c, 1.2, 1.3 form_post.c, 1.3, 1.4 libadminutil.properties, 1.1.1.1, 1.2 psetc.c, 1.3, 1.4 resource.c, 1.1.1.1, 1.2 srvutil.c, 1.2, 1.3 uginfo.c, 1.3, 1.4
by Doctor Conrad
Author: rmeggins
Update of /cvs/dirsec/adminutil/lib/libadminutil
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30346/adminutil/lib/libadminutil
Modified Files:
admutil.c admutil_pvt.h dbtadmutil.h distadm.c errRpt.c
form_post.c libadminutil.properties psetc.c resource.c
srvutil.c uginfo.c
Added Files:
acclanglist.c
Log Message:
Resolves: bug 234420
Bug Description: adminutil: Use FHS paths and general code cleanup
Reviewed by: nkinder (Thanks!)
Fix Description:
1) Added a propertydir parameter to Makefile.am. This is where the .res files go. This also gets baked into the code so that the library knows where to find them.
2) The icu code expects the .res files to be in a packagename directory - packagename/foo.res not packagename_foo.res. I don't know how this ever worked. I also added en_US.res and en.res - icu recommends having the actual locale file rather than just falling back to the default root.res - see http://icu-project.org/userguide/ResourceManagement.html
3) There was quite a bit of dead code that I got rid of
4) Fixed many compiler warnings
5) There were quite a few memory leaks. The biggest one was probably in psetDelete, which did not actually delete the pset. Another one was the resource string handling - this returns malloc'd memory, and was never freed. I added the option to pass in a static sized buffer to hold the resource string - this may be truncated but we usually won't care. There were several places where the code was calling PR_Free on a data structure pointer - doing a "shallow" free rather than a "deep" free of all of the pointers in the data structure.
6) I merged in configuration from dbswitch.conf and other config files so that we could get rid of them and just have adm.conf. We'll have to take care of this during migration.
Platforms tested: RHEL4, FC6
Flag Day: no
Doc impact: no
--- NEW FILE acclanglist.c ---
/** BEGIN COPYRIGHT BLOCK
* This Program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation; version 2 of the License.
*
* This Program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
* Place, Suite 330, Boston, MA 02111-1307 USA.
*
* In addition, as a special exception, Red Hat, Inc. gives You the additional
* right to link the code of this Program with code not covered under the GNU
* General Public License ("Non-GPL Code") and to distribute linked combinations
* including the two, subject to the limitations in this paragraph. Non-GPL Code
* permitted under this exception must only link to the code of this Program
* through those well defined interfaces identified in the file named EXCEPTION
* found in the source code files (the "Approved Interfaces"). The files of
* Non-GPL Code may instantiate templates or use macros or inline functions from
* the Approved Interfaces without causing the resulting work to be covered by
* the GNU General Public License. Only Red Hat, Inc. may make changes or
* additions to the list of Approved Interfaces. You must obey the GNU General
* Public License in all respects for all of the Program code and other code used
* in conjunction with the Program except the Non-GPL Code covered by this
* exception. If you modify this file, you may extend this exception to your
* version of the file, but you are not obligated to do so. If you do not wish to
* provide this exception without modification, you must delete this exception
* statement from your version and license this file solely under the GPL without
* exception.
*
*
* Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
* Copyright (C) 2005 Red Hat, Inc.
* All rights reserved.
* END COPYRIGHT BLOCK **/
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include "libadminutil/resource.h"
/*
* Accept-Language = "Accept-Language" ":"
* 1#( language-range [ ";" "q" "=" qvalue ] )
* language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
*
* NLS_AccLangList() assumes that "Accept-Language:" has already
* been stripped off. It takes as input
*
* 1#( ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" ) [ ";" "q" "=" qvalue ] )
*
* and returns a list of languages, ordered by qvalues, in
* the array NLS_ACCEPT_LANGUAGE_LIST.
*
* If there are to many languages (>NLS_MAX_ACCEPT_LANGUAGE) the excess
* is ignored. If the language-range is too long (>NLS_MAX_ACCEPT_LENGTH),
* the language-range is ignored. In these cases, NLS_AccLangList()
* will quietly return, perhaps with numLang = 0. numLang is
* returned by the function.
*/
static size_t
AcceptLangList(const char* AcceptLanguage,
ACCEPT_LANGUAGE_LIST AcceptLanguageList)
{
char* input;
char* cPtr;
char* cPtr1;
char* cPtr2;
int i;
int j;
int countLang = 0;
input = strdup(AcceptLanguage);
if (input == (char*)NULL){
return 0;
}
cPtr1 = input-1;
cPtr2 = input;
/* put in standard form */
while (*(++cPtr1)) {
if (isalpha(*cPtr1)) *cPtr2++ = tolower(*cPtr1); /* force lower case */
else if (isspace(*cPtr1)); /* ignore any space */
else if (*cPtr1=='-') *cPtr2++ = '_'; /* "-" -> "_" */
else if (*cPtr1=='*'); /* ignore "*" */
else *cPtr2++ = *cPtr1; /* else unchanged */
}
*cPtr2 = '\0';
countLang = 0;
if (strchr(input,';')) {
/* deal with the quality values */
float qvalue[MAX_ACCEPT_LANGUAGE];
float qSwap;
float bias = 0.0f;
char* ptrLanguage[MAX_ACCEPT_LANGUAGE];
char* ptrSwap;
cPtr = strtok(input,",");
while (cPtr) {
qvalue[countLang] = 1.0f;
if ((cPtr1 = strchr(cPtr,';'))) {
sscanf(cPtr1,";q=%f",&qvalue[countLang]);
*cPtr1 = '\0';
}
if (strlen(cPtr)<MAX_ACCEPT_LENGTH) { /* ignore if too long */
qvalue[countLang] -= (bias += 0.0001f); /* to insure original order */
ptrLanguage[countLang++] = cPtr;
if (countLang>=MAX_ACCEPT_LANGUAGE) break; /* quit if too many */
}
cPtr = strtok(NULL,",");
}
/* sort according to decending qvalue */
/* not a very good algorithm, but count is not likely large */
for ( i=0 ; i<countLang-1 ; i++ ) {
for ( j=i+1 ; j<countLang ; j++ ) {
if (qvalue[i]<qvalue[j]) {
qSwap = qvalue[i];
qvalue[i] = qvalue[j];
qvalue[j] = qSwap;
ptrSwap = ptrLanguage[i];
ptrLanguage[i] = ptrLanguage[j];
ptrLanguage[j] = ptrSwap;
}
}
}
for ( i=0 ; i<countLang ; i++ ) {
strcpy(AcceptLanguageList[i],ptrLanguage[i]);
}
} else {
/* simple case: no quality values */
cPtr = strtok(input,",");
while (cPtr) {
if (strlen(cPtr)<MAX_ACCEPT_LENGTH) { /* ignore if too long */
strcpy(AcceptLanguageList[countLang++],cPtr);
if (countLang>=MAX_ACCEPT_LANGUAGE) break; /* quit if too many */
}
cPtr = strtok(NULL,",");
}
}
free(input);
return countLang;
}
/*
* Get prioritized locale list from NLS_AcceptLangList
*
* Add additonal language to the list for fallback if locale
* name is language_region
*
*/
PR_IMPLEMENT( int )
XP_AccLangList(char* AcceptLanguage,
ACCEPT_LANGUAGE_LIST AcceptLanguageList)
{
int i;
int n;
char *defaultLanguage = "en";
ACCEPT_LANGUAGE_LIST curLanguageList;
int index = 0;
char lang[3];
int k;
n = AcceptLangList(AcceptLanguage, curLanguageList);
if (n == 0)
return 0;
memset(lang, 0, 3);
for (i = 0; i < n; i++) {
if (*lang && (strncmp(lang, curLanguageList[i], 2) != 0)) {
/* add lang if current language is the last occurence in the list */
for (k = i+1; (k < n) && strncmp(curLanguageList[k],lang,2); k++);
if (k == n) {
strcpy(AcceptLanguageList[index++], lang);
*lang = '\0';
}
}
strcpy(AcceptLanguageList[index++], curLanguageList[i]);
/* Add current language for future appending.,make sure it's not on list */
if ((strlen(curLanguageList[i]) > 2) && (curLanguageList[i][2] == '_')) {
strncpy(lang, curLanguageList[i], 2);
lang[sizeof(lang)-1] = 0;
for (k = 0; (k < index) && strcmp(AcceptLanguageList[k], lang); k++);
if (k != index) lang[0] = '\0';
}
}
if (lang[0] != '\0')
strcpy(AcceptLanguageList[index++], lang); /* add new lang */
/* Append defaultLanguage if it's not in the list */
for (i = 0; (i < index) && strcmp(AcceptLanguageList[i], defaultLanguage); i++);
if (i == index)
strcpy(AcceptLanguageList[index++], defaultLanguage);
return index;
}
Index: admutil.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/admutil.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- admutil.c 3 Nov 2006 17:41:05 -0000 1.6
+++ admutil.c 4 Apr 2007 19:37:36 -0000 1.7
@@ -24,6 +24,7 @@
#include <ctype.h>
#include "version.h"
#include "admutil_pvt.h"
+#include "libadminutil/distadm.h"
#ifdef XP_WIN32
#define strcasecmp stricmp
@@ -53,6 +54,46 @@
#define FILE_PATHSEP '/'
#endif
+/* returns true if the given path is a valid file, false otherwise */
+static int
+is_file_ok(const char *path)
+{
+ PRFileInfo prinfo;
+ int ret = 0;
+
+ if (path && *path &&
+ (PR_SUCCESS == PR_GetFileInfo(path, &prinfo)) &&
+ prinfo.type == PR_FILE_FILE) {
+ ret = 1;
+ }
+
+ return ret;
+}
+
+/* returns full path and file name if the file was found somewhere, false otherwise */
+static char *
+find_file_in_paths(
+ const char *filename, /* the base filename to look for */
+ const char *path /* path given by caller */
+)
+{
+ char *retval = NULL;
+ char *adminutilConfDir = getenv(ADMINUTIL_CONFDIR_ENV_VAR);
+
+ /* try given path */
+ retval = PR_smprintf("%s/%s", path, filename);
+ if (!is_file_ok(retval) && adminutilConfDir) {
+ PR_smprintf_free(retval);
+ retval = PR_smprintf("%s/%s", adminutilConfDir, filename);
+ if (!is_file_ok(retval)) {
+ PR_smprintf_free(retval);
+ retval = NULL;
+ }
+ }
+
+ return retval;
+}
+
/* Copy from libadmin..... */
static unsigned char uuset[] = {
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T',
@@ -187,11 +228,17 @@
NameType name;
AttrNameList nlptr = nl;
if (nl) {
- while (name = *nlptr++) PR_Free(name);
+ while ((name = *nlptr++)) PR_Free(name);
PR_Free(nl);
}
}
+PR_IMPLEMENT(void)
+deleteValue(ValueType val)
+{
+ admutil_strsFree((char **)val);
+}
+
PR_IMPLEMENT(AttributeList)
createAttributeList(int entries)
{
@@ -238,7 +285,7 @@
AttributePtr attr;
AttributeList nvlptr = nvl;
if (nvl) {
- while (attr = *nvlptr++) {
+ while ((attr = *nvlptr++)) {
if (attr->attrName) PR_Free(attr->attrName);
if (attr->attrVal) admutil_strsFree(attr->attrVal);
PR_Free(attr);
@@ -400,7 +447,7 @@
while (node) {
nextptr = node->next;
if (node->name) PR_Free (node->name);
- if (node->dflag) PR_Free (node->val);
+ if (node->dflag) deleteValue ((ValueType)node->val);
PR_Free (node);
node= nextptr;
}
@@ -504,7 +551,7 @@
if (!strcasecmp(list->name, name)) {
nextptr = list->next;
if (list->name) PR_Free(list->name);
- if (list->dflag) PR_Free (list->val);
+ if (list->dflag) deleteValue ((ValueType)list->val);
PR_Free(list);
return nextptr;
}
@@ -514,7 +561,7 @@
if (!strcasecmp(node->next->name, name)) {
nextptr = node->next->next;
if (node->next->name) PR_Free (node->next->name);
- if (node->next->dflag) PR_Free (node->next->val);
+ if (node->next->dflag) deleteValue ((ValueType)node->next->val);
PR_Free (node->next);
node->next = nextptr;
return list;
@@ -554,7 +601,7 @@
if (!list) return;
while (node) {
- admutil_strsFree((ValueType)(node->val));
+ deleteValue(node->val);
node = node->next;
}
@@ -591,7 +638,7 @@
char *attrName, *nodeName;
ListNodePtr resultList = NULL, nodePtr, attrPtr;
- while (nv = *nvlptr++) {
+ while ((nv = *nvlptr++)) {
PR_snprintf(namebuf, sizeof(namebuf), "%s", nv->attrName);
attrName = strrchr(namebuf, '.');
if (!attrName) {
@@ -685,7 +732,7 @@
{
TreeNodePtr target;
- if (target = treeFindNode(root, name) ) return valListConvert(target->val);
+ if ((target = treeFindNode(root, name))) return valListConvert(target->val);
else return NULL;
}
@@ -700,7 +747,7 @@
if (vals) {
val = PL_strdup(vals[0]);
- admutil_strsFree(vals);
+ deleteValue(vals);
return val;
}
else return NULL;
@@ -866,7 +913,7 @@
while (listPtr) {
PR_snprintf(valBuf, sizeof(valBuf), "%s", listPtr->name);
sptr = valBuf;
- while (cptr = strchr(sptr, '\n')) {
+ while ((cptr = strchr(sptr, '\n'))) {
*cptr++ = '\0';
fprintf(fstream, "%s\n ", sptr);
sptr=cptr;
@@ -886,7 +933,7 @@
char linebuf[MAX_LEN], *name=NULL, *val=NULL;
char valBuf[BUFSIZ], *valptr = valBuf;
int valBuf_len = sizeof(valBuf);
- TreeNodePtr rootNode = NULL, tmpNode = NULL;
+ TreeNodePtr rootNode = NULL;
if (!fstream) return NULL;
if (!errorcode) return NULL;
@@ -894,7 +941,7 @@
valBuf[0] = '\0';
while(1) {
- switch(status = admutil_getline(fstream, MAX_LEN, lineno++, linebuf)) {
+ switch(status = admutil_getline(fstream, sizeof(linebuf), lineno++, linebuf)) {
case -1:
/* Error on reading, SET ERRORCODE */
*errorcode = ADMUTIL_SYSTEM_ERR;
@@ -1028,7 +1075,7 @@
{
if (mod) {
if (mod->mod_type) PR_Free ( mod->mod_type );
- if (mod->mod_values) PR_Free (mod->mod_values);
+ if (mod->mod_values) admutil_strsFree (mod->mod_values);
PR_Free( mod );
}
}
@@ -1040,7 +1087,7 @@
LDAPMod** modsptr = mods;
if (mods) {
- while (mod = *modsptr++) deleteMod(mod);
+ while ((mod = *modsptr++)) deleteMod(mod);
PR_Free(mods);
}
@@ -1073,49 +1120,59 @@
*u = *t;
}
+/*
+ * Write the info back to its config file
+ */
+PR_IMPLEMENT(int)
+admldapWriteInfoFile(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ int errorcode = ADMUTIL_OP_OK;
+ FILE *fileStream = NULL;
+
+ if (admInfo && admInfo->configInfo && admInfo->configFilePath) {
+ if((fileStream = fopen(admInfo->configFilePath, "w")) == NULL) {
+ /* Error open file */
+ errorcode = ADMUTIL_SYSTEM_ERR;
+ goto done;
+ }
+ treeExport(fileStream, NULL, admInfo->configInfo);
+ }
+
+done:
+ if (fileStream) {
+ fclose(fileStream);
+ }
+ return errorcode;
+}
+
+/* This function is useful if you just want to read the adm.conf info
+ without opening an ldap connection
+*/
PR_IMPLEMENT(AdmldapInfo)
-admldapBuildInfoCbk(char* configRoot, char *(*cbk)(), int *errorcode)
+admldapBuildInfoOnly(char* configRoot, int *errorcode)
{
FILE *fileStream;
- char *serverRoot = getenv("NETSITE_ROOT");
- char *sieDN = NULL, *siePasswd = NULL;
AdmldapHdnlPtr admInfo = NULL;
TreeNodePtr configInfo = NULL;
- char path[PATH_MAX], ldapInfoPath[PATH_MAX], buf[MAX_LEN],
+ char *path = NULL;
+ char buf[MAX_LEN],
*name= NULL, *password=NULL;
- char *p;
- int status, ldapError;
- char *ldapurl, *tmpptr;
+ int status;
LDAPURLDesc *ldapInfo;
- int secureLDAP = 0;
*errorcode = ADMUTIL_OP_OK;
- if (configRoot) {
- PR_snprintf(path, sizeof(path), "%s%cadm.conf", configRoot, FILE_PATHSEP);
- PR_snprintf(ldapInfoPath, sizeof(ldapInfoPath),
- "%s%c..%c..%cshared%cconfig%cdbswitch.conf",
- configRoot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
- FILE_PATHSEP, FILE_PATHSEP);
- }
- else {
- if (serverRoot) {
- PR_snprintf(path, sizeof(path),
- "%s%cadmin-serv%cconfig%cadm.conf",
- serverRoot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
- PR_snprintf(ldapInfoPath, sizeof(ldapInfoPath),
- "%s%cshared%cconfig%cdbswitch.conf",
- serverRoot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
- }
- else {
- *errorcode = ADMUTIL_ENV_ERR;
- return NULL;
- }
+ path = find_file_in_paths("adm.conf", configRoot);
+ if (!path) {
+ *errorcode = ADMUTIL_ENV_ERR;
+ return NULL;
}
if((fileStream = fopen(path, "r")) == NULL) {
/* Error open file */
*errorcode = ADMUTIL_SYSTEM_ERR;
+ PR_smprintf_free(path);
return NULL;
}
@@ -1128,7 +1185,8 @@
if (!admInfo) { *errorcode = ADMUTIL_SYSTEM_ERR; return NULL; }
memset(admInfo, '\0', sizeof(AdmldapHdnl));
- admInfo->configFilePath = PL_strdup(path);
+ admInfo->configFilePath = path; /* hand off memory */
+ path = NULL;
if (!admInfo->configFilePath) {
PR_Free(admInfo);
*errorcode = ADMUTIL_SYSTEM_ERR;
@@ -1137,62 +1195,104 @@
admInfo->configInfo = configInfo;
-
- if((fileStream = fopen(ldapInfoPath, "r")) == NULL) {
+ if (!(admInfo->serverDirectoryURL = treeFindValueAt(admInfo->configInfo, "ldapurl", 0))) { /* admInfo owns malloced memory now */
/* Error open file */
*errorcode = ADMUTIL_SYSTEM_ERR;
destroyAdmldap((AdmldapInfo)admInfo);
return NULL;
}
- /* There is one line in dbswitch.conf, of the form:
- *
- * directory default ldap://skydome.mcom.com:5555/baseDN
- */
- p = fgets(ldapInfoPath, PATH_MAX, fileStream);
- fclose(fileStream);
-
- if (!p) {
+ if (ldap_url_parse(admInfo->serverDirectoryURL, &ldapInfo)) {
*errorcode = ADMUTIL_SYSTEM_ERR;
- destroyAdmldap((AdmldapInfo)admInfo);
return NULL;
}
- if (tmpptr = strchr(p, '\n')) *tmpptr= '\0';
+ admInfo->ldapInfo = ldapInfo;
- if ((ldapurl = strstr(p, "ldap")) == NULL) {
- *errorcode = ADMUTIL_SYSTEM_ERR;
- return NULL;
+ /* sieDN owns malloced memory returned by treeFindValueAt */
+ admInfo->sieDN = treeFindValueAt(admInfo->configInfo, "sie", 0);
+
+ /* Try to get local admin's name and password */
+ path = find_file_in_paths("admpw", configRoot);
+ if (!path) {
+ *errorcode = ADMUTIL_ENV_ERR;
+ destroyAdmldap((AdmldapInfo)admInfo);
+ return NULL;
}
- admInfo->serverDirectoryURL = PL_strdup(ldapurl);
- if (!admInfo->serverDirectoryURL) {
+ if((fileStream = fopen(path, "r")) == NULL) {
/* Error open file */
*errorcode = ADMUTIL_SYSTEM_ERR;
+ PR_smprintf_free(path);
destroyAdmldap((AdmldapInfo)admInfo);
return NULL;
}
- if (ldap_url_parse(ldapurl, &ldapInfo)) {
+ switch(status = admutil_getline(fileStream, sizeof(buf), 1, buf)) {
+ case -1:
+ /* Error on reading, SET ERRORCODE */
*errorcode = ADMUTIL_SYSTEM_ERR;
+ PR_smprintf_free(path);
+ destroyAdmldap((AdmldapInfo)admInfo);
+ fclose(fileStream);
return NULL;
+ break;
+ case 1:
+ /* EOF */
+ default:
+ password = strchr(buf, ':');
+ *password++ = '\0';
+ while (*password) {
+ if (*password == ' ') password++;
+ else break;
+ }
+
+ name = buf;
+ if (*password) {
+ *errorcode = ADMUTIL_OP_OK;
+ admInfo->admpwFilePath = path; /* hand off memory */
+ path = NULL;
+ admInfo->localAdminName = PL_strdup(name);
+ admInfo->localAdminPassword = PL_strdup(password);
+ }
+ else {
+ *errorcode = ADMUTIL_OP_FAIL;
+ }
+ }
+ fclose(fileStream);
+
+ PR_smprintf_free(path);
+
+ return (AdmldapInfo)admInfo;
+}
+
+PR_IMPLEMENT(AdmldapInfo)
+admldapBuildInfoCbk(char* configRoot, char *(*cbk)(), int *errorcode)
+{
+ char *siePasswd = NULL;
+ AdmldapHdnlPtr admInfo = NULL;
+ int ldapError = LDAP_SUCCESS;
+ int secureLDAP = 0;
+
+ *errorcode = ADMUTIL_OP_OK;
+ admInfo = (AdmldapHdnlPtr)admldapBuildInfoOnly(configRoot, errorcode);
+ if (*errorcode != ADMUTIL_OP_OK) {
+ return (AdmldapInfo)admInfo;
}
/* returned value from ADM_Get... should NOT be freed */
ADM_GetCurrentPassword(errorcode, &siePasswd); /* via PIPE */
- if (ldapInfo->lud_options & LDAP_URL_OPT_SECURE) {
+ if (admldapGetSecurity((AdmldapInfo)admInfo)) {
*errorcode = ADMUTIL_NO_SSL_SUPPORT;
secureLDAP = 1;
}
if (!secureLDAP) {
- admInfo->ldapHndl = ldap_init(ldapInfo->lud_host, ldapInfo->lud_port);
+ admInfo->ldapHndl = ldap_init(admInfo->ldapInfo->lud_host, admInfo->ldapInfo->lud_port);
}
/* authenticate to LDAP server*/
- /* return value from treeFindValueAt should be freed */
- sieDN = treeFindValueAt(admInfo->configInfo, "sie", 0);
/*
* Attempt to authenticate to the directory. This code will retry
@@ -1222,7 +1322,7 @@
}
if (!secureLDAP) {
- ldapError = ldap_simple_bind_s(admInfo->ldapHndl, sieDN, siePasswd);
+ ldapError = ldap_simple_bind_s(admInfo->ldapHndl, admInfo->sieDN, siePasswd);
if (ldapError == LDAP_SUCCESS) break;
/* Quit on errors other than password problems */
@@ -1266,71 +1366,12 @@
(void *)admInfo);
}
- if (sieDN != NULL) {
- admInfo->sieDN=PL_strdup(sieDN);
- /* return value from treeFindValueAt should be freed */
- PR_Free(sieDN);
- }
if (siePasswd != NULL) {
/* returned value from ADM_Get... should NOT be freed */
admInfo->passwd=PL_strdup(siePasswd);
}
- admInfo->ldapInfo = ldapInfo;
-
- /* Try to get local admin's name and password */
-
- if (configRoot) {
- PR_snprintf(path, sizeof(path), "%s%cadmpw", configRoot, FILE_PATHSEP);
- }
- else {
- if (!serverRoot) {
- *errorcode = ADMUTIL_ENV_ERR;
- destroyAdmldap((AdmldapInfo)admInfo);
- return NULL;
- }
- PR_snprintf(path, sizeof(path), "%s%cadmin-serv%cconfig%cadmpw",
- serverRoot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
- }
-
- if((fileStream = fopen(path, "r")) == NULL) {
- /* Error open file */
- *errorcode = ADMUTIL_SYSTEM_ERR;
- destroyAdmldap((AdmldapInfo)admInfo);
- return NULL;
- }
-
- switch(status = admutil_getline(fileStream, MAX_LEN, 1, buf)) {
- case -1:
- /* Error on reading, SET ERRORCODE */
- *errorcode = ADMUTIL_SYSTEM_ERR;
- destroyAdmldap((AdmldapInfo)admInfo);
- return NULL;
- break;
- case 1:
- /* EOF */
- default:
- password = strchr(buf, ':');
- *password++ = '\0';
- while (*password) {
- if (*password == ' ') password++;
- else break;
- }
-
- name = buf;
- if (*password) {
- *errorcode = ADMUTIL_OP_OK;
- admInfo->admpwFilePath = PL_strdup(path);
- admInfo->localAdminName = PL_strdup(name);
- admInfo->localAdminPassword = PL_strdup(password);
- }
- else {
- *errorcode = ADMUTIL_OP_FAIL;
- }
- fclose(fileStream);
-
- return (AdmldapInfo)admInfo;
- }
+ return (AdmldapInfo)admInfo;
}
static char *
@@ -1358,10 +1399,6 @@
PR_Free(admInfo->configFilePath);
admInfo->configFilePath=NULL;
}
- if (admInfo->ldapFilePath) {
- PR_Free(admInfo->ldapFilePath);
- admInfo->ldapFilePath = NULL;
- }
if (admInfo->serverDirectoryURL) {
PR_Free(admInfo->serverDirectoryURL);
admInfo->serverDirectoryURL = NULL;
@@ -1383,6 +1420,11 @@
PR_Free(admInfo->sieDN);
admInfo->sieDN = NULL;
}
+ if (admInfo->userDN)
+ {
+ PR_Free(admInfo->userDN);
+ admInfo->userDN = NULL;
+ }
if (admInfo->passwd)
{
PR_Free(admInfo->passwd);
@@ -1445,25 +1487,29 @@
}
PR_IMPLEMENT(char*)
-admldapGetCertDBFile(AdmldapInfo info)
+admldapGetSecurityDir(AdmldapInfo info)
{
AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
- char *certdb;
+ char *securitydir;
- certdb = treeFindValueAt(admInfo->configInfo, "certDBFile", 0);
- if (!certdb) return NULL;
- else return certdb;
+ securitydir = treeFindValueAt(admInfo->configInfo, "securitydir", 0);
+ if (!securitydir) return NULL;
+ else return securitydir;
}
-PR_IMPLEMENT(char*)
-admldapGetKeyDBFile(AdmldapInfo info)
+PR_IMPLEMENT(int)
+admldapSetSecurityDir(AdmldapInfo info, const char *securityDir)
{
AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
- char *keydb;
+ int removeFlag = 0;
- keydb = treeFindValueAt(admInfo->configInfo, "keyDBFile", 0);
- if (!keydb) return NULL;
- else return keydb;
+ if (securityDir) {
+ /* remove old one */
+ treeRemoveNode(admInfo->configInfo, "securitydir", &removeFlag);
+ treeAddNameValue(admInfo->configInfo, "securitydir", (char *)securityDir);
+ }
+
+ return ADMUTIL_OP_OK;
}
PR_IMPLEMENT(char*)
@@ -1477,11 +1523,28 @@
else return ldapSIEDN;
}
+PR_IMPLEMENT(int)
+admldapSetSIEDN(AdmldapInfo info, const char *sieDN)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ int removeFlag = 0;
+
+ if (sieDN) {
+ /* remove old one */
+ PL_strfree(admInfo->sieDN);
+ treeRemoveNode(admInfo->configInfo, "sie", &removeFlag);
+ /* add new one */
+ admInfo->sieDN = PL_strdup(sieDN);
+ treeAddNameValue(admInfo->configInfo, "sie", (char *)sieDN);
+ }
+
+ return ADMUTIL_OP_OK;
+}
+
PR_IMPLEMENT(char*)
admldapGetSIEPWD(AdmldapInfo info)
{
AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
- char *password = NULL;
if(admInfo->passwd)
return PL_strdup(admInfo->passwd);
else {
@@ -1504,6 +1567,64 @@
}
+PR_IMPLEMENT(int)
+admldapSetISIEDN(AdmldapInfo info, const char *isieDN)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ int removeFlag = 0;
+
+ if (isieDN) {
+ /* remove old one */
+ treeRemoveNode(admInfo->configInfo, "isie", &removeFlag);
+ treeAddNameValue(admInfo->configInfo, "isie", (char *)isieDN);
+ }
+
+ return ADMUTIL_OP_OK;
+}
+
+PR_IMPLEMENT(char *)
+admldapGetDirectoryURL(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+
+ return PL_strdup(admInfo->serverDirectoryURL);
+}
+
+PR_IMPLEMENT(int)
+admldapSetDirectoryURL(AdmldapInfo info, const char *ldapurl)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ LDAPURLDesc *ldapInfo;
+ int errorcode = ADMUTIL_OP_OK;
+ int removeFlag = 0;
+
+ if (!ldapurl || ldap_url_parse(ldapurl, &ldapInfo)) {
+ /* if the given url is not valid, don't do anything, just return an error */
+ errorcode = ADMUTIL_SYSTEM_ERR;
+ goto done;
+ }
+
+ /* The url is stored in 3 places in 3 different formats:
+ 1 - the serverDirectoryURL string
+ 2 - parsed in the ldapInfo structure
+ 3 - the "ldapurl" key in the configinfo
+ */
+ /* first, free the old values */
+ if (admInfo->ldapInfo) {
+ ldap_free_urldesc(admInfo->ldapInfo);
+ }
+ PL_strfree(admInfo->serverDirectoryURL);
+ treeRemoveNode(admInfo->configInfo, "ldapurl", &removeFlag);
+
+ /* set the new values */
+ admInfo->serverDirectoryURL = PL_strdup(ldapurl);
+ admInfo->ldapInfo = ldapInfo;
+ treeAddNameValue(admInfo->configInfo, "ldapurl", (char *)ldapurl);
+
+done:
+ return errorcode;
+}
+
PR_IMPLEMENT(void)
admldapSetLDAPHndl(AdmldapInfo info, LDAP *ld)
{
@@ -1521,12 +1642,100 @@
return admInfo->ldapHndl;
}
-PR_IMPLEMENT(char *)
-admldapGetDirectoryURL(AdmldapInfo info)
+PR_IMPLEMENT(char*)
+admldapGetSysUser(AdmldapInfo info)
{
AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ char *sysuser = NULL;
- return PL_strdup(admInfo->serverDirectoryURL);
+ sysuser = treeFindValueAt(admInfo->configInfo, "sysuser", 0);
+ if (!sysuser) return NULL;
+ else return sysuser;
+
+}
+
+PR_IMPLEMENT(char*)
+admldapGetSysGroup(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ char *sysgroup = NULL;
+
+ sysgroup = treeFindValueAt(admInfo->configInfo, "sysgroup", 0);
+ if (!sysgroup) return NULL;
+ else return sysgroup;
+
+}
+
+PR_IMPLEMENT(char*)
+admldapGetAdminDomain(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ char *admindomain = NULL;
+
+ admindomain = treeFindValueAt(admInfo->configInfo, "AdminDomain", 0);
+ if (!admindomain) return NULL;
+ else return admindomain;
+
+}
+
+PR_IMPLEMENT(char*)
+admldapGetExpressRefreshRate(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ char *expressrefreshrate = NULL;
+
+ expressrefreshrate = treeFindValueAt(admInfo->configInfo, "ExpressRefreshRate", 0);
+ if (!expressrefreshrate) return NULL;
+ else return expressrefreshrate;
+
+}
+
+PR_IMPLEMENT(char*)
+admldapGetExpressCGITimeout(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ char *expresscgitimeout = NULL;
+
+ expresscgitimeout = treeFindValueAt(admInfo->configInfo, "ExpressCGITimeout", 0);
+ if (!expresscgitimeout) return NULL;
+ else return expresscgitimeout;
+
+}
+
+PR_IMPLEMENT(char*)
+admldapGetLdapStart(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+ char *ldapstart = NULL;
+
+ ldapstart = treeFindValueAt(admInfo->configInfo, "ldapStart", 0);
+ if (!ldapstart) return NULL;
+ else return ldapstart;
+
+}
+
+PR_IMPLEMENT(char*)
+admldapGetConfigFileName(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+
+ return PL_strdup(admInfo->configFilePath);
+}
+
+PR_IMPLEMENT(char*)
+admldapGetAdmpwFilePath(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+
+ return PL_strdup(admInfo->admpwFilePath);
+}
+
+PR_IMPLEMENT(char*)
+admldapGetLocalAdminName(AdmldapInfo info)
+{
+ AdmldapHdnlPtr admInfo = (AdmldapHdnlPtr)info;
+
+ return PL_strdup(admInfo->localAdminName);
}
PR_IMPLEMENT(char *)
@@ -1570,52 +1779,50 @@
done:
PR_smprintf_free(uidFilter);
if (baseDN) PR_Free(baseDN);
- if (userDN) {
+ if (userDN && (userDN != admInfo->userDN)) {
+ PL_strfree(admInfo->userDN); /* free old one, if any */
admInfo->userDN = userDN;
} else {
userDN = treeFindValueAt(admInfo->configInfo, "userdn", 0);
if (userDN) {
- admInfo->userDN = PL_strdup(userDN);
+ admInfo->userDN = userDN;
} else {
admInfo->userDN = NULL;
}
}
- return admInfo->userDN;
+ return admInfo->userDN ? PL_strdup(admInfo->userDN) : NULL;
}
PR_IMPLEMENT(char*)
admGetLocalAdmin(char* configRoot, int *errorcode)
{
FILE *fileStream;
- char *serverRoot = getenv("NETSITE_ROOT");
- TreeNodePtr admInfo = NULL;
- char path[PATH_MAX], buf[MAX_LEN], *name;
+ char *path = NULL, buf[MAX_LEN], *name = NULL;
int status;
*errorcode = ADMUTIL_OP_OK;
- if (configRoot) {
- PR_snprintf(path, sizeof(path), "%s%cadmpw", configRoot, FILE_PATHSEP);
- }
- else {
- if (!serverRoot) {
+ /* Try to get local admin's name and password */
+ path = find_file_in_paths("admpw", configRoot);
+ if (!path) {
*errorcode = ADMUTIL_ENV_ERR;
return NULL;
- }
- PR_snprintf(path, sizeof(path), "%s%cadmin-serv%cconfig%cadmpw",
- serverRoot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
}
if((fileStream = fopen(path, "r")) == NULL) {
/* Error open file */
*errorcode = ADMUTIL_SYSTEM_ERR;
+ PR_smprintf_free(path);
return NULL;
}
+ PR_smprintf_free(path);
+ path = NULL;
- switch(status = admutil_getline(fileStream, MAX_LEN, 1, buf)) {
+ switch(status = admutil_getline(fileStream, sizeof(buf), 1, buf)) {
case -1:
/* Error on reading, SET ERRORCODE */
*errorcode = ADMUTIL_SYSTEM_ERR;
+ fclose(fileStream);
return NULL;
break;
case 1:
@@ -1626,6 +1833,7 @@
break;
*/
default:
+ fclose(fileStream);
name = strtok(buf, ":");
if (!name) {
*errorcode = ADMUTIL_OP_FAIL;
Index: admutil_pvt.h
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/admutil_pvt.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- admutil_pvt.h 11 May 2006 23:30:31 -0000 1.2
+++ admutil_pvt.h 4 Apr 2007 19:37:36 -0000 1.3
@@ -158,7 +158,6 @@
typedef struct _AdmldapHdnl {
char *configFilePath;
TreeNodePtr configInfo;
- char *ldapFilePath;
char *serverDirectoryURL;
LDAPURLDesc *ldapInfo;
LDAP *ldapHndl;
Index: dbtadmutil.h
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/dbtadmutil.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- dbtadmutil.h 20 Jul 2005 22:51:32 -0000 1.1.1.1
+++ dbtadmutil.h 4 Apr 2007 19:37:36 -0000 1.2
@@ -20,7 +20,7 @@
#include "libadminutil/resource.h"
#define resource_key(a,b) a b
-#define RESOURCE_FILE "libadminutil"
+#define RESOURCE_FILE PACKAGE_NAME
/*extracted from errRpt.c*/
@@ -62,6 +62,7 @@
#define DBT_pset_ILLEGAL_OP resource_key(RESOURCE_FILE, "44")
#define DBT_pset_NOT_IMPLEMENT resource_key(RESOURCE_FILE, "45")
#define DBT_pset_UNKNOWN_ERROR_NO resource_key(RESOURCE_FILE, "46")
+#define DBT_pset_ATTR_NOT_ALLOWED resource_key(RESOURCE_FILE, "47")
/*extracted from form_post.c */
#define DBT_formPost_Browser_err resource_key(RESOURCE_FILE, "61")
Index: distadm.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/distadm.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- distadm.c 29 Sep 2005 22:10:15 -0000 1.2
+++ distadm.c 4 Apr 2007 19:37:36 -0000 1.3
@@ -26,6 +26,9 @@
#ifdef XP_WIN32
#include <windows.h>
#endif
+#if HAVE_UNISTD_H == 1
+#include <unistd.h>
+#endif
/* Form new nspr20 */
#include <nspr.h>
@@ -69,10 +72,7 @@
PR_IMPLEMENT(int)
ADMUTIL_Init(void)
{
- char *server_root = getenv("NETSITE_ROOT");
char *lang = getenv("HTTP_ACCEPT_LANGUAGE");
- char nls_dir[256];
- char prop_dir[256];
int errcode;
if(!admutil_initialized) {
@@ -81,12 +81,7 @@
}
if (!admutil_i18nResource) {
- if (server_root) {
- PR_snprintf(nls_dir, sizeof(nls_dir), "%s/lib/nls", server_root);
- PR_snprintf(prop_dir, sizeof(prop_dir), "%s/lib/property", server_root);
-
- admutil_i18nResource = res_init_resource(prop_dir, "libadminutil");
- }
+ admutil_i18nResource = res_find_and_init_resource(PROPERTYDIR, NULL);
if (lang) admutil_acceptLang = PL_strdup(lang);
}
@@ -97,28 +92,6 @@
return 0;
}
-PR_IMPLEMENT(int)
-ADMUTIL_InitSimple(char* server_root, char* lang)
-{
- char nls_dir[256];
- char prop_dir[256];
-
- if (!server_root) return -1;
-
-
- if (!admutil_i18nResource) {
- if (server_root) {
-
- PR_snprintf(nls_dir, sizeof(nls_dir), "%s/lib/nls", server_root);
- PR_snprintf(prop_dir, sizeof(prop_dir), "%s/lib/property", server_root);
-
- admutil_i18nResource = res_init_resource(prop_dir, "libadminutil");
- }
- if (lang) admutil_acceptLang = PL_strdup(lang);
- }
- return 0;
-}
-
#ifndef MALLOC
#define MALLOC PR_Malloc
#endif
@@ -156,13 +129,17 @@
int _ai=ADM_Init();
*/
char *t = getenv("PASSWORD_PIPE");
- PRInt32 osfd;
- PRFileDesc *fd;
+ PRInt32 osfd = 0;
+ PRFileDesc *fd = NULL;
char *buf;
PRInt32 bufsize;
PRInt32 numread = 0;
PRInt32 totalread = 0;
char *head, *tail;
+ int retval = 0;
+ int rpterrcode = 0; /* for rpt_err */
+ char *errmsg = NULL, *errdetail = NULL;
+ int needfree = 0;
/* No error in this case, because it's expected to happen sometimes */
@@ -170,13 +147,17 @@
user = NULL;
pass = NULL;
auth = NULL;
- return 0;
+ return retval;
}
osfd = atol(t);
- fd = PR_ImportFile(osfd);
+ if (osfd == STDIN_FILENO) {
+ fd = PR_STDIN;
+ } else {
+ fd = PR_ImportFile(osfd);
+ }
- buf = (char *) MALLOC(BIG_LINE);
+ buf = (char *) PR_Malloc(BIG_LINE);
bufsize = BIG_LINE;
while(1) {
@@ -187,32 +168,28 @@
#endif
totalread += numread;
if(numread < 0) {
- PR_Close(fd);
/* MLM XXX - ERROR CODE */
+ rpterrcode = SYSTEM_ERROR;
+ retval = -1;
if (admutil_i18nResource) {
- rpt_err(SYSTEM_ERROR,
- (char*)res_getstring(admutil_i18nResource,
+ errmsg = (char*)res_getstring(admutil_i18nResource,
DBT_distadm_pipeErr,
- admutil_acceptLang),
- (char*)res_getstring(admutil_i18nResource,
+ admutil_acceptLang, NULL, 0, NULL);
+ errdetail = (char*)res_getstring(admutil_i18nResource,
DBT_distadm_pipeErrDetail,
- admutil_acceptLang),
- NULL);
+ admutil_acceptLang, NULL, 0, NULL);
+ needfree = 1;
}
else {
- rpt_err(SYSTEM_ERROR,
- "Could not read from pipe",
- "Could not read authentication information from pipe.",
- NULL);
+ errmsg = "Could not read from pipe";
+ errdetail = "Could not read authentication information from pipe.";
}
- return -1;
+ goto cleanup;
} else
if(numread == 0) {
- PR_Close(fd);
break;
}
if(buf[numread - 1] == '\0') {
- PR_Close(fd);
break;
}
}
@@ -271,7 +248,18 @@
}
}
}
- return 0;
+cleanup:
+ if (fd != PR_STDIN) {
+ PR_Close(fd);
+ }
+ if (errmsg) {
+ rpt_err(rpterrcode, errmsg, errdetail, NULL);
+ if (needfree) {
+ PL_strfree(errmsg);
+ PL_strfree(errdetail);
+ }
+ }
+ return retval;
}
PR_IMPLEMENT(int)
Index: errRpt.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/errRpt.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- errRpt.c 22 Mar 2006 23:47:14 -0000 1.2
+++ errRpt.c 4 Apr 2007 19:37:36 -0000 1.3
@@ -147,43 +147,46 @@
void _rpt_err(int type, const char *info, const char *details, const char* extra, int shouldexit)
{
- const char *errorString;
+ const char *errorString = NULL;
char* acceptLang = admutil_acceptLang;
+ int needfree = 0;
if (admutil_i18nResource) {
+ needfree = 1;
switch (type) {
case FILE_ERROR:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_FILE_ERROR, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_FILE_ERROR, acceptLang, NULL, 0, NULL);
break;
case MEMORY_ERROR:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_MEMORY_ERROR, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_MEMORY_ERROR, acceptLang, NULL, 0, NULL);
break;
case SYSTEM_ERROR:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_SYSTEM_ERROR, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_SYSTEM_ERROR, acceptLang, NULL, 0, NULL);
break;
case INCORRECT_USAGE:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_INCORRECT_USAGE, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_INCORRECT_USAGE, acceptLang, NULL, 0, NULL);
break;
case ELEM_MISSING:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_ELEM_MISSING, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_ELEM_MISSING, acceptLang, NULL, 0, NULL);
break;
case REGISTRY_DATABASE_ERROR:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_REGISTRY_DATABASE_ERROR, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_REGISTRY_DATABASE_ERROR, acceptLang, NULL, 0, NULL);
break;
case NETWORK_ERROR:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_NETWORK_ERROR, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_NETWORK_ERROR, acceptLang, NULL, 0, NULL);
break;
case GENERAL_FAILURE:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_GENERAL_FAILURE, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_GENERAL_FAILURE, acceptLang, NULL, 0, NULL);
break;
case WARNING:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_WARNING, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_WARNING, acceptLang, NULL, 0, NULL);
break;
case APP_ERROR:
- errorString = res_getstring(admutil_i18nResource, DBT_errRpt_APP_ERROR, acceptLang);
+ errorString = res_getstring(admutil_i18nResource, DBT_errRpt_APP_ERROR, acceptLang, NULL, 0, NULL);
break;
default:
- errorString = "";
+ errorString = NULL;
+ needfree = 0;
}
}
else errorString = err_headers[type];
@@ -199,6 +202,10 @@
if (details) fprintf(stdout, "NMC_ErrDetail: %s\n", details);
if (extra) fprintf(stdout, "%s\n", extra);
+ if (needfree) {
+ PL_strfree((char *)errorString);
+ }
+
if(shouldexit) {
#ifdef XP_WIN32
WSACleanup();
Index: form_post.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/form_post.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- form_post.c 11 May 2006 14:23:21 -0000 1.3
+++ form_post.c 4 Apr 2007 19:37:36 -0000 1.4
@@ -91,16 +91,18 @@
{
char *vars = NULL, *tmp = NULL;
int cl;
+ char buf1[BUFSIZ];
+ char buf2[BUFSIZ];
if(!(tmp = getenv("CONTENT_LENGTH"))) {
if (admutil_i18nResource) {
rpt_err(INCORRECT_USAGE,
(char*)res_getstring(admutil_i18nResource,
DBT_formPost_Browser_err,
- admutil_acceptLang),
+ admutil_acceptLang, buf1, sizeof(buf1), NULL),
(char*)res_getstring(admutil_i18nResource,
DBT_formPost_Browser_errDetail,
- admutil_acceptLang),
+ admutil_acceptLang, buf2, sizeof(buf2), NULL),
NULL);
}
else {
@@ -119,7 +121,7 @@
NULL,
(char*)res_getstring(admutil_i18nResource,
DBT_formPost_PostStdinErr,
- admutil_acceptLang),
+ admutil_acceptLang, buf1, sizeof(buf1), NULL),
NULL);
}
else {
@@ -136,7 +138,7 @@
NULL,
(char*)res_getstring(admutil_i18nResource,
DBT_formPost_PostStdinErr,
- admutil_acceptLang),
+ admutil_acceptLang, buf1, sizeof(buf1), NULL),
NULL);
}
else {
@@ -165,6 +167,7 @@
int vars = 0;
register int x = 0;
char *tmp;
+ char buf[BUFSIZ];
if (!(in = PL_strdup(in))) {
if (admutil_i18nResource) {
@@ -172,7 +175,7 @@
NULL,
(char*)res_getstring(admutil_i18nResource,
DBT_formPost_PostStdinErr,
- admutil_acceptLang),
+ admutil_acceptLang, buf, sizeof(buf), NULL),
NULL);
}
else {
@@ -203,7 +206,7 @@
NULL,
(char*)res_getstring(admutil_i18nResource,
DBT_formPost_PostStdinErr,
- admutil_acceptLang),
+ admutil_acceptLang, buf, sizeof(buf), NULL),
NULL);
}
else {
@@ -228,7 +231,7 @@
NULL,
(char*)res_getstring(admutil_i18nResource,
DBT_formPost_PostStdinErr,
- admutil_acceptLang),
+ admutil_acceptLang, buf, sizeof(buf), NULL),
NULL);
}
else {
@@ -253,6 +256,7 @@
register int x = 0;
int len = PL_strlen(varname);
char *ans = NULL;
+ char buf[BUFSIZ];
while(input[x]) {
/* We want to get rid of the =, so len, len+1 */
@@ -263,7 +267,7 @@
NULL,
(char*)res_getstring(admutil_i18nResource,
DBT_formPost_PostStdinErr,
- admutil_acceptLang),
+ admutil_acceptLang, buf, sizeof(buf), NULL),
NULL);
}
else {
@@ -321,6 +325,7 @@
register int n, x;
int len = PL_strlen(varname);
char **ans = NULL;
+ char buf[BUFSIZ];
for(n=0; input[n]; n++);
ans = new_strlist(n + 1);
@@ -335,7 +340,7 @@
NULL,
(char*)res_getstring(admutil_i18nResource,
DBT_formPost_PostStdinErr,
- admutil_acceptLang),
+ admutil_acceptLang, buf, sizeof(buf), NULL),
NULL);
}
else {
Index: libadminutil.properties
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/libadminutil.properties,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- libadminutil.properties 20 Jul 2005 22:51:32 -0000 1.1.1.1
+++ libadminutil.properties 4 Apr 2007 19:37:36 -0000 1.2
@@ -20,60 +20,66 @@
// ICU resource file
+// the format is <name><number> where <name> is the PACKAGE_NAME
+// as defined in configure.ac - this must correspond to the
+// #define RESOURCE_FILE PACKAGE_NAME
+// in dbtadminutil.h
+
root {
//*extracted from errRpt.c*/
-libadminutil1 {"File System Error"}
-libadminutil2 {"Memory Error"}
-libadminutil3 {"System Error"}
-libadminutil4 {"Incorrect Usage"}
-libadminutil5 {"Form Element Missing"}
-libadminutil6 {"Registry Database Error"}
-libadminutil7 {"Network Error"}
-libadminutil8 {"Unexpected Failure"}
-libadminutil9 {"Warning"}
-libadminutil10 {"Application Error"}
+adminutil1 {"File System Error"}
+adminutil2 {"Memory Error"}
+adminutil3 {"System Error"}
+adminutil4 {"Incorrect Usage"}
+adminutil5 {"Form Element Missing"}
+adminutil6 {"Registry Database Error"}
+adminutil7 {"Network Error"}
+adminutil8 {"Unexpected Failure"}
+adminutil9 {"Warning"}
+adminutil10 {"Application Error"}
//*extracted from pset.c */
-libadminutil21 {"Operation OK"}
-libadminutil22 {"Operation failed"}
-libadminutil23 {"System (OS/LDAP) related error"}
-libadminutil24 {"Environment variable error"}
-libadminutil25 {"Arguments error"}
-libadminutil26 {"Null handle"}
-libadminutil27 {"Operated in local cache mode"}
-libadminutil28 {"Failed to open local cache"}
-libadminutil29 {"Authentication failed"}
-libadminutil30 {"Access failed - improper permission"}
-libadminutil31 {"Entry does not exist"}
-libadminutil32 {"Attribute does not exist"}
-libadminutil33 {"Entry exist"}
-libadminutil34 {"Attribute exist"}
-libadminutil35 {"Not an entry"}
-libadminutil36 {"Not an attribute"}
-libadminutil37 {"NULL LDAP Handler"}
-libadminutil38 {"No Distinguished Name"}
-libadminutil39 {"No data"}
-libadminutil40 {"No value"}
-libadminutil41 {"No parent node"}
-libadminutil42 {"Only get partial data"}
-libadminutil43 {"Operation only success partially, some failed"}
-libadminutil44 {"Illegal operation"}
-libadminutil45 {"Not implemented yet"}
-libadminutil46 {"Unknown Error Number"}
+adminutil21 {"Operation OK"}
+adminutil22 {"Operation failed"}
+adminutil23 {"System (OS/LDAP) related error"}
+adminutil24 {"Environment variable error"}
+adminutil25 {"Arguments error"}
+adminutil26 {"Null handle"}
+adminutil27 {"Operated in local cache mode"}
+adminutil28 {"Failed to open local cache"}
+adminutil29 {"Authentication failed"}
+adminutil30 {"Access failed - improper permission"}
+adminutil31 {"Entry does not exist"}
+adminutil32 {"Attribute does not exist"}
+adminutil33 {"Entry exist"}
+adminutil34 {"Attribute exist"}
+adminutil35 {"Not an entry"}
+adminutil36 {"Not an attribute"}
+adminutil37 {"NULL LDAP Handler"}
+adminutil38 {"No Distinguished Name"}
+adminutil39 {"No data"}
+adminutil40 {"No value"}
+adminutil41 {"No parent node"}
+adminutil42 {"Only get partial data"}
+adminutil43 {"Operation only success partially, some failed"}
+adminutil44 {"Illegal operation"}
+adminutil45 {"Not implemented yet"}
+adminutil46 {"Unknown Error Number"}
+adminutil47 {"Attribute disallowed by entry objectclasses"}
//*extracted from form_post.c */
-libadminutil61 {"Browser Error"}
-libadminutil62 {"Your browser sent no content length with a POST command. Please be sure to use a fully compliant browser."}
-libadminutil63 {"The POST variables could not be read from stdin."}
-libadminutil64 {"Bad wildcard pattern"}
-libadminutil65 {"Illegal pattern <%s>"}
-libadminutil66 {"You should use commas to separate hosts, not spaces."}
-libadminutil67 {"Bad regular expression"}
-libadminutil68 {"The pattern <%s> is not a valid regular expression.\n"}
+adminutil61 {"Browser Error"}
+adminutil62 {"Your browser sent no content length with a POST command. Please be sure to use a fully compliant browser."}
+adminutil63 {"The POST variables could not be read from stdin."}
+adminutil64 {"Bad wildcard pattern"}
+adminutil65 {"Illegal pattern <%s>"}
+adminutil66 {"You should use commas to separate hosts, not spaces."}
+adminutil67 {"Bad regular expression"}
+adminutil68 {"The pattern <%s> is not a valid regular expression.\n"}
//*extracted from distadm.c */
-libadminutil81 {"Could not read from pipe"}
-libadminutil82 {"Could not read authentication information from pipe."}
+adminutil81 {"Could not read from pipe"}
+adminutil82 {"Could not read authentication information from pipe."}
}
Index: psetc.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/psetc.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- psetc.c 11 May 2006 23:30:31 -0000 1.3
+++ psetc.c 4 Apr 2007 19:37:36 -0000 1.4
@@ -30,6 +30,7 @@
#include <prio.h>
#include "psetc_pvt.h"
#include "libadminutil/admutil.h"
+#include "libadminutil/distadm.h"
#include "dbtadmutil.h"
#include <ldap_ssl.h>
@@ -50,6 +51,46 @@
extern Resource *admutil_i18nResource;
extern char *admutil_acceptLang;
+/* returns true if the given path is a valid directory, false otherwise */
+static int
+is_dir_ok(const char *path)
+{
+ PRFileInfo prinfo;
+ int ret = 0;
+
+ if (path && *path &&
+ (PR_SUCCESS == PR_GetFileInfo(path, &prinfo)) &&
+ prinfo.type == PR_FILE_DIRECTORY) {
+ ret = 1;
+ }
+
+ return ret;
+}
+
+/* returns full path and file name if the file was found somewhere, false otherwise
+ file may not yet exist, but we will create it if the dir exists */
+static char *
+find_file_in_paths(
+ const char *filename, /* the base filename to look for */
+ const char *path /* path given by caller */
+)
+{
+ char *retval = NULL;
+ char *adminutilConfDir = getenv(ADMINUTIL_CONFDIR_ENV_VAR);
+
+ /* try given path */
+ if (!is_dir_ok(path)) {
+ if (is_dir_ok(adminutilConfDir)) {
+ path = adminutilConfDir;
+ } else {
+ return retval;
+ }
+ }
+ retval = PR_smprintf("%s/%s", path, filename);
+
+ return retval;
+}
+
static int LDAP_CALL LDAP_CALLBACK
pset_ldap_rebind_proc (LDAP *ld, char **whop, char **passwdp,
int *authmethodp, int freeit, void *arg)
@@ -117,6 +158,23 @@
PR_Free(target);
}
+static void
+psetDeletePtr(PsetPtr psetp)
+{
+ if (psetp) {
+ if (psetp->info) psetNodeDestroy(psetp->info);
+ if (psetp->ldapFilter) PR_Free(psetp->ldapFilter);
+ if (psetp->ldunbindf) {
+ if (psetp->ld) ldap_unbind(psetp->ld);
+ }
+ if (psetp->configFile) PR_Free(psetp->configFile);
+ if (psetp->sieDN) PR_Free(psetp->sieDN);
+ if (psetp->binddn) PR_Free(psetp->binddn);
+ if (psetp->bindpw) PR_Free(psetp->bindpw);
+
+ PR_Free(psetp);
+ }
+}
void
psetNodeLDAPDestroy(PsetNodePtr target, LDAP *ld)
@@ -198,7 +256,7 @@
targetNode = target->attrFile;
}
- while (val = *vals++) treeAddValue(targetNode, val);
+ while ((val = *vals++)) treeAddValue(targetNode, val);
return PSET_OP_OK;
}
@@ -209,7 +267,7 @@
TreeNodePtr targetNode, resultNode;
if (target->attrFile) {
- if (targetNode = treeFindNode(target->attrFile, name)) {
+ if ((targetNode = treeFindNode(target->attrFile, name))) {
listDestroy(targetNode->val);
targetNode->val = NULL;
resultNode = treeAddValue(targetNode, val);
@@ -239,13 +297,13 @@
(targetNode = treeFindNode(target->attrFile, name))) {
listDestroy(targetNode->val);
targetNode->val = NULL;
- while (val = *vals++) treeAddValue(targetNode, val);
+ while ((val = *vals++)) treeAddValue(targetNode, val);
}
else {
val = *vals++;
resultNode = createTreeNode(name, val);
if (resultNode) {
- while (val = *vals++) treeAddValue(resultNode, val);
+ while ((val = *vals++)) treeAddValue(resultNode, val);
if (target->attrFile) {
treeAddNode(target->attrFile, resultNode);
}
@@ -368,8 +426,8 @@
if (!strncasecmp(nodePtr->attrName, name, nodeNameLen)) {
node = nodePtr->children;
while (node) {
- if (result = psetNodeFindNode((PsetNodePtr)(node->val), ld, name,
- nodeFlag, &dummy)) {
+ if ((result = psetNodeFindNode((PsetNodePtr)(node->val), ld, name,
+ nodeFlag, &dummy))) {
*errorcode = PSET_OP_OK;
return result;
}
@@ -460,7 +518,7 @@
}
/* figure out the possible name for child */
- if (tmpPtr = strchr(newName, '.')) *tmpPtr = '\0';
+ if ((tmpPtr = strchr(newName, '.'))) *tmpPtr = '\0';
node = nodePtr->children;
while (node) {
@@ -513,7 +571,6 @@
NameType attrName;
char **vals;
ListNodePtr resultList=NULL, tmpList, node;
- int i=0, j=0;
char wholeName[PATH_MAX];
*errorcode = PSET_OP_OK;
@@ -580,7 +637,6 @@
NameType attrName;
char **vals;
ListNodePtr resultList=NULL, tmpList, node;
- int i=0, j=0;
char wholeName[PATH_MAX];
*errorcode = PSET_OP_OK;
@@ -657,6 +713,8 @@
#endif
ldap_memfree(nodeDN);
if (ldaperror == LDAP_INSUFFICIENT_ACCESS) return PSET_ACCESS_FAIL;
+ /* attempt to add an attribute not part of the entry's objectclasses/schema */
+ else if (ldaperror == LDAP_OBJECT_CLASS_VIOLATION) return PSET_ATTR_NOT_ALLOWED;
else return PSET_SYSTEM_ERR; /* error code return here */
}
@@ -711,7 +769,7 @@
}
PR_snprintf(valBuf, valLen + 1, "%s", valList[i]);
sptr = valBuf;
- while (cptr = strchr(sptr, '\n')) {
+ while ((cptr = strchr(sptr, '\n'))) {
*cptr++ = '\0';
fprintf(fstream, "%s\n ", sptr);
sptr=cptr;
@@ -756,12 +814,14 @@
#ifdef LDAP_DEBUG
ldap_perror( pset->ld, "ldap_search_s" );
#endif
+ ldap_msgfree(result);
if (ldaperror == LDAP_INSUFFICIENT_ACCESS) return PSET_ACCESS_FAIL;
return PSET_SYSTEM_ERR;
}
if (ldap_count_entries(pset->ld, result) == 0) {
/* error return : entry does not exist */
+ ldap_msgfree(result);
return PSET_ENTRY_NOT_EXIST;
}
@@ -806,8 +866,8 @@
struct flock flock_data;
#endif
char linebuf[1024];
- char *name, *val, namebuf[128], *valBuf;
- char *nodeName, *attrName, *valptr = NULL;
+ char *name, *val, namebuf[128], *valBuf = NULL;
+ char *nodeName = NULL, *attrName = NULL, *valptr = NULL;
int valBuf_len = 0;
PsetNodePtr lastPsetNode = NULL, target;
PRStatus prst = 0;
@@ -1028,7 +1088,7 @@
}
if (psets) {
- while (psetl = *psets++) {
+ while ((psetl = *psets++)) {
target = psetNodeFindNode(psetl->info,
NULL,
name,
@@ -1083,15 +1143,16 @@
case LDAP_MOD_REPLACE:
case LDAP_MOD_DELETE:
if (!valsptr) return PSET_ATTR_NOT_EXIST;
- PR_Free (valsptr);
+ deleteValue (valsptr);
break;
case LDAP_MOD_ADD:
if (valsptr) {
- PR_Free (valsptr);
+ deleteValue (valsptr);
return PSET_ATTR_EXIST;
}
break;
default:
+ deleteValue (valsptr);
return PSET_ILLEGAL_OP;
}
@@ -1132,7 +1193,6 @@
PsetPtr pset = NULL;
int entries = 0, i = 0, errorcode = PSET_OP_OK;
LDAPMod **mods;
- AttributeList nvlptr = nvl;
PsetNodePtr target;
ListNodePtr updateList = NULL, attrList, nodePtr, attrPtr;
int nodeFlag;
@@ -1147,6 +1207,7 @@
if ((pset) && !(pset->info->ldapHolder) &&
(pset->configFile) &&
!(pset->fileRW)) {
+ destroyUpdateList(updateList);
if (partial) return PSET_PARTIAL_OP;
else return PSET_LOCAL_MODE;
}
@@ -1168,18 +1229,20 @@
if (partial) return PSET_PARTIAL_OP;
else return PSET_ATTR_NOT_EXIST;
}
- else PR_Free (val);
+ else deleteValue (val);
break;
case LDAP_MOD_ADD:
if (val) {
/* Attribute already exist */
- PR_Free (val);
+ deleteValue (val);
destroyUpdateList(updateList);
if (partial) return PSET_PARTIAL_OP;
else return PSET_ATTR_EXIST;
}
break;
default:
+ deleteValue (val);
+ destroyUpdateList(updateList);
return PSET_ILLEGAL_OP;
}
attrPtr = attrPtr->next;
@@ -1232,17 +1295,21 @@
nodePtr=nodePtr->next;
}
psetFileExportP(pset);
+ destroyUpdateList(updateList);
return errorcode;
}
/*
PsetHndl
- psetCreate(LDAPServerPtr srv, char* sieDN, char* userDN, char* passwd,
- char* configFile, int* errorcode)
+ psetCreate(char *serverID, char* configRoot, char* userDN, char* passwd,
+ int* errorcode)
*/
-/* SIE is in <serverRoot>/<serverID>/config/adm.conf
- Local cache is <serverRoot>/<serverID>/config/local.conf
- LDAP is in <serverRoot>/admin-serv/config/ldap.conf
+/*
+ The configRoot directory is expected to contain the adm.conf file
+ which we use to bootstrap our connection to the ldap server, and
+ the local.conf file which holds the read-only cached copy of our real
+ config information stored in the directory. If the local.conf file is
+ not found there, look for it under NETSITE_ROOT/serverID/config.
*/
PR_IMPLEMENT(PsetHndl)
@@ -1250,12 +1317,11 @@
int* errorcode)
{
PsetHndl pset;
- AdmldapInfo ldapInfo= NULL, admLdapInfo=NULL;
- char *serverRoot = getenv("NETSITE_ROOT");
- char path[PATH_MAX], *ldapHost=NULL, *sieDN = NULL;
+ AdmldapInfo ldapInfo= NULL;
+ char *path, *ldapHost=NULL, *sieDN = NULL;
char *userDN = NULL;
char *bindPasswd = NULL;
- int ldapPort = -1, dummy;
+ int ldapPort = -1;
ldapInfo = admldapBuildInfo(configRoot, errorcode);
@@ -1265,18 +1331,6 @@
ldapHost = admldapGetHost(ldapInfo);
ldapPort = admldapGetPort(ldapInfo);
- /* For non-admin server, if no ldap information, get ldap host and port
- from admin server */
- if (strcasecmp(serverID, "admin-serv")) {
- if (!ldapHost && serverRoot) {
- PR_snprintf(path, sizeof(path), "%s%cadmin-serv%cconfig",
- serverRoot, FILE_PATHSEP, FILE_PATHSEP);
- admLdapInfo = admldapBuildInfo(configRoot, &dummy);
- ldapHost = admldapGetHost(admLdapInfo);
- ldapPort = admldapGetPort(admLdapInfo);
- }
- }
-
*errorcode = PSET_OP_OK;
if (!ldapHost) ldapHost = PL_strdup("localhost");
@@ -1285,6 +1339,9 @@
/* Get SIE and password */
sieDN = admldapGetSIEDN(ldapInfo);
if (!user) {
+ ADM_GetUserDNString(errorcode, &user);
+ }
+ if (!user) {
ADM_GetCurrentUsername(errorcode, &user);
}
/* if user is just attr val, get dn */
@@ -1299,16 +1356,18 @@
}
}
- if (configRoot)
- PR_snprintf(path, sizeof(path), "%s%clocal.conf", configRoot, FILE_PATHSEP);
- else
- PR_snprintf(path, sizeof(path), "%s%c%s%cconfig%clocal.conf",
- serverRoot, FILE_PATHSEP, serverID, FILE_PATHSEP, FILE_PATHSEP);
+ /* find local.conf file */
+ if (!(path = find_file_in_paths("local.conf", configRoot))) {
+ /* error - no valid file or dir could be found */
+ *errorcode = PSET_ENV_ERR;
+ }
pset = psetRealCreate(ldapHost, ldapPort, sieDN, userDN, bindPasswd, path,
errorcode);
PR_Free(ldapHost);
PR_Free(sieDN);
+ PR_smprintf_free(path);
+ PR_Free(userDN);
if (!passwd) { if (bindPasswd) PR_Free(bindPasswd); }
destroyAdmldap(ldapInfo);
return pset;
@@ -1354,7 +1413,7 @@
{
LDAP *ld = NULL;
int ldapError, unbindF = 0;
- PsetHndl pset;
+ PsetHndl pset = NULL;
if ((!ldapHost) || (ldapPort < 1) || (!sieDN)) {
/* set error code to SIEDN not available */
@@ -1375,12 +1434,14 @@
#ifdef LDAP_DEBUG
ldap_perror( ld, "ldap_simple_bind_s" );
#endif
+ ldap_unbind(ld);
*errorcode = PSET_AUTH_FAIL;
return pset;
case LDAP_NO_SUCH_OBJECT:
case LDAP_ALIAS_PROBLEM:
case LDAP_INVALID_DN_SYNTAX:
/* Not a good DN */
+ ldap_unbind(ld);
*errorcode = PSET_ENTRY_NOT_EXIST;
return pset;
default:
@@ -1445,7 +1506,7 @@
/* Retrieve data */
pset->info = psetNodeCreate("", NULL);
- if (*errorcode = psetLDAPRefresh(pset)) {
+ if ((*errorcode = psetLDAPRefresh(pset))) {
/* error on retrieving data, can I use local config data?
Maybe not!!
*/
@@ -1465,7 +1526,7 @@
else *errorcode = PSET_LOCAL_OPEN_FAIL;
if (*errorcode && *errorcode != PSET_LOCAL_MODE) {
- PR_Free(psetRoot->ldapInfo);
+ psetDeletePtr(psetRoot->ldapInfo);
psetRoot->ldapInfo = NULL;
}
}
@@ -1514,7 +1575,6 @@
return (PsetHndl)psetRoot;
}
-
PR_IMPLEMENT(int)
psetDelete(PsetHndl pseth)
{
@@ -1525,30 +1585,19 @@
psetRoot = (PsetRootPtr)pseth;
- pset = psetRoot->ldapInfo;
-
- if (pset) {
- if (pset->info) psetNodeDestroy(pset->info);
- if (pset->ldapFilter) PR_Free(pset->ldapFilter);
- if (pset->ldunbindf) {
- if (pset->ld) ldap_unbind(pset->ld);
- }
- if (pset->configFile) PR_Free(pset->configFile);
- if (pset->sieDN) PR_Free(pset->sieDN);
- if (pset->binddn) PR_Free(pset->binddn);
- if (pset->bindpw) PR_Free(pset->bindpw);
-
- PR_Free(pset);
- }
+ psetDeletePtr(psetRoot->ldapInfo);
+ psetRoot->ldapInfo = NULL;
psets = psetRoot->fileInfo;
if (psets) {
- while (pset= *psets++) {
+ while ((pset= *psets++)) {
if (pset->info) psetNodeDestroy(pset->info);
if (pset->configFile) PR_Free(pset->configFile);
}
}
+
+ PR_Free(psetRoot);
return PSET_OP_OK;
}
@@ -1618,13 +1667,22 @@
psetGetObjectClass(PsetHndl pseth, NameType name, int* errorcode)
{
NameType objectclass;
+ ValueType value;
+ int needFree = 0;
if(strstr(name, ".objectclass")) {
objectclass = name;
} else {
objectclass = (NameType)PR_smprintf("%s.objectclass", name);
+ needFree = 1;
+ }
+ value = psetGetAttrValue(pseth, objectclass, errorcode);
+
+ if (needFree) {
+ PR_smprintf_free(objectclass);
}
- return psetGetAttrValue(pseth, objectclass, errorcode);
+
+ return value;
}
@@ -1654,8 +1712,6 @@
PsetRootPtr psetRoot;
PsetPtr pset;
PsetNodePtr target;
- int entries = 0;
- int i = 0, j= 0;
NameType name;
ListNodePtr resultList = NULL, tmpList;
AttributeList resultAttrList = NULL;
@@ -1671,7 +1727,7 @@
}
psetRoot = (PsetRootPtr)pseth;
- while (name = *nl++) {
+ while ((name = *nl++)) {
target = psetRootFindNode(psetRoot, name, &pset, &nodeFlag,
&dummyError);
if (target) {
@@ -1708,7 +1764,6 @@
PsetNodePtr psetNode;
ListNodePtr tmpList;
AttributeList resultList;
- int i=0, j=0;
int nodeFlag;
*errorcode = PSET_OP_OK;
@@ -1747,7 +1802,6 @@
PsetNodePtr psetNode;
ListNodePtr tmpList;
AttributeList resultList;
- int i=0, j=0;
int nodeFlag;
*errorcode = PSET_OP_OK;
@@ -1785,7 +1839,6 @@
PsetRootPtr psetRoot;
PsetPtr pset;
PsetNodePtr psetNode;
- int i=0, j=0;
int nodeFlag;
*errorcode = PSET_OP_OK;
@@ -1928,7 +1981,7 @@
nvl = createAttributeList(cnt);
nlPtr = nl;
i = 0;
- while (name = *nlPtr++) addAttribute(nvl, i++, name, NULL);
+ while ((name = *nlPtr++)) addAttribute(nvl, i++, name, NULL);
return psetRootModAttrList(psetRoot, LDAP_MOD_DELETE, nvl);
}
@@ -1944,7 +1997,6 @@
char *dn;
int ldaperror, i, cnt, nodeFlag, errorCode;
char absAttrName[PATH_MAX], **names, *filter;
- ListNodePtr attrList = NULL;
AttributePtr nv;
AttributeList nvlPtr;
@@ -1969,8 +2021,8 @@
if (!(pset->info->ldapHolder) &&
!(pset->fileRW)) return PSET_LOCAL_MODE;
- if (nodePtr = psetNodeFindNode(parentPtr, pset->ld, absAttrName, &nodeFlag,
- &errorCode)) {
+ if ((nodePtr = psetNodeFindNode(parentPtr, pset->ld, absAttrName, &nodeFlag,
+ &errorCode))) {
return PSET_ENTRY_EXIST;
}
@@ -2003,7 +2055,7 @@
nvlPtr = initList;
i = 2;
- while (nv = *nvlPtr++)
+ while ((nv = *nvlPtr++))
mods[i++] = createMod(nv->attrName, nv->attrVal, 0);
mods[i] = NULL;
@@ -2098,171 +2150,188 @@
return psetFileExportP(pset);
}
-PR_IMPLEMENT(const char*)
-psetErrorString(int errorNum, char* lang)
+PR_IMPLEMENT(char*)
+psetErrorString(int errorNum, char* lang, char *buffer, size_t bufsize, int *rc)
{
char *acceptLang = lang;
- const char* errorStr = NULL;
+ char* errorStr = NULL;
+
+ if (buffer) {
+ *buffer = '\0';
+ }
if (!acceptLang) acceptLang = admutil_acceptLang;
switch (errorNum) {
case PSET_OP_OK:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_OP_OK, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_OP_OK, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Operation OK";
+ else errorStr = "Operation OK";
break;
case PSET_OP_FAIL:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_OP_FAIL, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_OP_FAIL, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Operation failed";
+ else errorStr = "Operation failed";
break;
case PSET_SYSTEM_ERR:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_SYSTEM_ERR, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_SYSTEM_ERR, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "System (OS/LDAP) related error";
+ else errorStr = "System (OS/LDAP) related error";
break;
case PSET_ENV_ERR:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_ENV_ERR, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_ENV_ERR, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Environment variable error";
+ else errorStr = "Environment variable error";
break;
case PSET_ARGS_ERROR:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_ARGS_ERROR, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_ARGS_ERROR, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Arguments error";
+ else errorStr = "Arguments error";
break;
case PSET_NULL_HANDLE:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_NULL_HANDLE, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_NULL_HANDLE, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Null handle";
+ else errorStr = "Null handle";
break;
case PSET_LOCAL_MODE:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_LOCAL_MODE, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_LOCAL_MODE, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Operated in local cache mode";
+ else errorStr = "Operated in local cache mode";
break;
case PSET_LOCAL_OPEN_FAIL:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_LOCAL_OPEN_FAIL, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_LOCAL_OPEN_FAIL, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Failed to open local cache";
+ else errorStr = "Failed to open local cache";
break;
case PSET_AUTH_FAIL:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_AUTH_FAIL, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_AUTH_FAIL, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Authentication failed";
+ else errorStr = "Authentication failed";
break;
case PSET_ACCESS_FAIL:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_ACCESS_FAIL, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_ACCESS_FAIL, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Access failed - improper permission";
+ else errorStr = "Access failed - improper permission";
break;
case PSET_ENTRY_NOT_EXIST:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_ENTRY_NOT_EXIST, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_ENTRY_NOT_EXIST, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Entry does not exist";
+ else errorStr = "Entry does not exist";
break;
case PSET_ATTR_NOT_EXIST:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_ATTR_NOT_EXIST, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_ATTR_NOT_EXIST, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Attribute does not exist";
+ else errorStr = "Attribute does not exist";
break;
case PSET_ENTRY_EXIST:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_ENTRY_EXIST, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_ENTRY_EXIST, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Entry exist";
+ else errorStr = "Entry exist";
break;
case PSET_ATTR_EXIST:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_ATTR_EXIST, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_ATTR_EXIST, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Attribute exist";
+ else errorStr = "Attribute exist";
break;
case PSET_NOT_ENTRY:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_NOT_ENTRY, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_NOT_ENTRY, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Not an entry";
+ else errorStr = "Not an entry";
break;
case PSET_NOT_ATTR:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_NOT_ATTR, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_NOT_ATTR, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Not an attribute";
+ else errorStr = "Not an attribute";
break;
case PSET_NO_LDAP_HNDL:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_LDAP_HNDL, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_LDAP_HNDL, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "NULL LDAP Handler";
+ else errorStr = "NULL LDAP Handler";
break;
case PSET_NO_DN:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_DN, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_DN, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "No Distinguished Name";
+ else errorStr = "No Distinguished Name";
break;
case PSET_NO_DATA:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_DATA, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_DATA, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "No data";
+ else errorStr = "No data";
break;
case PSET_NO_VALUE:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_VALUE, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_VALUE, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "No value";
+ else errorStr = "No value";
break;
case PSET_NO_PARENT:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_PARENT, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_NO_PARENT, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "No parent node";
+ else errorStr = "No parent node";
break;
case PSET_PARTIAL_GET:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_PARTIAL_GET, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_PARTIAL_GET, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Only get partial data";
+ else errorStr = "Only get partial data";
break;
case PSET_PARTIAL_OP:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_PARTIAL_OP, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_PARTIAL_OP, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Operation only success partially, some failed";
+ else errorStr = "Operation only success partially, some failed";
break;
case PSET_ILLEGAL_OP:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_ILLEGAL_OP, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_ILLEGAL_OP, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Illegal operation";
+ else errorStr = "Illegal operation";
break;
case PSET_NOT_IMPLEMENT:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_NOT_IMPLEMENT, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_NOT_IMPLEMENT, acceptLang, buffer, bufsize, rc);
+ if (errorStr) return errorStr;
+ else errorStr = "Not implemented yet";
+ break;
+ case PSET_ATTR_NOT_ALLOWED:
+ if (admutil_i18nResource)
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_ATTR_NOT_ALLOWED, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Not implemented yet";
+ else errorStr = "Attribute disallowed by entry objectclasses";
break;
default:
if (admutil_i18nResource)
- errorStr = res_getstring(admutil_i18nResource, DBT_pset_UNKNOWN_ERROR_NO, acceptLang);
+ errorStr = res_getstring(admutil_i18nResource, DBT_pset_UNKNOWN_ERROR_NO, acceptLang, buffer, bufsize, rc);
if (errorStr) return errorStr;
- else return "Unknown Error Number";
+ else errorStr = "Unknown Error Number";
}
+
+ if (buffer) {
+ PL_strncpyz(buffer, errorStr, bufsize);
+ return buffer;
+ }
+
+ return PL_strdup(errorStr);
}
/* Setting up LDAP referal */
@@ -2380,6 +2449,8 @@
for(count=0; nodeObjectClass[count] != NULL; count++)
addName(listName, count, nodeObjectClass[count]);
+ deleteValue(nodeObjectClass);
+ nodeObjectClass = NULL;
count=0;
temp_list = nodeAttrs;
@@ -2389,7 +2460,7 @@
temp_list = nodeAttrs;
count=0;
while(temp_list && (attrPtr = *temp_list++)) {
- if(temp_attr_name = strrchr(attrPtr->attrName, '.'))
+ if ((temp_attr_name = strrchr(attrPtr->attrName, '.')))
temp_attr_name++;
else
temp_attr_name = attrPtr->attrName;
@@ -2402,7 +2473,7 @@
/* install it in the dest tree */
parent = PL_strdup(name);
- if(temp_node_name = strrchr(parent, '.')) {
+ if ((temp_node_name = strrchr(parent, '.'))) {
temp_node_name[0] = '\0';
temp_node_name++;
}
@@ -2432,7 +2503,7 @@
/* process the children */
nodeChildren = psetGetChildren(source, name, &errorcode);
- while(temp_node_name = *nodeChildren++) {
+ while ((temp_node_name = *nodeChildren++)) {
rv = psetRecursiveReplicate(source, dest, temp_node_name, source_groupDN, dest_groupDN);
if (rv != PSET_OP_OK) {
return rv;
@@ -2487,6 +2558,8 @@
for(count=0; nodeObjectClass[count] != NULL; count++)
addName(listName, count, nodeObjectClass[count]);
+ deleteValue(nodeObjectClass);
+ nodeObjectClass = NULL;
count=0;
temp_list = nodeAttrs;
Index: resource.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/resource.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- resource.c 20 Jul 2005 22:51:32 -0000 1.1.1.1
+++ resource.c 4 Apr 2007 19:37:36 -0000 1.2
@@ -22,16 +22,93 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+#include <unistd.h>
#include "unicode/ures.h"
#include "unicode/ustring.h"
+/* returns true if the given path is a valid directory, false otherwise */
+static int
+is_dir_ok(const char *path)
+{
+ PRFileInfo prinfo;
+ int ret = 0;
+
+ if (path && *path &&
+ (PR_SUCCESS == PR_GetFileInfo(path, &prinfo)) &&
+ prinfo.type == PR_FILE_DIRECTORY) {
+ ret = 1;
+ }
+
+ return ret;
+}
+
+/*
+ ----------------------------------------------------------------
+ res_find_and_init_resource
+
+ Initializes a property file path. Looks for the package directory
+ in a variety of well known locations, in order, and stops after
+ the first successful attempt to stat the directory.
+ 1) the given path, if any
+ 2) the current working directory + "/property"
+ 3) getenv(ADMINUTIL_CONFDIR_ENV_VAR) + "/property"
+ It is expected that applications will have their default property
+ directory compiled in (via configure ; make) and that's what they
+ will pass in as their first argument. The other path lookup stuff
+ is really for legacy apps or apps in which the user wants to change
+ the property directory at runtime.
+ If package is NULL, then path already is package specific e.g.
+ path will usually be something like
+ /usr/share/adminutil - the resource files will be in this directory e.g.
+ /usr/share/adminutil/root.res,en.res,en_US.res, etc.
+ -----------------------------------------------------------------
+ */
+PR_IMPLEMENT(Resource*)
+res_find_and_init_resource(const char *path, const char *package)
+{
+ char resPath[PATH_MAX];
+ char *adminutilConfDir = getenv(ADMINUTIL_CONFDIR_ENV_VAR);
+ char *execPath;
+ Resource *resource = NULL;
+
+ /* case 1 */
+ if (is_dir_ok(path)) {
+ return res_init_resource(path, package);
+ }
+
+ /* case 2 */
+ resPath[0] = '\0';
+ execPath = getcwd(resPath, sizeof(resPath));
+ if (execPath) {
+ PL_strcatn(resPath, sizeof(resPath), "/property");
+ if (!is_dir_ok(resPath)) {
+ resPath[0] = '\0';
+ }
+ }
+
+ /* case 3 */
+ if (!resPath[0] && adminutilConfDir && *adminutilConfDir) {
+ PR_snprintf(resPath, sizeof(resPath), "%s/property", adminutilConfDir);
+ if (!is_dir_ok(resPath)) {
+ resPath[0] = '\0';
+ }
+ }
+
+ if (resPath[0]) {
+ resource = res_init_resource(resPath, package);
+ }
+
+ return resource;
+}
/*
----------------------------------------------------------------
res_init_resource
Initializes a property file path.
+ package may be NULL - this means that path is already package specific
+ e.g. /usr/share/adminutil
-----------------------------------------------------------------
*/
PR_IMPLEMENT(Resource*)
@@ -41,19 +118,22 @@
char *resPath;
char path_last_char;
- if (package == NULL || PL_strlen(package) == 0) {
- return NULL;
- }
-
if (path == NULL) {
+ /* both path and package cannot be NULL */
+ if (package == NULL || PL_strlen(package) == 0) {
+ return NULL;
+ }
path = "./";
}
path_last_char = path[PL_strlen(path) - 1];
if (path_last_char != '/' && path_last_char != '\\') {
- resPath = PR_smprintf("%s/%s", path, package);
+ resPath = PR_smprintf("%s%s%s", path,
+ package ? "/" : "",
+ package ? package : "");
} else {
- resPath = PR_smprintf("%s%s", path, package);
+ resPath = PR_smprintf("%s%s", path,
+ package ? package : "");
}
resource = (Resource *)PR_Malloc(sizeof(Resource));
@@ -83,16 +163,20 @@
Gets a string by key from a resource file
-----------------------------------------------------------------------------
*/
-PR_IMPLEMENT(const char*)
-res_getstring(Resource* resource, char *key, char *locale)
+PR_IMPLEMENT(char*)
+res_getstring(Resource* resource, char *key, char *locale, char *buffer, size_t bufsize, int *rc)
{
- const char* result = NULL;
+ char* result = NULL;
+ int resultcode = -1;
UResourceBundle *bundle = NULL;
UErrorCode status = U_ZERO_ERROR;
-
+
+ if (buffer) {
+ *buffer = '\0';
+ }
if (resource == NULL || resource->path == NULL || key == NULL) {
- return PL_strdup("");
+ goto done;
}
bundle = ures_open(resource->path, (const char*)locale, &status);
@@ -102,31 +186,54 @@
const UChar *umsg = ures_getStringByKey(bundle, key, &umsglen, &status);
if (U_SUCCESS(status) && umsg) {
- int32_t msglen=-1;
-
- /* Get first the required buffer size */
- u_strToUTF8(NULL, 0, &msglen, umsg, umsglen, &status);
- if (msglen >0) {
- result = PR_Malloc(msglen+1);
- if (result) {
- /* reset status, set to OVERFLOW by the last call to u_strToUTF8 */
- status = U_ZERO_ERROR;
- /* now the real conversion with allocated buffer */
- u_strToUTF8((char*)result, msglen+1, &msglen, umsg, umsglen, &status);
- if (!U_SUCCESS(status)) {
- result = NULL;
- }
+ int32_t msglen=-1;
+ if (buffer) {
+ /* just convert the string into the given buffer - note that
+ there may be truncation/overflow - see below */
+ msglen = (int32_t)bufsize;
+ u_strToUTF8(buffer, msglen, &msglen, umsg, umsglen, &status);
+ buffer[bufsize] = '\0'; /* ensure null termination */
+ } else {
+ /* Get first the required buffer size */
+ u_strToUTF8(NULL, 0, &msglen, umsg, umsglen, &status);
+ if (msglen >0) {
+ result = PR_Malloc(msglen+1);
+ if (result) {
+ /* reset status, set to OVERFLOW by the last call to u_strToUTF8 */
+ status = U_ZERO_ERROR;
+ /* now the real conversion with allocated buffer */
+ u_strToUTF8((char*)result, msglen+1, &msglen, umsg, umsglen, &status);
+ if (!U_SUCCESS(status)) {
+ result = NULL;
+ }
+ }
}
}
+ if (status == U_BUFFER_OVERFLOW_ERROR ||
+ status == U_STRING_NOT_TERMINATED_WARNING) {
+ resultcode = 1;
+ } else if (U_SUCCESS(status)) {
+ resultcode = 0;
+ } else {
+ resultcode = -1;
+ }
}
ures_close(bundle);
}
- if (result == NULL) {
+done:
+
+ if (buffer) {
+ result = buffer;
+ } else if (!result) {
result = PL_strdup("");
}
+ if (rc) {
+ *rc = resultcode;
+ }
+
return result;
}
Index: srvutil.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/srvutil.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- srvutil.c 16 Nov 2005 18:50:15 -0000 1.2
+++ srvutil.c 4 Apr 2007 19:37:36 -0000 1.3
@@ -32,9 +32,9 @@
{
char *domainDN = NULL, *isie = NULL, *sie = NULL;
char *ptr = NULL, *adminName = NULL;
+ char *host = NULL, *siepwd = NULL;
PsetHndl domainPset;
int errorCode;
- ListNodePtr dnList=NULL, node=NULL;
AttrNameList nl;
isie = admldapGetISIEDN(info);
@@ -63,11 +63,13 @@
adminName++;
/* Use domainDN to create a pset */
- domainPset = psetRealCreate(admldapGetHost(info),
+ host = admldapGetHost(info);
+ siepwd = admldapGetSIEPWD(info);
+ domainPset = psetRealCreate(host,
admldapGetPort(info),
domainDN,
sie,
- admldapGetSIEPWD(info),
+ siepwd,
NULL,
&errorCode);
@@ -75,14 +77,20 @@
nl = retrieveSIEs(domainPset, domainDN, adminName);
- psetDelete(domainPset); /* free sie, domainDN, internally */
+ psetDelete(domainPset);
if (isie) PR_Free(isie);
+ if (sie) PR_Free(sie);
+ if (domainDN) PR_Free(domainDN);
+ if (host) PR_Free(host);
+ if (siepwd) PR_Free(siepwd);
return nl;
err:
if (isie) PR_Free(isie);
if (sie) PR_Free(sie);
if (domainDN) PR_Free(domainDN);
+ if (host) PR_Free(host);
+ if (siepwd) PR_Free(siepwd);
return NULL;
}
@@ -98,12 +106,12 @@
if (errorCode) return NULL;
nl = childrenList;
- while (name = *nl++) {
+ while ((name = *nl++)) {
if (strcasecmp(name, adminName)) {
sieList = psetGetChildren(domainPset, name, &errorCode);
nl1 = sieList;
isieLen = PL_strlen(name);
- while (sieName = *nl1++) {
+ while ((sieName = *nl1++)) {
attrName = sieName+isieLen+1;
if (strcasecmp(attrName, "tasks")) {
sieDN = attrName2dn(sieName, domainDN);
@@ -136,39 +144,48 @@
PR_IMPLEMENT(AttributeList)
getInstalledServerDNList(AdmldapInfo info)
{
- char *domainDN, *isie;
- PsetHndl domainPset;
- AttributeList resultList;
- int errorCode;
+ char *domainDN = NULL, *isie = NULL, *sie = NULL;
+ char *host = NULL, *siepwd = NULL;
+ PsetHndl domainPset = NULL;
+ AttributeList resultList = NULL;
+ int errorCode = 0;
isie = admldapGetISIEDN(info);
domainDN=strchr(isie, ',');
- if (!domainDN) return NULL;
+ if (!domainDN) goto done;
domainDN++;
while (*domainDN == ' ' && *domainDN != '\0') domainDN++;
- if (*domainDN == '\0') return NULL;
+ if (*domainDN == '\0') goto done;
/* Use domainDN to create a pset */
- domainPset = psetRealCreate(admldapGetHost(info),
+ host = admldapGetHost(info);
+ sie = admldapGetSIEDN(info);
+ siepwd = admldapGetSIEPWD(info);
+ domainPset = psetRealCreate(host,
admldapGetPort(info),
domainDN,
- admldapGetSIEDN(info),
- admldapGetSIEPWD(info),
+ sie,
+ siepwd,
NULL,
&errorCode);
- if (!domainPset) return NULL;
+ if (!domainPset) goto done;
resultList = retrieveISIEs(domainPset, domainDN);
+
+done:
psetDelete(domainPset);
+ PL_strfree(host);
+ PL_strfree(sie);
+ PL_strfree(siepwd);
+ PL_strfree(isie);
return resultList;
-
}
PR_IMPLEMENT(AttributeList)
@@ -177,7 +194,6 @@
char *name;
int errorCode, i, cnt = 0;
ListNodePtr dnList=NULL, node=NULL;
- char dn[1024], attrName[256];
AttributeList resultList = NULL;
AttrNameList childrenList, nl;
char *nickName;
@@ -186,16 +202,20 @@
if (errorCode) return NULL;
nl = childrenList;
- while (name = *nl++) {
- PR_snprintf (attrName, sizeof(attrName), "%s.nsNickName", name);
+ while ((name = *nl++)) {
+ char *attrName = PR_smprintf("%s.nsNickName", name);
nickName = psetGetAttrSingleValue(domainPset, attrName, &errorCode);
if (nickName) {
- PR_snprintf (dn, sizeof(dn), "cn=%s, %s", name, domainDN);
- node = createListNode(nickName, PL_strdup(dn), 1);
+ ValueType val;
+ char *dn = PR_smprintf("cn=%s, %s", name, domainDN);
+ val = (ValueType)PR_Calloc(2, sizeof(char *));
+ val[0] = dn;
+ node = createListNode(nickName, val, 1);
if (dnList) listCat(dnList, node);
else dnList = node;
PR_Free(nickName);
}
+ PR_smprintf_free(attrName);
}
deleteAttrNameList(childrenList);
Index: uginfo.c
===================================================================
RCS file: /cvs/dirsec/adminutil/lib/libadminutil/uginfo.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- uginfo.c 11 May 2006 23:30:31 -0000 1.3
+++ uginfo.c 4 Apr 2007 19:37:36 -0000 1.4
@@ -34,11 +34,8 @@
static char*
admldapCreateLDAPHndl(AdmldapInfo info, char *targetDN, int *error_code)
{
- char *ldapHost = NULL;
- int ldapPort = 0;
char *sieDN = NULL;
- char *siePassword = NULL;
- char targetDNBuf[1024], *resultDN = NULL;
+ char *resultDN = NULL;
AdmldapHdnlPtr hndl = (AdmldapHdnlPtr)info;
if (!hndl) { *error_code = UG_EMPTY_LDAPINFO; return NULL; }
@@ -49,9 +46,7 @@
/* No target DN given, try to figure it out */
if (!sieDN) sieDN = admldapGetSIEDN(info);
if (sieDN) {
- PR_snprintf(targetDNBuf, sizeof(targetDNBuf), "cn=configuration, %s",
- sieDN);
- resultDN = PL_strdup(targetDNBuf);
+ resultDN = PR_smprintf("cn=configuration, %s", sieDN);
}
else {
*error_code = UG_NO_TARGETDN;
@@ -205,7 +200,7 @@
char** directoryInfoRef, int* error_code)
{
- int errorCode = UG_OP_OK, status;
+ int status;
char *dummyDirectoryInfoRef = NULL;
if (!admldapGetUserDirectoryInfo(ld, targetDN, directoryURL, bindDN,
@@ -357,7 +352,7 @@
if (NULL != temp) {
PL_strncpy(failover_buffer, &(temp[1]), sizeof(failover_buffer));
*temp = '\0';
- if(temp = strrchr(failover_buffer, '/')) {
+ if ((temp = strrchr(failover_buffer, '/'))) {
PL_strncat(url_buffer, temp, url_buflen);
*temp = '\0';
}
17 years, 1 month
[Fedora-directory-commits] adminutil/m4 fhs.m4, NONE, 1.1 icu.m4, 1.1, 1.2 mozldap.m4, 1.1, 1.2
by Doctor Conrad
Author: rmeggins
Update of /cvs/dirsec/adminutil/m4
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30346/adminutil/m4
Modified Files:
icu.m4 mozldap.m4
Added Files:
fhs.m4
Log Message:
Resolves: bug 234420
Bug Description: adminutil: Use FHS paths and general code cleanup
Reviewed by: nkinder (Thanks!)
Fix Description:
1) Added a propertydir parameter to Makefile.am. This is where the .res files go. This also gets baked into the code so that the library knows where to find them.
2) The icu code expects the .res files to be in a packagename directory - packagename/foo.res not packagename_foo.res. I don't know how this ever worked. I also added en_US.res and en.res - icu recommends having the actual locale file rather than just falling back to the default root.res - see http://icu-project.org/userguide/ResourceManagement.html
3) There was quite a bit of dead code that I got rid of
4) Fixed many compiler warnings
5) There were quite a few memory leaks. The biggest one was probably in psetDelete, which did not actually delete the pset. Another one was the resource string handling - this returns malloc'd memory, and was never freed. I added the option to pass in a static sized buffer to hold the resource string - this may be truncated but we usually won't care. There were several places where the code was calling PR_Free on a data structure pointer - doing a "shallow" free rather than a "deep" free of all of the pointers in the data structure.
6) I merged in configuration from dbswitch.conf and other config files so that we could get rid of them and just have adm.conf. We'll have to take care of this during migration.
Platforms tested: RHEL4, FC6
Flag Day: no
Doc impact: no
--- NEW FILE fhs.m4 ---
# BEGIN COPYRIGHT BLOCK
# Copyright (C) 2006 Red Hat, Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# END COPYRIGHT BLOCK
AC_CHECKING(for FHS)
# check for --with-fhs
AC_MSG_CHECKING(for --with-fhs)
AC_ARG_WITH(fhs, [ --with-fhs Use FHS layout],
[
with_fhs=yes
],
AC_MSG_RESULT(no))
if test "$with_fhs" = "yes"; then
AC_DEFINE([IS_FHS], [1], [Use FHS layout])
fi
Index: icu.m4
===================================================================
RCS file: /cvs/dirsec/adminutil/m4/icu.m4,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- icu.m4 30 Oct 2006 19:25:23 -0000 1.1
+++ icu.m4 4 Apr 2007 19:37:41 -0000 1.2
@@ -92,7 +92,7 @@
AC_PATH_PROG(ICU_CONFIG, icu-config)
if test -n "$ICU_CONFIG"; then
icu_lib=`$ICU_CONFIG --ldflags-searchpath`
- icu_libdir = `$ICU_CONFIG --libdir`
+ icu_libdir=`$ICU_CONFIG --libdir`
icu_inc=`$ICU_CONFIG --cppflags-searchpath`
icu_bin=`$ICU_CONFIG --bindir`
AC_MSG_RESULT([using system ICU])
Index: mozldap.m4
===================================================================
RCS file: /cvs/dirsec/adminutil/m4/mozldap.m4,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mozldap.m4 30 Oct 2006 19:25:23 -0000 1.1
+++ mozldap.m4 4 Apr 2007 19:37:41 -0000 1.2
@@ -76,21 +76,22 @@
AC_MSG_CHECKING(for mozldap with pkg-config)
AC_PATH_PROG(PKG_CONFIG, pkg-config)
if test -n "$PKG_CONFIG"; then
- if $PKG_CONFIG --exists mozldap6; then
- ldapsdk_inc=`$PKG_CONFIG --cflags-only-I mozldap6`
- ldapsdk_lib=`$PKG_CONFIG --libs-only-L mozldap6`
- ldapsdk_libdir=`$PKG_CONFIG --libs-only-L mozldap6 | sed -e s/-L// | sed -e s/\ *$//`
- AC_MSG_RESULT([using system mozldap6])
+ if $PKG_CONFIG --exists mozldap; then
+ ldapsdk_name=mozldap
+ elif $PKG_CONFIG --exists mozldap6; then
+ ldapsdk_name=mozldap6
else
AC_MSG_ERROR([LDAPSDK not found, specify with --with-ldapsdk[-inc|-lib].])
fi
+ ldapsdk_inc=`$PKG_CONFIG --cflags-only-I $ldapsdk_name`
+ ldapsdk_lib=`$PKG_CONFIG --libs-only-L $ldapsdk_name`
+ ldapsdk_libdir=`$PKG_CONFIG --libs-only-L $ldapsdk_name | sed -e s/-L// | sed -e s/\ *$//`
+ AC_MSG_RESULT([using system $ldapsdk_name])
fi
fi
if test -z "$ldapsdk_inc" -o -z "$ldapsdk_lib"; then
AC_MSG_ERROR([LDAPSDK not found, specify with --with-ldapsdk[-inc|-lib].])
fi
-dnl default path for the ldap c sdk tools (see [210947] for more details)
-ldapsdk_bindir=/usr/lib/mozldap6
dnl make sure the ldap sdk version is 6 or greater - we do not support
dnl the old 5.x or prior versions - the ldap server code expects the new
17 years, 1 month
[Fedora-directory-commits] adminutil adminutil.spec, NONE, 1.1 NEWS, NONE, 1.1 README, NONE, 1.1 adminutil.pc.in, NONE, 1.1 Makefile.am, 1.1, 1.2 Makefile.in, 1.1, 1.2 aclocal.m4, 1.1, 1.2 compile, 1.1, 1.2 config.guess, 1.1, 1.2 config.sub, 1.1, 1.2 configure, 1.1, 1.2 configure.ac, 1.1, 1.2 depcomp, 1.1, 1.2 install-sh, 1.1, 1.2 ltmain.sh, 1.1, 1.2 missing, 1.1, 1.2
by Doctor Conrad
Author: rmeggins
Update of /cvs/dirsec/adminutil
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30346/adminutil
Modified Files:
Makefile.am Makefile.in aclocal.m4 compile config.guess
config.sub configure configure.ac depcomp install-sh ltmain.sh
missing
Added Files:
adminutil.spec NEWS README adminutil.pc.in
Log Message:
Resolves: bug 234420
Bug Description: adminutil: Use FHS paths and general code cleanup
Reviewed by: nkinder (Thanks!)
Fix Description:
1) Added a propertydir parameter to Makefile.am. This is where the .res files go. This also gets baked into the code so that the library knows where to find them.
2) The icu code expects the .res files to be in a packagename directory - packagename/foo.res not packagename_foo.res. I don't know how this ever worked. I also added en_US.res and en.res - icu recommends having the actual locale file rather than just falling back to the default root.res - see http://icu-project.org/userguide/ResourceManagement.html
3) There was quite a bit of dead code that I got rid of
4) Fixed many compiler warnings
5) There were quite a few memory leaks. The biggest one was probably in psetDelete, which did not actually delete the pset. Another one was the resource string handling - this returns malloc'd memory, and was never freed. I added the option to pass in a static sized buffer to hold the resource string - this may be truncated but we usually won't care. There were several places where the code was calling PR_Free on a data structure pointer - doing a "shallow" free rather than a "deep" free of all of the pointers in the data structure.
6) I merged in configuration from dbswitch.conf and other config files so that we could get rid of them and just have adm.conf. We'll have to take care of this during migration.
Platforms tested: RHEL4, FC6
Flag Day: no
Doc impact: no
--- NEW FILE adminutil.spec ---
%define nspr_version 4.6
%define nss_version 3.11
%define svrcore_version 4.0
%define mozldap_version 6.0
%define icu_version 3.4
Summary: Utility library for directory server administration
Name: adminutil
Version: 1.1.0
Release: 1%{?dist}
License: LGPL
URL: http://directory.fedoraproject.org/wiki/AdminUtil
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: nspr-devel >= %{nspr_version}
BuildRequires: nss-devel >= %{nss_version}
BuildRequires: svrcore-devel >= %{svrcore_version}
BuildRequires: mozldap-devel >= %{mozldap_version}
BuildRequires: libicu-devel >= %{icu_version}
BuildRequires: icu >= %{icu_version}
BuildRequires: pkgconfig
Source0: http://directory.fedoraproject.org/sources/%{name}-%{version}.tar.bz2
%description
%{name} is libraries of functions used to administer directory
servers, usually in conjunction with the admin server. %{name} is
broken into two libraries - libadminutil contains the basic
functionality, and libadmsslutil contains SSL versions and wrappers
around the basic functions. The PSET functions allow applications to
store their preferences and configuration parameters in LDAP, without
having to know anything about LDAP. The configuration is cached in a
local file, allowing applications to function even if the LDAP server
is down. The other code is typically used by CGI programs used for
directory server management, containing GET/POST processing code as
well as resource handling (ICU ures API).
%package devel
Summary: Development and header files for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
BuildRequires: nspr-devel >= %{nspr_version}
BuildRequires: nss-devel >= %{nss_version}
BuildRequires: svrcore-devel >= %{svrcore_version}
BuildRequires: mozldap-devel >= %{mozldap_version}
BuildRequires: libicu-devel >= %{icu_version}
BuildRequires: icu >= %{icu_version}
BuildRequires: pkgconfig
%description devel
Development files and header files necessary to build applications
that use %{name}.
%prep
%setup -q
%build
%configure
make
%install
%{__rm} -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc LICENSE README NEWS
%{_libdir}/*.so.*
%{_datadir}/%{name}
%files devel
%defattr(-,root,root,-)
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/*.so
%{_includedir}/libadminutil
%{_includedir}/libadmsslutil
%changelog
* Wed Mar 28 2007 Rich Megginson <rmeggins(a)redhat.com> - 1.1.0-1
- Initial version - based largely on svrcore.spec
--- NEW FILE NEWS ---
adminutil 1.1.0
=============
* converted to FHS for paths
* a lot of api clean up
--- NEW FILE README ---
adminutil is libraries of functions used to administer directory
servers, usually in conjunction with the admin server. adminutil is
broken into two libraries - libadminutil contains the basic
functionality, and libadmsslutil contains SSL versions and wrappers
around the basic functions. The PSET functions allow applications to
store their preferences and configuration parameters in LDAP, without
having to know anything about LDAP. The configuration is cached in a
local file, allowing applications to function even if the LDAP server
is down. The other code is typically used by CGI programs used for
directory server management, containing GET/POST processing code as
well as resource handling (ICU ures API).
--- NEW FILE adminutil.pc.in ---
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: @PACKAGE_NAME@
Description: Utility library for directory server administration
Version: @PACKAGE_VERSION@
Requires: nspr, nss, svrcore, mozldap, icu
Libs: -ladmsslutil -ladminutil
Cflags: -I${includedir}/admsslutil -I${includedir}/adminutil
Index: Makefile.am
===================================================================
RCS file: /cvs/dirsec/adminutil/Makefile.am,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Makefile.am 30 Oct 2006 19:25:16 -0000 1.1
+++ Makefile.am 4 Apr 2007 19:37:35 -0000 1.2
@@ -7,7 +7,7 @@
BUILDNUM := $(shell perl $(srcdir)/buildnum.pl)
PLATFORM_DEFINES = @platform_defs@
DEBUG_DEFINES = @debug_defs@
-ADMINUTIL_DEFINES = -DADMSDK_BUILDNUM=$(BUILDNUM) -DNET_SSL
+ADMINUTIL_DEFINES = -DADMSDK_BUILDNUM=$(BUILDNUM) -DPROPERTYDIR="\"$(pkgdatadir)\"" -DNET_SSL
ADMINUTIL_INCLUDES = -I$(srcdir)/include
AM_CPPFLAGS = $(PLATFORM_DEFINES) $(DEBUG_DEFINES) $(ADMINUTIL_DEFINES) $(ADMINUTIL_INCLUDES)
@@ -23,35 +23,69 @@
#------------------------
# Build Products
#------------------------
-pkglib_LTLIBRARIES = libadminutil.la libadmsslutil.la
-pkgdata_DATA = libadminutil_root.res
+lib_LTLIBRARIES = libadminutil.la libadmsslutil.la
+pkgdata_DATA = root.res en.res en_US.res
+
+check_PROGRAMS = retrieveSIE retrieveSIEssl psetread psetreadssl psetwrite
+TESTS = retrieveSIE retrieveSIEssl psetread psetreadssl psetwrite
+
+TEST_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/include @nspr_inc@ @ldapsdk_inc@ @icu_inc@
+TEST_LDADD = libadmsslutil.la libadminutil.la $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(ICU_LINK)
+
+retrieveSIE_SOURCES = tests/retrieveSIE.c
+retrieveSIE_CPPFLAGS = $(TEST_CPPFLAGS)
+retrieveSIE_LDADD = $(TEST_LDADD)
+
+retrieveSIEssl_SOURCES = tests/retrieveSIEssl.c
+retrieveSIEssl_CPPFLAGS = $(TEST_CPPFLAGS)
+retrieveSIEssl_LDADD = $(TEST_LDADD)
+
+psetread_SOURCES = tests/psetread.c
+psetread_CPPFLAGS = $(TEST_CPPFLAGS)
+psetread_LDADD = $(TEST_LDADD)
+
+psetreadssl_SOURCES = tests/psetreadssl.c
+psetreadssl_CPPFLAGS = $(TEST_CPPFLAGS)
+psetreadssl_LDADD = $(TEST_LDADD)
+
+psetwrite_SOURCES = tests/psetwrite.c
+psetwrite_CPPFLAGS = $(TEST_CPPFLAGS)
+psetwrite_LDADD = $(TEST_LDADD)
#------------------------
# Installed Files
#------------------------
-pkginclude_DATA = $(srcdir)/include/libadminutil/admutil.h \
+adminincdir=$(includedir)/libadminutil
+admsslincdir=$(includedir)/libadmsslutil
+
+admininc_DATA = $(srcdir)/include/libadminutil/admutil.h \
$(srcdir)/include/libadminutil/distadm.h \
$(srcdir)/include/libadminutil/prodinfo.h \
$(srcdir)/include/libadminutil/psetc.h \
$(srcdir)/include/libadminutil/resource.h \
- $(srcdir)/include/libadminutil/srvutil.h \
- $(srcdir)/include/libadmsslutil/admsslutil.h \
+ $(srcdir)/include/libadminutil/srvutil.h
+
+admsslinc_DATA = $(srcdir)/include/libadmsslutil/admsslutil.h \
$(srcdir)/include/libadmsslutil/certmgt.h \
$(srcdir)/include/libadmsslutil/psetcssl.h \
$(srcdir)/include/libadmsslutil/SECerrs.h \
$(srcdir)/include/libadmsslutil/srvutilssl.h \
$(srcdir)/include/libadmsslutil/SSLerrs.h
+pkgconfigdir= $(libdir)/pkgconfig
+pkgconfig_DATA= $(PACKAGE_NAME).pc
#////////////////////////////////////////////////////////////////
#
# Resource Strings
#
#////////////////////////////////////////////////////////////////
-libadminutil_root.res: lib/libadminutil/genrb_wrapper
+root.res: lib/libadminutil/genrb_wrapper
sh lib/libadminutil/genrb_wrapper -s$(srcdir)/lib/libadminutil -d. \
- --encoding ISO_8859-1 --package-name libadminutil libadminutil.properties
+ --encoding ISO_8859-1 lib$(PACKAGE_NAME).properties
+en.res en_US.res: root.res
+ cp $< $@
#////////////////////////////////////////////////////////////////
#
@@ -62,7 +96,8 @@
#------------------------
# libadminutil
#------------------------
-libadminutil_la_SOURCES = lib/libadminutil/admutil.c \
+libadminutil_la_SOURCES = lib/libadminutil/acclanglist.c \
+ lib/libadminutil/admutil.c \
lib/libadminutil/distadm.c \
lib/libadminutil/errRpt.c \
lib/libadminutil/form_post.c \
Index: Makefile.in
===================================================================
RCS file: /cvs/dirsec/adminutil/Makefile.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Makefile.in 30 Oct 2006 19:25:16 -0000 1.1
+++ Makefile.in 4 Apr 2007 19:37:35 -0000 1.2
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.2 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +15,6 @@
@SET_MAKE@
-SOURCES = $(libadminutil_la_SOURCES) $(libadmsslutil_la_SOURCES)
-
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -39,37 +37,43 @@
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(top_srcdir)/configure \
- $(top_srcdir)/lib/libadminutil/genrb_wrapper.in compile \
+check_PROGRAMS = retrieveSIE$(EXEEXT) retrieveSIEssl$(EXEEXT) \
+ psetread$(EXEEXT) psetreadssl$(EXEEXT) psetwrite$(EXEEXT)
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/adminutil.pc.in \
+ $(top_srcdir)/configure \
+ $(top_srcdir)/lib/libadminutil/genrb_wrapper.in NEWS compile \
config.guess config.sub depcomp install-sh ltmain.sh missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/nspr.m4 $(top_srcdir)/m4/nss.m4 \
$(top_srcdir)/m4/mozldap.m4 $(top_srcdir)/m4/sasl.m4 \
- $(top_srcdir)/m4/icu.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/icu.m4 $(top_srcdir)/m4/fhs.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(install_sh) -d
-CONFIG_CLEAN_FILES = lib/libadminutil/genrb_wrapper
+CONFIG_CLEAN_FILES = adminutil.pc lib/libadminutil/genrb_wrapper
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkgdatadir)" \
- "$(DESTDIR)$(pkgincludedir)"
-pkglibLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkglib_LTLIBRARIES)
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(adminincdir)" \
+ "$(DESTDIR)$(admsslincdir)" "$(DESTDIR)$(pkgconfigdir)" \
+ "$(DESTDIR)$(pkgdatadir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
libadminutil_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am__dirstamp = $(am__leading_dot)dirstamp
am_libadminutil_la_OBJECTS = \
+ lib/libadminutil/libadminutil_la-acclanglist.lo \
lib/libadminutil/libadminutil_la-admutil.lo \
lib/libadminutil/libadminutil_la-distadm.lo \
lib/libadminutil/libadminutil_la-errRpt.lo \
@@ -92,22 +96,51 @@
lib/libadmsslutil/libadmsslutil_la-sslerror.lo \
lib/libadmsslutil/libadmsslutil_la-uginfossl.lo
libadmsslutil_la_OBJECTS = $(am_libadmsslutil_la_OBJECTS)
+am_psetread_OBJECTS = tests/psetread-psetread.$(OBJEXT)
+psetread_OBJECTS = $(am_psetread_OBJECTS)
+am__DEPENDENCIES_2 = libadmsslutil.la libadminutil.la \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
+psetread_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_psetreadssl_OBJECTS = tests/psetreadssl-psetreadssl.$(OBJEXT)
+psetreadssl_OBJECTS = $(am_psetreadssl_OBJECTS)
+psetreadssl_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_psetwrite_OBJECTS = tests/psetwrite-psetwrite.$(OBJEXT)
+psetwrite_OBJECTS = $(am_psetwrite_OBJECTS)
+psetwrite_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_retrieveSIE_OBJECTS = tests/retrieveSIE-retrieveSIE.$(OBJEXT)
+retrieveSIE_OBJECTS = $(am_retrieveSIE_OBJECTS)
+retrieveSIE_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_retrieveSIEssl_OBJECTS = \
+ tests/retrieveSIEssl-retrieveSIEssl.$(OBJEXT)
+retrieveSIEssl_OBJECTS = $(am_retrieveSIEssl_OBJECTS)
+retrieveSIEssl_DEPENDENCIES = $(am__DEPENDENCIES_2)
DEFAULT_INCLUDES = -I. -I$(srcdir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libadminutil_la_SOURCES) $(libadmsslutil_la_SOURCES)
-DIST_SOURCES = $(libadminutil_la_SOURCES) $(libadmsslutil_la_SOURCES)
+SOURCES = $(libadminutil_la_SOURCES) $(libadmsslutil_la_SOURCES) \
+ $(psetread_SOURCES) $(psetreadssl_SOURCES) \
+ $(psetwrite_SOURCES) $(retrieveSIE_SOURCES) \
+ $(retrieveSIEssl_SOURCES)
+DIST_SOURCES = $(libadminutil_la_SOURCES) $(libadmsslutil_la_SOURCES) \
+ $(psetread_SOURCES) $(psetreadssl_SOURCES) \
+ $(psetwrite_SOURCES) $(retrieveSIE_SOURCES) \
+ $(retrieveSIEssl_SOURCES)
+adminincDATA_INSTALL = $(INSTALL_DATA)
+admsslincDATA_INSTALL = $(INSTALL_DATA)
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
pkgdataDATA_INSTALL = $(INSTALL_DATA)
-pkgincludeDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(pkgdata_DATA) $(pkginclude_DATA)
+DATA = $(admininc_DATA) $(admsslinc_DATA) $(pkgconfig_DATA) \
+ $(pkgdata_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -175,6 +208,7 @@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
@@ -251,7 +285,7 @@
BUILDNUM := $(shell perl $(srcdir)/buildnum.pl)
PLATFORM_DEFINES = @platform_defs@
DEBUG_DEFINES = @debug_defs@
-ADMINUTIL_DEFINES = -DADMSDK_BUILDNUM=$(BUILDNUM) -DNET_SSL
+ADMINUTIL_DEFINES = -DADMSDK_BUILDNUM=$(BUILDNUM) -DPROPERTYDIR="\"$(pkgdatadir)\"" -DNET_SSL
ADMINUTIL_INCLUDES = -I$(srcdir)/include
AM_CPPFLAGS = $(PLATFORM_DEFINES) $(DEBUG_DEFINES) $(ADMINUTIL_DEFINES) $(ADMINUTIL_INCLUDES)
@@ -267,25 +301,48 @@
#------------------------
# Build Products
#------------------------
-pkglib_LTLIBRARIES = libadminutil.la libadmsslutil.la
-pkgdata_DATA = libadminutil_root.res
+lib_LTLIBRARIES = libadminutil.la libadmsslutil.la
+pkgdata_DATA = root.res en.res en_US.res
+TESTS = retrieveSIE retrieveSIEssl psetread psetreadssl psetwrite
+TEST_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/include @nspr_inc@ @ldapsdk_inc@ @icu_inc@
+TEST_LDADD = libadmsslutil.la libadminutil.la $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(ICU_LINK)
+retrieveSIE_SOURCES = tests/retrieveSIE.c
+retrieveSIE_CPPFLAGS = $(TEST_CPPFLAGS)
+retrieveSIE_LDADD = $(TEST_LDADD)
+retrieveSIEssl_SOURCES = tests/retrieveSIEssl.c
+retrieveSIEssl_CPPFLAGS = $(TEST_CPPFLAGS)
+retrieveSIEssl_LDADD = $(TEST_LDADD)
+psetread_SOURCES = tests/psetread.c
+psetread_CPPFLAGS = $(TEST_CPPFLAGS)
+psetread_LDADD = $(TEST_LDADD)
+psetreadssl_SOURCES = tests/psetreadssl.c
+psetreadssl_CPPFLAGS = $(TEST_CPPFLAGS)
+psetreadssl_LDADD = $(TEST_LDADD)
+psetwrite_SOURCES = tests/psetwrite.c
+psetwrite_CPPFLAGS = $(TEST_CPPFLAGS)
+psetwrite_LDADD = $(TEST_LDADD)
#------------------------
# Installed Files
#------------------------
-pkginclude_DATA = $(srcdir)/include/libadminutil/admutil.h \
+adminincdir = $(includedir)/libadminutil
+admsslincdir = $(includedir)/libadmsslutil
+admininc_DATA = $(srcdir)/include/libadminutil/admutil.h \
$(srcdir)/include/libadminutil/distadm.h \
$(srcdir)/include/libadminutil/prodinfo.h \
$(srcdir)/include/libadminutil/psetc.h \
$(srcdir)/include/libadminutil/resource.h \
- $(srcdir)/include/libadminutil/srvutil.h \
- $(srcdir)/include/libadmsslutil/admsslutil.h \
+ $(srcdir)/include/libadminutil/srvutil.h
+
+admsslinc_DATA = $(srcdir)/include/libadmsslutil/admsslutil.h \
$(srcdir)/include/libadmsslutil/certmgt.h \
$(srcdir)/include/libadmsslutil/psetcssl.h \
$(srcdir)/include/libadmsslutil/SECerrs.h \
$(srcdir)/include/libadmsslutil/srvutilssl.h \
$(srcdir)/include/libadmsslutil/SSLerrs.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = $(PACKAGE_NAME).pc
#////////////////////////////////////////////////////////////////
#
@@ -296,7 +353,8 @@
#------------------------
# libadminutil
#------------------------
-libadminutil_la_SOURCES = lib/libadminutil/admutil.c \
+libadminutil_la_SOURCES = lib/libadminutil/acclanglist.c \
+ lib/libadminutil/admutil.c \
lib/libadminutil/distadm.c \
lib/libadminutil/errRpt.c \
lib/libadminutil/form_post.c \
@@ -359,30 +417,32 @@
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+adminutil.pc: $(top_builddir)/config.status $(srcdir)/adminutil.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
lib/libadminutil/genrb_wrapper: $(top_builddir)/config.status $(top_srcdir)/lib/libadminutil/genrb_wrapper.in
cd $(top_builddir) && $(SHELL) ./config.status $@
-install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(pkglibdir)" || $(mkdir_p) "$(DESTDIR)$(pkglibdir)"
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
-uninstall-pkglibLTLIBRARIES:
+uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @set -x; list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+ @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
-clean-pkglibLTLIBRARIES:
- -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
- @list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
@@ -394,6 +454,9 @@
lib/libadminutil/$(DEPDIR)/$(am__dirstamp):
@$(mkdir_p) lib/libadminutil/$(DEPDIR)
@: > lib/libadminutil/$(DEPDIR)/$(am__dirstamp)
+lib/libadminutil/libadminutil_la-acclanglist.lo: \
+ lib/libadminutil/$(am__dirstamp) \
+ lib/libadminutil/$(DEPDIR)/$(am__dirstamp)
lib/libadminutil/libadminutil_la-admutil.lo: \
lib/libadminutil/$(am__dirstamp) \
lib/libadminutil/$(DEPDIR)/$(am__dirstamp)
@@ -422,7 +485,7 @@
lib/libadminutil/$(am__dirstamp) \
lib/libadminutil/$(DEPDIR)/$(am__dirstamp)
libadminutil.la: $(libadminutil_la_OBJECTS) $(libadminutil_la_DEPENDENCIES)
- $(LINK) -rpath $(pkglibdir) $(libadminutil_la_LDFLAGS) $(libadminutil_la_OBJECTS) $(libadminutil_la_LIBADD) $(LIBS)
+ $(LINK) -rpath $(libdir) $(libadminutil_la_LDFLAGS) $(libadminutil_la_OBJECTS) $(libadminutil_la_LIBADD) $(LIBS)
lib/libadmsslutil/$(am__dirstamp):
@$(mkdir_p) lib/libadmsslutil
@: > lib/libadmsslutil/$(am__dirstamp)
@@ -451,10 +514,50 @@
lib/libadmsslutil/$(am__dirstamp) \
lib/libadmsslutil/$(DEPDIR)/$(am__dirstamp)
libadmsslutil.la: $(libadmsslutil_la_OBJECTS) $(libadmsslutil_la_DEPENDENCIES)
- $(LINK) -rpath $(pkglibdir) $(libadmsslutil_la_LDFLAGS) $(libadmsslutil_la_OBJECTS) $(libadmsslutil_la_LIBADD) $(LIBS)
+ $(LINK) -rpath $(libdir) $(libadmsslutil_la_LDFLAGS) $(libadmsslutil_la_OBJECTS) $(libadmsslutil_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+tests/$(am__dirstamp):
+ @$(mkdir_p) tests
+ @: > tests/$(am__dirstamp)
+tests/$(DEPDIR)/$(am__dirstamp):
+ @$(mkdir_p) tests/$(DEPDIR)
+ @: > tests/$(DEPDIR)/$(am__dirstamp)
+tests/psetread-psetread.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+psetread$(EXEEXT): $(psetread_OBJECTS) $(psetread_DEPENDENCIES)
+ @rm -f psetread$(EXEEXT)
+ $(LINK) $(psetread_LDFLAGS) $(psetread_OBJECTS) $(psetread_LDADD) $(LIBS)
+tests/psetreadssl-psetreadssl.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+psetreadssl$(EXEEXT): $(psetreadssl_OBJECTS) $(psetreadssl_DEPENDENCIES)
+ @rm -f psetreadssl$(EXEEXT)
+ $(LINK) $(psetreadssl_LDFLAGS) $(psetreadssl_OBJECTS) $(psetreadssl_LDADD) $(LIBS)
+tests/psetwrite-psetwrite.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+psetwrite$(EXEEXT): $(psetwrite_OBJECTS) $(psetwrite_DEPENDENCIES)
+ @rm -f psetwrite$(EXEEXT)
+ $(LINK) $(psetwrite_LDFLAGS) $(psetwrite_OBJECTS) $(psetwrite_LDADD) $(LIBS)
+tests/retrieveSIE-retrieveSIE.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+retrieveSIE$(EXEEXT): $(retrieveSIE_OBJECTS) $(retrieveSIE_DEPENDENCIES)
+ @rm -f retrieveSIE$(EXEEXT)
+ $(LINK) $(retrieveSIE_LDFLAGS) $(retrieveSIE_OBJECTS) $(retrieveSIE_LDADD) $(LIBS)
+tests/retrieveSIEssl-retrieveSIEssl.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+retrieveSIEssl$(EXEEXT): $(retrieveSIEssl_OBJECTS) $(retrieveSIEssl_DEPENDENCIES)
+ @rm -f retrieveSIEssl$(EXEEXT)
+ $(LINK) $(retrieveSIEssl_LDFLAGS) $(retrieveSIEssl_OBJECTS) $(retrieveSIEssl_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
+ -rm -f lib/libadminutil/libadminutil_la-acclanglist.$(OBJEXT)
+ -rm -f lib/libadminutil/libadminutil_la-acclanglist.lo
-rm -f lib/libadminutil/libadminutil_la-admutil.$(OBJEXT)
-rm -f lib/libadminutil/libadminutil_la-admutil.lo
-rm -f lib/libadminutil/libadminutil_la-distadm.$(OBJEXT)
@@ -487,10 +590,16 @@
-rm -f lib/libadmsslutil/libadmsslutil_la-sslerror.lo
-rm -f lib/libadmsslutil/libadmsslutil_la-uginfossl.$(OBJEXT)
-rm -f lib/libadmsslutil/libadmsslutil_la-uginfossl.lo
+ -rm -f tests/psetread-psetread.$(OBJEXT)
+ -rm -f tests/psetreadssl-psetreadssl.$(OBJEXT)
+ -rm -f tests/psetwrite-psetwrite.$(OBJEXT)
+ -rm -f tests/retrieveSIE-retrieveSIE.$(OBJEXT)
+ -rm -f tests/retrieveSIEssl-retrieveSIEssl.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@lib/libadminutil/$(DEPDIR)/libadminutil_la-acclanglist.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@lib/libadminutil/$(DEPDIR)/libadminutil_la-admutil.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@lib/libadminutil/$(DEPDIR)/libadminutil_la-distadm.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@lib/libadminutil/$(DEPDIR)/libadminutil_la-errRpt.Plo(a)am__quote@
@@ -507,6 +616,11 @@
@AMDEP_TRUE@@am__include@ @am__quote@lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-srvutilssl.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-sslerror.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-uginfossl.Plo(a)am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/psetread-psetread.Po(a)am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/psetreadssl-psetreadssl.Po(a)am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/psetwrite-psetwrite.Po(a)am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/retrieveSIE-retrieveSIE.Po(a)am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/retrieveSIEssl-retrieveSIEssl.Po(a)am__quote@
.c.o:
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
@@ -532,117 +646,194 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+lib/libadminutil/libadminutil_la-acclanglist.lo: lib/libadminutil/acclanglist.c
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-acclanglist.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-acclanglist.Tpo" -c -o lib/libadminutil/libadminutil_la-acclanglist.lo `test -f 'lib/libadminutil/acclanglist.c' || echo '$(srcdir)/'`lib/libadminutil/acclanglist.c; \
+@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-acclanglist.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-acclanglist.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-acclanglist.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/acclanglist.c' object='lib/libadminutil/libadminutil_la-acclanglist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-acclanglist.lo `test -f 'lib/libadminutil/acclanglist.c' || echo '$(srcdir)/'`lib/libadminutil/acclanglist.c
+
lib/libadminutil/libadminutil_la-admutil.lo: lib/libadminutil/admutil.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-admutil.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-admutil.Tpo" -c -o lib/libadminutil/libadminutil_la-admutil.lo `test -f 'lib/libadminutil/admutil.c' || echo '$(srcdir)/'`lib/libadminutil/admutil.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-admutil.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-admutil.Tpo" -c -o lib/libadminutil/libadminutil_la-admutil.lo `test -f 'lib/libadminutil/admutil.c' || echo '$(srcdir)/'`lib/libadminutil/admutil.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-admutil.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-admutil.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-admutil.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/admutil.c' object='lib/libadminutil/libadminutil_la-admutil.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-admutil.lo `test -f 'lib/libadminutil/admutil.c' || echo '$(srcdir)/'`lib/libadminutil/admutil.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-admutil.lo `test -f 'lib/libadminutil/admutil.c' || echo '$(srcdir)/'`lib/libadminutil/admutil.c
lib/libadminutil/libadminutil_la-distadm.lo: lib/libadminutil/distadm.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-distadm.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-distadm.Tpo" -c -o lib/libadminutil/libadminutil_la-distadm.lo `test -f 'lib/libadminutil/distadm.c' || echo '$(srcdir)/'`lib/libadminutil/distadm.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-distadm.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-distadm.Tpo" -c -o lib/libadminutil/libadminutil_la-distadm.lo `test -f 'lib/libadminutil/distadm.c' || echo '$(srcdir)/'`lib/libadminutil/distadm.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-distadm.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-distadm.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-distadm.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/distadm.c' object='lib/libadminutil/libadminutil_la-distadm.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-distadm.lo `test -f 'lib/libadminutil/distadm.c' || echo '$(srcdir)/'`lib/libadminutil/distadm.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-distadm.lo `test -f 'lib/libadminutil/distadm.c' || echo '$(srcdir)/'`lib/libadminutil/distadm.c
lib/libadminutil/libadminutil_la-errRpt.lo: lib/libadminutil/errRpt.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-errRpt.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-errRpt.Tpo" -c -o lib/libadminutil/libadminutil_la-errRpt.lo `test -f 'lib/libadminutil/errRpt.c' || echo '$(srcdir)/'`lib/libadminutil/errRpt.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-errRpt.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-errRpt.Tpo" -c -o lib/libadminutil/libadminutil_la-errRpt.lo `test -f 'lib/libadminutil/errRpt.c' || echo '$(srcdir)/'`lib/libadminutil/errRpt.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-errRpt.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-errRpt.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-errRpt.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/errRpt.c' object='lib/libadminutil/libadminutil_la-errRpt.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-errRpt.lo `test -f 'lib/libadminutil/errRpt.c' || echo '$(srcdir)/'`lib/libadminutil/errRpt.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-errRpt.lo `test -f 'lib/libadminutil/errRpt.c' || echo '$(srcdir)/'`lib/libadminutil/errRpt.c
lib/libadminutil/libadminutil_la-form_post.lo: lib/libadminutil/form_post.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-form_post.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-form_post.Tpo" -c -o lib/libadminutil/libadminutil_la-form_post.lo `test -f 'lib/libadminutil/form_post.c' || echo '$(srcdir)/'`lib/libadminutil/form_post.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-form_post.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-form_post.Tpo" -c -o lib/libadminutil/libadminutil_la-form_post.lo `test -f 'lib/libadminutil/form_post.c' || echo '$(srcdir)/'`lib/libadminutil/form_post.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-form_post.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-form_post.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-form_post.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/form_post.c' object='lib/libadminutil/libadminutil_la-form_post.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-form_post.lo `test -f 'lib/libadminutil/form_post.c' || echo '$(srcdir)/'`lib/libadminutil/form_post.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-form_post.lo `test -f 'lib/libadminutil/form_post.c' || echo '$(srcdir)/'`lib/libadminutil/form_post.c
lib/libadminutil/libadminutil_la-psetc.lo: lib/libadminutil/psetc.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-psetc.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-psetc.Tpo" -c -o lib/libadminutil/libadminutil_la-psetc.lo `test -f 'lib/libadminutil/psetc.c' || echo '$(srcdir)/'`lib/libadminutil/psetc.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-psetc.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-psetc.Tpo" -c -o lib/libadminutil/libadminutil_la-psetc.lo `test -f 'lib/libadminutil/psetc.c' || echo '$(srcdir)/'`lib/libadminutil/psetc.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-psetc.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-psetc.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-psetc.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/psetc.c' object='lib/libadminutil/libadminutil_la-psetc.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-psetc.lo `test -f 'lib/libadminutil/psetc.c' || echo '$(srcdir)/'`lib/libadminutil/psetc.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-psetc.lo `test -f 'lib/libadminutil/psetc.c' || echo '$(srcdir)/'`lib/libadminutil/psetc.c
lib/libadminutil/libadminutil_la-resource.lo: lib/libadminutil/resource.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-resource.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-resource.Tpo" -c -o lib/libadminutil/libadminutil_la-resource.lo `test -f 'lib/libadminutil/resource.c' || echo '$(srcdir)/'`lib/libadminutil/resource.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-resource.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-resource.Tpo" -c -o lib/libadminutil/libadminutil_la-resource.lo `test -f 'lib/libadminutil/resource.c' || echo '$(srcdir)/'`lib/libadminutil/resource.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-resource.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-resource.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-resource.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/resource.c' object='lib/libadminutil/libadminutil_la-resource.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-resource.lo `test -f 'lib/libadminutil/resource.c' || echo '$(srcdir)/'`lib/libadminutil/resource.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-resource.lo `test -f 'lib/libadminutil/resource.c' || echo '$(srcdir)/'`lib/libadminutil/resource.c
lib/libadminutil/libadminutil_la-srvutil.lo: lib/libadminutil/srvutil.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-srvutil.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-srvutil.Tpo" -c -o lib/libadminutil/libadminutil_la-srvutil.lo `test -f 'lib/libadminutil/srvutil.c' || echo '$(srcdir)/'`lib/libadminutil/srvutil.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-srvutil.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-srvutil.Tpo" -c -o lib/libadminutil/libadminutil_la-srvutil.lo `test -f 'lib/libadminutil/srvutil.c' || echo '$(srcdir)/'`lib/libadminutil/srvutil.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-srvutil.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-srvutil.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-srvutil.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/srvutil.c' object='lib/libadminutil/libadminutil_la-srvutil.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-srvutil.lo `test -f 'lib/libadminutil/srvutil.c' || echo '$(srcdir)/'`lib/libadminutil/srvutil.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-srvutil.lo `test -f 'lib/libadminutil/srvutil.c' || echo '$(srcdir)/'`lib/libadminutil/srvutil.c
lib/libadminutil/libadminutil_la-strlist.lo: lib/libadminutil/strlist.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-strlist.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-strlist.Tpo" -c -o lib/libadminutil/libadminutil_la-strlist.lo `test -f 'lib/libadminutil/strlist.c' || echo '$(srcdir)/'`lib/libadminutil/strlist.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-strlist.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-strlist.Tpo" -c -o lib/libadminutil/libadminutil_la-strlist.lo `test -f 'lib/libadminutil/strlist.c' || echo '$(srcdir)/'`lib/libadminutil/strlist.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-strlist.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-strlist.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-strlist.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/strlist.c' object='lib/libadminutil/libadminutil_la-strlist.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-strlist.lo `test -f 'lib/libadminutil/strlist.c' || echo '$(srcdir)/'`lib/libadminutil/strlist.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-strlist.lo `test -f 'lib/libadminutil/strlist.c' || echo '$(srcdir)/'`lib/libadminutil/strlist.c
lib/libadminutil/libadminutil_la-uginfo.lo: lib/libadminutil/uginfo.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-uginfo.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-uginfo.Tpo" -c -o lib/libadminutil/libadminutil_la-uginfo.lo `test -f 'lib/libadminutil/uginfo.c' || echo '$(srcdir)/'`lib/libadminutil/uginfo.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadminutil/libadminutil_la-uginfo.lo -MD -MP -MF "lib/libadminutil/$(DEPDIR)/libadminutil_la-uginfo.Tpo" -c -o lib/libadminutil/libadminutil_la-uginfo.lo `test -f 'lib/libadminutil/uginfo.c' || echo '$(srcdir)/'`lib/libadminutil/uginfo.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-uginfo.Tpo" "lib/libadminutil/$(DEPDIR)/libadminutil_la-uginfo.Plo"; else rm -f "lib/libadminutil/$(DEPDIR)/libadminutil_la-uginfo.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadminutil/uginfo.c' object='lib/libadminutil/libadminutil_la-uginfo.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-uginfo.lo `test -f 'lib/libadminutil/uginfo.c' || echo '$(srcdir)/'`lib/libadminutil/uginfo.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadminutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadminutil/libadminutil_la-uginfo.lo `test -f 'lib/libadminutil/uginfo.c' || echo '$(srcdir)/'`lib/libadminutil/uginfo.c
lib/libadmsslutil/libadmsslutil_la-admsslutil.lo: lib/libadmsslutil/admsslutil.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-admsslutil.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-admsslutil.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-admsslutil.lo `test -f 'lib/libadmsslutil/admsslutil.c' || echo '$(srcdir)/'`lib/libadmsslutil/admsslutil.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-admsslutil.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-admsslutil.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-admsslutil.lo `test -f 'lib/libadmsslutil/admsslutil.c' || echo '$(srcdir)/'`lib/libadmsslutil/admsslutil.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-admsslutil.Tpo" "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-admsslutil.Plo"; else rm -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-admsslutil.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadmsslutil/admsslutil.c' object='lib/libadmsslutil/libadmsslutil_la-admsslutil.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-admsslutil.lo `test -f 'lib/libadmsslutil/admsslutil.c' || echo '$(srcdir)/'`lib/libadmsslutil/admsslutil.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-admsslutil.lo `test -f 'lib/libadmsslutil/admsslutil.c' || echo '$(srcdir)/'`lib/libadmsslutil/admsslutil.c
lib/libadmsslutil/libadmsslutil_la-certmgt.lo: lib/libadmsslutil/certmgt.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-certmgt.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-certmgt.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-certmgt.lo `test -f 'lib/libadmsslutil/certmgt.c' || echo '$(srcdir)/'`lib/libadmsslutil/certmgt.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-certmgt.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-certmgt.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-certmgt.lo `test -f 'lib/libadmsslutil/certmgt.c' || echo '$(srcdir)/'`lib/libadmsslutil/certmgt.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-certmgt.Tpo" "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-certmgt.Plo"; else rm -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-certmgt.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadmsslutil/certmgt.c' object='lib/libadmsslutil/libadmsslutil_la-certmgt.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-certmgt.lo `test -f 'lib/libadmsslutil/certmgt.c' || echo '$(srcdir)/'`lib/libadmsslutil/certmgt.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-certmgt.lo `test -f 'lib/libadmsslutil/certmgt.c' || echo '$(srcdir)/'`lib/libadmsslutil/certmgt.c
lib/libadmsslutil/libadmsslutil_la-psetcssl.lo: lib/libadmsslutil/psetcssl.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-psetcssl.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-psetcssl.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-psetcssl.lo `test -f 'lib/libadmsslutil/psetcssl.c' || echo '$(srcdir)/'`lib/libadmsslutil/psetcssl.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-psetcssl.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-psetcssl.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-psetcssl.lo `test -f 'lib/libadmsslutil/psetcssl.c' || echo '$(srcdir)/'`lib/libadmsslutil/psetcssl.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-psetcssl.Tpo" "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-psetcssl.Plo"; else rm -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-psetcssl.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadmsslutil/psetcssl.c' object='lib/libadmsslutil/libadmsslutil_la-psetcssl.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-psetcssl.lo `test -f 'lib/libadmsslutil/psetcssl.c' || echo '$(srcdir)/'`lib/libadmsslutil/psetcssl.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-psetcssl.lo `test -f 'lib/libadmsslutil/psetcssl.c' || echo '$(srcdir)/'`lib/libadmsslutil/psetcssl.c
lib/libadmsslutil/libadmsslutil_la-secpwd.lo: lib/libadmsslutil/secpwd.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-secpwd.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-secpwd.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-secpwd.lo `test -f 'lib/libadmsslutil/secpwd.c' || echo '$(srcdir)/'`lib/libadmsslutil/secpwd.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-secpwd.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-secpwd.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-secpwd.lo `test -f 'lib/libadmsslutil/secpwd.c' || echo '$(srcdir)/'`lib/libadmsslutil/secpwd.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-secpwd.Tpo" "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-secpwd.Plo"; else rm -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-secpwd.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadmsslutil/secpwd.c' object='lib/libadmsslutil/libadmsslutil_la-secpwd.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-secpwd.lo `test -f 'lib/libadmsslutil/secpwd.c' || echo '$(srcdir)/'`lib/libadmsslutil/secpwd.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-secpwd.lo `test -f 'lib/libadmsslutil/secpwd.c' || echo '$(srcdir)/'`lib/libadmsslutil/secpwd.c
lib/libadmsslutil/libadmsslutil_la-srvutilssl.lo: lib/libadmsslutil/srvutilssl.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-srvutilssl.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-srvutilssl.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-srvutilssl.lo `test -f 'lib/libadmsslutil/srvutilssl.c' || echo '$(srcdir)/'`lib/libadmsslutil/srvutilssl.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-srvutilssl.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-srvutilssl.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-srvutilssl.lo `test -f 'lib/libadmsslutil/srvutilssl.c' || echo '$(srcdir)/'`lib/libadmsslutil/srvutilssl.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-srvutilssl.Tpo" "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-srvutilssl.Plo"; else rm -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-srvutilssl.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadmsslutil/srvutilssl.c' object='lib/libadmsslutil/libadmsslutil_la-srvutilssl.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-srvutilssl.lo `test -f 'lib/libadmsslutil/srvutilssl.c' || echo '$(srcdir)/'`lib/libadmsslutil/srvutilssl.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-srvutilssl.lo `test -f 'lib/libadmsslutil/srvutilssl.c' || echo '$(srcdir)/'`lib/libadmsslutil/srvutilssl.c
lib/libadmsslutil/libadmsslutil_la-sslerror.lo: lib/libadmsslutil/sslerror.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-sslerror.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-sslerror.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-sslerror.lo `test -f 'lib/libadmsslutil/sslerror.c' || echo '$(srcdir)/'`lib/libadmsslutil/sslerror.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-sslerror.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-sslerror.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-sslerror.lo `test -f 'lib/libadmsslutil/sslerror.c' || echo '$(srcdir)/'`lib/libadmsslutil/sslerror.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-sslerror.Tpo" "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-sslerror.Plo"; else rm -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-sslerror.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadmsslutil/sslerror.c' object='lib/libadmsslutil/libadmsslutil_la-sslerror.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-sslerror.lo `test -f 'lib/libadmsslutil/sslerror.c' || echo '$(srcdir)/'`lib/libadmsslutil/sslerror.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-sslerror.lo `test -f 'lib/libadmsslutil/sslerror.c' || echo '$(srcdir)/'`lib/libadmsslutil/sslerror.c
lib/libadmsslutil/libadmsslutil_la-uginfossl.lo: lib/libadmsslutil/uginfossl.c
-@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-uginfossl.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-uginfossl.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-uginfossl.lo `test -f 'lib/libadmsslutil/uginfossl.c' || echo '$(srcdir)/'`lib/libadmsslutil/uginfossl.c; \
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libadmsslutil/libadmsslutil_la-uginfossl.lo -MD -MP -MF "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-uginfossl.Tpo" -c -o lib/libadmsslutil/libadmsslutil_la-uginfossl.lo `test -f 'lib/libadmsslutil/uginfossl.c' || echo '$(srcdir)/'`lib/libadmsslutil/uginfossl.c; \
@am__fastdepCC_TRUE@ then mv -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-uginfossl.Tpo" "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-uginfossl.Plo"; else rm -f "lib/libadmsslutil/$(DEPDIR)/libadmsslutil_la-uginfossl.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libadmsslutil/uginfossl.c' object='lib/libadmsslutil/libadmsslutil_la-uginfossl.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-uginfossl.lo `test -f 'lib/libadmsslutil/uginfossl.c' || echo '$(srcdir)/'`lib/libadmsslutil/uginfossl.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libadmsslutil_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libadmsslutil/libadmsslutil_la-uginfossl.lo `test -f 'lib/libadmsslutil/uginfossl.c' || echo '$(srcdir)/'`lib/libadmsslutil/uginfossl.c
+
+tests/psetread-psetread.o: tests/psetread.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetread_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/psetread-psetread.o -MD -MP -MF "tests/$(DEPDIR)/psetread-psetread.Tpo" -c -o tests/psetread-psetread.o `test -f 'tests/psetread.c' || echo '$(srcdir)/'`tests/psetread.c; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/psetread-psetread.Tpo" "tests/$(DEPDIR)/psetread-psetread.Po"; else rm -f "tests/$(DEPDIR)/psetread-psetread.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/psetread.c' object='tests/psetread-psetread.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetread_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/psetread-psetread.o `test -f 'tests/psetread.c' || echo '$(srcdir)/'`tests/psetread.c
+
+tests/psetread-psetread.obj: tests/psetread.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetread_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/psetread-psetread.obj -MD -MP -MF "tests/$(DEPDIR)/psetread-psetread.Tpo" -c -o tests/psetread-psetread.obj `if test -f 'tests/psetread.c'; then $(CYGPATH_W) 'tests/psetread.c'; else $(CYGPATH_W) '$(srcdir)/tests/psetread.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/psetread-psetread.Tpo" "tests/$(DEPDIR)/psetread-psetread.Po"; else rm -f "tests/$(DEPDIR)/psetread-psetread.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/psetread.c' object='tests/psetread-psetread.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetread_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/psetread-psetread.obj `if test -f 'tests/psetread.c'; then $(CYGPATH_W) 'tests/psetread.c'; else $(CYGPATH_W) '$(srcdir)/tests/psetread.c'; fi`
+
+tests/psetreadssl-psetreadssl.o: tests/psetreadssl.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetreadssl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/psetreadssl-psetreadssl.o -MD -MP -MF "tests/$(DEPDIR)/psetreadssl-psetreadssl.Tpo" -c -o tests/psetreadssl-psetreadssl.o `test -f 'tests/psetreadssl.c' || echo '$(srcdir)/'`tests/psetreadssl.c; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/psetreadssl-psetreadssl.Tpo" "tests/$(DEPDIR)/psetreadssl-psetreadssl.Po"; else rm -f "tests/$(DEPDIR)/psetreadssl-psetreadssl.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/psetreadssl.c' object='tests/psetreadssl-psetreadssl.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetreadssl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/psetreadssl-psetreadssl.o `test -f 'tests/psetreadssl.c' || echo '$(srcdir)/'`tests/psetreadssl.c
+
+tests/psetreadssl-psetreadssl.obj: tests/psetreadssl.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetreadssl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/psetreadssl-psetreadssl.obj -MD -MP -MF "tests/$(DEPDIR)/psetreadssl-psetreadssl.Tpo" -c -o tests/psetreadssl-psetreadssl.obj `if test -f 'tests/psetreadssl.c'; then $(CYGPATH_W) 'tests/psetreadssl.c'; else $(CYGPATH_W) '$(srcdir)/tests/psetreadssl.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/psetreadssl-psetreadssl.Tpo" "tests/$(DEPDIR)/psetreadssl-psetreadssl.Po"; else rm -f "tests/$(DEPDIR)/psetreadssl-psetreadssl.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/psetreadssl.c' object='tests/psetreadssl-psetreadssl.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetreadssl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/psetreadssl-psetreadssl.obj `if test -f 'tests/psetreadssl.c'; then $(CYGPATH_W) 'tests/psetreadssl.c'; else $(CYGPATH_W) '$(srcdir)/tests/psetreadssl.c'; fi`
+
+tests/psetwrite-psetwrite.o: tests/psetwrite.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetwrite_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/psetwrite-psetwrite.o -MD -MP -MF "tests/$(DEPDIR)/psetwrite-psetwrite.Tpo" -c -o tests/psetwrite-psetwrite.o `test -f 'tests/psetwrite.c' || echo '$(srcdir)/'`tests/psetwrite.c; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/psetwrite-psetwrite.Tpo" "tests/$(DEPDIR)/psetwrite-psetwrite.Po"; else rm -f "tests/$(DEPDIR)/psetwrite-psetwrite.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/psetwrite.c' object='tests/psetwrite-psetwrite.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetwrite_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/psetwrite-psetwrite.o `test -f 'tests/psetwrite.c' || echo '$(srcdir)/'`tests/psetwrite.c
+
+tests/psetwrite-psetwrite.obj: tests/psetwrite.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetwrite_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/psetwrite-psetwrite.obj -MD -MP -MF "tests/$(DEPDIR)/psetwrite-psetwrite.Tpo" -c -o tests/psetwrite-psetwrite.obj `if test -f 'tests/psetwrite.c'; then $(CYGPATH_W) 'tests/psetwrite.c'; else $(CYGPATH_W) '$(srcdir)/tests/psetwrite.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/psetwrite-psetwrite.Tpo" "tests/$(DEPDIR)/psetwrite-psetwrite.Po"; else rm -f "tests/$(DEPDIR)/psetwrite-psetwrite.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/psetwrite.c' object='tests/psetwrite-psetwrite.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(psetwrite_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/psetwrite-psetwrite.obj `if test -f 'tests/psetwrite.c'; then $(CYGPATH_W) 'tests/psetwrite.c'; else $(CYGPATH_W) '$(srcdir)/tests/psetwrite.c'; fi`
+
+tests/retrieveSIE-retrieveSIE.o: tests/retrieveSIE.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(retrieveSIE_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/retrieveSIE-retrieveSIE.o -MD -MP -MF "tests/$(DEPDIR)/retrieveSIE-retrieveSIE.Tpo" -c -o tests/retrieveSIE-retrieveSIE.o `test -f 'tests/retrieveSIE.c' || echo '$(srcdir)/'`tests/retrieveSIE.c; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/retrieveSIE-retrieveSIE.Tpo" "tests/$(DEPDIR)/retrieveSIE-retrieveSIE.Po"; else rm -f "tests/$(DEPDIR)/retrieveSIE-retrieveSIE.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/retrieveSIE.c' object='tests/retrieveSIE-retrieveSIE.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(retrieveSIE_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/retrieveSIE-retrieveSIE.o `test -f 'tests/retrieveSIE.c' || echo '$(srcdir)/'`tests/retrieveSIE.c
+
+tests/retrieveSIE-retrieveSIE.obj: tests/retrieveSIE.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(retrieveSIE_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/retrieveSIE-retrieveSIE.obj -MD -MP -MF "tests/$(DEPDIR)/retrieveSIE-retrieveSIE.Tpo" -c -o tests/retrieveSIE-retrieveSIE.obj `if test -f 'tests/retrieveSIE.c'; then $(CYGPATH_W) 'tests/retrieveSIE.c'; else $(CYGPATH_W) '$(srcdir)/tests/retrieveSIE.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/retrieveSIE-retrieveSIE.Tpo" "tests/$(DEPDIR)/retrieveSIE-retrieveSIE.Po"; else rm -f "tests/$(DEPDIR)/retrieveSIE-retrieveSIE.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/retrieveSIE.c' object='tests/retrieveSIE-retrieveSIE.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(retrieveSIE_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/retrieveSIE-retrieveSIE.obj `if test -f 'tests/retrieveSIE.c'; then $(CYGPATH_W) 'tests/retrieveSIE.c'; else $(CYGPATH_W) '$(srcdir)/tests/retrieveSIE.c'; fi`
+
+tests/retrieveSIEssl-retrieveSIEssl.o: tests/retrieveSIEssl.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(retrieveSIEssl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/retrieveSIEssl-retrieveSIEssl.o -MD -MP -MF "tests/$(DEPDIR)/retrieveSIEssl-retrieveSIEssl.Tpo" -c -o tests/retrieveSIEssl-retrieveSIEssl.o `test -f 'tests/retrieveSIEssl.c' || echo '$(srcdir)/'`tests/retrieveSIEssl.c; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/retrieveSIEssl-retrieveSIEssl.Tpo" "tests/$(DEPDIR)/retrieveSIEssl-retrieveSIEssl.Po"; else rm -f "tests/$(DEPDIR)/retrieveSIEssl-retrieveSIEssl.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/retrieveSIEssl.c' object='tests/retrieveSIEssl-retrieveSIEssl.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(retrieveSIEssl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/retrieveSIEssl-retrieveSIEssl.o `test -f 'tests/retrieveSIEssl.c' || echo '$(srcdir)/'`tests/retrieveSIEssl.c
+
+tests/retrieveSIEssl-retrieveSIEssl.obj: tests/retrieveSIEssl.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(retrieveSIEssl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/retrieveSIEssl-retrieveSIEssl.obj -MD -MP -MF "tests/$(DEPDIR)/retrieveSIEssl-retrieveSIEssl.Tpo" -c -o tests/retrieveSIEssl-retrieveSIEssl.obj `if test -f 'tests/retrieveSIEssl.c'; then $(CYGPATH_W) 'tests/retrieveSIEssl.c'; else $(CYGPATH_W) '$(srcdir)/tests/retrieveSIEssl.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "tests/$(DEPDIR)/retrieveSIEssl-retrieveSIEssl.Tpo" "tests/$(DEPDIR)/retrieveSIEssl-retrieveSIEssl.Po"; else rm -f "tests/$(DEPDIR)/retrieveSIEssl-retrieveSIEssl.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tests/retrieveSIEssl.c' object='tests/retrieveSIEssl-retrieveSIEssl.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(retrieveSIEssl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/retrieveSIEssl-retrieveSIEssl.obj `if test -f 'tests/retrieveSIEssl.c'; then $(CYGPATH_W) 'tests/retrieveSIEssl.c'; else $(CYGPATH_W) '$(srcdir)/tests/retrieveSIEssl.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
@@ -655,6 +846,57 @@
distclean-libtool:
-rm -f libtool
uninstall-info-am:
+install-adminincDATA: $(admininc_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(adminincdir)" || $(mkdir_p) "$(DESTDIR)$(adminincdir)"
+ @list='$(admininc_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(adminincDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(adminincdir)/$$f'"; \
+ $(adminincDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(adminincdir)/$$f"; \
+ done
+
+uninstall-adminincDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(admininc_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(adminincdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(adminincdir)/$$f"; \
+ done
+install-admsslincDATA: $(admsslinc_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(admsslincdir)" || $(mkdir_p) "$(DESTDIR)$(admsslincdir)"
+ @list='$(admsslinc_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(admsslincDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(admsslincdir)/$$f'"; \
+ $(admsslincDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(admsslincdir)/$$f"; \
+ done
+
+uninstall-admsslincDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(admsslinc_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(admsslincdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(admsslincdir)/$$f"; \
+ done
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
install-pkgdataDATA: $(pkgdata_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
@@ -672,23 +914,6 @@
echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
done
-install-pkgincludeDATA: $(pkginclude_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
- @list='$(pkginclude_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgincludeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
- $(pkgincludeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
- done
-
-uninstall-pkgincludeDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkginclude_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
- done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -738,10 +963,83 @@
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list='$(TESTS)'; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *" $$tst "*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *" $$tst "*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ echo "SKIP: $$tst"; \
+ fi; \
+ done; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="All $$all tests passed"; \
+ else \
+ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all tests failed"; \
+ else \
+ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ skipped="($$skip tests were not run)"; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
- $(mkdir_p) $(distdir)/lib/libadminutil $(distdir)/m4
+ $(mkdir_p) $(distdir)/. $(distdir)/lib/libadminutil $(distdir)/m4
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@@ -866,10 +1164,12 @@
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile $(LTLIBRARIES) $(DATA)
installdirs:
- for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(pkgincludedir)"; do \
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(adminincdir)" "$(DESTDIR)$(admsslincdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkgdatadir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
@@ -896,18 +1196,20 @@
-rm -f lib/libadminutil/$(am__dirstamp)
-rm -f lib/libadmsslutil/$(DEPDIR)/$(am__dirstamp)
-rm -f lib/libadmsslutil/$(am__dirstamp)
+ -rm -f tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f tests/$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
- mostlyclean-am
+clean-am: clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
+ clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf lib/libadminutil/$(DEPDIR) lib/libadmsslutil/$(DEPDIR)
+ -rm -rf lib/libadminutil/$(DEPDIR) lib/libadmsslutil/$(DEPDIR) tests/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
@@ -922,9 +1224,10 @@
info-am:
-install-data-am: install-pkgdataDATA install-pkgincludeDATA
+install-data-am: install-adminincDATA install-admsslincDATA \
+ install-pkgconfigDATA install-pkgdataDATA
-install-exec-am: install-pkglibLTLIBRARIES
+install-exec-am: install-libLTLIBRARIES
install-info: install-info-am
@@ -935,7 +1238,7 @@
maintainer-clean: maintainer-clean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf lib/libadminutil/$(DEPDIR) lib/libadmsslutil/$(DEPDIR)
+ -rm -rf lib/libadminutil/$(DEPDIR) lib/libadmsslutil/$(DEPDIR) tests/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -952,25 +1255,27 @@
ps-am:
-uninstall-am: uninstall-info-am uninstall-pkgdataDATA \
- uninstall-pkgincludeDATA uninstall-pkglibLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
- clean-generic clean-libtool clean-pkglibLTLIBRARIES ctags dist \
- dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
- distcheck distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distcleancheck distdir \
- distuninstallcheck dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-pkgdataDATA install-pkgincludeDATA \
- install-pkglibLTLIBRARIES install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-pkgdataDATA uninstall-pkgincludeDATA \
- uninstall-pkglibLTLIBRARIES
+uninstall-am: uninstall-adminincDATA uninstall-admsslincDATA \
+ uninstall-info-am uninstall-libLTLIBRARIES \
+ uninstall-pkgconfigDATA uninstall-pkgdataDATA
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \
+ clean clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
+ clean-libtool ctags dist dist-all dist-bzip2 dist-gzip \
+ dist-shar dist-tarZ dist-zip distcheck distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distcleancheck distdir distuninstallcheck dvi \
+ dvi-am html html-am info info-am install install-adminincDATA \
+ install-admsslincDATA install-am install-data install-data-am \
+ install-exec install-exec-am install-info install-info-am \
+ install-libLTLIBRARIES install-man install-pkgconfigDATA \
+ install-pkgdataDATA install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-adminincDATA uninstall-admsslincDATA uninstall-am \
+ uninstall-info-am uninstall-libLTLIBRARIES \
+ uninstall-pkgconfigDATA uninstall-pkgdataDATA
#////////////////////////////////////////////////////////////////
@@ -978,8 +1283,12 @@
# Resource Strings
#
#////////////////////////////////////////////////////////////////
-libadminutil_root.res: lib/libadminutil/genrb_wrapper
- sh lib/libadminutil/genrb_wrapper -s$(srcdir)/lib/libadminutil -d. --encoding ISO_8859-1 --package-name libadminutil libadminutil.properties
+root.res: lib/libadminutil/genrb_wrapper
+ sh lib/libadminutil/genrb_wrapper -s$(srcdir)/lib/libadminutil -d. \
+ --encoding ISO_8859-1 lib$(PACKAGE_NAME).properties
+
+en.res en_US.res: root.res
+ cp $< $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.1 -r 1.2 aclocal.m4
Index: aclocal.m4
===================================================================
RCS file: /cvs/dirsec/adminutil/aclocal.m4,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- aclocal.m4 30 Oct 2006 19:25:16 -0000 1.1
+++ aclocal.m4 4 Apr 2007 19:37:35 -0000 1.2
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.9.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,7 +13,7 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-# serial 47 AC_PROG_LIBTOOL
+# serial 48 AC_PROG_LIBTOOL
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -123,7 +123,7 @@
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
# Same as above, but do not quote variable references.
@@ -143,7 +143,7 @@
default_ofile=libtool
can_build_shared=yes
-# All known linkers require a `.a' archive for static linking (except M$VC,
+# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
ltmain="$ac_aux_dir/ltmain.sh"
@@ -163,6 +163,7 @@
test -z "$AS" && AS=as
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$LD" && LD=ld
test -z "$LN_S" && LN_S="ln -s"
@@ -182,15 +183,17 @@
if test -n "$RANLIB"; then
case $host_os in
openbsd*)
- old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
;;
*)
- old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
;;
esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
fi
+_LT_CC_BASENAME([$compiler])
+
# Only perform the check for file, if the check method requires it
case $deplibs_check_method in
file_magic*)
@@ -231,11 +234,56 @@
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
# Allow CC to be a program name with arguments.
compiler=$CC
])# _LT_AC_SYS_COMPILER
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[ac_outfile=conftest.$ac_objext
+printf "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
# _LT_AC_SYS_LIBPATH_AIX
# ----------------------
# Links a minimal program and checks the executable
@@ -308,15 +356,15 @@
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
if test -z "$ECHO"; then
if test "X${echo_test_string+set}" != Xset; then
# find a string as large as possible, as long as the shell can cope with it
for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string="`eval $cmd`") 2>/dev/null &&
- echo_test_string="`eval $cmd`" &&
+ if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+ echo_test_string=`eval $cmd` &&
(test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
then
break
@@ -485,7 +533,7 @@
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- case "`/usr/bin/file conftest.o`" in
+ case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
x86_64-*linux*)
@@ -536,6 +584,22 @@
CFLAGS="$SAVE_CFLAGS"
fi
;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *) LD="${LD-ld} -64" ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
@@ -567,7 +631,7 @@
# with a dollar sign (not a hyphen), so the echo should work correctly.
# The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@@ -577,8 +641,10 @@
echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test ! -s conftest.err; then
+ # So say no if there are warnings other than the usual output.
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
[...3355 lines suppressed...]
-# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@@ -6694,27 +7032,16 @@
fi
])
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
# AM_PROG_MKDIR_P
# ---------------
# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
+#
# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
# created by `make install' are always world readable, even if the
# installer happens to have an overly restrictive umask (e.g. 077).
@@ -6768,26 +7095,15 @@
fi
AC_SUBST([mkdir_p])])
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Helper functions for option handling. -*- Autoconf -*-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 2
+# serial 3
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -6812,28 +7128,16 @@
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-#
-# Check to make sure that the build environment is sane.
-#
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# AM_SANITY_CHECK
# ---------------
@@ -6876,25 +7180,14 @@
fi
AC_MSG_RESULT(yes)])
-# AM_PROG_INSTALL_STRIP
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+# AM_PROG_INSTALL_STRIP
+# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
@@ -6917,25 +7210,13 @@
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 1
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+# serial 2
# _AM_PROG_TAR(FORMAT)
# --------------------
Index: compile
===================================================================
RCS file: /cvs/dirsec/adminutil/compile,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- compile 30 Oct 2006 19:25:16 -0000 1.1
+++ compile 4 Apr 2007 19:37:35 -0000 1.2
@@ -1,9 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
-scriptversion=2004-09-10.20
+scriptversion=2005-05-14.22
-# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey(a)cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -47,11 +47,11 @@
Report bugs to <bug-automake(a)gnu.org>.
EOF
- exit 0
+ exit $?
;;
-v | --v*)
echo "compile $scriptversion"
- exit 0
+ exit $?
;;
esac
@@ -125,6 +125,8 @@
if test -f "$cofile"; then
mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
Index: config.guess
===================================================================
RCS file: /cvs/dirsec/adminutil/config.guess,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- config.guess 30 Oct 2006 19:25:16 -0000 1.1
+++ config.guess 4 Apr 2007 19:37:35 -0000 1.2
@@ -1,9 +1,9 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-timestamp='2004-09-07'
+timestamp='2005-07-08'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -17,13 +17,15 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+
# Originally written by Per Bothner <per(a)bothner.com>.
# Please send patches to <config-patches(a)gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
@@ -53,7 +55,7 @@
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@@ -66,11 +68,11 @@
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
@@ -123,7 +125,7 @@
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
+esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi(a)noc.rutgers.edu 1994-08-24)
@@ -196,55 +198,20 @@
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
- exit 0 ;;
- amd64:OpenBSD:*:*)
- echo x86_64-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- cats:OpenBSD:*:*)
- echo arm-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- luna88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- macppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvmeppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mips64-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
macppc:MirBSD:*:*)
echo powerppc-unknown-mirbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -297,37 +264,43 @@
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
+ exit ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
- exit 0 ;;
+ exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
- exit 0 ;;
+ exit ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
- exit 0;;
+ exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
+ exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
- exit 0 ;;
+ exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
- exit 0 ;;
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
*:OS400:*:*)
echo powerpc-ibm-os400
- exit 0 ;;
+ exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
+ exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee(a)wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
@@ -335,32 +308,32 @@
else
echo pyramid-pyramid-bsd
fi
- exit 0 ;;
+ exit ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
- exit 0 ;;
+ exit ;;
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
- exit 0 ;;
- DRS?6000:UNIX_SV:4.2*:7*)
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7 && exit 0 ;;
+ sparc) echo sparc-icl-nx7; exit ;;
esac ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
@@ -369,10 +342,10 @@
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
+ exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
@@ -384,10 +357,10 @@
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
- exit 0 ;;
+ exit ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
@@ -398,40 +371,40 @@
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
- exit 0 ;;
+ exit ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -455,32 +428,33 @@
exit (-1);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c \
- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && exit 0
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
- exit 0 ;;
+ exit ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
- exit 0 ;;
+ exit ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
- exit 0 ;;
+ exit ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
- exit 0 ;;
+ exit ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
- exit 0 ;;
+ exit ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
- exit 0 ;;
+ exit ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
@@ -496,29 +470,29 @@
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
- exit 0 ;;
+ exit ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
- exit 0 ;;
+ exit ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
- exit 0 ;;
+ exit ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
+ exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
- exit 0 ;;
+ exit ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
@@ -526,7 +500,7 @@
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit 0 ;;
+ exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
@@ -541,14 +515,18 @@
exit(0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo rs6000-ibm-aix3.2.5
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
- exit 0 ;;
+ exit ;;
*:AIX:*:[45])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
@@ -562,28 +540,28 @@
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
+ exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
- exit 0 ;;
+ exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
- exit 0 ;;
+ exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
+ exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
- exit 0 ;;
+ exit ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
- exit 0 ;;
+ exit ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
- exit 0 ;;
+ exit ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
- exit 0 ;;
+ exit ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
@@ -645,9 +623,19 @@
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
- # avoid double evaluation of $set_cc_for_build
- test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep __LP64__ >/dev/null
then
HP_ARCH="hppa2.0w"
else
@@ -655,11 +643,11 @@
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
+ exit ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
- exit 0 ;;
+ exit ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -687,158 +675,166 @@
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
- exit 0 ;;
+ exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
- exit 0 ;;
+ exit ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
- exit 0 ;;
+ exit ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
- exit 0 ;;
+ exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
- exit 0 ;;
+ exit ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
- exit 0 ;;
+ exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
- exit 0 ;;
+ exit ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
- exit 0 ;;
+ exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit 0 ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
*:UNICOS/mp:*:*)
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
+ exit ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
+ exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit 0 ;;
+ exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
+ exit ;;
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
- exit 0 ;;
+ exit ;;
x86:Interix*:[34]*)
echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit 0 ;;
+ exit ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
- exit 0 ;;
+ exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
- exit 0 ;;
+ exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
+ exit ;;
+ amd64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
- exit 0 ;;
+ exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
*:GNU:*:*)
# the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
+ exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit 0 ;;
+ exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
+ exit ;;
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
- exit 0 ;;
+ exit ;;
crisv32:Linux:*:*)
echo crisv32-axis-linux-gnu
- exit 0 ;;
+ exit ;;
frv:Linux:*:*)
echo frv-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
mips:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -856,7 +852,7 @@
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
eval $set_cc_for_build
@@ -875,14 +871,14 @@
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
@@ -896,7 +892,7 @@
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
+ exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -904,25 +900,25 @@
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
- exit 0 ;;
+ exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
- exit 0 ;;
+ exit ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
@@ -940,15 +936,15 @@
;;
a.out-i386-linux)
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
+ exit ;;
coff-i386)
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0 ;;
+ exit ;;
"")
# Either a pre-BFD a.out linker (linux-gnuoldld) or
# one that does not give us useful --help.
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
+ exit ;;
esac
# Determine whether the default compiler is a.out or elf
eval $set_cc_for_build
@@ -976,15 +972,18 @@
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
- exit 0 ;;
+ exit ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
@@ -992,27 +991,27 @@
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
+ exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
- exit 0 ;;
+ exit ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
- exit 0 ;;
+ exit ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
- exit 0 ;;
- i*86:syllable:*:*)
+ exit ;;
+ i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
- exit 0 ;;
+ exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit 0 ;;
+ exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -1020,15 +1019,16 @@
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
- exit 0 ;;
- i*86:*:5:[78]*)
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit 0 ;;
+ exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
@@ -1046,73 +1046,73 @@
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
- exit 0 ;;
+ exit ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
- exit 0 ;;
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
- exit 0 ;;
+ exit ;;
paragon:*:*:*)
echo i860-intel-osf1
- exit 0 ;;
+ exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
- exit 0 ;;
+ exit ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
- exit 0 ;;
+ exit ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
- exit 0 ;;
+ exit ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
- exit 0 ;;
+ exit ;;
M68*:*:R3V[5678]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
+ && { echo i486-ncr-sysv4; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
- exit 0 ;;
+ exit ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
@@ -1120,61 +1120,65 @@
else
echo ns32k-sni-sysv
fi
- exit 0 ;;
+ exit ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel(a)ccMail.Census.GOV>
echo i586-unisys-sysv4
- exit 0 ;;
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes(a)openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
- exit 0 ;;
+ exit ;;
*:*:*:FTX*)
# From seanf(a)swdc.stratus.com.
echo i860-stratus-sysv4
- exit 0 ;;
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green(a)stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
*:VOS:*:*)
# From Paul.Green(a)stratus.com.
echo hppa1.1-stratus-vos
- exit 0 ;;
+ exit ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
- exit 0 ;;
+ exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
- exit 0 ;;
+ exit ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
- exit 0 ;;
+ exit ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
- exit 0 ;;
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
@@ -1182,7 +1186,7 @@
unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
@@ -1190,22 +1194,25 @@
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
- exit 0 ;;
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
- exit 0 ;;
+ exit ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
- exit 0 ;;
+ exit ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
@@ -1216,38 +1223,44 @@
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
- exit 0 ;;
+ exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
- exit 0 ;;
+ exit ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
- exit 0 ;;
+ exit ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
- exit 0 ;;
+ exit ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
- exit 0 ;;
+ exit ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
- exit 0 ;;
+ exit ;;
*:ITS:*:*)
echo pdp10-unknown-its
- exit 0 ;;
+ exit ;;
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit 0 ;;
+ exit ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms && exit 0 ;;
- I*) echo ia64-dec-vms && exit 0 ;;
- V*) echo vax-dec-vms && exit 0 ;;
- esac
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1279,7 +1292,7 @@
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
+ printf ("arm-acorn-riscix\n"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
@@ -1368,11 +1381,12 @@
}
EOF
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
# Convex versions that predate uname can use getsysinfo(1)
@@ -1381,22 +1395,22 @@
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
c34*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
c38*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
c4*)
echo c4-convex-bsd
- exit 0 ;;
+ exit ;;
esac
fi
@@ -1407,7 +1421,9 @@
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- ftp://ftp.gnu.org/pub/gnu/config/
+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.g...
+and
+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
Index: config.sub
===================================================================
RCS file: /cvs/dirsec/adminutil/config.sub,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- config.sub 30 Oct 2006 19:25:16 -0000 1.1
+++ config.sub 4 Apr 2007 19:37:35 -0000 1.2
@@ -1,9 +1,9 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-timestamp='2004-08-29'
+timestamp='2005-07-08'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -21,14 +21,15 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+
# Please send patches to <config-patches(a)gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
#
@@ -70,7 +71,7 @@
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@@ -83,11 +84,11 @@
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
@@ -99,7 +100,7 @@
*local*)
# First pass through any local machine types.
echo $1
- exit 0;;
+ exit ;;
* )
break ;;
@@ -231,13 +232,14 @@
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+ | bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
- | m32r | m32rle | m68000 | m68k | m88k | mcore \
+ | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -246,6 +248,7 @@
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
@@ -254,23 +257,28 @@
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
+ | ms1 \
| msp430 \
| ns16k | ns32k \
- | openrisc | or32 \
+ | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
+ | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b \
| strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
- | x86 | xscale | xstormy16 | xtensa \
+ | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
+ m32c)
+ basic_machine=$basic_machine-unknown
+ ;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
@@ -298,7 +306,7 @@
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
- | bs2000-* \
+ | bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
@@ -310,7 +318,7 @@
| ip2k-* | iq2000-* \
| m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | mcore-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -319,6 +327,7 @@
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
@@ -327,6 +336,7 @@
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
+ | ms1-* \
| msp430-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
@@ -334,20 +344,23 @@
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
- | xtensa-* \
+ | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
+ m32c-*)
+ ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -489,6 +502,10 @@
basic_machine=m88k-motorola
os=-sysv3
;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
@@ -754,9 +771,8 @@
basic_machine=hppa1.1-oki
os=-proelf
;;
- or32 | or32-*)
+ openrisc | openrisc-*)
basic_machine=or32-unknown
- os=-coff
;;
os400)
basic_machine=powerpc-ibm
@@ -1029,6 +1045,10 @@
basic_machine=hppa1.1-winbond
os=-proelf
;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
xps | xps100)
basic_machine=xps100-honeywell
;;
@@ -1078,12 +1098,9 @@
we32k)
basic_machine=we32k-att
;;
- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sh64)
- basic_machine=sh64-unknown
- ;;
sparc | sparcv8 | sparcv9 | sparcv9b)
basic_machine=sparc-sun
;;
@@ -1170,7 +1187,8 @@
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1188,7 +1206,7 @@
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
@@ -1297,6 +1315,9 @@
-kaos*)
os=-kaos
;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
-none)
;;
*)
@@ -1374,6 +1395,9 @@
*-be)
os=-beos
;;
+ *-haiku)
+ os=-haiku
+ ;;
*-ibm)
os=-aix
;;
@@ -1545,7 +1569,7 @@
esac
echo $basic_machine$os
-exit 0
+exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.1 -r 1.2 configure
Index: configure
===================================================================
RCS file: /cvs/dirsec/adminutil/configure,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- configure 30 Oct 2006 19:25:16 -0000 1.1
+++ configure 4 Apr 2007 19:37:35 -0000 1.2
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for adminutil 1.1.
+# Generated by GNU Autoconf 2.59 for adminutil 1.1.0.
#
# Report bugs to <http://bugzilla.redhat.com/>.
#
@@ -280,15 +280,15 @@
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
-if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
if test -z "$ECHO"; then
if test "X${echo_test_string+set}" != Xset; then
# find a string as large as possible, as long as the shell can cope with it
for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string="`eval $cmd`") 2>/dev/null &&
- echo_test_string="`eval $cmd`" &&
+ if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+ echo_test_string=`eval $cmd` &&
(test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
then
break
@@ -423,8 +423,8 @@
# Identity of this package.
PACKAGE_NAME='adminutil'
PACKAGE_TARNAME='adminutil'
-PACKAGE_VERSION='1.1'
-PACKAGE_STRING='adminutil 1.1'
+PACKAGE_VERSION='1.1.0'
+PACKAGE_STRING='adminutil 1.1.0'
PACKAGE_BUGREPORT='http://bugzilla.redhat.com/'
# Factoring default headers for most tests.
@@ -464,8 +464,8 @@
# include <unistd.h>
#endif"
-ac_default_prefix=/opt/adminutil
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CX!
XCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS platform_defs debug_defs PKG_CONFIG ICU_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir sasl_inc sasl_lib icu_inc icu_lib icu_libdir icu_bin WINNT_TRUE WINNT_FALSE LTLIBOBJS'
+ac_default_prefix=/opt/$PACKAGE_NAME
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CP!
P CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS platform_defs debug_defs PKG_CONFIG ICU_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir sasl_inc sasl_lib icu_inc icu_lib icu_libdir icu_bin WINNT_TRUE WINNT_FALSE LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -954,7 +954,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures adminutil 1.1 to adapt to many kinds of systems.
+\`configure' configures adminutil 1.1.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1020,7 +1020,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of adminutil 1.1:";;
+ short | recursive ) echo "Configuration of adminutil 1.1.0:";;
esac
cat <<\_ACEOF
@@ -1064,6 +1064,7 @@
--with-icu-inc=PATH ICU include directory
--with-icu-lib=PATH ICU library directory
--with-icu-bin=PATH ICU binary directory
+ --with-fhs Use FHS layout
Some influential environment variables:
CXX C++ compiler command
@@ -1178,7 +1179,7 @@
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-adminutil configure 1.1
+adminutil configure 1.1.0
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1192,7 +1193,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by adminutil $as_me 1.1, which was
+It was created by adminutil $as_me 1.1.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1835,7 +1836,7 @@
# Define the identity of the package.
PACKAGE='adminutil'
- VERSION='1.1'
+ VERSION='1.1.0'
cat >>confdefs.h <<_ACEOF
@@ -3808,12 +3809,13 @@
done
done
done
+IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
# along with /bin/sed that truncates output.
for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && break
+ test ! -f $lt_ac_sed && continue
cat /dev/null > conftest.in
lt_ac_count=0
echo $ECHO_N "0123456789$ECHO_C" >conftest.in
@@ -3838,10 +3840,11 @@
fi
done
done
-SED=$lt_cv_path_SED
fi
+SED=$lt_cv_path_SED
+
echo "$as_me:$LINENO: result: $SED" >&5
echo "${ECHO_T}$SED" >&6
@@ -3918,7 +3921,7 @@
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
lt_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
+ # but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
@@ -3952,7 +3955,7 @@
if test "${lt_cv_prog_gnu_ld+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
lt_cv_prog_gnu_ld=yes
@@ -3982,6 +3985,15 @@
*) reload_flag=" $reload_flag" ;;
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
@@ -3992,36 +4004,43 @@
# Let the user override the test.
lt_cv_path_NM="$NM"
else
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/${ac_tool_prefix}nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
[...9112 lines suppressed...]
+gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\`
+gcc_ver=\`gcc -dumpversion\`
+
# An ERE matcher.
EGREP=$lt_EGREP
@@ -19004,7 +18484,7 @@
# Does compiler simultaneously support -c and -o options?
compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
-# Must we lock files when doing compilation ?
+# Must we lock files when doing compilation?
need_locks=$lt_need_locks
# Do we need the lib prefix for modules?
@@ -19078,11 +18558,11 @@
# Dependencies to place before the objects being linked to create a
# shared library.
-predep_objects=$lt_predep_objects_RC
+predep_objects=\`echo $lt_predep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place after the objects being linked to create a
# shared library.
-postdep_objects=$lt_postdep_objects_RC
+postdep_objects=\`echo $lt_postdep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Dependencies to place before the objects being linked to create a
# shared library.
@@ -19094,7 +18574,7 @@
# The library search path used internally by the compiler when linking
# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
@@ -19174,7 +18654,7 @@
link_all_deplibs=$link_all_deplibs_RC
# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
@@ -23894,17 +23374,20 @@
fi
if test -n "$PKG_CONFIG"; then
- if $PKG_CONFIG --exists mozldap6; then
- ldapsdk_inc=`$PKG_CONFIG --cflags-only-I mozldap6`
- ldapsdk_lib=`$PKG_CONFIG --libs-only-L mozldap6`
- ldapsdk_libdir=`$PKG_CONFIG --libs-only-L mozldap6 | sed -e s/-L// | sed -e s/\ *$//`
- echo "$as_me:$LINENO: result: using system mozldap6" >&5
-echo "${ECHO_T}using system mozldap6" >&6
+ if $PKG_CONFIG --exists mozldap; then
+ ldapsdk_name=mozldap
+ elif $PKG_CONFIG --exists mozldap6; then
+ ldapsdk_name=mozldap6
else
{ { echo "$as_me:$LINENO: error: LDAPSDK not found, specify with --with-ldapsdk-inc|-lib." >&5
echo "$as_me: error: LDAPSDK not found, specify with --with-ldapsdk-inc|-lib." >&2;}
{ (exit 1); exit 1; }; }
fi
+ ldapsdk_inc=`$PKG_CONFIG --cflags-only-I $ldapsdk_name`
+ ldapsdk_lib=`$PKG_CONFIG --libs-only-L $ldapsdk_name`
+ ldapsdk_libdir=`$PKG_CONFIG --libs-only-L $ldapsdk_name | sed -e s/-L// | sed -e s/\ *$//`
+ echo "$as_me:$LINENO: result: using system $ldapsdk_name" >&5
+echo "${ECHO_T}using system $ldapsdk_name" >&6
fi
fi
if test -z "$ldapsdk_inc" -o -z "$ldapsdk_lib"; then
@@ -23912,7 +23395,6 @@
echo "$as_me: error: LDAPSDK not found, specify with --with-ldapsdk-inc|-lib." >&2;}
{ (exit 1); exit 1; }; }
fi
-ldapsdk_bindir=/usr/lib/mozldap6
save_cppflags="$CPPFLAGS"
CPPFLAGS="$ldapsdk_inc $nss_inc $nspr_inc"
@@ -24282,7 +23764,7 @@
if test -n "$ICU_CONFIG"; then
icu_lib=`$ICU_CONFIG --ldflags-searchpath`
- icu_libdir = `$ICU_CONFIG --libdir`
+ icu_libdir=`$ICU_CONFIG --libdir`
icu_inc=`$ICU_CONFIG --cppflags-searchpath`
icu_bin=`$ICU_CONFIG --bindir`
echo "$as_me:$LINENO: result: using system ICU" >&5
@@ -24294,6 +23776,64 @@
fi
fi
+# BEGIN COPYRIGHT BLOCK
+# Copyright (C) 2006 Red Hat, Inc.
+# All rights reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# END COPYRIGHT BLOCK
+
+{ echo "$as_me:$LINENO: checking for FHS..." >&5
+echo "$as_me: checking for FHS..." >&6;}
+
+# check for --with-fhs
+echo "$as_me:$LINENO: checking for --with-fhs" >&5
+echo $ECHO_N "checking for --with-fhs... $ECHO_C" >&6
+
+# Check whether --with-fhs or --without-fhs was given.
+if test "${with_fhs+set}" = set; then
+ withval="$with_fhs"
+
+ with_fhs=yes
+
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi;
+
+if test "$with_fhs" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define IS_FHS 1
+_ACEOF
+
+fi
+
+
+
+# installation paths - by default, configure will just
+# use /usr as the prefix for everything, which means
+# /usr/etc and /usr/var. FHS sez to use /etc and /var.
+if test "$with_fhs" = "yes"; then
+ ac_default_prefix=/usr
+ prefix=$ac_default_prefix
+ exec_prefix=$prefix
+ sysconfdir='/etc'
+ localstatedir='/var'
+fi
# write out paths for binary components
@@ -24325,7 +23865,7 @@
fi
- ac_config_files="$ac_config_files Makefile"
+ ac_config_files="$ac_config_files Makefile adminutil.pc"
ac_config_files="$ac_config_files lib/libadminutil/genrb_wrapper"
@@ -24758,7 +24298,7 @@
} >&5
cat >&5 <<_CSEOF
-This file was extended by adminutil $as_me 1.1, which was
+This file was extended by adminutil $as_me 1.1.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -24816,7 +24356,7 @@
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-adminutil config.status 1.1
+adminutil config.status 1.1.0
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
@@ -24927,6 +24467,7 @@
case "$ac_config_target" in
# Handling of arguments.
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "adminutil.pc" ) CONFIG_FILES="$CONFIG_FILES adminutil.pc" ;;
"lib/libadminutil/genrb_wrapper" ) CONFIG_FILES="$CONFIG_FILES lib/libadminutil/genrb_wrapper" ;;
"depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
@@ -25068,6 +24609,7 @@
s,@CCDEPMODE@,$CCDEPMODE,;t t
s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+s,@SED@,$SED,;t t
s,@EGREP@,$EGREP,;t t
s,@LN_S@,$LN_S,;t t
s,@ECHO@,$ECHO,;t t
Index: configure.ac
===================================================================
RCS file: /cvs/dirsec/adminutil/configure.ac,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- configure.ac 30 Oct 2006 19:25:16 -0000 1.1
+++ configure.ac 4 Apr 2007 19:37:36 -0000 1.2
@@ -1,7 +1,7 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT([adminutil], [1.1], [http://bugzilla.redhat.com/])
+AC_INIT([adminutil], [1.1.0], [http://bugzilla.redhat.com/])
AM_INIT_AUTOMAKE([1.9 foreign subdir-objects])
AM_MAINTAINER_MODE
AC_CANONICAL_HOST
@@ -82,13 +82,27 @@
])
AC_SUBST([debug_defs])
-AC_PREFIX_DEFAULT([/opt/adminutil])
+AC_PREFIX_DEFAULT([/opt/$PACKAGE_NAME])
m4_include(m4/nspr.m4)
m4_include(m4/nss.m4)
m4_include(m4/mozldap.m4)
m4_include(m4/sasl.m4)
m4_include(m4/icu.m4)
+m4_include(m4/fhs.m4)
+
+# installation paths - by default, configure will just
+# use /usr as the prefix for everything, which means
+# /usr/etc and /usr/var. FHS sez to use /etc and /var.
+if test "$with_fhs" = "yes"; then
+ ac_default_prefix=/usr
+ prefix=$ac_default_prefix
+ exec_prefix=$prefix
+dnl as opposed to the default /usr/etc
+ sysconfdir='/etc'
+dnl as opposed to the default /usr/var
+ localstatedir='/var'
+fi
# write out paths for binary components
AC_SUBST(nspr_inc)
@@ -111,7 +125,7 @@
# cygnus, mingw, or the like and using cmd.exe as the shell
AM_CONDITIONAL([WINNT], false)
-AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([Makefile adminutil.pc])
AC_CONFIG_FILES([lib/libadminutil/genrb_wrapper])
AC_OUTPUT
Index: depcomp
===================================================================
RCS file: /cvs/dirsec/adminutil/depcomp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- depcomp 30 Oct 2006 19:25:16 -0000 1.1
+++ depcomp 4 Apr 2007 19:37:36 -0000 1.2
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2004-05-31.23
+scriptversion=2005-07-09.11
-# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,8 +17,8 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -50,11 +50,11 @@
Report bugs to <bug-automake(a)gnu.org>.
EOF
- exit 0
+ exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
- exit 0
+ exit $?
;;
esac
@@ -287,36 +287,43 @@
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
- # Dependencies are output in .lo.d with libtool 1.4.
- # With libtool 1.5 they are output both in $dir.libs/$base.o.d
- # and in $dir.libs/$base.o.d and $dir$base.o.d. We process the
- # latter, because the former will be cleaned when $dir.libs is
- # erased.
- tmpdepfile1="$dir.libs/$base.lo.d"
- tmpdepfile2="$dir$base.o.d"
- tmpdepfile3="$dir.libs/$base.d"
+ # With Tru64 cc, shared objects can also be used to make a
+ # static library. This mecanism is used in libtool 1.4 series to
+ # handle both shared and static libraries in a single compilation.
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+ #
+ # With libtool 1.5 this exception was removed, and libtool now
+ # generates 2 separate objects for the 2 libraries. These two
+ # compilations output dependencies in in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
- tmpdepfile1="$dir$base.o.d"
- tmpdepfile2="$dir$base.d"
- tmpdepfile3="$dir$base.d"
+ tmpdepfile1=$dir$base.o.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
- if test -f "$tmpdepfile1"; then
- tmpdepfile="$tmpdepfile1"
- elif test -f "$tmpdepfile2"; then
- tmpdepfile="$tmpdepfile2"
- else
- tmpdepfile="$tmpdepfile3"
- fi
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ do
+ test -f "$tmpdepfile" && break
+ done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
@@ -460,7 +467,8 @@
done
"$@" -E |
- sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
Index: install-sh
===================================================================
RCS file: /cvs/dirsec/adminutil/install-sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- install-sh 30 Oct 2006 19:25:16 -0000 1.1
+++ install-sh 4 Apr 2007 19:37:36 -0000 1.2
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2004-09-10.20
+scriptversion=2005-05-14.22
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -109,7 +109,7 @@
shift
continue;;
- --help) echo "$usage"; exit 0;;
+ --help) echo "$usage"; exit $?;;
-m) chmodcmd="$chmodprog $2"
shift
@@ -134,7 +134,7 @@
shift
continue;;
- --version) echo "$0 $scriptversion"; exit 0;;
+ --version) echo "$0 $scriptversion"; exit $?;;
*) # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@@ -213,7 +213,7 @@
fi
# This sed command emulates the dirname command.
- dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+ dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
# Make sure that the destination directory exists.
@@ -226,7 +226,8 @@
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
- set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+ set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+ shift
IFS=$oIFS
pathcomp=
@@ -295,7 +296,7 @@
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit
+ (exit 1); exit 1
}
else
:
@@ -306,12 +307,12 @@
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
}
}
- fi || { (exit 1); exit; }
+ fi || { (exit 1); exit 1; }
done
# The final little trick to "correctly" pass the exit status to the exit trap.
{
- (exit 0); exit
+ (exit 0); exit 0
}
# Local variables:
Index: ltmain.sh
===================================================================
RCS file: /cvs/dirsec/adminutil/ltmain.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ltmain.sh 30 Oct 2006 19:25:16 -0000 1.1
+++ ltmain.sh 4 Apr 2007 19:37:36 -0000 1.2
@@ -46,10 +46,16 @@
VERSION=1.5.22
TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes.
-if test -n "${ZSH_VERSION+set}" ; then
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
# Check that we have a working $echo.
@@ -105,12 +111,14 @@
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
- save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
- save_LANG="$LANG"; LANG=C; export LANG
-fi
+for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ $lt_var=C
+ export $lt_var
+ fi"
+done
# Make sure IFS has a sensible default
lt_nl='
@@ -136,6 +144,8 @@
preserve_args=
lo2o="s/\\.lo\$/.${objext}/"
o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
#####################################
# Shell function definitions:
@@ -327,7 +337,17 @@
*) my_xabs=`pwd`"/$my_xlib" ;;
esac
my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xdir="$my_gentop/$my_xlib"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ extracted_serial=`expr $extracted_serial + 1`
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
$show "${rm}r $my_xdir"
$run ${rm}r "$my_xdir"
@@ -758,6 +778,7 @@
*.f90) xform=f90 ;;
*.for) xform=for ;;
*.java) xform=java ;;
+ *.obj) xform=obj ;;
esac
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
@@ -1138,8 +1159,9 @@
for arg
do
case $arg in
- -all-static | -static)
- if test "X$arg" = "X-all-static"; then
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
$echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
fi
@@ -1147,12 +1169,20 @@
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=yes
- else
+ ;;
+ -static)
if test -z "$pic_flag" && test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
fi
prefer_static_libs=built
- fi
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
build_libtool_libs=no
build_old_libs=yes
break
@@ -1712,7 +1742,7 @@
continue
;;
- -static)
+ -static | -static-libtool-libs)
# The effects of -static are defined in a previous loop.
# We used to do the same as -all-static on platforms that
# didn't have a PIC flag, but the assumption that the effects
@@ -2490,7 +2520,9 @@
if test "$linkmode,$pass" = "prog,link"; then
if test -n "$library_names" &&
- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
# We need to hardcode the library path
if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
# Make sure the rpath contains only unique directories.
@@ -3186,7 +3218,7 @@
# which has an extra 1 added just for fun
#
case $version_type in
- darwin|linux|osf|windows)
+ darwin|linux|osf|windows|none)
current=`expr $number_major + $number_minor`
age="$number_minor"
revision="$number_revision"
@@ -3410,11 +3442,11 @@
fi
# Eliminate all temporary directories.
- for path in $notinst_path; do
- lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
- deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
- dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
- done
+# for path in $notinst_path; do
+# lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+# deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+# dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+# done
if test -n "$xrpath"; then
# If the user specified any rpath flags, then add them.
@@ -3515,13 +3547,12 @@
int main() { return 0; }
EOF
$rm conftest
- $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
- if test "$?" -eq 0 ; then
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
ldd_output=`ldd conftest`
for i in $deplibs; do
name=`expr $i : '-l\(.*\)'`
# If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" -ne "0"; then
+ if test "$name" != "" && test "$name" != "0"; then
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $i "*)
@@ -3560,9 +3591,7 @@
# If $name is empty we are operating on a -L argument.
if test "$name" != "" && test "$name" != "0"; then
$rm conftest
- $LTCC $LTCFLAGS -o conftest conftest.c $i
- # Did it work?
- if test "$?" -eq 0 ; then
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
@@ -3594,7 +3623,7 @@
droppeddeps=yes
$echo
$echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
+ $echo "*** make it link in! You will probably need to install it or some"
$echo "*** library that it depends on before this library will be fully"
$echo "*** functional. Installing it before continuing would be even better."
fi
@@ -4239,12 +4268,14 @@
reload_conv_objs=
gentop=
# reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
wl=
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
- eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
else
gentop="$output_objdir/${obj}x"
generated="$generated $gentop"
@@ -4692,16 +4723,16 @@
case $host in
*cygwin* | *mingw* )
if test -f "$output_objdir/${outputname}.def" ; then
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
else
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}S.${objext}%"`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
fi
;;
* )
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}S.${objext}%"`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE(a)%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
;;
esac
;;
@@ -4716,13 +4747,13 @@
# really was required.
# Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
fi
if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
# Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
link_command="$compile_command$compile_rpath"
# We have no uninstalled library dependencies, so finalize right now.
@@ -4809,7 +4840,7 @@
if test "$fast_install" != no; then
link_command="$finalize_var$compile_command$finalize_rpath"
if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
else
# fast_install is set to needless
relink_command=
@@ -4846,7 +4877,7 @@
fi
done
relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
fi
# Quote $echo for shipping.
@@ -5253,6 +5284,18 @@
Xsed='${SED} -e 1s/^X//'
sed_quote_subst='$sed_quote_subst'
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
@@ -5395,7 +5438,7 @@
;;
esac
$echo >> $output "\
- \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+ \$echo \"\$0: cannot exec \$program \$*\"
exit $EXIT_FAILURE
fi
else
@@ -5581,7 +5624,7 @@
done
# Quote the link command for shipping.
relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
if test "$hardcode_automatic" = yes ; then
relink_command=
fi
@@ -5926,9 +5969,9 @@
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
else
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
fi
$echo "$modename: warning: relinking \`$file'" 1>&2
@@ -6137,7 +6180,7 @@
file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
outputname="$tmpdir/$file"
# Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
$show "$relink_command"
if $run eval "$relink_command"; then :
@@ -6413,12 +6456,15 @@
fi
# Restore saved environment variables
- if test "${save_LC_ALL+set}" = set; then
- LC_ALL="$save_LC_ALL"; export LC_ALL
- fi
- if test "${save_LANG+set}" = set; then
- LANG="$save_LANG"; export LANG
- fi
+ for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
# Now prepare to actually exec the command.
exec_cmd="\$cmd$args"
@@ -6775,9 +6821,9 @@
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
+ try to export only the symbols listed in SYMFILE
-export-symbols-regex REGEX
- try to export only the symbols matching REGEX
+ try to export only the symbols matching REGEX
-LLIBDIR search LIBDIR for required installed libraries
-lNAME OUTPUT-FILE requires the installed library libNAME
-module build a library that can dlopened
@@ -6791,9 +6837,11 @@
-release RELEASE specify package release information
-rpath LIBDIR the created library will eventually be installed in LIBDIR
-R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of libtool libraries
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
-version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
+ specify library version info [each variable defaults to 0]
All other options (arguments beginning with \`-') are ignored.
Index: missing
===================================================================
RCS file: /cvs/dirsec/adminutil/missing,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- missing 30 Oct 2006 19:25:16 -0000 1.1
+++ missing 4 Apr 2007 19:37:36 -0000 1.2
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2004-09-07.08
+scriptversion=2005-06-08.21
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
@@ -19,8 +19,8 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -87,12 +87,12 @@
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake(a)gnu.org>."
- exit 0
+ exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
- exit 0
+ exit $?
;;
-*)
@@ -288,11 +288,18 @@
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
- file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
- fi
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
touch $file
;;
17 years, 1 month
[Fedora-directory-commits] coolkey/src/coolkey dllmain.cpp,1.1,1.2
by Doctor Conrad
Author: jmagne
Update of /cvs/dirsec/coolkey/src/coolkey
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24194
Modified Files:
dllmain.cpp
Log Message:
Call C_Finalize on a Windows PROCESS_DETACH message. Bug #234175. Rev. rrelyea.
Index: dllmain.cpp
===================================================================
RCS file: /cvs/dirsec/coolkey/src/coolkey/dllmain.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dllmain.cpp 9 Jun 2006 18:39:11 -0000 1.1
+++ dllmain.cpp 4 Apr 2007 18:35:46 -0000 1.2
@@ -20,6 +20,7 @@
#ifdef WIN32
#include <windows.h>
+#include "mypkcs11.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
@@ -35,6 +36,7 @@
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
+ C_Finalize(0);
break;
}
return TRUE;
17 years, 1 month