From fedora-directory-commits at redhat.com Fri Jun 1 13:30:16 2007 From: fedora-directory-commits at redhat.com (Robert Crittenden (rcritten)) Date: Fri, 1 Jun 2007 09:30:16 -0400 Subject: [Fedora-directory-commits] mod_nss ChangeLog,1.1.1.1,1.2 Message-ID: <200706011330.l51DUGpa014081@cvs-int.fedora.redhat.com> Author: rcritten Update of /cvs/dirsec/mod_nss In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv13985 Modified Files: ChangeLog Log Message: Populate the changelog. Index: ChangeLog =================================================================== RCS file: /cvs/dirsec/mod_nss/ChangeLog,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- ChangeLog 17 May 2005 14:50:10 -0000 1.1.1.1 +++ ChangeLog 1 Jun 2007 13:30:14 -0000 1.2 @@ -0,0 +1,80 @@ +2007-06-01 Rob Crittenden + + * mod_nss 1.0.7 + * Stop processing tokens when a login fails so we can correctly + report the failure. + * Fix an off-by-one error in nss_pcache that prevented 1 character + passwords (not a huge problem but a bug none-the-less). + * Bring in some updates based on diffs from 2.0.59 to 2.2.4 + * Do explicit TRUE/FALSE tests with sc->enabled to see if SSL is + enabled. + * Don't depend on the fact that TRUE == 1 + * Remove some dead code + * Minor update to the buffer code that buffers POST data during a + renegotation + * Optimize setting environment variables by using a switch statement. + * Fix typo in cipher echde_rsa_null (transposed h and d). + * The way I was using to detect the model being used was incorrect. Now + use the # of threads available. Guaranteed to be 0 for prefork and > 0 + for worker (threaded) + +2006-10-27 Rob Crittenden + + * mod_nss 1.0.6 + * If NSSEngine is off then simply don't initialize NSS at all. + * Add support for setting a default OCSP responder. + +2006-10-17 Rob Crittenden + + * mod_nss 1.0.5 + * Fix for a minor problem introduced with 1.0.4. NSS_Shutdown() was being + called during module unload even if SSL wasn't enabled causing an error + to display in the log. + +2006-10-11 Rob Crittenden + + * mod_nss 1.0.4 + * Merged in some changes from mod_ssl: + * new env variables SSL_{SERVER,CLIENT}_V_REMAIN that contains number + of days until certificate expires + * Attempt to buffer POST data in a SSL renegotiation. + * And some changes specific to mod_nss: + * Better way to distinguish Apache 2.0.x versus Apache 2.2.x. The old + way broke when 2.0.56 was introduced. + * Fix crash bug if the stored token password doesn't match the + database password + * Add new NSSPassPhraseDialog method, defer, where only the tokens + that are found in the file pointed to by this directive are + initialized. + * Fix race condition in initializing the NSS session cache that could + cause a core on startup. + * Update nss.conf.in to contain LogLevel and its own log files + * A missing initialization when built with ECC support that could + cause the server to not start + +2006-06-21 Rob Crittenden + + * mod_nss 1.0.3 + * Final ECC support + * Compiles on Solaris with the Forte Workshop compiler (tested with 6.2 + and 11). + * A number of compilation warnings were addressed + * gencert now uses bash instead of ksh + +2006-03-02 Rob Crittenden + + * Experimental Eliptical Curve Cryptopgraphy (ECC) added. Requires a + version of NSS also build with ECC support. Available in the CVS tip. + +2006-01-31 Rob Crittenden + + * mod_nss 1.0.2 + * Add support for Apache 2.2 (contributed by Oden Eriksson) + +2006-09-20 Rob Crittenden + + * mod_nss 1.0.0 + * Support for SSLv2, SSLv3, TLSv1 + * OCSP and CRLs + * Client certificate authentication + * Can run concurrently with mod_ssl From fedora-directory-commits at redhat.com Tue Jun 5 14:39:00 2007 From: fedora-directory-commits at redhat.com (Robert Crittenden (rcritten)) Date: Tue, 5 Jun 2007 10:39:00 -0400 Subject: [Fedora-directory-commits] mod_revocator ChangeLog, 1.1.1.1, 1.2 client.cpp, 1.2, 1.3 client.h, 1.2, 1.3 client_err.h, 1.2, 1.3 crlmanager.cpp, 1.2, 1.3 http-client.cpp, 1.3, 1.4 mod_rev.c, 1.3, 1.4 reverror.h, 1.2, 1.3 Message-ID: <200706051439.l55Ed033029797@cvs-int.fedora.redhat.com> Author: rcritten Update of /cvs/dirsec/mod_revocator In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29488 Modified Files: ChangeLog client.cpp client.h client_err.h crlmanager.cpp http-client.cpp mod_rev.c reverror.h Log Message: Resolves: 235355 Include If-Modified-Since header on HTTP/S requests so we don't try to retrieve and install a CRL that hasn't changed. Index: ChangeLog =================================================================== RCS file: /cvs/dirsec/mod_revocator/ChangeLog,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- ChangeLog 3 Aug 2006 19:39:11 -0000 1.1.1.1 +++ ChangeLog 5 Jun 2007 14:38:58 -0000 1.2 @@ -1,3 +1,13 @@ -* Tue Apr 3 2006 Rob Crittenden -- Beta 1 tagged +Tue Jun 6 2007 Rob Crittenden + * Include If-Modified-Since header on HTTP/S requests so we don't try + to retrieve and install a CRL that hasn't changed. +Tue Oct 17 2006 Rob Crittenden + * mod_revocator 1.0.2 is tagged + * Fix a slew of compilation warnings + * Fix Makefile so it can be built in parallel (make -j 3) + * Add support for OpenLDAP as the LDAP library + * Improve the documentation + +Tue Apr 3 2006 Rob Crittenden + * Beta 1 tagged Index: client.cpp =================================================================== RCS file: /cvs/dirsec/mod_revocator/client.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- client.cpp 4 Aug 2006 18:53:09 -0000 1.2 +++ client.cpp 5 Jun 2007 14:38:58 -0000 1.3 @@ -58,7 +58,11 @@ { 20, "Unable to connect to remote host" }, { 21, "Unable to write data to remote server" }, { 22, "Unable to read data from remote server" }, - { 23, "Out of memory while reading data" } + { 23, "Out of memory while reading data" }, + { 24, "Pipe failed" }, + { 25, "Fork failed" }, + { 26, "Exec failed" }, + { 27, "HTTP 304 Not Modified returned. The CRL hasn't changed since the last retrieval." } }; /* Given a URL, determine the type and fetch the appropriate contents and @@ -73,7 +77,7 @@ * * See the ldap-client.cpp and http-client.cpp for specific URL syntax. */ -PR_IMPLEMENT(void *)fetch_url(const char * url, int timeout, int * len, RevStatus& status) +PR_IMPLEMENT(void *)fetch_url(const char * url, int timeout, PRTime lastfetchtime, int * len, RevStatus& status) { int errnum = -1; void * data = NULL; @@ -86,14 +90,16 @@ if (!PL_strncasecmp(url, "ldap", 4)) data = ldap_client(url, timeout, len, &errnum); else if (!PL_strncasecmp(url, "http", 4)) - data = http_client(url, timeout, len, &errnum); + data = http_client(url, timeout, lastfetchtime, len, &errnum); else if (!PL_strncasecmp(url, "exec", 4)) data = exec_client(url, timeout, len, &errnum); else errnum = CL_URL_UNKNOWN; } - if (errnum != -1) { + if (errnum == CL_NOUPDATE_AVAILABLE) { + status.setError(REV_ERROR_NOUPDATE_AVAILABLE, client_errors[errnum].errorString); + } else if (errnum != -1) { status.setError(REV_ERROR_INVALID_URL_TYPE, client_errors[errnum].errorString); } Index: client.h =================================================================== RCS file: /cvs/dirsec/mod_revocator/client.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- client.h 4 Aug 2006 18:53:09 -0000 1.2 +++ client.h 5 Jun 2007 14:38:58 -0000 1.3 @@ -26,11 +26,11 @@ #include #include "revocation.h" -PR_EXTERN(void *)fetch_url(const char * url, int timeout, int * len, RevStatus& status); +PR_EXTERN(void *)fetch_url(const char * url, int timeout, PRTime lastfetchtime, int * len, RevStatus& status); PR_EXTERN(void)free_url(void* urldata); -PR_EXTERN(void *)http_client(const char *url, int timeout, int * len, int * errnum); +PR_EXTERN(void *)http_client(const char *url, int timeout, PRTime lastfetchtime, int * len, int * errnum); int parse_url(const char *url, char **username, char **password, char **protocol , char **host, int *port, char **uri); Index: client_err.h =================================================================== RCS file: /cvs/dirsec/mod_revocator/client_err.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- client_err.h 4 Aug 2006 18:53:09 -0000 1.2 +++ client_err.h 5 Jun 2007 14:38:58 -0000 1.3 @@ -53,6 +53,7 @@ #define CL_HTTP_WRITE_FAILED 21 #define CL_HTTP_READ_FAILED 22 #define CL_OUT_OF_MEMORY 23 +#define CL_NOUPDATE_AVAILABLE 27 /* EXEC client errors */ #define CL_PIPE_FAILED 24 Index: crlmanager.cpp =================================================================== RCS file: /cvs/dirsec/mod_revocator/crlmanager.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- crlmanager.cpp 4 Aug 2006 18:53:09 -0000 1.2 +++ crlmanager.cpp 5 Jun 2007 14:38:58 -0000 1.3 @@ -55,7 +55,22 @@ RevStatus mystatus; PRInt32 len = 0 ; output = NULL; - void* data = fetch_url(inurl, timeout, &len, mystatus); + void* data = fetch_url(inurl, timeout, lastfetchtime, &len, mystatus); + + /* We have a special case. If we have an HTTP request and the server + * response was 304 Not Modified we want to go ahead and continue as + * if the request was successful. A CRL may be very large so this is + * a good thing, we just have to jump through some hoops to achieve + * it. First we log the fact that we tried and got a 304, then reset + * things so in GetCRL() and update() we can detect this case. + */ + if (mystatus.getError() == REV_ERROR_NOUPDATE_AVAILABLE) { + reportError(mystatus); /* Report the error while we have it */ + mystatus.clearError(); + output = SECITEM_AllocItem(NULL, NULL, 1); + output->len = 0; + return mystatus; + } if (!mystatus.hasFailed() && (!data || !len)) { // the download did not fail, but we didn't get any data ... @@ -327,6 +342,10 @@ } PR_ASSERT(derCRL); + if (derCRL->len == 0) { /* no data retuned from server, this is ok */ + return mystatus; + } + // now check the CRL if ((mystatus = ProcessCRL(*derCRL, decodedCRL, now)).hasFailed()) { @@ -408,6 +427,12 @@ { reportError(mystatus); } + if (derCrl->len == 0) { /* This is ok, see DownloadCRL */ + lastfetchtime = now; + SECITEM_FreeItem(derCrl, PR_TRUE); + derCrl = NULL; + return mystatus; + } if (!mystatus.hasFailed()) { Index: http-client.cpp =================================================================== RCS file: /cvs/dirsec/mod_revocator/http-client.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- http-client.cpp 16 Oct 2006 18:16:35 -0000 1.3 +++ http-client.cpp 5 Jun 2007 14:38:58 -0000 1.4 @@ -76,7 +76,8 @@ * * The timeout is in seconds. */ -PR_IMPLEMENT(void *)http_client(const char *url, int timeout, int * len, int * errnum) +PR_IMPLEMENT(void *)http_client(const char *url, int timeout, + PRTime lastfetchtime, int * len, int * errnum) { char * protocol = 0; char * host = 0; @@ -96,7 +97,9 @@ PRInt32 cl = 0; int ssl = 0; unsigned int lenp; - + PRExplodedTime printableTime; + char ifmodified[256]; + uri_unescape_strict((char *)url, 0); // decode the url if (!parse_url(url, &username, &password, &protocol, &host, &port, &uri)) { @@ -140,18 +143,26 @@ strncpy(hostline, host, BIG_LINE); else PR_snprintf(hostline, sizeof(hostline), "%s:%d", host, port); + + memset(ifmodified, 0, 256); + if (lastfetchtime > 0) { + PR_ExplodeTime(lastfetchtime, PR_GMTParameters, &printableTime); + PR_FormatTime(ifmodified, 256, "%a, %d %b %Y %H:%M:%S GMT", &printableTime); + } /* Construct the HTTP request */ PR_snprintf(buffer, sizeof(buffer), - "GET %s HTTP/1.0\r\n" + "GET %s HTTP/1.1\r\n" "%s%s%s" "Host: %s\r\n" "User-Agent: %s/%s\r\n" + "%s%s%s" "Connection: close\r\n\r\n", uri, authdata ? "Authorization: Basic " : "", authdata ? authdata: "", authdata ? "\r\n" : "", hostline, - PRODUCT_BRAND_NAME, PRODUCT_VERSION_ID); + PRODUCT_BRAND_NAME, PRODUCT_VERSION_ID, + ifmodified[0] ? "If-Modified-Since: " : "", ifmodified[0] ? ifmodified : "", ifmodified[0] ? "\r\n" : ""); if (authdata) free(authdata); @@ -165,6 +176,11 @@ /* a content-length of -1 means read until there is no more to read */ cl = get_content_length(sock, timeout); + if (cl == -2) { + cl = 0; /* so we don't end up with a bogus len in done: */ + *errnum = CL_NOUPDATE_AVAILABLE; + goto done; + } if (cl != 0) { totalread = 0; @@ -397,18 +413,18 @@ if ((y == -1) && (nh > 0)) { return 0; /* name without value */ } - if (y == -1) { /* HTTP status message */ - x = 0; - y = -1; - ++nh; - break; - } while (t[y] && isspace(t[y])) ++y; header = strtok(t, ":"); - if (!PL_strcasecmp("content-length", header)) - length = atoi(&t[y]); + if (header) { + char *s = t; + s += 9; /* skip 'http/1.x ' */ + if (s && !PL_strncmp(s, "304", 3)) + length = -2; + else if (!PL_strcasecmp("content-length", header)) + length = atoi(&t[y]); + } x = 0; y = -1; Index: mod_rev.c =================================================================== RCS file: /cvs/dirsec/mod_revocator/mod_rev.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_rev.c 16 Oct 2006 18:16:35 -0000 1.3 +++ mod_rev.c 5 Jun 2007 14:38:58 -0000 1.4 @@ -115,9 +115,10 @@ { const char* errMsg = NULL; char errorbuf[256] = ""; + PRInt32 reverror; if (theerror) { - PRInt32 reverror = RevGetError(theerror); + reverror = RevGetError(theerror); errMsg = RevGetMessage(theerror); if (!errMsg) { @@ -160,9 +161,15 @@ subject = insubject; } /* log error */ - ap_log_error(APLOG_MARK, APLOG_ERR, 0, NULL, - "Error updating CRL %s %s : %s", - url, subject ? subject : "", errMsg); + if (reverror == REV_ERROR_NOUPDATE_AVAILABLE) { + ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL, + "%s : %s %s", + errMsg, url, subject ? subject : ""); + } else { + ap_log_error(APLOG_MARK, APLOG_ERR, 0, NULL, + "Error updating CRL %s %s : %s", + url, subject ? subject : "", errMsg); + } /* we have to shut down the server now, * unless we are called during initialization Index: reverror.h =================================================================== RCS file: /cvs/dirsec/mod_revocator/reverror.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- reverror.h 4 Aug 2006 18:53:09 -0000 1.2 +++ reverror.h 5 Jun 2007 14:38:58 -0000 1.3 @@ -53,6 +53,7 @@ const PRInt32 REV_ERROR_BAD_ISSUER_USAGE = 1013; const PRInt32 REV_ERROR_MISSING_CRL_DATA = 1014; const PRInt32 REV_ERROR_BAD_ISSUER_TRUST = 1015; +const PRInt32 REV_ERROR_NOUPDATE_AVAILABLE = 1016; #endif From fedora-directory-commits at redhat.com Thu Jun 7 14:58:11 2007 From: fedora-directory-commits at redhat.com (Robert Crittenden (rcritten)) Date: Thu, 7 Jun 2007 10:58:11 -0400 Subject: [Fedora-directory-commits] mod_nss nss_engine_config.c,1.14,1.15 Message-ID: <200706071458.l57EwBfo027863@cvs-int.fedora.redhat.com> Author: rcritten Update of /cvs/dirsec/mod_nss In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27817 Modified Files: nss_engine_config.c Log Message: The wrong variable was being used to report that NSSPassPhraseHelper wasn't found. Index: nss_engine_config.c =================================================================== RCS file: /cvs/dirsec/mod_nss/nss_engine_config.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- nss_engine_config.c 20 Oct 2006 15:23:39 -0000 1.14 +++ nss_engine_config.c 7 Jun 2007 14:58:09 -0000 1.15 @@ -622,8 +622,8 @@ mc->pphrase_dialog_helper = arg; } else { return apr_pstrcat(cmd->pool, - "NSSPassPhraseHelper: ", mc->pphrase_dialog_path, - "does not exist or is not executable.", NULL); + "NSSPassPhraseHelper: ", arg, + " does not exist or is not executable.", NULL); } return NULL; From fedora-directory-commits at redhat.com Thu Jun 7 14:58:33 2007 From: fedora-directory-commits at redhat.com (Robert Crittenden (rcritten)) Date: Thu, 7 Jun 2007 10:58:33 -0400 Subject: [Fedora-directory-commits] mod_nss nss_engine_init.c,1.29,1.30 Message-ID: <200706071458.l57EwXk0027912@cvs-int.fedora.redhat.com> Author: rcritten Update of /cvs/dirsec/mod_nss In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27874 Modified Files: nss_engine_init.c Log Message: Only NSSPassPhraseHelper needs to be required. Index: nss_engine_init.c =================================================================== RCS file: /cvs/dirsec/mod_nss/nss_engine_init.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- nss_engine_init.c 31 May 2007 21:36:03 -0000 1.29 +++ nss_engine_init.c 7 Jun 2007 14:58:31 -0000 1.30 @@ -155,10 +155,9 @@ const char * child_argv[4]; apr_status_t rv; - if (mc->pphrase_dialog_helper == NULL && - mc->pphrase_dialog_path == NULL) { + if (mc->pphrase_dialog_helper == NULL) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "Neither NSSPassPhraseHelper nor NSSPassPhraseDialog is not set. One or the other is required."); + "NSSPassPhraseHelper is not set. It is required."); nss_die(); } From fedora-directory-commits at redhat.com Thu Jun 7 14:59:05 2007 From: fedora-directory-commits at redhat.com (Robert Crittenden (rcritten)) Date: Thu, 7 Jun 2007 10:59:05 -0400 Subject: [Fedora-directory-commits] mod_nss ChangeLog,1.2,1.3 Message-ID: <200706071459.l57Ex59I028017@cvs-int.fedora.redhat.com> Author: rcritten Update of /cvs/dirsec/mod_nss In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27950 Modified Files: ChangeLog Log Message: The error message was wrong if NSSPassPhraseHelper pointed to a non-existant file. Don't require a password file AND NSSPassPhraseHelper. Only the helper is required. Index: ChangeLog =================================================================== RCS file: /cvs/dirsec/mod_nss/ChangeLog,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ChangeLog 1 Jun 2007 13:30:14 -0000 1.2 +++ ChangeLog 7 Jun 2007 14:59:02 -0000 1.3 @@ -1,3 +1,10 @@ +2007-06-07 Rob Crittenden + + * The error message was wrong if NSSPassPhraseHelper pointed to a + non-existant file. + * Don't require a password file AND NSSPassPhraseHelper. Only + the helper is required. + 2007-06-01 Rob Crittenden * mod_nss 1.0.7 From fedora-directory-commits at redhat.com Thu Jun 7 21:13:14 2007 From: fedora-directory-commits at redhat.com (Jack Magne (jmagne)) Date: Thu, 7 Jun 2007 17:13:14 -0400 Subject: [Fedora-directory-commits] esc/intl - New directory Message-ID: <200706072113.l57LDEik002128@cvs-int.fedora.redhat.com> Author: jmagne Update of /cvs/dirsec/esc/intl In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2108/intl Log Message: Directory /cvs/dirsec/esc/intl added to the repository From fedora-directory-commits at redhat.com Thu Jun 7 21:13:30 2007 From: fedora-directory-commits at redhat.com (Jack Magne (jmagne)) Date: Thu, 7 Jun 2007 17:13:30 -0400 Subject: [Fedora-directory-commits] esc/intl/en-US - New directory Message-ID: <200706072113.l57LDU3p002188@cvs-int.fedora.redhat.com> Author: jmagne Update of /cvs/dirsec/esc/intl/en-US In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2165/en-US Log Message: Directory /cvs/dirsec/esc/intl/en-US added to the repository From fedora-directory-commits at redhat.com Thu Jun 7 21:15:29 2007 From: fedora-directory-commits at redhat.com (Jack Magne (jmagne)) Date: Thu, 7 Jun 2007 17:15:29 -0400 Subject: [Fedora-directory-commits] esc/intl/en-US esc.dtd.pot, NONE, 1.1 esc.properties.pot, NONE, 1.1 Message-ID: <200706072115.l57LFTRj002526@cvs-int.fedora.redhat.com> Author: jmagne Update of /cvs/dirsec/esc/intl/en-US In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2502 Added Files: esc.dtd.pot esc.properties.pot Log Message: Initial revision. #208749 r. mharmsen. --- NEW FILE esc.dtd.pot --- # extracted from en-US/esc.dtd #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-06-07 10:13-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "X-Generator: Translate Toolkit 1.0\n" "X-Accelerator-Marker: &\n" # ***** 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. # * # * Copyright (C) 2005 Red Hat, Inc. # * All rights reserved. # ***** END COPYRIGHT BLOCK ***** #: escCompany msgid "Red Hat" msgstr "" #: smartCardManager msgid "smart card manager" msgstr "" #: smartCardManagerU #: escTitle msgid "Smart Card Manager" msgstr "" #: smartCard msgid "smart card" msgstr "" #: smartCardU msgid "Smart Card" msgstr "" #: configTitle msgid "Phone Home Configuration Information" msgstr "" #: certInfoTitle msgid "ESC Key Info" msgstr "" #: advancedInfoTitle msgid "Diagnostics Information" msgstr "" #: genericAuthTitle msgid "Authentication" msgstr "" #: progressHeader #: keyProgress msgid "Progress" msgstr "" #: unknownIssuer msgid "Unknown Issuer" msgstr "" #: unknown msgid "Unknown" msgstr "" #: copyToClipboard msgid "Copy To Clipboard" msgstr "" #: cancel #: doCancel #: escCancel msgid "Cancel" msgstr "" #: doEnroll msgid "Enroll" msgstr "" #: doResetPin msgid "Reset Password" msgstr "" #: doFormat msgid "Format" msgstr "" #: keyPassword msgid "Smart Card Password" msgstr "" #: pluggedInCards msgid "Active Smart Cards" msgstr "" #: keyIssuer msgid "Issuer" msgstr "" #: keyIssuedTo msgid "Issued To" msgstr "" #: keyStatus msgid "Status" msgstr "" #: noKeysPresent msgid "No Cards Present" msgstr "" #: enterKeyPin msgid "Enter Key Pin" msgstr "" #: reEnterKeyPin msgid "Re Enter Key Pin" msgstr "" #: editConfigValues msgid "Edit Configuration Values" msgstr "" #: tpsURIHeader msgid "TPS Config URI:" msgstr "" #: escEnrollURIHeader msgid "ESC ENROLL URI:" msgstr "" #: updateValues msgid "Update Values" msgstr "" #: doTest msgid "Test URL" msgstr "" #: pleaseEnroll msgid "Smart Card Enrollment" msgstr "" #: unenrolledDetected msgid "Unenrolled Smart Card Detected" msgstr "" #: noKeyDetected msgid "No Smart Card Detected" msgstr "" #: enrollMessage msgid "To begin the smart card enrollment process, you will need to choose a password to protect the smart card. You will need to enter this password each time you use your new smart card. You will also need to enter the security information below needed by Smart Card Manager to complete your enrollment." msgstr "" #: detectedMessage msgid "Smart Card Manager has detected that you have entered a new and un-enrolled smart card. Before you can use this smart card, you have to enroll it. Enrolling your smart card personalizes it so only you can use it for secure operations." msgstr "" #: readyToProceed msgid "When you are ready to begin the process,click Enroll My Smart Card Now." msgstr "" #: noKey msgid "Unable to detect your smart card." msgstr "" #: insertKey msgid "To enroll your smart card, please insert your security card or USB key now." msgstr "" #: adminNoKeysMessage msgid "In order to administer your security smart cards, you must have one or more cards connected to the computer. Please do so now." msgstr "" #: detectedKeyDetailsHeader msgid "Smart Card Functions" msgstr "" #: keyEnrollmentHeader msgid "Create Password" msgstr "" #: passwordQuality msgid "Password Quality" msgstr "" #: pleaseEnterPassword msgid "Enter new password:" msgstr "" #: pleaseReEnterPassword msgid "Re-enter password:" msgstr "" #: closeEnrollLater msgid "Close, I'll Enroll Later" msgstr "" #: closeAdminLater #: closeNow msgid "Close" msgstr "" #: enrollKeyNow msgid "Enroll My Smart Card Now" msgstr "" #: enrollKey msgid "Enroll Smart Card" msgstr "" #: enrollKeyNowGeneric msgid "Continue" msgstr "" #: administerKeys msgid "Manage Smart Cards" msgstr "" #: administerMessage msgid "This tool helps you manage your smart cards and to examine their contents when you are having problems. To manage your smart cards, you must connect them to the computer." msgstr "" #: blankKeyLabel msgid "Blank Key" msgstr "" #: adminDetailsMessage msgid "This smart card is not personalized." msgstr "" #: advancedInfo msgid "Diagnostics" msgstr "" #: doViewCerts msgid "View Certificates" msgstr "" #: getESCPassword msgid "Password" msgstr "" #: escOK msgid "OK" msgstr "" #: tpsConfigDesc msgid "You have inserted a smart card that the Smart Card Manager recognizes, but needs to be formatted." msgstr "" #: tpsConfigDesc1 msgid "Before you can use this smart card, you need to do two things. First, you need to specify the location (URL) of the smart card server in the text box below. The Smart Card Manager will insert this location onto the smart card." msgstr "" #: tpsConfigDesc2 msgid "Second, you must format it from the main Smart Card Manager window." msgstr "" #: tpsConfigDesc3 msgid "Enter the location of the smart card server (such as https://smartcardserver.example.com:7888)" msgstr "" #: diagnosticsMessage msgid "The information below is diagnostic information that your system generates as you use your smart card. If you are having smart card problems, you may be asked by your support engineer to send this information for analysis." msgstr "" #: dontLaunchBrowser msgid "Don't launch the default browser when enrolled card is inserted." msgstr "" #: Close.accesskey #: Cancel.accesskey msgid "C" msgstr "" #: OK.accesskey msgid "O" msgstr "" #: Format.accesskey msgid "F" msgstr "" #: Enroll.accesskey msgid "E" msgstr "" #: ResetPin.accesskey msgid "R" msgstr "" #: Test.accesskey #: CopyClip.accesskey msgid "T" msgstr "" #: Diagnostics.accesskey msgid "D" msgstr "" #: Submit.accesskey msgid "S" msgstr "" #: ViewCerts.accesskey msgid "V" msgstr "" --- NEW FILE esc.properties.pot --- # ***** 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. # # Copyright (C) 2005 Red Hat, Inc. # All rights reserved. # ***** END COPYRIGHT BLOCK # extracted from en-US/esc.properties #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-06-07 10:13-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "X-Generator: Translate Toolkit 1.0\n" "X-Accelerator-Marker: &\n" #ESC strings used in Javascript #Strings for ESC.js #: escTitle msgid "Smart Card Manager" msgstr "" #: smartCard msgid "smart card" msgstr "" #: smartCardU msgid "Smart Card" msgstr "" #: enrolledKey #: statusEnrolled msgid "Enrolled" msgstr "" #: noKeysPresent msgid "No Cards Present" msgstr "" #: blankKey msgid "Blank" msgstr "" #: uninitializedKey msgid "Uninitialized" msgstr "" #: statusUnavailable msgid "Unavailable" msgstr "" #: statusNoApplet msgid "Unformatted" msgstr "" #: statusUninitialized msgid "Formatted" msgstr "" #: statusLoggedIn msgid "Logged In" msgstr "" #: statusUnknown #: unknownIssuer msgid "Unknown" msgstr "" #: statusBusy msgid "Busy" msgstr "" #: redHatUser msgid "User" msgstr "" #: appletVersion msgid "Smart Card Applet Version:" msgstr "" #: operationPINReset msgid "Resetting Key Password.." msgstr "" #: operationEnrollment msgid "Enrolling Key.." msgstr "" #: operationFormat msgid "Formatting Key.." msgstr "" #: tokenInformation msgid "CARD INFORMATION" msgstr "" #: advancedInformation msgid "Diagnostics Information" msgstr "" #: keyID msgid "Key ID:" msgstr "" #: tpsURI msgid "Smart Card Server URL:" msgstr "" #: tpsUI msgid "Enrollment UI URL:" msgstr "" #: tpsPhoneHomeURL msgid "Phone Home URL:" msgstr "" #: status msgid "Status:" msgstr "" #: issuer msgid "Issuer:" msgstr "" #: atr msgid "Atr:" msgstr "" #: escLogEntries msgid "Smart Card Activity" msgstr "" #: noLogFileOrData msgid "No log file or log file has no data." msgstr "" #: dataCopiedToClipboard msgid "Diagnostics information copied to the clipboard." msgstr "" #: diagnosticsReport msgid "SMART CARD DIAGNOSTICS REPORT" msgstr "" #: diagnosticsSystemInfo msgid "Software Version Information" msgstr "" #: diagnosticsSoftVersioInfo msgid "System Versions:" msgstr "" #: diagnosticsDetails msgid "Active Smart Card Details" msgstr "" #: secCard msgid "Card" msgstr "" #: certsOnToken msgid "Certificates on Smart Card" msgstr "" #: certificateNickname msgid "Certificate Nickname:" msgstr "" #: certIssuedTo msgid "Issued to;" msgstr "" #: certIssuedBy msgid "Issued by;" msgstr "" #: certValidityFrom msgid "Validity from:" msgstr "" #: certValidityTo msgid "Validity to:" msgstr "" #: certSerialNumber msgid "Serial number:" msgstr "" #: coolkeyComponentVersion msgid "Smart Card Manager Version:" msgstr "" #: coolkeyDetectedNumberKeys msgid "Number of Smart Cards Detected:" msgstr "" #: enrolledDetected msgid "Enrolled Smart Card Detected" msgstr "" #: enrolledDetectedMessage msgid "" "Smart Card Manager has detected an already enrolled card. If you do not wish " "to re-enroll, press the \"Close\" button." msgstr "" #: enrolledDetectedMessageGeneric msgid "" "Smart Card Manager has detected an already enrolled card. Click Proceed to " "continue." msgstr "" #: unenrolledDetectedMessage msgid "" "Smart Card Manager has detected that you have entered a new and un-enrolled " "smart card. Before you can use this smart card, you have to enroll it. " "Enrolling your smart card personalizes it so only you can use it for secure " "operations." msgstr "" #: enrollAnyway msgid "If you would like to re-enroll anyway, click Enroll My Smart Card Now." msgstr "" #: readyToProceed msgid "" "When you are ready to begin the process,click Enroll My Smart Card Now." msgstr "" #: formatingToken msgid "Formatting..." msgstr "" #: enrollingToken msgid "Enrolling..." msgstr "" #: resettingTokenPIN msgid "Password Reset.." msgstr "" #: cancellingOperation msgid "Cancelling.." msgstr "" #: blinkingToken msgid "Blinking.." msgstr "" #: keyInserted msgid "Smart Card Inserted!" msgstr "" #: keyRemoved msgid "Smart Card Removed!" msgstr "" #: keyInsertedComputer msgid "smart card inserted." msgstr "" #: keyRemovedComputer msgid "smart card removed." msgstr "" #: diagnosticsMessage msgid "" "The information below is diagnostic information that your system generates " "as you use your smart card. If you are having smart card problems, you may " "be asked by your support engineer to send this information for analysis." msgstr "" #: menuManageKeys msgid "Manage Smart Cards..." msgstr "" #: menuExit msgid "Quit" msgstr "" #ESC Error Messages from TPS #: errorNone msgid "Operation Completed Successfully." msgstr "" #: serverError msgid "Smart Card Server error." msgstr "" #: errorProblemResetTokenPin msgid "The Smart Card Server cannot reset your smart card's password." msgstr "" #: errorTokenEnrollment msgid "" "The Smart Card Server cannot import the required certificates into your " "smart card." msgstr "" #: errorLifeCyclePDU msgid "" "The Smart Card Server cannot finalize the enrollment of your smart card." msgstr "" #: errorCommCA msgid "Error communicating with the Certification Authority." msgstr "" #: errorInternalServer msgid "Internal Smart Card Server error." msgstr "" #: errorResetPin msgid "Error resetting the smart card's password." msgstr "" #: errorAuthFailure msgid "" "The Smart Card Server cannot validate your credentials. Please try again " "with the correct credentials." msgstr "" #: errorTokenDisabled msgid "The Smart Card Server does not know about your smart card." msgstr "" #: errorSecureChannel msgid "" "The Smart Card Server cannot establish a secure channel with the smart card." msgstr "" #: errorServerMisconfig msgid "The Smart Card Server has not been configured correctly." msgstr "" #: errorProblemCommToken msgid "" "Your smart card can not perform the operation requested by the Smart Card " "Server." msgstr "" #: errorExternalAuth msgid "Your smart card cannot correctly identify the Smart Card Server." msgstr "" #: errorTokenUpgrade msgid "The Smart Card Server cannot upgrade the software on your smart card." msgstr "" #: errorTermSecureConn msgid "" "The Smart Card Server can not terminate the secure cummunications channel " "with the smart card." msgstr "" #: errorInvalidTokenType msgid "" "The Smart Card Server does not recognize the requested type of card " "enrollment." msgstr "" #: errorInvalidTokenTypeParams msgid "" "The Smart Card Server cannot process the requested type of enrollment due to " "a misconfiguration." msgstr "" #: errorCannotPublish msgid "" "The Smart Card Server cannot publish your card's certificates to the " "certificate directory." msgstr "" #: errorCommTokenDB msgid "The Smart Card Server cannot connect to its internal database." msgstr "" #: errorTokenSuspended msgid "Your smart card has been suspended." msgstr "" #: errorPinResetable msgid "You are not allowed to reset the password of this smart card." msgstr "" #: errorConnLost msgid "" "The Smart Card Manager has lost the connection to the Smart Card Server." msgstr "" #: errorEntryTokenDB msgid "" "The Smart Card Server cannot add your smart card to its internal database." msgstr "" #: errorNoTokenState msgid "" "The Smart Card server does not recognize your smart card's current status." msgstr "" #: errorInvalidLostTokenReason msgid "" "The Smart Card server cannot process your smart card which has been reported " "lost." msgstr "" #: errorTokenUnusable msgid "" "The Smart Card Server cannot process your smart card which has been reported " "stolen." msgstr "" #: errorNoInactiveToken msgid "The Smart Card Server cannot restore your smart card's security keys." msgstr "" #: errorProcessMultiTokens msgid "" "The Smart Card Server has detected that you already have one enrolled smart " "card. The server only allows one enrolled card per user." msgstr "" #: errorTokenTerminated msgid "" "The Smart Card Server can not process your smart card which is marked as " "terminated." msgstr "" #: errorKeyRecoveryProcessed msgid "Smart card key recovery has been processed." msgstr "" #: errorKeyRecoveryFailed msgid "" "The Smart Card Server can not restore the security keys onto your smart " "card." msgstr "" #: errorNoOperateLostToken msgid "Cannot process this smart card, which has been reported lost." msgstr "" #: errorKeyArchival msgid "" "The Smart Card Server can not restore the security keys onto your smart card " "due to a server misconfiguration." msgstr "" #: errorConnTKS msgid "" "The Smart Card server cannot contact its security key server,which is " "required for processing." msgstr "" #: errorFailUpdateTokenDB msgid "The Smart Card Server cannot reset the status of your smart card." msgstr "" #: errorCertRevocation msgid "" "The Smart Card Server cannot mark the security keys on your smart card as " "revoked." msgstr "" #: errorNotOwnToken msgid "The Smart Card Server cannot process a smart card which you do not own." msgstr "" #: errorESCMisconfigured msgid "The Smart Card Manager has been misconfigured." msgstr "" #: errorESCNoCommCardReader msgid "" "The Smart Card Manager cannot initiate communications with the smart card." msgstr "" #: errorESCNoTokenSession msgid "" "The Smart Card Manager cannot establish a communications session with the " "smart card." msgstr "" #: errorESCNoTalkTPS msgid "" "The Smart Card Manager cannot initiate communications with the Smart Card " "Server." msgstr "" #: errorESCNoTalkTokenReader msgid "" "The Smart Card Manager cannot finalize communications with the smart card." msgstr "" #ESC text in general Alert messages #: errorCoolKeyIsAuth msgid "coolkey.GetCoolKeyIsAuthenticated() failed!" msgstr "" #: errorAuthCoolKey msgid "coolkey.AuthenticateCoolKey failed!" msgstr "" #: errorJsNotifyInterface msgid "Can't find jsNotify interface." msgstr "" #: errorUniversalXPConnect msgid "Can't get UniversalXPConnect." msgstr "" #: errorConfigValue msgid "Error obtaining issuer info for key." msgstr "" #: errorConfigValue msgid "Error Getting Config Value:" msgstr "" #: errorSetConfigValue msgid "Error SettingConfig Value:" msgstr "" #: errorBlankTPSURI msgid "Blank Tps Uri submitted." msgstr "" #: noTpsConfigUrl msgid "You must provide a Url to test!" msgstr "" #: aboutToTestTPSURI msgid "About to test Smart Card Server URI:" msgstr "" #: errorSelectKey msgid "Please select a Smart card." msgstr "" #: tpsURLContacted msgid "Smart Card Server URL has been successfully contacted." msgstr "" #: errorContactTPSURL msgid "Error contacting Smart Card Server URL, reconfigure and try again." msgstr "" #: errorBlankEnrollURI msgid "Blank Enroll Uri submitted." msgstr "" #: aboutToTestEnrollURI msgid "About to test Enroll URI:" msgstr "" #: enrollURLContacted msgid "x Enrollment URL has been successfully contacted." msgstr "" #: errorContactEnrollURL msgid "Error contacting Enroll URL, reconfigure and try again." msgstr "" #: tpsConfigSuccess msgid "Smart Card Server config information successfully obtained!" msgstr "" #: tpsConfigError msgid "Error obtaining Smart Card Server config information!" msgstr "" #: tpsConfigTest msgid "About to test the Smart Card Server Phone Home Url :" msgstr "" #: tpsNoConfigUrl msgid "Provide a valid Smart Card Server config URL!" msgstr "" #: tpsURIMustHaveValue msgid "Smart Card Server URL item must have a value!" msgstr "" #: errorSetConfigValue msgid "Error setting config value!:" msgstr "" #: configChangesSubmitted msgid "Configuration changes submitted." msgstr "" #: errorSetDataValue msgid "Error Setting data values:" msgstr "" #: errorCoolKeyGetStatus msgid "coolkey.GetCoolKeyStatus() failed!" msgstr "" #: errorCoolKeyGetPolicy msgid "coolkey.GetCoolKeyPolicy() failed!" msgstr "" #: errorCoolKeyRequiresAuth msgid "coolkey.GetCoolKeyRequiresAuthentication() failed!" msgstr "" #: errorCoolKeyCertNicknames msgid "coolkey.GetCoolKeyCertNicknames() failed!" msgstr "" #: errorCoolKeyCertInfo msgid "coolkey.GetCoolKeyCertInfo() failed!" msgstr "" #: errorGetAvailCoolKeys msgid "coolkey.GetAvailableCoolKeys() failed!" msgstr "" #: errorEnollCoolKey msgid "coolkey.EnrollCoolKey() failed!" msgstr "" #: errorCoolKeyIsEnrolled msgid "coolkey.GetCoolKeyIsEnrolled failed!" msgstr "" #: errorResetCoolKeyPIN msgid "" "coolkey.ResestCoolKeyPASSWORD() failed! Make sure smart card is enrolled." msgstr "" #: errorFormatCoolKey msgid "coolkey.FormatCoolKey() failed!" msgstr "" #: errorCancelCoolKey msgid "coolkeyCancelCoolKeyOperation() failed!" msgstr "" #: errorBlinkCoolKey msgid "coolkey.BlinkCoolKey() failes!" msgstr "" #: noCurrentlySelectedToken msgid "No currently selected smart card!" msgstr "" #: errorProvideScreenName msgid "You must provide a valid screen name!" msgstr "" #: errorProvideTokenPIN msgid "You must provide a valid card password!" msgstr "" #: errorMatchPinValues msgid "The Password values you entered don't match!" msgstr "" #: errorValidUserPassword msgid "You must provide a valid user password!" msgstr "" #: errorSelectKey msgid "Please select a smart card." msgstr "" #: errorEnrolledFirst msgid "Smart card must be enrolled first! Enroll card and try again." msgstr "" #: enrollmentFor msgid "Enrollment of your" msgstr "" #: errorNeedKeyForSecMode msgid "Please insert enrolled smart card before attempting secure mode." msgstr "" #: wasSuccessful msgid "was successful." msgstr "" #: pinResetSuccessful msgid "Password Reset was successfull!" msgstr "" #: formatOf msgid "Format of" msgstr "" #: error msgid "Error" msgstr "" #: serverResponse msgid "Server Response:" msgstr "" #: enrollmentOfKey msgid "Enrollment of smart card" msgstr "" #: formatingOfKey msgid "Formatting of smart card" msgstr "" #: pinResetOfKey msgid "Password Reset for smart card" msgstr "" #: operationForKey msgid "Operation for smart card" msgstr "" #: failed msgid "failed." msgstr "" #: cancelled msgid "cancelled." msgstr "" #: errorFindESCPlatform msgid "Unable to determine Smart Card Manager platform." msgstr "" #: errorIssuerInfo msgid "Error obtaining Issuer Info for key." msgstr "" #: escUsage1 msgid "Usage:" msgstr "" #: escUsage2 msgid "esc" msgstr "" #: escUsage3 msgid "esc -secmode SECURITY_URL" msgstr "" #: escUsage4 msgid "Ex: esc -secmode http://test.host.com" msgstr "" #: escUsage5 msgid "esc -usage" msgstr "" #Strings for TRAY.j #: errorTrayIsInitialized msgid "Can't determine if Icon component is already intialized!" msgstr "" #: errorShowAllWindows msgid "Error Showing All Windows:" msgstr "" #: errorHideAllWindows msgid "Error Hiding all Windows:" msgstr "" #: errorShowWindow msgid "Error Showing Window:" msgstr "" #: errorHideWindow msgid "Error Hiding Window:" msgstr "" #: errorRemoveWindow msgid "Error Removing Window:" msgstr "" #: errorTrayNotification msgid "Error Sending Tray notification:" msgstr "" #Strings for GenericAuth.js #: value msgid "Value" msgstr "" #: mustMatch msgid "must match" msgstr "" #: mustHaveValue msgid "Must have value set for field:" msgstr "" #: noParentWindow msgid "No parent window." msgstr "" #: authDialogNoParent msgid "Auth dialog has no parent!" msgstr "" #: authSubmit msgid "Submit" msgstr "" #: authSubmitAccessKey msgid "S" msgstr "" From fedora-directory-commits at redhat.com Thu Jun 7 21:16:30 2007 From: fedora-directory-commits at redhat.com (Jack Magne (jmagne)) Date: Thu, 7 Jun 2007 17:16:30 -0400 Subject: [Fedora-directory-commits] esc/src/app/xpcom rhCoolKey.cpp, 1.7, 1.8 rhICoolKey.idl, 1.6, 1.7 Message-ID: <200706072116.l57LGUZj002667@cvs-int.fedora.redhat.com> Author: jmagne Update of /cvs/dirsec/esc/src/app/xpcom In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2642 Modified Files: rhCoolKey.cpp rhICoolKey.idl Log Message: New log file support #206783, r. mharmsen. Index: rhCoolKey.cpp =================================================================== RCS file: /cvs/dirsec/esc/src/app/xpcom/rhCoolKey.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- rhCoolKey.cpp 7 May 2007 23:45:43 -0000 1.7 +++ rhCoolKey.cpp 7 Jun 2007 21:16:28 -0000 1.8 @@ -726,6 +726,14 @@ } +/* void CoolKeyInitializeLog (in string aPathName, in unsigned long aMaxLines); */ +NS_IMETHODIMP rhCoolKey::CoolKeyInitializeLog(const char *aPathName, PRUint32 aMaxLines) +{ + ::CoolKeyInitializeLog((char *)aPathName, aMaxLines); + + return NS_OK; +} + /* void CoolKeyLogMsg (in unsigned long aLogLevel, in string aMessage); */ NS_IMETHODIMP rhCoolKey::CoolKeyLogMsg(PRUint32 aLogLevel, const char *aMessage) { @@ -733,7 +741,8 @@ if(aMessage && ((PRLogModuleLevel) aLogLevel >= PR_LOG_NONE && aLogLevel <= PR_LOG_MAX)) { - PR_LOG( coolKeyLog, (PRLogModuleLevel) aLogLevel, ("%s %s",GetTStamp(tBuff,56),aMessage)); + ::CoolKeyLogMsg((PRLogModuleLevel) aLogLevel, "%s %s \n",GetTStamp(tBuff,56),aMessage); + PR_LOG( coolKeyLog, (PRLogModuleLevel) aLogLevel, ("%s %s",GetTStamp(tBuff,56),aMessage)); } return NS_OK; @@ -776,7 +785,7 @@ { char tBuff[56]; - PR_LOG( coolKeyLog, PR_LOG_ALWAYS, ("%s Attempting to Enroll Key ,ID: %s \n",GetTStamp(tBuff,56),aKeyID)); + ::CoolKeyLogMsg( PR_LOG_ALWAYS, "%s Attempting to Enroll Key ,ID: %s \n",GetTStamp(tBuff,56),aKeyID); CoolKeyNode *node = GetCoolKeyInfo(aKeyType, aKeyID); @@ -808,7 +817,7 @@ NS_IMETHODIMP rhCoolKey::ResetCoolKeyPIN(PRUint32 aKeyType, const char *aKeyID, const char *aScreenName, const char *aPIN, const char *aScreenNamePwd) { char tBuff[56]; - PR_LOG( coolKeyLog, PR_LOG_ALWAYS, ("%s Attempting to Reset Key PIN, ID: %s \n",GetTStamp(tBuff,56),aKeyID)); + ::CoolKeyLogMsg( PR_LOG_ALWAYS, "%s Attempting to Reset Key PIN, ID: %s \n",GetTStamp(tBuff,56),aKeyID); CoolKeyNode *node = GetCoolKeyInfo(aKeyType, aKeyID); if (!node) @@ -859,7 +868,7 @@ NS_IMETHODIMP rhCoolKey::FormatCoolKey(PRUint32 aKeyType, const char *aKeyID, const char *aEnrollmentType, const char *aScreenName, const char *aPIN, const char *aScreenNamePWord, const char *aTokenCode) { char tBuff[56]; - PR_LOG( coolKeyLog, PR_LOG_ALWAYS, ("%s Attempting to Format Key, ID: %s. ",GetTStamp(tBuff,56),aKeyID)); + ::CoolKeyLogMsg( PR_LOG_ALWAYS, "%s Attempting to Format Key, ID: %s. ",GetTStamp(tBuff,56),aKeyID); CoolKeyNode *node = GetCoolKeyInfo(aKeyType, aKeyID); if (!node) @@ -1203,7 +1212,7 @@ HRESULT res = CoolKeyGetIssuerInfo(&key, (char *)&issuerInfo,256); - PR_LOG( coolKeyLog, PR_LOG_ALWAYS, ("%s Attempting to get the key's Issuer: Key: %s, Issuer %s. \n",GetTStamp(tBuff,56),aKeyID, (char *) issuerInfo)); + ::CoolKeyLogMsg( PR_LOG_ALWAYS, "%s Attempting to get the key's Issuer: Key: %s, Issuer %s. \n",GetTStamp(tBuff,56),aKeyID, (char *) issuerInfo); if(res == S_OK) { Index: rhICoolKey.idl =================================================================== RCS file: /cvs/dirsec/esc/src/app/xpcom/rhICoolKey.idl,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- rhICoolKey.idl 7 May 2007 23:45:43 -0000 1.6 +++ rhICoolKey.idl 7 Jun 2007 21:16:28 -0000 1.7 @@ -32,6 +32,7 @@ void rhCoolKeyUnSetNotifyCallback(in rhIKeyNotify jsNotify); + void CoolKeyInitializeLog(in string aPathName, in unsigned long aMaxLines); void CoolKeyLogMsg(in unsigned long aLogLevel, in string aMessage); void BlinkCoolKey(in unsigned long aKeyType, in string aKeyID,in unsigned long aRate,in unsigned long aDuration); From fedora-directory-commits at redhat.com Thu Jun 7 21:18:00 2007 From: fedora-directory-commits at redhat.com (Jack Magne (jmagne)) Date: Thu, 7 Jun 2007 17:18:00 -0400 Subject: [Fedora-directory-commits] esc/src/app/xul/esc/chrome/content/esc ESC.js, 1.14, 1.15 Message-ID: <200706072118.l57LI0sI002885@cvs-int.fedora.redhat.com> Author: jmagne Update of /cvs/dirsec/esc/src/app/xul/esc/chrome/content/esc In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2854 Modified Files: ESC.js Log Message: New log file support and new error msgs. #206783, #203466 r. mharmsen. Index: ESC.js =================================================================== RCS file: /cvs/dirsec/esc/src/app/xul/esc/chrome/content/esc/ESC.js,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- ESC.js 7 May 2007 23:49:23 -0000 1.14 +++ ESC.js 7 Jun 2007 21:17:58 -0000 1.15 @@ -131,6 +131,9 @@ netkey = netkey.QueryInterface(Components.interfaces.rhICoolKey); gNotify = new jsNotify; netkey.rhCoolKeySetNotifyCallback(gNotify); + + var logFileName = GetESCLogPathName("esc.log"); + netkey.CoolKeyInitializeLog(logFileName, 1000); } catch(e) { MyAlert(getBundleString("errorUniversalXPConnect") + e); } @@ -167,33 +170,33 @@ var Status_Messages = new Array( getBundleString("errorNone"), - getBundleString("serverError"), - getBundleString("errorProblemCommToken"), + getBundleString("errorInternalServer"), + getBundleString("errorInternalServer"), getBundleString("errorProblemCommToken"), getBundleString("errorProblemResetTokenPin"), getBundleString("errorInternalServer"), - getBundleString("errorInternalServer"), + getBundleString("errorLifeCyclePDU"), getBundleString("errorTokenEnrollment"), getBundleString("errorProblemCommToken"), getBundleString("errorInternalServer"), - getBundleString("errorCommCA"), getBundleString("errorInternalServer"), - getBundleString("errorResetPin"), getBundleString("errorInternalServer"), + getBundleString("errorInternalServer"), + getBundleString("errorTermSecureConn"), getBundleString("errorAuthFailure"), getBundleString("errorInternalServer"), getBundleString("errorTokenDisabled"), - getBundleString("errorProblemCommToken"), - getBundleString("errorInternalServer"), + getBundleString("errorSecureChannel"), + getBundleString("errorServerMisconfig"), getBundleString("errorTokenUpgrade"), getBundleString("errorInternalServer"), - getBundleString("errorProblemCommToken"), - getBundleString("errorInvalidTokenType"), + getBundleString("errorExternalAuth"), getBundleString("errorInvalidTokenType"), + getBundleString("errorInvalidTokenTypeParams"), getBundleString("errorCannotPublish"), getBundleString("errorCommTokenDB"), - getBundleString("errorTokenDisabled"), - getBundleString("errorPinReset"), + getBundleString("errorTokenSuspended"), + getBundleString("errorPinResetable"), getBundleString("errorConnLost"), getBundleString("errorEntryTokenDB"), getBundleString("errorNoTokenState"), @@ -201,10 +204,10 @@ getBundleString("errorTokenUnusable"), getBundleString("errorNoInactiveToken"), getBundleString("errorProcessMultiTokens"), + getBundleString("errorTokenTerminated"), getBundleString("errorInternalServer"), - getBundleString("errorKeyRecoveryProcessed"), getBundleString("errorKeyRecoveryFailed"), - getBundleString("errorNoOperateLostToken"), + getBundleString("errorInternalServer"), getBundleString("errorKeyArchival"), getBundleString("errorConnTKS"), getBundleString("errorFailUpdateTokenDB"), @@ -559,9 +562,9 @@ function TestStatusMessages() { - for(i = 0 ; i < 48; i++) + for(i = 0 ; i < 49; i++) { - MyAlert(Status_Messages[i]); + MyAlert( i + " " + Status_Messages[i]); } } @@ -4263,9 +4266,9 @@ var value = line.value; - var colonIndex = value.indexOf(":"); + //var colonIndex = value.indexOf(":"); - value = value.substring(colonIndex + 1); + //value = value.substring(colonIndex + 1); lines.push(value); } while(hasmore); @@ -4484,3 +4487,29 @@ adminList.focus(); } } + +function GetESCLogPathName(aName) +{ + + if(!aName) + return null; + + const logFileName = aName; + + // Get executable directory + + var file = Components.classes["@mozilla.org/file/directory_service;1"] + .getService(Components.interfaces.nsIProperties) + .get("ProfD", Components.interfaces.nsIFile); + + file = file.parent; + file.append(logFileName); + + + //alert("LogPathName " + file.path); + + + return file.path; + + +} From fedora-directory-commits at redhat.com Thu Jun 7 21:18:47 2007 From: fedora-directory-commits at redhat.com (Jack Magne (jmagne)) Date: Thu, 7 Jun 2007 17:18:47 -0400 Subject: [Fedora-directory-commits] esc/src/app/xul/esc/chrome/content/esc settings.xul, 1.6, 1.7 Message-ID: <200706072118.l57LIlVJ003030@cvs-int.fedora.redhat.com> Author: jmagne Update of /cvs/dirsec/esc/src/app/xul/esc/chrome/content/esc In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3005 Modified Files: settings.xul Log Message: Cosmetic window size change #208479, r. mharmsen. Index: settings.xul =================================================================== RCS file: /cvs/dirsec/esc/src/app/xul/esc/chrome/content/esc/settings.xul,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- settings.xul 7 May 2007 23:49:23 -0000 1.6 +++ settings.xul 7 Jun 2007 21:18:45 -0000 1.7 @@ -25,8 +25,8 @@ title="&escTitle;" onload="InitializeAdminBindingList()" onunload="cleanup()" - width ="730" - height= "460" + width ="720" + height= "415" name="admin" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> From fedora-directory-commits at redhat.com Thu Jun 7 21:19:53 2007 From: fedora-directory-commits at redhat.com (Jack Magne (jmagne)) Date: Thu, 7 Jun 2007 17:19:53 -0400 Subject: [Fedora-directory-commits] esc/src/app/xul/esc/chrome/locale/en-US esc.properties, 1.6, 1.7 Message-ID: <200706072119.l57LJrVY003198@cvs-int.fedora.redhat.com> Author: jmagne Update of /cvs/dirsec/esc/src/app/xul/esc/chrome/locale/en-US In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3177 Modified Files: esc.properties Log Message: New erorr messages #203466, r. mharmsen. Index: esc.properties =================================================================== RCS file: /cvs/dirsec/esc/src/app/xul/esc/chrome/locale/en-US/esc.properties,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- esc.properties 7 May 2007 23:50:39 -0000 1.6 +++ esc.properties 7 Jun 2007 21:19:51 -0000 1.7 @@ -85,40 +85,48 @@ #ESC Error Messages from TPS errorNone=Operation Completed Successfully. serverError=Smart Card Server error. -errorProblemResetTokenPin=Internal Smart Card Server error. -errorTokenEnrollment=Smart card enrollment error. +errorProblemResetTokenPin=The Smart Card Server cannot reset your smart card's password. +errorTokenEnrollment=The Smart Card Server cannot import the required certificates into your smart card. +errorLifeCyclePDU=The Smart Card Server cannot finalize the enrollment of your smart card. errorCommCA=Error communicating with the Certification Authority. errorInternalServer=Internal Smart Card Server error. errorResetPin=Error resetting the smart card's password. errorInternalServer=Internal Smart Card Server error. -errorAuthFailure=Smart Card Server authentication failure. -errorTokenDisabled=Your smart card is listed as disabled. -errorProblemCommToken=Problem communicating with the smart card. -errorTokenUpgrade=Cannot upgrade smart card software. -errorInvalidTokenType=Invalid smart card type. -errorCannotPublish=Cannot publish smart card information. -errorCommTokenDB=Cannot communicate with smart card database. -errorPinReset=Cannot reset the password value for the smart card. -errorConnLost=Connection to Smart Card Server. -errorEntryTokenDB=Can not create entry for the smart card in the smart card database. -errorNoTokenState=Smart card found to be in an inconsistent state. -errorInvalidLostTokenReason=Invalid reason for lost smart card submitted. -errorTokenUnusable=Smart card found to be unusable due to compromise. -errorNoInactiveToken=No such inactive smart card found. -errorProcessMultiTokens=Can not process more than one active smart card. +errorAuthFailure=The Smart Card Server cannot validate your credentials. Please try again with the correct credentials. +errorTokenDisabled=The Smart Card Server does not know about your smart card. +errorSecureChannel=The Smart Card Server cannot establish a secure channel with the smart card. +errorServerMisconfig=The Smart Card Server has not been configured correctly. +errorProblemCommToken=Your smart card can not perform the operation requested by the Smart Card Server. +errorExternalAuth=Your smart card cannot correctly identify the Smart Card Server. +errorTokenUpgrade=The Smart Card Server cannot upgrade the software on your smart card. +errorTermSecureConn=The Smart Card Server can not terminate the secure cummunications channel with the smart card. +errorInvalidTokenType=The Smart Card Server does not recognize the requested type of card enrollment. +errorInvalidTokenTypeParams=The Smart Card Server cannot process the requested type of enrollment due to a misconfiguration. +errorCannotPublish=The Smart Card Server cannot publish your card's certificates to the certificate directory. +errorCommTokenDB=The Smart Card Server cannot connect to its internal database. +errorTokenSuspended=Your smart card has been suspended. +errorPinResetable=You are not allowed to reset the password of this smart card. +errorConnLost=The Smart Card Manager has lost the connection to the Smart Card Server. +errorEntryTokenDB=The Smart Card Server cannot add your smart card to its internal database. +errorNoTokenState=The Smart Card server does not recognize your smart card's current status. +errorInvalidLostTokenReason=The Smart Card server cannot process your smart card which has been reported lost. +errorTokenUnusable=The Smart Card Server cannot process your smart card which has been reported stolen. +errorNoInactiveToken=The Smart Card Server cannot restore your smart card's security keys. +errorProcessMultiTokens=The Smart Card Server has detected that you already have one enrolled smart card. The server only allows one enrolled card per user. +errorTokenTerminated=The Smart Card Server can not process your smart card which is marked as terminated. errorKeyRecoveryProcessed=Smart card key recovery has been processed. -errorKeyRecoveryFailed=Smart card key recovery failed. +errorKeyRecoveryFailed=The Smart Card Server can not restore the security keys onto your smart card. errorNoOperateLostToken=Cannot process this smart card, which has been reported lost. -errorKeyArchival=Smart card key archival error. -errorConnTKS=Problem connecting to the Smart Card TKS Server. -errorFailUpdateTokenDB=Failed to update smart card database. -errorCertRevocation=Internal certificate revocation error discovered. -errorNotOwnToken=User does not own this smart card. -errorESCMisconfigured=Smart Card Manager has been misconfigured. -errorESCNoCommCardReader=Smart Card Manager can't communicate with card reader. -errorESCNoTokenSession=Smart Card Manager can't initiate session with smart card. -errorESCNoTalkTPS=Smart Card Manager can't talk to Smart Card Server. -errorESCNoTalkTokenReader=Smart Card Manager can't talk to smart card reader. +errorKeyArchival=The Smart Card Server can not restore the security keys onto your smart card due to a server misconfiguration. +errorConnTKS=The Smart Card server cannot contact its security key server,which is required for processing. +errorFailUpdateTokenDB=The Smart Card Server cannot reset the status of your smart card. +errorCertRevocation=The Smart Card Server cannot mark the security keys on your smart card as revoked. +errorNotOwnToken=The Smart Card Server cannot process a smart card which you do not own. +errorESCMisconfigured=The Smart Card Manager has been misconfigured. +errorESCNoCommCardReader=The Smart Card Manager cannot initiate communications with the smart card. +errorESCNoTokenSession=The Smart Card Manager cannot establish a communications session with the smart card. +errorESCNoTalkTPS=The Smart Card Manager cannot initiate communications with the Smart Card Server. +errorESCNoTalkTokenReader=The Smart Card Manager cannot finalize communications with the smart card. #ESC text in general Alert messages errorCoolKeyIsAuth=coolkey.GetCoolKeyIsAuthenticated() failed! errorAuthCoolKey=coolkey.AuthenticateCoolKey failed! From fedora-directory-commits at redhat.com Thu Jun 7 21:21:19 2007 From: fedora-directory-commits at redhat.com (Jack Magne (jmagne)) Date: Thu, 7 Jun 2007 17:21:19 -0400 Subject: [Fedora-directory-commits] esc/src/lib/coolkey CoolKey.cpp, 1.6, 1.7 CoolKey.h, 1.5, 1.6 CoolKeyHandler.cpp, 1.3, 1.4 Message-ID: <200706072121.l57LLJDi003398@cvs-int.fedora.redhat.com> Author: jmagne Update of /cvs/dirsec/esc/src/lib/coolkey In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3367 Modified Files: CoolKey.cpp CoolKey.h CoolKeyHandler.cpp Log Message: New log file support #206783, r. mharmsen. Index: CoolKey.cpp =================================================================== RCS file: /cvs/dirsec/esc/src/lib/coolkey/CoolKey.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- CoolKey.cpp 7 May 2007 23:51:46 -0000 1.6 +++ CoolKey.cpp 7 Jun 2007 21:21:17 -0000 1.7 @@ -16,6 +16,7 @@ * END COPYRIGHT BLOCK **/ #define FORCE_PR_LOG 1 +#define LINE_BUF_SIZE 512 #include "SlotUtils.h" @@ -46,6 +47,161 @@ HRESULT ClearActiveKeyList(void); ActiveKeyNode *GetNodeInActiveKeyList(const CoolKey *aKey); +class CoolKeyLogger { +public: + + CoolKeyLogger(char *logFileName, int maxNumLines); + ~CoolKeyLogger(); + + void LogMsg(int logLevel, const char *fmt, ...); + void LogMsg(int logLevel,const char *msg, va_list argp); + + void init(); + + int IsInitialized() { return initialized; } + +private: + + void LockLog(); + void UnlockLog(); + + PRLock *logLock; + + int maxLines; + + char *pathName; + PRFileDesc *fd; + + int initialized; + +}; + +CoolKeyLogger::CoolKeyLogger(char *logFileName, int maxNumLines) +{ + fd = NULL; + logLock = NULL; + + maxLines = maxNumLines; + if(logFileName) + pathName = strdup(logFileName); + initialized = 0; +} + +CoolKeyLogger::~CoolKeyLogger() +{ + char tBuff[56]; + + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s ~CoolKeyLogger:\n",GetTStamp(tBuff,56))); + LockLog(); + + PR_Close(fd); + + fd = NULL; + + UnlockLog(); + + PR_DestroyLock(logLock); + + logLock = NULL; + + if(pathName) + free(pathName); + + pathName = NULL; +} + +void CoolKeyLogger::LockLog() +{ + PR_Lock(logLock); +} + +void CoolKeyLogger::UnlockLog() +{ + PR_Unlock(logLock); +} + +void CoolKeyLogger::init() +{ + char tBuff[56]; + + PRFileInfo info; + + if( !pathName) + return; + + logLock = PR_NewLock(); + + PRStatus rv = PR_GetFileInfo(pathName,&info); + + int fileSize = 0; + + if(rv == PR_SUCCESS) + { + fileSize = info.size; + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s File info size %d! \n",GetTStamp(tBuff,56),fileSize)); + } + + //Assume average line size of about 40 + + if((fileSize / 40) > maxLines) + { + + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s Number of lines too big, truncate file %d! \n",GetTStamp(tBuff,56),fileSize / 80)); + + fd = PR_Open(pathName, PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE, 0600); + } + else + { + fd = PR_Open(pathName, PR_WRONLY | PR_CREATE_FILE | PR_APPEND, 0600); + } + + if(!fd) + return; + + initialized = 1; + + return; +} + +void CoolKeyLogger::LogMsg(int logLevel, const char *fmt, ...) +{ + va_list ap; + char line[LINE_BUF_SIZE]; + + if(!initialized) + return; + + va_start(ap, fmt); + + int end = PR_vsnprintf(line, sizeof(line)-1, fmt, ap); + + LockLog(); + + PR_Write(fd,line,end); + + UnlockLog(); + + va_end(ap); +} + +void CoolKeyLogger::LogMsg(int logLevel, const char *msg, va_list argp) +{ + char line[LINE_BUF_SIZE]; + + if(!initialized) + return; + + int end = PR_vsnprintf(line, sizeof(line)-1, msg, argp); + + LockLog(); + + PR_Write(fd,line,end); + + UnlockLog(); +} + +static CoolKeyLogger *g_Log = NULL; + COOLKEY_API HRESULT CoolKeyInit(const char *aAppDir) { char tBuff[56]; @@ -92,6 +248,9 @@ g_NSSManager = 0; } + if(g_Log) + delete g_Log ; + return S_OK; } @@ -903,7 +1062,7 @@ assert(cardCtxt); if (!cardCtxt) { - PR_LOG( coolKeyLog, PR_LOG_ERROR, ("%s Attempting to get key issuer info. Can't create Card Context !.\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Attempting to get key issuer info. Can't create Card Context !.\n",GetTStamp(tBuff,56)); result = E_FAIL; goto done; } @@ -911,7 +1070,7 @@ conn = CKYCardConnection_Create(cardCtxt); assert(conn); if (!conn) { - PR_LOG( coolKeyLog, PR_LOG_ERROR, ("%s Attempting to get key issuer info. Can't create Card Connection!\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Attempting to get key issuer info. Can't create Card Connection!\n",GetTStamp(tBuff,56)); result = E_FAIL; goto done; } @@ -919,14 +1078,14 @@ readerName = GetReaderNameForKeyID(aKey); assert(readerName); if (!readerName) { - PR_LOG( coolKeyLog, PR_LOG_ERROR, ("%s Attempting to get key issuer info. Can't get reader name!\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Attempting to get key issuer info. Can't get reader name!\n",GetTStamp(tBuff,56)); result = E_FAIL; goto done; } status = CKYCardConnection_Connect(conn, readerName); if (status != CKYSUCCESS) { - PR_LOG( coolKeyLog, PR_LOG_ERROR, ("%s Attempting to get key issuer info. Can't connect to Card!\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Attempting to get key issuer info. Can't connect to Card!\n",GetTStamp(tBuff,56)); result = E_FAIL; goto done; @@ -938,7 +1097,7 @@ apduRC = 0; status = CKYApplet_SelectCoolKeyManager(conn, &apduRC); if (status != CKYSUCCESS) { - PR_LOG( coolKeyLog, PR_LOG_ERROR, ("%s Attempting to get key issuer info. Can't select CoolKey manager!\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Attempting to get key issuer info. Can't select CoolKey manager!\n",GetTStamp(tBuff,56)); goto done; } @@ -946,7 +1105,7 @@ &apduRC); if(status != CKYSUCCESS) { - PR_LOG( coolKeyLog, PR_LOG_ERROR, ("%s Attempting to get key issuer info. Error actually getting IssuerInfo!\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Attempting to get key issuer info. Error actually getting IssuerInfo!\n",GetTStamp(tBuff,56)); result = E_FAIL; goto done; } @@ -1153,6 +1312,42 @@ return res; } +HRESULT CoolKeyInitializeLog(char *logFileName, int maxNumLines) +{ + if(g_Log) + return S_OK; + + g_Log = new CoolKeyLogger(logFileName,maxNumLines); + + if(g_Log) + g_Log->init(); + else + return E_FAIL; + + if(g_Log->IsInitialized()) + return S_OK; + else + return E_FAIL; +} + +HRESULT CoolKeyLogMsg(int logLevel, const char *fmt, ...) +{ + + if(!g_Log) + return S_OK; + + va_list ap; + + + va_start(ap, fmt); + + g_Log->LogMsg(logLevel,fmt,ap); + + va_end(ap); + + return S_OK; +} + //Utility function to get Time Stamp char *GetTStamp(char *aTime,int aSize) { Index: CoolKey.h =================================================================== RCS file: /cvs/dirsec/esc/src/lib/coolkey/CoolKey.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- CoolKey.h 7 May 2007 23:51:46 -0000 1.5 +++ CoolKey.h 7 Jun 2007 21:21:17 -0000 1.6 @@ -176,6 +176,11 @@ COOLKEY_API int CoolKeyGetAppletVer(const CoolKey *aKey, const bool isMajor); +COOLKEY_API HRESULT CoolKeyInitializeLog(char *logFileName, int maxNumLines); + +COOLKEY_API HRESULT CoolKeyLogMsg(int logLevel, const char *fmt, ...); + + //Utility time function char *GetTStamp(char *aTime,int aSize); } Index: CoolKeyHandler.cpp =================================================================== RCS file: /cvs/dirsec/esc/src/lib/coolkey/CoolKeyHandler.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- CoolKeyHandler.cpp 24 Feb 2007 02:16:41 -0000 1.3 +++ CoolKeyHandler.cpp 7 Jun 2007 21:21:17 -0000 1.4 @@ -453,7 +453,7 @@ const char *readerName = NULL; if (!aKey || aKey->mKeyType != eCKType_CoolKey || !aKey->mKeyID) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Cannot begin CoolKey operation. Insuficient input parameters. \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Cannot begin CoolKey operation. Insuficient input parameters. \n",GetTStamp(tBuff,56)); goto done; } @@ -466,14 +466,14 @@ if (!readerName) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Cannot begin CoolKey operation. Cannot locate card reader name! \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Cannot begin CoolKey operation. Cannot locate card reader name! \n",GetTStamp(tBuff,56)); goto done; } mDataLock = PR_NewLock(); if (!mDataLock) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Cannot begin CoolKey operation. Cannnot initialize internal locking mechanism.\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Cannot begin CoolKey operation. Cannnot initialize internal locking mechanism.\n",GetTStamp(tBuff,56)); return E_FAIL; } @@ -481,7 +481,7 @@ mDataCondVar = PR_NewCondVar(mDataLock); if (!mDataCondVar) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Cannot begin CoolKey operation. Cannot initialize internal syncronization mechanism.\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Cannot begin CoolKey operation. Cannot initialize internal syncronization mechanism.\n",GetTStamp(tBuff,56)); return E_FAIL; } @@ -493,7 +493,7 @@ if(!mCharHostName || !mRAUrl) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Cannot begin CoolKey operation. Didn't collect proper config information.\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Cannot begin CoolKey operation. Didn't collect proper config information.\n",GetTStamp(tBuff,56)); error_no = config_error_no; goto done; } @@ -502,7 +502,7 @@ mCardContext = CKYCardContext_Create(SCARD_SCOPE_USER); if (!mCardContext) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Cannot begin CoolKey operation. Cannot create card context! \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Cannot begin CoolKey operation. Cannot create card context! \n",GetTStamp(tBuff,56)); error_no = CARD_CONTEXT_ERROR; goto done; } @@ -510,7 +510,7 @@ mPDUWriter = new PDUWriterThread(this); if (!mPDUWriter) { error_no = PDU_WRITER_ERROR; - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Cannot begin CoolKey operation. Cannot create internal PDU writer thread!\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Cannot begin CoolKey operation. Cannot create internal PDU writer thread!\n",GetTStamp(tBuff,56)); goto done; } @@ -581,7 +581,7 @@ if(!keyID) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR,("%s Collecting CoolKey preferences. Cannot get keyID , cannot proceed. \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR,"%s Collecting CoolKey preferences. Cannot get keyID , cannot proceed. \n",GetTStamp(tBuff,56)); return; } @@ -621,7 +621,7 @@ if(!tps_url) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Collecting CoolKey preferences. Cannot find value for the TPS URL. \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Collecting CoolKey preferences. Cannot find value for the TPS URL. \n",GetTStamp(tBuff,56)); return; } @@ -651,7 +651,7 @@ pos = tps_url_str.find(non_ssl_str,0); if(pos == string::npos) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Collecting CoolKey preferences. TPS URL has specified an illegal protocol! \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Collecting CoolKey preferences. TPS URL has specified an illegal protocol! \n",GetTStamp(tBuff,56)); return; } @@ -692,7 +692,7 @@ if(!host_name_port_str.length()) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Collecting CoolKey preferences. Bad hostname and port value!.\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg(PR_LOG_ERROR, "%s Collecting CoolKey preferences. Bad hostname and port value!.\n",GetTStamp(tBuff,56)); return; } @@ -1198,7 +1198,7 @@ PR_LOG( coolKeyLogHN, PR_LOG_DEBUG, ("%s CoolKeyHandler::ProcessTokenPDU:\n",GetTStamp(tBuff,56))); if(!req || !context) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Processing HTTP message. Bad input data. \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Processing HTTP message. Bad input data. \n",GetTStamp(tBuff,56)); return; } @@ -1210,7 +1210,7 @@ if(size == 0) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Processing HTTP message. Can't extract PDU data from message! \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg(PR_LOG_ERROR, "%s Processing HTTP message. Can't extract PDU data from message! \n",GetTStamp(tBuff,56)); context->HttpDisconnect(); return; } @@ -1231,10 +1231,10 @@ CKYStatus status = CKYCardConnection_ExchangeAPDU(context->GetCardConnection(), requestAPDU, &response); if (status != CKYSUCCESS) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, - ("%s Processing HTTP message. Can't write apdu to card! status %d response[0] %x response[1] %x error %d \n" + CoolKeyLogMsg( PR_LOG_ERROR, + "%s Processing HTTP message. Can't write apdu to card! status %d response[0] %x response[1] %x error %d \n" ,GetTStamp(tBuff,56) ,status,CKYBuffer_GetChar(&response,0),CKYBuffer_GetChar(&response,1), - CKYCardConnection_GetLastError(context->GetCardConnection()))); + CKYCardConnection_GetLastError(context->GetCardConnection())); context->HttpDisconnect(ERR_CONN_TOKEN); @@ -1248,7 +1248,7 @@ if(pduSizeRet == 0 || !pduDataRet ) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Processing HTTP message. No PDU response from card! \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Processing HTTP message. No PDU response from card! \n",GetTStamp(tBuff,56)); context->HttpDisconnect(ERR_CONN_TOKEN); return; } @@ -1267,7 +1267,7 @@ if(res == 0) { - PR_LOG( coolKeyLogHN, PR_LOG_ERROR, ("%s Processing HTTP message. Write back to TPS failed , disconnecting. \n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ERROR, "%s Processing HTTP message. Write back to TPS failed , disconnecting. \n",GetTStamp(tBuff,56)); context->HttpDisconnect(); } else @@ -1619,32 +1619,33 @@ case ENROLL: if (result == 0) { - PR_LOG( coolKeyLogHN, PR_LOG_ALWAYS, ("%s Key Enrollment success.\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg(PR_LOG_ALWAYS,"%s Key Enrollment success.\n",GetTStamp(tBuff,56)); CoolKeyAuthenticate(context->GetAutoCoolKey(), context->GetPIN()); CoolKeyNotify(context->GetAutoCoolKey(), eCKState_EnrollmentComplete, context->GetScreenName() == NULL ? 1 : 0); } else { - PR_LOG( coolKeyLogHN, PR_LOG_ALWAYS, ("%s Key Enrollment failure. Error: %d.\n",GetTStamp(tBuff,56),description)); + CoolKeyLogMsg( PR_LOG_ALWAYS, "%s Key Enrollment failure. Error: %d.\n",GetTStamp(tBuff,56),description); CoolKeyNotify(context->GetAutoCoolKey(), eCKState_EnrollmentError, description); // XXX: Need INIT_FAILED error code! } break; case RESET_PIN: if (result == 0) { - PR_LOG( coolKeyLogHN, PR_LOG_ALWAYS, ("%s Key Reset Password success.\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg(PR_LOG_ALWAYS,"%s Key Reset Password success.\n",GetTStamp(tBuff,56)); + CoolKeyAuthenticate(context->GetAutoCoolKey(), context->GetPIN()); CoolKeyNotify(context->GetAutoCoolKey(), eCKState_PINResetComplete, 0); } else { - PR_LOG( coolKeyLogHN, PR_LOG_ALWAYS, ("%s Key Reset Password failure. Error: %d.\n",GetTStamp(tBuff,56),description)); + CoolKeyLogMsg(PR_LOG_ALWAYS, "%s Key Reset Password failure. Error: %d.\n",GetTStamp(tBuff,56),description); CoolKeyNotify(context->GetAutoCoolKey(), eCKState_PINResetError, description); // XXX: Need PIN_RESET_FAILED error code! } break; case FORMAT: if (result == 0) { - PR_LOG( coolKeyLogHN, PR_LOG_ALWAYS, ("%s Key Format success.\n",GetTStamp(tBuff,56))); + CoolKeyLogMsg( PR_LOG_ALWAYS, "%s Key Format success.\n",GetTStamp(tBuff,56)); CoolKeyNotify(context->GetAutoCoolKey(), eCKState_FormatComplete, 0); } else { - PR_LOG( coolKeyLogHN, PR_LOG_ALWAYS, ("%s Key Format failure. Error: %d.\n",GetTStamp(tBuff,56),description)); + CoolKeyLogMsg( PR_LOG_ALWAYS, "%s Key Format failure. Error: %d.\n",GetTStamp(tBuff,56),description); CoolKeyNotify(context->GetAutoCoolKey(), eCKState_FormatError, description); // XXX: Need FORMAT_FAILED error code! } break; From fedora-directory-commits at redhat.com Thu Jun 7 21:23:57 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Thu, 7 Jun 2007 17:23:57 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/admin/src create_instance.c, 1.56, 1.57 create_instance.h, 1.16, 1.17 ds_newinst.pl.in, 1.5, 1.6 Message-ID: <200706072123.l57LNv8X003758@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver/ldap/admin/src In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3722/ldap/admin/src Modified Files: create_instance.c create_instance.h ds_newinst.pl.in Log Message: Resolves: bug 239765 Description: Allow mimimum schema in ds_newinst.pl Fix Description: Fixed by abartlet. Add a new configuration param to create_instance - install_full_schema. By default this is 1, meaning the traditional behavior of installing all of the schema. If set to 0, this will only install the 00core.ldif schema file. This also required enhancements to ds_newinst.pl as well as a bug fix to allow passing in a 0 value. Reviewed by: nhosoi, rmeggins Index: create_instance.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/create_instance.c,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- create_instance.c 16 May 2007 19:45:26 -0000 1.56 +++ create_instance.c 7 Jun 2007 21:23:54 -0000 1.57 @@ -300,6 +300,7 @@ conf->upgradingServer = 0; conf->start_server = "1"; + conf->install_full_schema = 1; conf->admin_domain = NULL; conf->config_ldap_url = NULL; conf->user_ldap_url = NULL; @@ -3530,14 +3531,27 @@ fclose(srcf); fclose(f); - /* - * /PACKAGE_NAME/schema to schema_dir - */ - PR_snprintf(src, sizeof(src), "%s%c%s%cschema", - cf->sysconfdir, FILE_PATHSEP, cf->package_name, FILE_PATHSEP); - if (NULL != (t = ds_copy_group_files_using_mode_owner(src, cf->schema_dir, 0, NEWFILE_MODE, pw))) - return t; - + if (cf->install_full_schema) { + /* + * /PACKAGE_NAME/schema to schema_dir + */ + PR_snprintf(src, sizeof(src), "%s%c%s%cschema", + cf->sysconfdir, FILE_PATHSEP, cf->package_name, FILE_PATHSEP); + if (NULL != (t = ds_copy_group_files_using_mode_owner(src, cf->schema_dir, 0, NEWFILE_MODE, pw))) + return t; + } else { + PR_snprintf(src, sizeof(src), "%s%c%s%cschema%c00core.ldif", + cf->sysconfdir, FILE_PATHSEP, cf->package_name, FILE_PATHSEP, FILE_PATHSEP); + PR_snprintf(dest, sizeof(dest), "%s%c00core.ldif", + cf->schema_dir, FILE_PATHSEP); + if( (t = create_instance_copy(src, dest, NEWFILE_MODE, 0 )) ) { + return t; + } else { + if (pw) { + chownfile(pw, dest); + } + } + } #if defined (BUILD_PRESENCE) PR_snprintf(src, sizeof(src), "%s%c%s%c/config/presence", cf->sysconfdir, FILE_PATHSEP, cf->package_name, FILE_PATHSEP); @@ -4490,6 +4504,9 @@ return 1; } cf->start_server = ds_a_get_cgi_var("start_server", NULL, NULL); + if (temp = ds_a_get_cgi_var("install_full_schema", NULL, NULL)) { + cf->install_full_schema = atoi(temp); + } cf->secserv = ds_a_get_cgi_var("secserv", NULL, NULL); if (cf->secserv && strcmp(cf->secserv, "off")) cf->secservport = ds_a_get_cgi_var("secservport", NULL, NULL); Index: create_instance.h =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/create_instance.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- create_instance.h 1 Mar 2007 03:34:23 -0000 1.16 +++ create_instance.h 7 Jun 2007 21:23:54 -0000 1.17 @@ -185,6 +185,7 @@ #if defined(ENABLE_LDAPI) char *ldapifilepath; #endif + int install_full_schema; } server_config_s; Index: ds_newinst.pl.in =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/ds_newinst.pl.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ds_newinst.pl.in 1 Mar 2007 03:34:23 -0000 1.5 +++ ds_newinst.pl.in 7 Jun 2007 21:23:54 -0000 1.6 @@ -54,7 +54,7 @@ my $content = ""; my $firsttime = 1; while (my ($kk, $vv) = each %{$args}) { - next if (!$kk || !$vv); + next if (!defined($kk) || !defined($vv)); if ($firsttime) { $firsttime = 0; } else { @@ -277,14 +277,29 @@ $cgiargs{install_ldif_file} = $table{slapd}->{InstallLdifFile}; # if for some reason you do not want the server started after instance creation -# the following line can be commented out - NOTE that if you are creating the +# then you can set +# [slapd] +# start_server = 0 +# NOTE that if you are creating the # Configuration DS, it will be started anyway + if (defined($table{"slapd"}->{"start_server"})) { $cgiargs{start_server} = $table{"slapd"}->{"start_server"}; } else { # default is on $cgiargs{start_server} = 1; } +# if for some reason you do not want the full schema to be installed, +# (such as needing to replace much of it with an AD-like schema), then set +# [slapd] +# install_full_schema = 0 + +if (defined($table{"slapd"}->{"install_full_schema"})) { + $cgiargs{install_full_schema} = $table{"slapd"}->{"install_full_schema"}; +} else { + # server-side default is on +} + my $sroot = $cgiargs{sroot}; my $prog = "@bindir@/ds_newinst"; From fedora-directory-commits at redhat.com Thu Jun 7 22:40:17 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Thu, 7 Jun 2007 18:40:17 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/admin/src cfg_sspt.c, 1.11, 1.12 create_instance.c, 1.57, 1.58 ds_newinst.pl.in, 1.6, 1.7 Message-ID: <200706072240.l57MeHG0025213@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver/ldap/admin/src In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv25184/ldapserver/ldap/admin/src Modified Files: cfg_sspt.c create_instance.c ds_newinst.pl.in Log Message: Resolves: bug 243205 Description: allow instance creation with no .inf file; allow pre-hashed RootDNPwd Reviewed by: nhosoi (Thanks!) Fix Description: You can now use ds_newinst.pl without (or with) a .inf file like this: ds_newinst.pl General.SuiteSpotUserID=nobody slapd.ServerPort=3890 .... The parameters can be supplied via the command line. The format of the parameter is section.param=value. Normal shell quoting rules apply, so you still have to do something like this: ds_newinst.pl "slapd.Suffix=dc=example, dc=com" for embedded spaces and the like. If you supply a filename (or '-'), it must be the first argument after ds_newinst.pl. If you then supply additional arguments after the filename, these will override the settings in the given inf file. So, for example, you could reuse the same .inf file, except provide a different hostname: ds_newinst.pl basefile.inf General.FullMachineName=bar.example.com This allows you to use the same base .inf file for several machines, and only change certain parameters on a per-machine basis. ds_newinst.pl will now fill in some default values - it will use Net::Domain::hostfqdn for FullMachineName, and your login ID for SuiteSpotUserID (however, not if running ds_newinst.pl as root), and will construct the Suffix and ServerIdentifier based on the FullMachineName. RootDN will default to cn=Directory Manager. ServerRoot is no longer required. Another enhancement is the ability to provide a pre-hashed password for the RootDNPwd parameter, to avoid having to pass around the clear text directory manager password. However, some caveats apply. If the password begins with one of the well known hash algorithms (e.g. {SHA, {SSHA, etc.), ds_newinst will assume it is already hashed. This may cause problems if users expect to be able to provide a clear text password such as {SSHA}text, but I seriously doubt anyone does that (famous last words . . .). Another problem is that the code as it currently stands uses the clear text password to bind to the server after starting the server to add some additional entries and ACIs. This cannot be done if a pre-hashed password is provided (but we're working on a solution to that problem too). write_ldap_info() is no longer needed. Finally, a couple of minor bug fixes. Platforms tested: RHEL4 Flag Day: no Doc impact: Yes. There will be some documentation changes required. Index: cfg_sspt.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/cfg_sspt.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- cfg_sspt.c 10 Nov 2006 23:44:33 -0000 1.11 +++ cfg_sspt.c 7 Jun 2007 22:40:14 -0000 1.12 @@ -1362,39 +1362,6 @@ return connection; } -static int -write_ldap_info(SLAPD_CONFIG* slapd, char* base, char* admnm) -{ - FILE* fp; - int ret = 0; - - char* fmt = "%s/shared/config/ldap.conf"; - char* infoFileName = PR_smprintf(fmt, slapd->slapd_server_root); - - if ((fp = fopen(infoFileName, "w")) == NULL) - { - ret = -1; - } - else - { - fprintf(fp, "url\tldap://%s:%d/", - slapd->host, slapd->port); - - if (base) - fprintf(fp, "%s", base); - - fprintf(fp, "\n"); - - fprintf(fp, "admnm\t%s\n", admnm); - - fclose(fp); - } - - PR_smprintf_free(infoFileName); - - return ret; -} - #ifdef TEST_CONFIG int config_configEntry(LDAP* connection, QUERY_VARS* query) @@ -1630,12 +1597,6 @@ value_hostPreferencesOU, 0, 0, 0, 0); } - - /* - ** Write the ldap.info file and the SuiteSpot.ldif file - */ - - write_ldap_info(slapd, query->suffix, query->ssAdmID); } #ifdef TEST_CONFIG Index: create_instance.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/create_instance.c,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- create_instance.c 7 Jun 2007 21:23:54 -0000 1.57 +++ create_instance.c 7 Jun 2007 22:40:14 -0000 1.58 @@ -144,7 +144,6 @@ static char *ds_gen_gw_conf(char *sroot, char *cs_path, server_config_s *cf, int conf_type); static char *install_ds(char *sroot, server_config_s *cf, char *param_name); -static int write_ldap_info(char *slapd_server_root, server_config_s *cf); #if defined (BUILD_PRESENCE) static char *gen_presence_init_script(char *sroot, server_config_s *cf, char *cs_path); @@ -4123,9 +4122,6 @@ } } - /* write ldap.conf */ - write_ldap_info( sroot, cf ); - #ifdef XP_UNIX ds_become_localuser_name (cf->servuser); #endif @@ -4143,6 +4139,17 @@ } #endif /* XP_WIN32 */ + /* if an already hashed password is given, we cannot do the configure_suitespot() + stuff below, because that requires the clear text password in order to + bind to the server. This also means that default entries and default + acis will not be added to the server. + */ + if (cf->rootpw == cf->roothashedpw) { + if (status) + return make_error ("Could not configure server (%d).", status); + return NULL; + } + memset( &query_vars, 0, sizeof(query_vars) ); if (!cf->use_existing_user_ds) query_vars.suffix = create_instance_strdup( cf->suffix ); @@ -4199,48 +4206,6 @@ return(NULL); } -/* write_ldap_info() : writes ldap.conf */ - -static int -write_ldap_info( char *slapd_server_root, server_config_s *cf) -{ - FILE* fp; - int ret = 0; - - char* fmt = "%s/shared/config/ldap.conf"; - char* infoFileName; - - if (!slapd_server_root) { - return -1; - } - - infoFileName = PR_smprintf(fmt, slapd_server_root); - - if ((fp = fopen(infoFileName, "w")) == NULL) - { - ret = -1; - } - else - { - fprintf(fp, "url\tldap://%s:%d/", - cf->servname, atoi(cf->servport)); - - if (cf->suffix) - fprintf(fp, "%s", cf->suffix); - - fprintf(fp, "\n"); - - if (cf->cfg_sspt_uid) { - fprintf(fp, "admnm\t%s\n", cf->cfg_sspt_uid); - } - - fclose(fp); - } - PR_smprintf_free(infoFileName); - - return ret; -} - /* ----------- Create a new server from configuration variables ----------- */ @@ -4542,8 +4507,17 @@ cf->rootpw = pw1; } - /* Encode the password in SSHA by default */ - cf->roothashedpw = (char *)ds_salted_sha1_pw_enc (cf->rootpw); + if (strchr(cf->rootpw, '}') && + (!PL_strncasecmp(cf->rootpw, "{SHA", 4) || + !PL_strncasecmp(cf->rootpw, "{SSHA", 5) || + !PL_strncasecmp(cf->rootpw, "{CRYPT}", 7) || + !PL_strncasecmp(cf->rootpw, "{MD5}", 5))) { + /* assume the password is already hashed */ + cf->roothashedpw = cf->rootpw; + } else { /* assume cleartext password */ + /* Encode the password in SSHA by default */ + cf->roothashedpw = (char *)ds_salted_sha1_pw_enc (cf->rootpw); + } } cf->admin_domain = ds_a_get_cgi_var("admin_domain", NULL, NULL); @@ -4555,7 +4529,7 @@ } if ((temp = ds_a_get_cgi_var("use_existing_user_ds", NULL, NULL))) { - cf->use_existing_config_ds = atoi(temp); + cf->use_existing_user_ds = atoi(temp); } else { cf->use_existing_user_ds = 0; /* we are creating it */ } Index: ds_newinst.pl.in =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/ds_newinst.pl.in,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ds_newinst.pl.in 7 Jun 2007 21:23:54 -0000 1.6 +++ ds_newinst.pl.in 7 Jun 2007 22:40:14 -0000 1.7 @@ -35,6 +35,7 @@ # Copyright (C) 2005 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK +use Net::Domain qw(hostfqdn); use IPC::Open2; use Symbol; use CGI::Util qw(escape); @@ -43,9 +44,28 @@ sub usage { my $msg = shift; - print "Error: $msg\n"; - print "Usage: $0 [-|filename.inf]\n"; - print "Use - to read from stdin\n"; + print <{$dkey} = $source->{$ssec}->{$skey}; } -my $filename = $ARGV[0]; -usage("$filename not found") if ($filename ne "-" && ! -f $filename); +sub readInfFile { + my $filename = shift; + my $fh; + if ($filename eq "-") { + $fh = \*STDIN; + } else { + open(IN, $filename) or usage("could not open file $filename: $!"); + $fh = \*IN; + } + while (<$fh>) { + # e.g. [General] + if (/^\[(.*?)\]/) { + $curSection = $1; + } elsif (/^\s*$/) { + next; # skip blank lines + } elsif (/^\s*\#/) { + next; # skip comment lines + } elsif (/^\s*(.*?)\s*=\s*(.*?)\s*$/) { + $table{$curSection}->{$1} = $2; + } + } + if ($filename ne "-") { + close IN; + } +} + +usage("No arguments given") if (!@ARGV); + +# process command line arguments +for (@ARGV) { + if (/^(\w+).(\w+)=(.*)$/) { # e.g. section.param=value + $table{$1}->{$2} = $3; + } else { # file? + readInfFile($_); + } +} -my $curSection; -# each key in the table is a section name -# the value is a hash ref of the items in that section -# in that hash ref, each key is the config param name, -# and the value is the config param value -my %table = (); - -my $fh; -if ($filename eq "-") { - $fh = \*STDIN; -} else { - open(IN, $filename); - $fh = \*IN; +#printhash (\%table); + +# set default values +if (!$table{General}->{FullMachineName}) { + $table{General}->{FullMachineName} = hostfqdn; } -while (<$fh>) { - # e.g. [General] - if (/^\[(.*?)\]/) { - $curSection = $1; - } elsif (/^\s*$/) { - next; # skip blank lines - } elsif (/^\s*\#/) { - next; # skip comment lines - } elsif (/^\s*(.*?)\s*=\s*(.*?)\s*$/) { - $table{$curSection}->{$1} = $2; - } + +if (!$table{General}->{SuiteSpotUserID}) { + if ($> != 0) { # if not root, use the user's uid + $table{General}->{SuiteSpotUserID} = getlogin; + } + # otherwise, the uid must be specified } -if ($filename ne "-") { - close IN; + +if (!$table{slapd}->{RootDN}) { + $table{slapd}->{RootDN} = "cn=Directory Manager"; } -#printhash (\%table); +if (!$table{slapd}->{Suffix}) { + my $suffix = $table{General}->{FullMachineName}; + # convert fqdn to dc= domain components + $suffix = "dc=$suffix"; + $suffix =~ s/\./, dc=/g; + $table{slapd}->{Suffix} = $suffix; +} + +if (!$table{slapd}->{ServerIdentifier}) { + my $servid = $table{General}->{FullMachineName}; + # strip out the leftmost domain component + $servid =~ s/\..*$//; + $table{slapd}->{ServerIdentifier} = $servid; +} # next, construct a hash table with our arguments my %cgiargs = (); my $package_name = "@package_name@"; - # the following items are always required -addAndCheck(\%cgiargs, "sroot", \%table, "General", "ServerRoot"); addAndCheck(\%cgiargs, "servname", \%table, "General", "FullMachineName"); addAndCheck(\%cgiargs, "servuser", \%table, "General", "SuiteSpotUserID"); addAndCheck(\%cgiargs, "rootdn", \%table, "slapd", "RootDN"); @@ -185,6 +241,12 @@ addAndCheck(\%cgiargs, "servid", \%table, "slapd", "ServerIdentifier"); addAndCheck(\%cgiargs, "suffix", \%table, "slapd", "Suffix"); +if (defined($table{"General"}->{"ServerRoot"})) { + $cgiargs{"sroot"} = $table{"General"}->{"ServerRoot"}; +} else { + $cgiargs{"sroot"} = '@serverdir@'; +} + # either servport or ldapifilepath must be specified - the server must # listen to something . . . my $canlisten = 0; @@ -200,7 +262,7 @@ $cgiargs{"ldapifilepath"} = $table{"slapd"}->{"ldapifilepath"}; } if (! $canlisten) { - usage("Either ServerPort or ldapifilepath must be specified in the slapd section of $filename"); + usage("Either ServerPort or ldapifilepath must be specified in the slapd section"); } # the following items are optional @@ -227,6 +289,15 @@ } else { $cgiargs{"config_dir"} = "@instconfigdir@/slapd-" . $table{"slapd"}->{"ServerIdentifier"}; } + +# check to see if this instance already exists +if (-d $cgiargs{"config_dir"}) { + print STDERR "Error: the server already exists at ", $cgiargs{"config_dir"}, "\n"; + print STDERR "Please remove it first if you really want to recreate it,\n"; + print STDERR "or use a different ServerIdentifier to create another instance.\n"; + exit 1; +} + # port number for Admin Server - used to configure some web apps $cgiargs{adminport} = $table{admin}->{Port}; @@ -300,15 +371,12 @@ # server-side default is on } -my $sroot = $cgiargs{sroot}; - my $prog = "@bindir@/ds_newinst"; if (! -x $prog) { $prog = "@libdir@/$package_name/ds_newinst"; } -my $rc = &cgiFake($sroot, $verbose, - $prog, \%cgiargs); +my $rc = &cgiFake($verbose, $prog, \%cgiargs); if (!$rc) { print "Success! Your new directory server instance was created\n"; @@ -316,6 +384,8 @@ print "Error: Could not create new directory server instance\n"; } +exit $rc; + sub printhash { my $table = shift; From fedora-directory-commits at redhat.com Fri Jun 8 01:09:18 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Thu, 7 Jun 2007 21:09:18 -0400 Subject: [Fedora-directory-commits] ldapserver Makefile.am, 1.39, 1.40 configure.ac, 1.28, 1.29 aclocal.m4, 1.31, 1.32 configure, 1.42, 1.43 missing, 1.24, 1.25 install-sh, 1.24, 1.25 depcomp, 1.24, 1.25 compile, 1.24, 1.25 Makefile.in, 1.46, 1.47 config.sub, 1.23, 1.24 config.guess, 1.23, 1.24 Message-ID: <200706080109.l5819IeM021044@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20988/ldapserver Modified Files: Makefile.am configure.ac aclocal.m4 configure missing install-sh depcomp compile Makefile.in config.sub config.guess Log Message: Resolves: bug 237356 Description: Move DS Admin Code into Admin Server Fix Description: This adds the setup related perl modules, scripts, and resource files to the DS base code. This will allow a user to interactively setup (create an instance of) a directory server. This will also form the base of the work to add the console and admin server related setup code. New files/directories: $libdir/fedora-ds/perl - this is where the perl modules (Setup.pm, etc.) will be installed. $bindir/setup-ds.pl - the script to use to interactively create an instance of directory server. This has use lib '$libdir/fedora-ds/perl' hard coded into it at build time, in order to find the "private" setup perl modules. If you invoke this script in silent mode (setup-ds.pl -s) then it is exactly the same as just using ds_newinst.pl. $sysconfdir/fedora-ds/property/setup-ds.res - Resources for setup-ds.pl and the associated modules. I also fixed a problem with the libns-dshttpd linkage. Platforms tested: RHEL4 Flag Day: no Doc impact: Yes. All of these new items will need to be documented. Index: Makefile.am =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.am,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- Makefile.am 16 May 2007 19:45:26 -0000 1.39 +++ Makefile.am 8 Jun 2007 01:09:14 -0000 1.40 @@ -74,6 +74,7 @@ taskdir = $(datadir)@scripttemplatedir@ initdir = $(sysconfdir)@initdir@ instconfigdir = @instconfigdir@ +perldir = $(libdir)@perldir@ #------------------------ # Build Products @@ -167,7 +168,21 @@ wrappers/cl-dump \ ldap/admin/src/scripts/cl-dump.pl \ wrappers/repl-monitor \ - ldap/admin/src/scripts/repl-monitor.pl + ldap/admin/src/scripts/repl-monitor.pl \ + ldap/admin/src/scripts/setup-ds.pl + +perl_SCRIPTS = ldap/admin/src/scripts/SetupLog.pm \ + ldap/admin/src/scripts/Resource.pm \ + ldap/admin/src/scripts/Util.pm \ + ldap/admin/src/scripts/Setup.pm \ + ldap/admin/src/scripts/SetupDialogs.pm \ + ldap/admin/src/scripts/Inf.pm \ + ldap/admin/src/scripts/DialogManager.pm \ + ldap/admin/src/scripts/Dialog.pm \ + ldap/admin/src/scripts/DSDialogs.pm \ + ldap/admin/src/scripts/Setup.pm + +property_DATA = ldap/admin/src/scripts/setup-ds.res task_SCRIPTS = ldap/admin/src/scripts/template-bak2db \ ldap/admin/src/scripts/template-db2bak \ @@ -327,7 +342,7 @@ $(libldaputil_a_SOURCES) libns_dshttpd_la_CPPFLAGS = -I$(srcdir)/include/base $(AM_CPPFLAGS) -I$(srcdir)/lib/ldaputil @ldapsdk_inc@ @nss_inc@ @nspr_inc@ -libns_dshttpd_la_LIBADD = $(LDAPSDK_LINK) $(NSS_LINK) $(NSPR_LINK) +libns_dshttpd_la_LIBADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK) #------------------------ # libslapd @@ -997,7 +1012,11 @@ -e 's, at package_name\@,$(PACKAGE_NAME),g' \ -e 's, at instconfigdir\@,$(instconfigdir),g' \ -e 's, at ECHO_N\@,$(ECHO_N),g' \ - -e 's, at ECHO_C\@,$(ECHO_C),g' + -e 's, at ECHO_C\@,$(ECHO_C),g' \ + -e 's, at brand\@,$(brand),g' \ + -e 's, at capbrand\@,$(capbrand),g' \ + -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + -e 's, at perldir\@,$(perldir),g' else fixupcmd = sed \ -e 's, at bindir\@,$(bindir),g' \ @@ -1023,7 +1042,11 @@ -e 's, at package_name\@,$(PACKAGE_NAME),g' \ -e 's, at instconfigdir\@,$(instconfigdir),g' \ -e 's, at ECHO_N\@,$(ECHO_N),g' \ - -e 's, at ECHO_C\@,$(ECHO_C),g' + -e 's, at ECHO_C\@,$(ECHO_C),g' \ + -e 's, at brand\@,$(brand),g' \ + -e 's, at capbrand\@,$(capbrand),g' \ + -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + -e 's, at perldir\@,$(perldir),g' endif %: %.in Index: configure.ac =================================================================== RCS file: /cvs/dirsec/ldapserver/configure.ac,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- configure.ac 16 May 2007 19:45:26 -0000 1.28 +++ configure.ac 8 Jun 2007 01:09:15 -0000 1.29 @@ -139,6 +139,10 @@ # the default prefix - override with --prefix or --with-fhs AC_PREFIX_DEFAULT([/opt/$PACKAGE_NAME]) +brand=fedora +capbrand=Fedora +vendor="Fedora Project" + m4_include(m4/fhs.m4) # installation paths - by default, we store everything @@ -186,6 +190,8 @@ propertydir=/$PACKAGE_NAME/property # relative to sysconfdir schemadir=/$PACKAGE_NAME/schema +# relative to libdir +perldir=/$PACKAGE_NAME/perl AC_SUBST(configdir) AC_SUBST(sampledatadir) @@ -194,6 +200,7 @@ AC_SUBST(serverdir) AC_SUBST(serverplugindir) AC_SUBST(scripttemplatedir) +AC_SUBST(perldir) # check for --with-instconfigdir AC_MSG_CHECKING(for --with-instconfigdir) @@ -332,6 +339,10 @@ AC_SUBST(netsnmp_libdir) AC_SUBST(netsnmp_link) +AC_SUBST(brand) +AC_SUBST(capbrand) +AC_SUBST(vendor) + AC_DEFINE([LDAP_DEBUG], [1], [LDAP debug flag]) AC_DEFINE([LDAP_DONT_USE_SMARTHEAP], [1], [Don't use smartheap]) Index: configure =================================================================== RCS file: /cvs/dirsec/ldapserver/configure,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- configure 16 May 2007 19:45:26 -0000 1.42 +++ configure 8 Jun 2007 01:09:15 -0000 1.43 @@ -465,7 +465,7 @@ #endif" 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 debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link LTLIBOBJS' +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 debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -23054,6 +23054,10 @@ # the default prefix - override with --prefix or --with-fhs +brand=fedora +capbrand=Fedora +vendor="Fedora Project" + # BEGIN COPYRIGHT BLOCK # Copyright (C) 2006 Red Hat, Inc. # All rights reserved. @@ -23177,6 +23181,9 @@ propertydir=/$PACKAGE_NAME/property # relative to sysconfdir schemadir=/$PACKAGE_NAME/schema +# relative to libdir +perldir=/$PACKAGE_NAME/perl + @@ -25147,6 +25154,10 @@ + + + + cat >>confdefs.h <<\_ACEOF #define LDAP_DEBUG 1 _ACEOF @@ -25978,6 +25989,7 @@ s, at serverdir@,$serverdir,;t t s, at serverplugindir@,$serverplugindir,;t t s, at scripttemplatedir@,$scripttemplatedir,;t t +s, at perldir@,$perldir,;t t s, at instconfigdir@,$instconfigdir,;t t s, at WINNT_TRUE@,$WINNT_TRUE,;t t s, at WINNT_FALSE@,$WINNT_FALSE,;t t @@ -26022,6 +26034,9 @@ s, at netsnmp_lib@,$netsnmp_lib,;t t s, at netsnmp_libdir@,$netsnmp_libdir,;t t s, at netsnmp_link@,$netsnmp_link,;t t +s, at brand@,$brand,;t t +s, at capbrand@,$capbrand,;t t +s, at vendor@,$vendor,;t t s, at LTLIBOBJS@,$LTLIBOBJS,;t t CEOF Index: Makefile.in =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.in,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- Makefile.in 16 May 2007 19:45:26 -0000 1.46 +++ Makefile.in 8 Jun 2007 01:09:15 -0000 1.47 @@ -94,8 +94,9 @@ am__installdirs = "$(DESTDIR)$(serverdir)" \ "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(initdir)" "$(DESTDIR)$(taskdir)" \ - "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" \ + "$(DESTDIR)$(initdir)" "$(DESTDIR)$(perldir)" \ + "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(configdir)" \ + "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" \ "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)" serverLTLIBRARIES_INSTALL = $(INSTALL) serverpluginLTLIBRARIES_INSTALL = $(INSTALL) @@ -268,7 +269,8 @@ libhttp_client_plugin_la_OBJECTS = \ $(am_libhttp_client_plugin_la_OBJECTS) libns_dshttpd_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) am__objects_1 = lib/ldaputil/libns_dshttpd_la-cert.lo \ lib/ldaputil/libns_dshttpd_la-certmap.lo \ lib/ldaputil/libns_dshttpd_la-dbconf.lo \ @@ -711,8 +713,10 @@ $(am__DEPENDENCIES_1) binSCRIPT_INSTALL = $(INSTALL_SCRIPT) initSCRIPT_INSTALL = $(INSTALL_SCRIPT) +perlSCRIPT_INSTALL = $(INSTALL_SCRIPT) taskSCRIPT_INSTALL = $(INSTALL_SCRIPT) -SCRIPTS = $(bin_SCRIPTS) $(init_SCRIPTS) $(task_SCRIPTS) +SCRIPTS = $(bin_SCRIPTS) $(init_SCRIPTS) $(perl_SCRIPTS) \ + $(task_SCRIPTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I. depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -786,10 +790,11 @@ $(rsearch_bin_SOURCES) configDATA_INSTALL = $(INSTALL_DATA) nodist_propertyDATA_INSTALL = $(INSTALL_DATA) +propertyDATA_INSTALL = $(INSTALL_DATA) sampledataDATA_INSTALL = $(INSTALL_DATA) schemaDATA_INSTALL = $(INSTALL_DATA) -DATA = $(config_DATA) $(nodist_property_DATA) $(sampledata_DATA) \ - $(schema_DATA) +DATA = $(config_DATA) $(nodist_property_DATA) $(property_DATA) \ + $(sampledata_DATA) $(schema_DATA) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -892,11 +897,13 @@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ +brand = @brand@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +capbrand = @capbrand@ #------------------------ # Install Paths @@ -952,6 +959,7 @@ nss_lib = @nss_lib@ nss_libdir = @nss_libdir@ oldincludedir = @oldincludedir@ +perldir = $(libdir)@perldir@ prefix = @prefix@ program_transform_name = @program_transform_name@ propertydir = $(sysconfdir)@propertydir@ @@ -969,6 +977,7 @@ svrcore_lib = @svrcore_lib@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +vendor = @vendor@ # look for included m4 files in the ./m4/ directory ACLOCAL_AMFLAGS = -I m4 @@ -1092,8 +1101,21 @@ wrappers/cl-dump \ ldap/admin/src/scripts/cl-dump.pl \ wrappers/repl-monitor \ - ldap/admin/src/scripts/repl-monitor.pl + ldap/admin/src/scripts/repl-monitor.pl \ + ldap/admin/src/scripts/setup-ds.pl + +perl_SCRIPTS = ldap/admin/src/scripts/SetupLog.pm \ + ldap/admin/src/scripts/Resource.pm \ + ldap/admin/src/scripts/Util.pm \ + ldap/admin/src/scripts/Setup.pm \ + ldap/admin/src/scripts/SetupDialogs.pm \ + ldap/admin/src/scripts/Inf.pm \ + ldap/admin/src/scripts/DialogManager.pm \ + ldap/admin/src/scripts/Dialog.pm \ + ldap/admin/src/scripts/DSDialogs.pm \ + ldap/admin/src/scripts/Setup.pm +property_DATA = ldap/admin/src/scripts/setup-ds.res task_SCRIPTS = ldap/admin/src/scripts/template-bak2db \ ldap/admin/src/scripts/template-db2bak \ ldap/admin/src/scripts/template-db2index \ @@ -1243,7 +1265,7 @@ $(libldaputil_a_SOURCES) libns_dshttpd_la_CPPFLAGS = -I$(srcdir)/include/base $(AM_CPPFLAGS) -I$(srcdir)/lib/ldaputil @ldapsdk_inc@ @nss_inc@ @nspr_inc@ -libns_dshttpd_la_LIBADD = $(LDAPSDK_LINK) $(NSS_LINK) $(NSPR_LINK) +libns_dshttpd_la_LIBADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK) #------------------------ # libslapd @@ -1883,7 +1905,11 @@ @BUNDLE_FALSE@ -e 's, at package_name\@,$(PACKAGE_NAME),g' \ @BUNDLE_FALSE@ -e 's, at instconfigdir\@,$(instconfigdir),g' \ @BUNDLE_FALSE@ -e 's, at ECHO_N\@,$(ECHO_N),g' \ - at BUNDLE_FALSE@ -e 's, at ECHO_C\@,$(ECHO_C),g' + at BUNDLE_FALSE@ -e 's, at ECHO_C\@,$(ECHO_C),g' \ + at BUNDLE_FALSE@ -e 's, at brand\@,$(brand),g' \ + at BUNDLE_FALSE@ -e 's, at capbrand\@,$(capbrand),g' \ + at BUNDLE_FALSE@ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + at BUNDLE_FALSE@ -e 's, at perldir\@,$(perldir),g' # these are for the config files and scripts that we need to generate and replace @@ -1916,7 +1942,11 @@ @BUNDLE_TRUE@ -e 's, at package_name\@,$(PACKAGE_NAME),g' \ @BUNDLE_TRUE@ -e 's, at instconfigdir\@,$(instconfigdir),g' \ @BUNDLE_TRUE@ -e 's, at ECHO_N\@,$(ECHO_N),g' \ - at BUNDLE_TRUE@ -e 's, at ECHO_C\@,$(ECHO_C),g' + at BUNDLE_TRUE@ -e 's, at ECHO_C\@,$(ECHO_C),g' \ + at BUNDLE_TRUE@ -e 's, at brand\@,$(brand),g' \ + at BUNDLE_TRUE@ -e 's, at capbrand\@,$(capbrand),g' \ + at BUNDLE_TRUE@ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + at BUNDLE_TRUE@ -e 's, at perldir\@,$(perldir),g' all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -3753,6 +3783,25 @@ echo " rm -f '$(DESTDIR)$(initdir)/$$f'"; \ rm -f "$(DESTDIR)$(initdir)/$$f"; \ done +install-perlSCRIPTS: $(perl_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(perldir)" || $(mkdir_p) "$(DESTDIR)$(perldir)" + @list='$(perl_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(perlSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(perldir)/$$f'"; \ + $(perlSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(perldir)/$$f"; \ + else :; fi; \ + done + +uninstall-perlSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(perl_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(perldir)/$$f'"; \ + rm -f "$(DESTDIR)$(perldir)/$$f"; \ + done install-taskSCRIPTS: $(task_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(taskdir)" || $(mkdir_p) "$(DESTDIR)$(taskdir)" @@ -8768,6 +8817,23 @@ echo " rm -f '$(DESTDIR)$(propertydir)/$$f'"; \ rm -f "$(DESTDIR)$(propertydir)/$$f"; \ done +install-propertyDATA: $(property_DATA) + @$(NORMAL_INSTALL) + test -z "$(propertydir)" || $(mkdir_p) "$(DESTDIR)$(propertydir)" + @list='$(property_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(propertyDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(propertydir)/$$f'"; \ + $(propertyDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(propertydir)/$$f"; \ + done + +uninstall-propertyDATA: + @$(NORMAL_UNINSTALL) + @list='$(property_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(propertydir)/$$f'"; \ + rm -f "$(DESTDIR)$(propertydir)/$$f"; \ + done install-sampledataDATA: $(sampledata_DATA) @$(NORMAL_INSTALL) test -z "$(sampledatadir)" || $(mkdir_p) "$(DESTDIR)$(sampledatadir)" @@ -8984,7 +9050,7 @@ all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) \ $(DATA) config.h installdirs: - for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)"; do \ + for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: $(BUILT_SOURCES) @@ -9113,9 +9179,10 @@ info-am: install-data-am: install-configDATA install-initSCRIPTS \ - install-nodist_propertyDATA install-sampledataDATA \ - install-schemaDATA install-serverLTLIBRARIES \ - install-serverpluginLTLIBRARIES install-taskSCRIPTS + install-nodist_propertyDATA install-perlSCRIPTS \ + install-propertyDATA install-sampledataDATA install-schemaDATA \ + install-serverLTLIBRARIES install-serverpluginLTLIBRARIES \ + install-taskSCRIPTS install-exec-am: install-binPROGRAMS install-binSCRIPTS \ install-sbinPROGRAMS @@ -9148,7 +9215,8 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ uninstall-configDATA uninstall-info-am uninstall-initSCRIPTS \ - uninstall-nodist_propertyDATA uninstall-sampledataDATA \ + uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ + uninstall-propertyDATA uninstall-sampledataDATA \ uninstall-sbinPROGRAMS uninstall-schemaDATA \ uninstall-serverLTLIBRARIES uninstall-serverpluginLTLIBRARIES \ uninstall-taskSCRIPTS @@ -9165,7 +9233,8 @@ install-binPROGRAMS install-binSCRIPTS install-configDATA \ install-data install-data-am install-exec install-exec-am \ install-info install-info-am install-initSCRIPTS install-man \ - install-nodist_propertyDATA install-sampledataDATA \ + install-nodist_propertyDATA install-perlSCRIPTS \ + install-propertyDATA install-sampledataDATA \ install-sbinPROGRAMS install-schemaDATA \ install-serverLTLIBRARIES install-serverpluginLTLIBRARIES \ install-strip install-taskSCRIPTS installcheck installcheck-am \ @@ -9174,7 +9243,8 @@ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \ uninstall-configDATA uninstall-info-am uninstall-initSCRIPTS \ - uninstall-nodist_propertyDATA uninstall-sampledataDATA \ + uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ + uninstall-propertyDATA uninstall-sampledataDATA \ uninstall-sbinPROGRAMS uninstall-schemaDATA \ uninstall-serverLTLIBRARIES uninstall-serverpluginLTLIBRARIES \ uninstall-taskSCRIPTS From fedora-directory-commits at redhat.com Fri Jun 8 01:09:18 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Thu, 7 Jun 2007 21:09:18 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/admin/src/scripts DSDialogs.pm, NONE, 1.1 Dialog.pm, NONE, 1.1 DialogManager.pm, NONE, 1.1 Inf.pm, NONE, 1.1 Resource.pm, NONE, 1.1 Setup.pm.in, NONE, 1.1 SetupDialogs.pm, NONE, 1.1 SetupLog.pm, NONE, 1.1 Util.pm, NONE, 1.1 setup-ds.pl.in, NONE, 1.1 setup-ds.res.in, NONE, 1.1 Message-ID: <200706080109.l5819IwU021050@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver/ldap/admin/src/scripts In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20988/ldapserver/ldap/admin/src/scripts Added Files: DSDialogs.pm Dialog.pm DialogManager.pm Inf.pm Resource.pm Setup.pm.in SetupDialogs.pm SetupLog.pm Util.pm setup-ds.pl.in setup-ds.res.in Log Message: Resolves: bug 237356 Description: Move DS Admin Code into Admin Server Fix Description: This adds the setup related perl modules, scripts, and resource files to the DS base code. This will allow a user to interactively setup (create an instance of) a directory server. This will also form the base of the work to add the console and admin server related setup code. New files/directories: $libdir/fedora-ds/perl - this is where the perl modules (Setup.pm, etc.) will be installed. $bindir/setup-ds.pl - the script to use to interactively create an instance of directory server. This has use lib '$libdir/fedora-ds/perl' hard coded into it at build time, in order to find the "private" setup perl modules. If you invoke this script in silent mode (setup-ds.pl -s) then it is exactly the same as just using ds_newinst.pl. $sysconfdir/fedora-ds/property/setup-ds.res - Resources for setup-ds.pl and the associated modules. I also fixed a problem with the libns-dshttpd linkage. Platforms tested: RHEL4 Flag Day: no Doc impact: Yes. All of these new items will need to be documented. --- NEW FILE DSDialogs.pm --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # package DSDialogs; use strict; use Net::Domain qw(hostname hostfqdn); use DialogManager; use Setup; use Dialog; use Util; my $dsport = new Dialog ( $TYPICAL, 'dialog_dsport_text', sub { my $self = shift; my $port = $self->{manager}->{inf}->{slapd}->{ServerPort}; if (!defined($port)) { $port = 389; } if (!portAvailable($port)) { $port = getAvailablePort(); } return $port; }, sub { my $self = shift; my $ans = shift; my $res = $DialogManager::SAME; if ($ans !~ /\d+/) { $self->{manager}->alert("dialog_dsport_error", $ans); } elsif (!portAvailable($ans)) { $self->{manager}->alert("dialog_dsport_error", $ans); } else { $res = $DialogManager::NEXT; $self->{manager}->{inf}->{slapd}->{ServerPort} = $ans; } return $res; }, ['dialog_dsport_prompt'] ); my $dsserverid = new Dialog ( $TYPICAL, 'dialog_dsserverid_text', sub { my $self = shift; my $serverid = $self->{manager}->{inf}->{slapd}->{ServerIdentifier}; if (!defined($serverid)) { $serverid = $self->{manager}->{inf}->{General}->{FullMachineName}; if (!defined($serverid)) { $serverid = hostname; } else { # strip out the leftmost domain component $serverid =~ s/\..*$//; } } return $serverid; }, sub { my $self = shift; my $ans = shift; my $res = $DialogManager::SAME; my $path = $self->{manager}->{setup}->{configdir} . "/slapd-" . $ans; if ($ans !~ /^[0-9a-zA-Z_-]+$/) { $self->{manager}->alert("dialog_dsserverid_error", $ans); } elsif (-d $path) { $self->{manager}->alert("dialog_dsserverid_inuse", $ans); } else { $res = $DialogManager::NEXT; $self->{manager}->{inf}->{slapd}->{ServerIdentifier} = $ans; } return $res; }, ['dialog_dsserverid_prompt'] ); my $dssuffix = new Dialog ( $TYPICAL, 'dialog_dssuffix_text', sub { my $self = shift; my $suffix = $self->{manager}->{inf}->{slapd}->{Suffix}; if (!defined($suffix)) { $suffix = $self->{manager}->{inf}->{General}->{FullMachineName}; if (!defined($suffix)) { $suffix = hostfqdn; } # convert fqdn to dc= domain components $suffix = "dc=$suffix"; $suffix =~ s/\./, dc=/g; } return $suffix; }, sub { my $self = shift; my $ans = shift; my $res = $DialogManager::SAME; if (!isValidDN($ans)) { $self->{manager}->alert("dialog_dssuffix_error", $ans); } else { $res = $DialogManager::NEXT; $self->{manager}->{inf}->{slapd}->{Suffix} = $ans; } return $res; }, ['dialog_dssuffix_prompt'] ); my $dsrootdn = new Dialog ( $EXPRESS, 'dialog_dsrootdn_text', sub { my $self = shift; my $index = shift; my $rootdn; if ($index == 0) { # return undef for password defaults $rootdn = $self->{manager}->{inf}->{slapd}->{RootDN}; if (!defined($rootdn)) { $rootdn = "cn=Directory Manager"; } } return $rootdn; }, sub { my $self = shift; my $ans = shift; my $index = shift; my $res = $DialogManager::SAME; if ($index == 0) { # verify DN if (!isValidDN($ans)) { $self->{manager}->alert("dialog_dsrootdn_error", $ans); } else { $res = $DialogManager::NEXT; $self->{manager}->{inf}->{slapd}->{RootDN} = $ans; } } elsif ($index == 1) { # verify initial password my $test = $ans; if ($test) { $test =~ s/\s//g; } if (!$ans or (length($ans) < 8)) { $self->{manager}->alert("dialog_dsrootpw_tooshort", 8); } elsif (length($test) != length($ans)) { $self->{manager}->alert("dialog_dsrootpw_invalid"); } else { $res = $DialogManager::NEXT; $self->{firstpassword} = $ans; # save for next index } } elsif ($index == 2) { # verify second password if ($ans ne $self->{firstpassword}) { $self->{manager}->alert("dialog_dsrootpw_nomatch"); } else { $self->{manager}->{inf}->{slapd}->{RootDNPwd} = $ans; $res = $DialogManager::NEXT; } } return $res; }, ['dialog_dsrootdn_prompt'], ['dialog_dsrootpw_prompt1', 1], ['dialog_dsrootpw_prompt2', 1] ); my $dssample = new DialogYesNo ( $CUSTOM, 'dialog_dssample_text', 0, sub { my $self = shift; my $ans = shift; my $res = $self->handleResponse($ans); if ($res == $DialogManager::NEXT) { $self->{manager}->{inf}->{slapd}->{AddSampleEntries} = ($self->isYes() ? 'Yes' : 'No'); } return $res; }, ['dialog_dssample_prompt'], ); my $dspopulate = new Dialog ( $CUSTOM, 'dialog_dspopulate_text', sub { my $self = shift; my $val = $self->{manager}->{inf}->{slapd}->{InstallLdifFile}; if (!defined($val)) { $val = 'none'; } return $val; }, sub { my $self = shift; my $ans = shift; my $res = $DialogManager::SAME; if ($ans eq 'none') { $self->{manager}->{inf}->{slapd}->{InstallLdifFile} = 'none'; $self->{manager}->{inf}->{slapd}->{AddOrgEntries} = 'No'; $res = $DialogManager::NEXT; } elsif ($ans eq 'suggest') { $self->{manager}->{inf}->{slapd}->{InstallLdifFile} = 'suggest'; $self->{manager}->{inf}->{slapd}->{AddOrgEntries} = 'Yes'; $res = $DialogManager::NEXT; } else { # a file if (! -f $ans) { $self->{manager}->alert("dialog_dspopulate_error", $ans); } else { $self->{manager}->{inf}->{slapd}->{InstallLdifFile} = $ans; $self->{manager}->{inf}->{slapd}->{AddOrgEntries} = 'No'; $res = $DialogManager::NEXT; } } return $res; }, ['dialog_dspopulate_prompt'] ); sub getDialogs { return ($dsport, $dsserverid, $dssuffix, $dsrootdn, $dssample, $dspopulate); } 1; --- NEW FILE Dialog.pm --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # package Dialog; use DialogManager; #require Exporter; #@ISA = qw(Exporter); #@EXPORT = qw(); # NOTE: This "class" is an "abstract" class. There are two methods which # must be provided by subclasses: # $ans = $dialog->defaultAns($promptindex); # where $promptindex is the index into the array of prompts given when # constructing the Dialog object # The dialog will typically use a default answer either hardcoded in # or from some key in the setup cache (.inf) file # # $resp = $dialog->handleResponse($ans, $index); # The dialog uses this method to perform validation of the input, set the value # in the setup cache, display errors or warnings, and tell the dialog manager # if the prompt needs to be redisplayed, or if there was an unrecoverable error # $resp should be $SAME to reprompt, $ERR to abort, or $NEXT to continue # the $ans and defaultAns should be in the native charset, so the dialog # may have to convert to/from utf8 as needed. # a dialog consists of a title, some explanatory text, and one or more prompts # each prompt has a default value. An example of a dialog with more than # one prompt would be a dialog asking the user for the new root DN and password - # in that case, there would be 3 prompts - one for the DN, one for the password, # and one to verify the password # The text and prompts are given as resource keys. Usually the resource value # will be a simple string, in which case the resource key is passed in as a simple # string. However, if the resource string contains replaceable parameters, the # resource key is passed as an array ref consisting of the resource key as the # first element and the parameters to use for replacement as the subsequent # array elements e.g. # $foo = new Dialog(['RESOURCE_KEY_CONFIG_LDAP_URL', $secure, $host, $port, $suffix], ...); # but usually for simple cases like this: # $foo = new Dialog('RESOURCE_KEY_WELCOME', ...); # The manager contains the context for all of the dialogs - the setup type, the resource # file, setup log, other context shared among the dialogs # the type is the setup type - 1, 2, or 3 for express, typical, or custom # type is used to say which types use this dialog sub new { my $type = shift; my $self = {}; $self->{type} = shift; $self->{text} = shift; $self->{defaultAns} = shift; $self->{handleResp} = shift; $self->{prompts} = \@_; $self = bless $self, $type; return $self; } sub setManager { my $self = shift; $self->{"manager"} = shift; } # returns true if this dialog is to be displayed for the current setup type # false otherwise sub isDisplayed { my $self = shift; return $self->{type} <= $self->{"manager"}->{type}; } # each prompt looks like this: # [ 'resource key', is pwd ] # The resource key is the string key of the resource # is pwd is optional - if present, the prompt is for a password # and should not echo the answer # e.g. # ['RESOURCE_USERNAME'], ['RESOURCE_PASSWORD', 1], ['RESOURCE_PASSWORD_AGAIN', 1] sub run { my $self = shift; my $resp = $DialogManager::SAME; # display the dialog text if ($self->isDisplayed()) { $self->{manager}->showText($self->{text}); } # display each prompt for this dialog my $index = 0; my @prompts = @{$self->{prompts}}; for (my $index = 0; $index < @prompts; ++$index) { my $prompt = $prompts[$index]; my $defaultans = $self->{defaultAns}($self, $index); my $ans; if ($self->isDisplayed()) { $ans = $self->{manager}->showPrompt($prompt->[0], $defaultans, $prompt->[1]); } else { $ans = $defaultans; } # see if this is the special BACK response, and finish if so if ($self->{"manager"}->isBack($ans)) { $resp = $DialogManager::BACK; last; } # figure out what action to take based on the users response # this will set values in the setup info file # this will also validate input, and display errors if the # input is not correct - in that case, the resp will be # SAME to reprompt, or ERR if unrecoverable # NOTE: user cannot BACK from prompt to prompt - BACK # always means BACK to the previous dialog $resp = $self->{handleResp}($self, $ans, $index); if ($resp == $DialogManager::SAME) { if (!$self->isDisplayed()) { $self->{manager}->alert('dialog_use_different_type'); $resp = $DialogManager::ERR; } else { $index--; # reprompt } } elsif ($resp == $DialogManager::ERR) { last; } } return $resp; } package DialogYesNo; @ISA = qw(Dialog); sub new { my $type = shift; my $setuptype = shift; my $text = shift; my $defaultIsYes = shift; my $handler = shift || \&handleResponse; my $prompt = shift || ['prompt_yes_no']; my $self = Dialog->new($setuptype, $text, \&defaultAns, $handler, $prompt); $self->{defaultIsYes} = $defaultIsYes; $self = bless $self, $type; return $self; } sub setDefaultYes { my $self = shift; $self->{default} = $self->{"manager"}->getText("yes"); } sub setDefaultNo { my $self = shift; $self->{default} = $self->{"manager"}->getText("no"); } sub defaultAns { my $self = shift; if (exists($self->{ans})) { return $self->{ans}; } if (!exists($self->{default})) { if ($self->{defaultIsYes}) { $self->{default} = $self->{"manager"}->getText("yes"); } else { $self->{default} = $self->{"manager"}->getText("no"); } } return $self->{default}; } sub isYes { my $self = shift; return $self->{ans} eq $self->{"manager"}->getText("yes"); } sub handleResponse { my $self = shift; my $ans = shift; my $resp = $DialogManager::SAME; my $yes = $self->{"manager"}->getText("yes"); my $nno = $self->{"manager"}->getText("no"); # the regexp allows us to use y or ye or yes for "yes" if ($nno =~ /^$ans/) { $resp = $DialogManager::NEXT; $self->{ans} = $nno; } elsif ($yes =~ /^$ans/) { $resp = $DialogManager::NEXT; $self->{ans} = $yes; } else { $self->{"manager"}->alert("yes_no_error"); } return $resp; } ############################################################################# # Mandatory TRUE return value. # 1; --- NEW FILE DialogManager.pm --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # package DialogManager; use Exporter (); @ISA = qw(Exporter); @EXPORT = qw($BACK $SAME $NEXT $ERR); @EXPORT_OK = qw($BACK $SAME $NEXT $ERR); use Dialog; use SetupLog; # Dialog responses $BACK = -1; $SAME = 0; $NEXT = 1; $ERR = 2; # The DialogManager controls the flow of the dialogs and contains context shared # among all of the dialogs (resources, logs, current setup type, etc.) # all of these are optional sub new { my $type = shift; my $self = {}; $self->{setup} = shift; $self->{res} = shift; $self->{type} = shift; $self->{log} = $self->{setup}->{log}; $self->{inf} = $self->{setup}->{inf}; $self = bless $self, $type; return $self; } sub getType { my $self = shift; return $self->{type}; } sub setType { my $self = shift; $self->{type} = shift; } sub addDialog { my $self = shift; for my $dialog (@_) { $dialog->setManager($self); push @{$self->{dialogs}}, $dialog; } } # see if the user answered with the special BACK answer sub isBack { my $self = shift; my $ans = shift; # the word "back" if ($ans =~ /back/i) { return 1; } # a Ctrl-B sequence if ($ans eq '') { return 1; } return 0; } sub log { my $self = shift; if (!$self->{log}) { print @_; } else { $self->{log}->logMessage($INFO, "Setup", @_); } } sub getText { my $self = shift; return $self->{res}->getText(@_); } sub handleError { my $self = shift; my $msg = $self->{res}->getText('setup_err_exit'); $self->{log}->logMessage($FATAL, "Setup", $msg); } sub showText { my $self = shift; my $msg = shift; my $text = $self->getText($msg); print "\n", ("=" x 78), "\n"; # display it, print $text; # log it $self->log($text); } sub showPrompt { my $self = shift; my $msg = shift; my $defaultans = shift; my $ispwd = shift; my $text = $self->getText($msg); # display it, print $text; # log it $self->log($text . "\n"); # display the default answer if ($defaultans) { print " [$defaultans]"; } print ": "; # if we are prompting for a password, disable console echo if ($ispwd) { system("stty -echo"); } # read the answer my $ans = ; # if we are prompting for a password, enable console echo if ($ispwd) { system("stty echo"); print "\n"; } chop($ans); # trim trailing newline # see if this is the special BACK response, and finish if so if ($self->isBack($ans)) { $self->log("BACK\n"); return $ans; } if (!length($ans)) { $ans = $defaultans; } # log the response, if not a password if (!$ispwd) { $self->log($ans . "\n"); } return $ans; } sub alert { my $self = shift; my $msg = $self->{res}->getText(@_); print $msg; $self->{log}->logMessage($WARN, "Setup", $msg); } sub run { my $self = shift; my $done; my $index = 0; my $incr = 1; my $rc = 0; while (!$done) { my $dialog = $self->{dialogs}->[$index]; my $resp = $NEXT; $resp = $dialog->run(); if ($resp == $BACK) { $incr = -1; } elsif ($resp == $NEXT) { $incr = 1; } elsif ($resp == $SAME) { $incr = 0; } else { $self->handleError($resp); $done = 1; $rc = 1; } $index += $incr; if ($index < 0) { $index = 0; } elsif ($index >= @{$self->{dialogs}}) { $done = 1; } } return $rc; } ############################################################################# # Mandatory TRUE return value. # 1; --- NEW FILE Inf.pm --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # # manages inf files - gets values # given keys package Inf; #require Exporter; #@ISA = qw(Exporter); #@EXPORT = qw(); sub new { my $type = shift; my $self = {}; $self->{filename} = shift; $self = bless $self, $type; if ($self->{filename}) { $self->read(); } return $self; } sub read { # each key in the table is a section name # the value is a hash ref of the items in that section # in that hash ref, each key is the config param name, # and the value is the config param value my $self = shift; my $filename = shift; my $curSection; if ($filename) { $self->{filename} = $filename; } else { $filename = $self->{filename}; } open INF, $filename or die "Error: could not open inf file $filename: $!"; while () { # e.g. [General] if (/^\[(.*?)\]/) { $curSection = $1; } elsif (/^\s*$/) { next; # skip blank lines } elsif (/^\s*\#/) { next; # skip comment lines } elsif (/^\s*(.*?)\s*=\s*(.*?)\s*$/) { $self->{$curSection}->{$1} = $2; } } close INF; } sub section { my $self = shift; my $key = shift; if (!exists($self->{$key})) { print "Error: unknown inf section $key\n"; return undef; } return $self->{$key}; } sub writeSection { my $self = shift; my $name = shift; my $fh = shift; my $section = $self->{$name}; if (ref($section) eq 'HASH') { print $fh "[$name]\n"; for my $key (keys %{$section}) { if (defined($section->{$key})) { print $fh "$key = ", $section->{$key}, "\n"; } } } } sub write { my $self = shift; my $filename = shift; if ($filename) { $self->{filename} = $filename; } else { $filename = $self->{filename}; } open INF, ">$filename" or die "Error: could not write inf file $filename: $!"; # write General section first $self->writeSection('General', \*INF); print INF "\n"; for my $key (keys %{$self}) { next if ($key eq 'General'); $self->writeSection($key, \*INF); print INF "\n"; } close INF; } ############################################################################# # Mandatory TRUE return value. # 1; --- NEW FILE Resource.pm --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # # manages resource bundle files - gets values # given keys package Resource; use strict; #require Exporter; #@ISA = qw(Exporter); #@EXPORT = qw(); sub new { my $type = shift; my $self = {}; $self->{filename} = shift; $self = bless $self, $type; if ($self->{filename}) { $self->read(); } return $self; } sub read { my $self = shift; my $filename = shift; if ($filename) { $self->{filename} = $filename; } else { $filename = $self->{filename}; } open RES, $filename or die "Error: could not open resource file $filename: $!"; while () { next if (/^\s*$/); # skip blank lines next if (/^\s*\#/); # skip comment lines # read name = value pairs like this # bol whitespace* name whitespace* '=' whitespace* value eol # the value will include any trailing whitespace if (/^\s*(.*?)\s*=\s*(.*?)$/) { $self->{res}->{$1} = $2; # replace \n with real newline $self->{res}->{$1} =~ s/\\n/\n/g; } } close RES; } # given a resource key and optional args, return the value # $text = $res->getText('key'); # or # $text = $res->getText('key', @args); # or # $text = $res->getText($arrayref) # where $arrayref is ['key', @args] sub getText { my $self = shift; my $key = shift; my @args = @_; if (ref($key) eq 'ARRAY') { my $tmpkey = shift @{$key}; @args = @{$key}; $key = $tmpkey; } if (!exists($self->{res}->{$key})) { print "Error: unknown resource key $key\n"; return undef; } if (!defined($self->{res}->{$key})) { print "Error: resource key $key has no value\n"; return undef; } # see if the args themselves are resource keys for (my $ii = 0; $ii < @args; ++$ii) { if (exists($self->{res}->{$args[$ii]})) { $args[$ii] = $self->{res}->{$args[$ii]}; } } my $text = sprintf $self->{res}->{$key}, @args; return $text; } ############################################################################# # Mandatory TRUE return value. # 1; --- NEW FILE Setup.pm.in --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # ########################### # # This perl module provides a way to set up a new installation after # the binaries have already been extracted. This is typically after # using native packaging support to install the package e.g. RPM, # pkgadd, depot, etc. This script will show the license, readme, # dsktune, then run the usual setup pre and post installers. # ########################## package Setup; use Exporter (); @ISA = qw(Exporter); @EXPORT = qw($SILENT $EXPRESS $TYPICAL $CUSTOM); @EXPORT_OK = qw($SILENT $EXPRESS $TYPICAL $CUSTOM); # tempfiles use File::Temp qw(tempfile tempdir); # hostname use Net::Domain qw(hostfqdn); # load perldap use Mozilla::LDAP::Conn; use Mozilla::LDAP::Utils qw(normalizeDN); use Mozilla::LDAP::API qw(ldap_explode_dn); use Mozilla::LDAP::LDIF; use Getopt::Long; use File::Temp qw(tempfile tempdir); use SetupLog; # the setup types $SILENT = 0; $EXPRESS = 1; $TYPICAL = 2; $CUSTOM = 3; # process command line options Getopt::Long::Configure(qw(bundling)); # bundling allows -ddddd sub VersionMessage { print "@capbrand@ Directory Server Setup Program Version @PACKAGE_VERSION@\n"; } sub HelpMessage { print < sub { VersionMessage(); HelpMessage(); exit 0 }, 'version|v' => sub { VersionMessage(); exit 0 }, 'debug|d+' => \$debuglevel, 'silent|s' => \$silent, 'file|f=s' => \$inffile, 'keepcache|k' => \$keep, 'preonly|p' => \$preonly, 'logfile|l=s' => \$logfile ); $self->{debuglevel} = $debuglevel; $self->{silent} = $silent; $self->{inffile} = $inffile; $self->{keep} = $keep; $self->{preonly} = $preonly; $self->{logfile} = $logfile; $self->{log} = new SetupLog($self->{logfile}); if (!$self->{inffile}) { my ($fh, $filename) = tempfile("setupXXXXXX", UNLINK => !$keep, SUFFIX => ".inf", OPEN => 0, DIR => File::Spec->tmpdir); $self->{inffile} = $filename; $self->{inf} = new Inf; $self->{inf}->{filename} = $self->{inffile}; } else { $self->{inf} = new Inf($self->{inffile}); $self->{keep} = 1; # do not delete user supplied inf file } # see if user passed in default inf values - also, command line # arguments override those passed in via an inf file - this # allows the reuse of .inf files with some parameters overridden for (@ARGV) { if (/^(\w+).(\w+)=(.*)$/) { # e.g. section.param=value $self->{inf}->{$1}->{$2} = $3; } else { # error print STDERR "Error: unknown command line option $_\n"; usage(); exit 1; } } $self->{configdir} = $ENV{DS_CONFIG_DIR} || "@instconfigdir@"; $self = bless $self, $type; return $self; } # log only goes the the logfile sub log { my $self = shift; my $level = shift; $self->{log}->logMessage($level, "Setup", @_); } # msg does to the screen and optionally to the log file # if you use msg like this: # msg(0, "some message") # it will go only to the screen # if you use msg like this: # msg($WARN, "some message") # it will go to the screen and to the log at the $WARN level sub msg { my $self = shift; my $level = shift; my @text = @_; if (!$level && @text) { # e.g. msg(0, "string") - no logging } elsif ($level and @text and grep {/^$level$/} $self->{log}->levels()) { # e.g. msg($WARN, "string") - print and log } else { # log at default INFO level unshift @text, $level; $level = $INFO; } if ($level) { $self->log($level, @text); } print @text; } sub doExit { my $self = shift; $self->msg($FATAL, "Exiting . . .\n"); $self->msg("Log file is " . $self->{log}->{filename} . "\n"); exit 1; } ############################################################################# # Mandatory TRUE return value. # 1; --- NEW FILE SetupDialogs.pm --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # package SetupDialogs; use strict; use DialogManager; use Setup; use Dialog; use Net::Domain qw(hostfqdn); my $welcome = new DialogYesNo ( $EXPRESS, ['dialog_welcome_text', 'brand', 'brand'], 1, sub { my $self = shift; my $ans = shift; my $res = $self->handleResponse($ans); if ($res == $DialogManager::NEXT) { $res = $DialogManager::ERR if (!$self->isYes()); } return $res; }, ['dialog_welcome_prompt'], ); my $license = new DialogYesNo ( $EXPRESS, 'dialog_license_text', 0, sub { my $self = shift; my $ans = shift; my $res = $self->handleResponse($ans); if ($res == $DialogManager::NEXT) { $res = $DialogManager::ERR if (!$self->isYes()); } return $res; }, ['dialog_license_prompt'] ); my $setuptype = new Dialog ( $EXPRESS, 'dialog_setuptype_text', sub { my $self = shift; return $self->{manager}->getType(); }, sub { my $self = shift; my $ans = shift; my $res = $DialogManager::SAME; if ($ans < $EXPRESS or $ans > $CUSTOM) { $self->{manager}->alert("dialog_setuptype_error"); } else { $res = $DialogManager::NEXT; $self->{manager}->setType($ans); } return $res; }, ['dialog_setuptype_prompt'] ); my $hostdlg = new Dialog ( $TYPICAL, 'dialog_hostname_text', sub { my $self = shift; return $self->{manager}->{inf}->{General}->{FullMachineName} || hostfqdn; }, sub { my $self = shift; my $ans = shift; my $res = $DialogManager::NEXT; if ($ans !~ /\./) { $self->{manager}->alert("dialog_hostname_warning", $ans); } $self->{manager}->{inf}->{General}->{FullMachineName} = $ans; return $res; }, ['dialog_hostname_prompt'] ); # must verify that the user or uid specified by the user to run the server as # is a valid uid sub verifyUserChoice { my $self = shift; my $ans = shift; my $res = $DialogManager::NEXT; # convert numeric uid to string my $strans = $ans; if ($ans =~ /^\d/) { # numeric - convert to string $strans = getpwuid $ans; if (!$strans) { $self->{manager}->alert("dialog_ssuser_error", $ans); return $DialogManager::SAME; } } if ($> != 0) { # if not root, the user must be our uid my $username = getlogin; if ($strans ne $username) { $self->{manager}->alert("dialog_ssuser_must_be_same", $username); return $DialogManager::SAME; } } else { # user is root - verify id my $nuid = getpwnam $strans; if (!defined($nuid)) { $self->{manager}->alert("dialog_ssuser_error", $ans); return $DialogManager::SAME; } if (!$nuid) { $self->{manager}->alert("dialog_ssuser_root_warning"); } } $self->{manager}->{inf}->{General}->{SuiteSpotUserID} = $ans; return $res; } # must verify that the given group is one of the groups the given user # belongs to sub verifyGroupChoice { my $self = shift; my $ans = shift; my $res = $DialogManager::NEXT; my ($dummy, $memstr); my $strgrp; my $numgrp; if ($ans =~ /^\d/) { # numeric $numgrp = $ans; ($strgrp, $dummy, $dummy, $memstr) = getgrgid $ans; } else { $strgrp = $ans; ($dummy, $dummy, $numgrp, $memstr) = getgrnam $ans; } if (!defined($strgrp) or !defined($numgrp)) { $self->{manager}->alert("dialog_ssgroup_error", $ans); return $DialogManager::SAME; } # get the user id, and then get the user's default group id my $uid = $self->{manager}->{inf}->{General}->{SuiteSpotUserID}; my $usergid; if ($uid =~ /^\d/) { # numeric ($uid, $dummy, $dummy, $usergid, $dummy) = getpwuid $uid; } else { # string ($uid, $dummy, $dummy, $usergid, $dummy) = getpwnam $uid; } if ($numgrp == $usergid) { $self->{manager}->{inf}->{General}->{SuiteSpotGroup} = $ans; } elsif ($memstr) { # see if the user is in the member list if ($memstr =~ /\b$uid\b/) { # uid exactly matches one of the users in the member string $self->{manager}->{inf}->{General}->{SuiteSpotGroup} = $ans; } else { # no match $self->{manager}->alert("dialog_ssgroup_no_match", $self->{manager}->{inf}->{General}->{SuiteSpotUserID}, $ans, $memstr); $res = $DialogManager::SAME; } } else { # user not in group $self->{manager}->alert("dialog_ssgroup_no_user", $self->{manager}->{inf}->{General}->{SuiteSpotUserID}, $ans); $res = $DialogManager::SAME; } return $res; } my $usergroup = new Dialog ( $TYPICAL, 'dialog_ssuser_text', sub { my $self = shift; my $index = shift; if ($index == 0) { my $username = $self->{manager}->{inf}->{General}->{SuiteSpotUserID}; if (!$username) { if ($> == 0) { # if root, use the default user $username = "\@defaultuser\@"; } else { # if not root, use the user's uid $username = getlogin; } } return $username; } else { # group my $groupname = $self->{manager}->{inf}->{General}->{SuiteSpotGroup}; if (!$groupname) { if ($> == 0) { # if root, use the default group $groupname = "\@defaultgroup\@"; } else { # if not root, use the user's gid $groupname = getgrgid $(; } } return $groupname; } }, sub { my $self = shift; my $ans = shift; my $index = shift; if ($index == 0) { return verifyUserChoice($self, $ans); } else { return verifyGroupChoice($self, $ans); } }, ['dialog_ssuser_prompt'], ['dialog_ssgroup_prompt'] ); sub getDialogs { return ($welcome, $license, $setuptype, $hostdlg, $usergroup); } 1; --- NEW FILE SetupLog.pm --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # # This implements SetupLog from setuputil InstallLog in perl # package SetupLog; use Exporter (); @ISA = qw(Exporter); @EXPORT = qw($FATAL $START $SUCCESS $WARN $INFO $DEBUG); @EXPORT_OK = qw($FATAL $START $SUCCESS $WARN $INFO $DEBUG); use POSIX qw(strftime); # tempfiles use File::Temp qw(tempfile tempdir); # exported variables $FATAL = "Fatal"; $START = "Start"; $SUCCESS = "Success"; $WARN = "Warning"; $INFO = "Info"; $DEBUG = "Debug"; sub new { my $type = shift; my $filename = shift; my $self = {}; my $fh; if (!$filename) { ($fh, $filename) = tempfile("setupXXXXXX", UNLINK => 0, SUFFIX => ".log", DIR => File::Spec->tmpdir); } else { open LOGFILE, ">$filename" or die "Error: could not open logfile $filename: $!"; $fh = \*LOGFILE; } $self->{fh} = $fh; $self->{filename} = $filename; $self = bless $self, $type; return $self; } sub logMessage { my ($self, $level, $who, $msg, @rest) = @_; if (!$self->{fh}) { return; } my $string = strftime "[%y/%m/%d:%H:%M:%S] - ", localtime; $string .= "[$who] $level "; $string .= sprintf $msg, @rest; print { $self->{fh} } $string; } sub levels { my $self = shift; return ($FATAL, $START, $SUCCESS, $WARN, $INFO, $DEBUG); } ############################################################################# # Mandatory TRUE return value. # 1; --- NEW FILE Util.pm --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # package Util; require Exporter; @ISA = qw(Exporter); @EXPORT = qw(portAvailable getAvailablePort isValidDN); @EXPORT_OK = qw(portAvailable getAvailablePort isValidDN); use strict; use Socket; # return true if the given port number is available, false otherwise sub portAvailable { my $port = shift; my $proto = getprotobyname('tcp'); my $rc = socket(SOCK, PF_INET, SOCK_STREAM, $proto); if ($rc == 1) { $rc = bind(SOCK, sockaddr_in($port, INADDR_ANY)); } close(SOCK); return $rc and ($rc == 1); } # returns a randomly assigned port number, or -1 # if not able to find an available port sub getAvailablePort { my $MINPORT = 1024; my $MAXPORT = 65535; srand( time() ^ ($$ + ($$ << 15)) ); while (1) { my $port = $MINPORT + int(rand($MAXPORT-$MINPORT)); if (portAvailable($port)) { return $port; } } } sub isValidDN { my $dn = shift; return ($dn =~ /^[0-9a-zA-Z_-]+=.*$/); } 1; --- NEW FILE setup-ds.pl.in --- #!/usr/bin/env perl # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # use lib '@perldir@'; use strict; use Setup; use Inf; use Resource; use DialogManager; my $setup = new Setup; if (!$setup->{silent}) { my $res = new Resource("@propertydir@/setup-ds.res"); my $dialogmgr = new DialogManager($setup, $res, $TYPICAL); require SetupDialogs; require DSDialogs; my @dialogs = SetupDialogs->getDialogs(); push @dialogs, DSDialogs->getDialogs(); $dialogmgr->addDialog(@dialogs); my $rc = $dialogmgr->run(); if ($rc) { $setup->doExit(); } $setup->{inf}->write(); } system("@bindir@/ds_newinst.pl $setup->{inffile}"); if (!$setup->{keep}) { unlink $setup->{inffile}; } $setup->doExit(); --- NEW FILE setup-ds.res.in --- # ------------ Global Resources ----------- brand = @capbrand@ yes = yes no = no yes_no_error = Please answer "yes" or "no"\n\n setup_err_exit = Setup cannot proceed. Exiting.\n\n dialog_use_different_type = When using Silent or Express mode, some of the\ndialogs are skipped, but validation is still performed\non the default or given answers. You should run this program again and\nchoose Typical or Custom mode in order to provide a valid input\nfor the problem dialog.\n\n # ------------ Welcome Dialog Resource ------------ dialog_welcome_text = This program will setup the %s Directory Server.\n\nIt is recommended that you have "root" privilege to setup the software.\nTips for using this program:\n - Press "Enter" to choose the default and go to the next screen\n - Type "Control-B" then "Enter" to go back to the previous screen\n - Type "Control-C" to cancel the setup program\n - You can enter multiple items using commas to separate them.\n For example: 1, 2, 3 \n\n # %s -> brand dialog_welcome_prompt = Would you like to continue with setup? # ----------- License Dialog Resource ----------- dialog_license_text = BY SETTING UP AND USING THIS SOFTWARE YOU ARE CONSENTING TO BE BOUND BY\nAND ARE BECOMING A PARTY TO THE AGREEMENT FOUND IN THE\nLICENSE.TXT FILE. IF YOU DO NOT AGREE TO ALL OF THE TERMS\nOF THIS AGREEMENT, PLEASE DO NOT SETUP OR USE THIS SOFTWARE.\n\n dialog_license_prompt = Do you agree to the license terms? # ----------- Setup Type Dialog Resource ---------------- dialog_setuptype_text = Choose a setup type:\n\n 1. Express\n Allows you to quickly setup the servers using the most\n common options and pre-defined defaults. Useful for quick\n evaluation of the products.\n\n 2. Typical\n Allows you to specify common defaults and options.\n\n 3. Custom\n Allows you to specify more advanced options. This is \n recommended for experienced server administrators only.\n\nTo accept the default shown in brackets, press the Enter key.\n\n dialog_setuptype_prompt = Choose a setup type dialog_setuptype_error = Invalid setup type\n\n # ----------- HostName Dialog Resource ---------------- dialog_hostname_text = Enter the fully qualified domain name of the computer\non which you're setting up server software. Using the form\n.\nExample: eros.example.com.\n\nTo accept the default shown in brackets, press the Enter key.\n\n dialog_hostname_prompt = Computer name dialog_hostname_warning = The hostname %s does not look like a\nfully qualified host and domain name.\nIf you feel you have made a mistake,\nplease go back to this dialog and enter another name.\n\n # ----------- SSUser Dialog Resource ---------------- dialog_ssuser_text = The server must run as a specific user in a specific group.\nIt is strongly recommended that this user should have no privileges\non the computer (i.e. a non-root user). The Administration Server\nwill give this user/group some permissions in specific paths/files\nto perform server-specific operations.\n\nIf you have not yet created a user and group for the server,\ncreate this user and group using your native operating\nsystem utilities.\n\n dialog_ssuser_prompt = System User dialog_ssuser_error = The user '%s' is invalid.\n\n dialog_ssuser_must_be_same = Since you are not running setup as root, the System User must be the same as your userid '%s'.\n\n dialog_ssuser_root_warning = You are strongly discouraged to use a non-root user for the server uid.\nIf you feel you have made a mistake,\nplease go back to this dialog and enter another system user.\n\n dialog_ssgroup_prompt = System Group dialog_ssgroup_error = The group '%s' is invalid.\n\n dialog_ssgroup_no_match = The system user '%s' does not belong to the group '%s'.\n\nThis is the list of users of the given group: %s\n\n dialog_ssgroup_no_user = The system user '%s' does not belong to the group '%s'.\n\n # ----------- DS port Dialog Resource ---------------- dialog_dsport_text = The standard directory server network port number is 389. However, if\nyou are not logged as the superuser, or port 389 is in use, the\ndefault value will be a random unused port number greater than 1024.\nIf you want to use port 389, make sure that you are logged in as the\nsuperuser, that port 389 is not in use.\n\n dialog_dsport_prompt = Directory server network port dialog_dsport_error = The port %s is in use or not available. Please choose another port.\n\n # ----------- DS server ID Dialog Resource ---------------- dialog_dsserverid_text = Each instance of a directory server requires a unique identifier.\nThis identifier is used to name the various\ninstance specific files and directories in the file system,\nas well as for other uses as a server instance identifier.\n\n dialog_dsserverid_prompt = Directory server identifier dialog_dsserverid_error = The server identifier '%s' is not valid. Please choose another one.\n\n dialog_dsserverid_inuse = The server identifier '%s' is already in use. Please choose another one.\n\n # ----------- DS suffix Dialog Resource ---------------- dialog_dssuffix_text = The suffix is the root of your directory tree. The suffix must be a valid DN.\nIt is recommended that you use the dc=domaincomponent suffix convention.\nFor example, if your domain is example.com,\nyou should use dc=example,dc=com for your suffix.\nSetup will create this initial suffix for you,\nbut you may have more than one suffix.\nUse the directory server utilities to create additional suffixes.\n\n dialog_dssuffix_prompt = Suffix dialog_dssuffix_error = The suffix '%s' is not a valid DN. Please choose another one.\n\n # ----------- DS Root DN and password Dialog Resource ---------------- dialog_dsrootdn_text = Certain directory server operations require an administrative user.\nThis user is referred to as the Directory Manager and typically has a\nbind Distinguished Name (DN) of cn=Directory Manager.\nYou will also be prompted for the password for this user. The password must\nbe at least 8 characters long, and contain no spaces.\n\n dialog_dsrootdn_prompt = Directory Manager DN dialog_dsrootdn_error = The input '%s' is not a valid DN. Please choose another one.\n\n dialog_dsrootpw_prompt1 = Password dialog_dsrootpw_prompt2 = Password (again) dialog_dsrootpw_invalid = The password contains invalid characters. Please choose another one.\n\n dialog_dsrootpw_tooshort = The password must be at least %s characters long. Please choose another one.\n\n dialog_dsrootpw_nomatch = The passwords do not match. Please try again.\n\n # ----------- DS Sample Data Dialog Resource ---------------- dialog_dssample_text = You may install some sample entries in this directory instance. These\nentries will be installed in a separate suffix and will not interfere\nwith the normal operation of the directory server.\n\n dialog_dssample_prompt = Do you want to install the sample entries? # ----------- DS Populate Data Dialog Resource ---------------- dialog_dspopulate_text = You may wish to populate your new directory instance with some data.\n"You may already have a file in LDIF format to use or some suggested\nentries can be added. If you want to import entries from an LDIF\nfile, you may type in the full path and filename at the prompt. If\nyou want the setup program to add the suggested entries, type the\nword suggest at the prompt. The suggested entries are common\ncontainer entries under your specified suffix, such as ou=People and\nou=Groups, which are commonly used to hold the entries for the persons\nand groups in your organization. If you do not want to add any of\nthese entries, type the word none at the prompt.\n\n dialog_dspopulate_prompt = Type the full path and filename, the word suggest, or the word none dialog_dspopulate_error = The file '%s' was not found. Please choose another one.\n\n From fedora-directory-commits at redhat.com Fri Jun 8 20:36:55 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Fri, 8 Jun 2007 16:36:55 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/admin/src/scripts Resource.pm, 1.1, 1.2 setup-ds.res.in, 1.1, 1.2 Message-ID: <200706082036.l58KatIW025295@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver/ldap/admin/src/scripts In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv25137/ldapserver/ldap/admin/src/scripts Modified Files: Resource.pm setup-ds.res.in Log Message: Resolves: bug 237356 Description: Move DS Admin Code into Admin Server Fix Description: The Resource class needs to support more than 1 resource file e.g. for ds-base and ds-admin. The property dir should be under $datadir. Property files are data files, not really config files. Added a shared_lib_suffix token Fixed some wording errors in the resource file. Platforms tested: RHEL4 Flag Day: no Doc impact: No new doc impact from previous commits for this bug. Index: Resource.pm =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/Resource.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Resource.pm 8 Jun 2007 01:09:16 -0000 1.1 +++ Resource.pm 8 Jun 2007 20:36:53 -0000 1.2 @@ -51,41 +51,44 @@ my $type = shift; my $self = {}; - $self->{filename} = shift; + while (@_) { + push @{$self->{filenames}}, shift; + } $self = bless $self, $type; - if ($self->{filename}) { + if (@{$self->{filenames}}) { $self->read(); } return $self; } +# the resource files are read in order given. Definitions from +# later files override the same definitions in earlier files. sub read { my $self = shift; - my $filename = shift; - if ($filename) { - $self->{filename} = $filename; - } else { - $filename = $self->{filename}; - } - - open RES, $filename or die "Error: could not open resource file $filename: $!"; - while () { - next if (/^\s*$/); # skip blank lines - next if (/^\s*\#/); # skip comment lines - # read name = value pairs like this - # bol whitespace* name whitespace* '=' whitespace* value eol - # the value will include any trailing whitespace - if (/^\s*(.*?)\s*=\s*(.*?)$/) { - $self->{res}->{$1} = $2; - # replace \n with real newline - $self->{res}->{$1} =~ s/\\n/\n/g; + while (@_) { + push @{$self->{filenames}}, shift; + } + + for my $filename (@{$self->{filenames}}) { + open RES, $filename or die "Error: could not open resource file $filename: $!"; + while () { + next if (/^\s*$/); # skip blank lines + next if (/^\s*\#/); # skip comment lines + # read name = value pairs like this + # bol whitespace* name whitespace* '=' whitespace* value eol + # the value will include any trailing whitespace + if (/^\s*(.*?)\s*=\s*(.*?)$/) { + $self->{res}->{$1} = $2; + # replace \n with real newline + $self->{res}->{$1} =~ s/\\n/\n/g; + } } - } - close RES; + close RES; + } } # given a resource key and optional args, return the value Index: setup-ds.res.in =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/setup-ds.res.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- setup-ds.res.in 8 Jun 2007 01:09:16 -0000 1.1 +++ setup-ds.res.in 8 Jun 2007 20:36:53 -0000 1.2 @@ -34,12 +34,12 @@ dialog_hostname_warning = The hostname %s does not look like a\nfully qualified host and domain name.\nIf you feel you have made a mistake,\nplease go back to this dialog and enter another name.\n\n # ----------- SSUser Dialog Resource ---------------- -dialog_ssuser_text = The server must run as a specific user in a specific group.\nIt is strongly recommended that this user should have no privileges\non the computer (i.e. a non-root user). The Administration Server\nwill give this user/group some permissions in specific paths/files\nto perform server-specific operations.\n\nIf you have not yet created a user and group for the server,\ncreate this user and group using your native operating\nsystem utilities.\n\n +dialog_ssuser_text = The server must run as a specific user in a specific group.\nIt is strongly recommended that this user should have no privileges\non the computer (i.e. a non-root user). The setup procedure\nwill give this user/group some permissions in specific paths/files\nto perform server-specific operations.\n\nIf you have not yet created a user and group for the server,\ncreate this user and group using your native operating\nsystem utilities.\n\n dialog_ssuser_prompt = System User dialog_ssuser_error = The user '%s' is invalid.\n\n dialog_ssuser_must_be_same = Since you are not running setup as root, the System User must be the same as your userid '%s'.\n\n -dialog_ssuser_root_warning = You are strongly discouraged to use a non-root user for the server uid.\nIf you feel you have made a mistake,\nplease go back to this dialog and enter another system user.\n\n +dialog_ssuser_root_warning = You are strongly encouraged to use a non-root user for the server uid.\nIf you feel you have made a mistake,\nplease go back to this dialog and enter another system user.\n\n dialog_ssgroup_prompt = System Group dialog_ssgroup_error = The group '%s' is invalid.\n\n dialog_ssgroup_no_match = The system user '%s' does not belong to the group '%s'.\n\nThis is the list of users of the given group: %s\n\n From fedora-directory-commits at redhat.com Fri Jun 8 20:36:55 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Fri, 8 Jun 2007 16:36:55 -0400 Subject: [Fedora-directory-commits] ldapserver Makefile.am, 1.40, 1.41 configure.ac, 1.29, 1.30 aclocal.m4, 1.32, 1.33 configure, 1.43, 1.44 missing, 1.25, 1.26 install-sh, 1.25, 1.26 depcomp, 1.25, 1.26 compile, 1.25, 1.26 config.sub, 1.24, 1.25 config.guess, 1.24, 1.25 Makefile.in, 1.47, 1.48 Message-ID: <200706082036.l58KatOM025281@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv25137/ldapserver Modified Files: Makefile.am configure.ac aclocal.m4 configure missing install-sh depcomp compile config.sub config.guess Makefile.in Log Message: Resolves: bug 237356 Description: Move DS Admin Code into Admin Server Fix Description: The Resource class needs to support more than 1 resource file e.g. for ds-base and ds-admin. The property dir should be under $datadir. Property files are data files, not really config files. Added a shared_lib_suffix token Fixed some wording errors in the resource file. Platforms tested: RHEL4 Flag Day: no Doc impact: No new doc impact from previous commits for this bug. Index: Makefile.am =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.am,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- Makefile.am 8 Jun 2007 01:09:14 -0000 1.40 +++ Makefile.am 8 Jun 2007 20:36:52 -0000 1.41 @@ -67,7 +67,7 @@ #------------------------ configdir = $(sysconfdir)@configdir@ sampledatadir = $(datadir)@sampledatadir@ -propertydir = $(sysconfdir)@propertydir@ +propertydir = $(datadir)@propertydir@ schemadir = $(sysconfdir)@schemadir@ serverdir = $(libdir)@serverdir@ serverplugindir = $(libdir)@serverplugindir@ @@ -76,6 +76,8 @@ instconfigdir = @instconfigdir@ perldir = $(libdir)@perldir@ +shared_lib_suffix = @shared_lib_suffix@ + #------------------------ # Build Products #------------------------ @@ -1016,7 +1018,8 @@ -e 's, at brand\@,$(brand),g' \ -e 's, at capbrand\@,$(capbrand),g' \ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ - -e 's, at perldir\@,$(perldir),g' + -e 's, at perldir\@,$(perldir),g' \ + -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' else fixupcmd = sed \ -e 's, at bindir\@,$(bindir),g' \ @@ -1046,7 +1049,8 @@ -e 's, at brand\@,$(brand),g' \ -e 's, at capbrand\@,$(capbrand),g' \ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ - -e 's, at perldir\@,$(perldir),g' + -e 's, at perldir\@,$(perldir),g' \ + -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' endif %: %.in Index: configure.ac =================================================================== RCS file: /cvs/dirsec/ldapserver/configure.ac,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- configure.ac 8 Jun 2007 01:09:15 -0000 1.29 +++ configure.ac 8 Jun 2007 20:36:52 -0000 1.30 @@ -186,8 +186,8 @@ # Shared paths for all layouts # relative to sysconfdir configdir=/$PACKAGE_NAME/config -# relative to sysconfdir -propertydir=/$PACKAGE_NAME/property +# location of property/resource files, relative to datadir +propertydir=/$PACKAGE_NAME/properties # relative to sysconfdir schemadir=/$PACKAGE_NAME/schema # relative to libdir @@ -223,6 +223,7 @@ # cygnus, mingw, or the like and using cmd.exe as the shell AM_CONDITIONAL([WINNT], false) +shared_lib_suffix=.so # Deal with platform dependent defines # relative to sysconfdir initdir=/rc.d @@ -260,6 +261,7 @@ AC_DEFINE([OS_hpux], [1], [OS HP-UX]) AC_DEFINE([_POSIX_C_SOURCE], [199506L], [POSIX revision]) AC_DEFINE([_HPUX_SOURCE], [1], [Source namespace]) + shared_lib_suffix=.sl platform="hpux" ;; sparc-sun-solaris*) @@ -295,6 +297,7 @@ ;; esac AC_SUBST(initdir) +AC_SUBST(shared_lib_suffix) AM_CONDITIONAL(HPUX,test "$platform" = "hpux") AM_CONDITIONAL(SOLARIS,test "$platform" = "solaris") Index: configure =================================================================== RCS file: /cvs/dirsec/ldapserver/configure,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- configure 8 Jun 2007 01:09:15 -0000 1.43 +++ configure 8 Jun 2007 20:36:52 -0000 1.44 @@ -465,7 +465,7 @@ #endif" 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 debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS' +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 debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir shared_lib_suffix HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -23177,8 +23177,8 @@ # Shared paths for all layouts # relative to sysconfdir configdir=/$PACKAGE_NAME/config -# relative to sysconfdir -propertydir=/$PACKAGE_NAME/property +# location of property/resource files, relative to datadir +propertydir=/$PACKAGE_NAME/properties # relative to sysconfdir schemadir=/$PACKAGE_NAME/schema # relative to libdir @@ -23228,6 +23228,7 @@ fi +shared_lib_suffix=.so # Deal with platform dependent defines # relative to sysconfdir initdir=/rc.d @@ -23361,6 +23362,7 @@ #define _HPUX_SOURCE 1 _ACEOF + shared_lib_suffix=.sl platform="hpux" ;; sparc-sun-solaris*) @@ -23446,6 +23448,7 @@ + if test "$platform" = "hpux"; then HPUX_TRUE= HPUX_FALSE='#' @@ -25999,6 +26002,7 @@ s, at LIBCSTD@,$LIBCSTD,;t t s, at LIBCRUN@,$LIBCRUN,;t t s, at initdir@,$initdir,;t t +s, at shared_lib_suffix@,$shared_lib_suffix,;t t s, at HPUX_TRUE@,$HPUX_TRUE,;t t s, at HPUX_FALSE@,$HPUX_FALSE,;t t s, at SOLARIS_TRUE@,$SOLARIS_TRUE,;t t Index: Makefile.in =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.in,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- Makefile.in 8 Jun 2007 01:09:15 -0000 1.47 +++ Makefile.in 8 Jun 2007 20:36:52 -0000 1.48 @@ -962,7 +962,7 @@ perldir = $(libdir)@perldir@ prefix = @prefix@ program_transform_name = @program_transform_name@ -propertydir = $(sysconfdir)@propertydir@ +propertydir = $(datadir)@propertydir@ sampledatadir = $(datadir)@sampledatadir@ sasl_inc = @sasl_inc@ sasl_lib = @sasl_lib@ @@ -972,6 +972,7 @@ scripttemplatedir = @scripttemplatedir@ serverdir = $(libdir)@serverdir@ serverplugindir = $(libdir)@serverplugindir@ +shared_lib_suffix = @shared_lib_suffix@ sharedstatedir = @sharedstatedir@ svrcore_inc = @svrcore_inc@ svrcore_lib = @svrcore_lib@ @@ -1909,7 +1910,8 @@ @BUNDLE_FALSE@ -e 's, at brand\@,$(brand),g' \ @BUNDLE_FALSE@ -e 's, at capbrand\@,$(capbrand),g' \ @BUNDLE_FALSE@ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ - at BUNDLE_FALSE@ -e 's, at perldir\@,$(perldir),g' + at BUNDLE_FALSE@ -e 's, at perldir\@,$(perldir),g' \ + at BUNDLE_FALSE@ -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' # these are for the config files and scripts that we need to generate and replace @@ -1946,7 +1948,8 @@ @BUNDLE_TRUE@ -e 's, at brand\@,$(brand),g' \ @BUNDLE_TRUE@ -e 's, at capbrand\@,$(capbrand),g' \ @BUNDLE_TRUE@ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ - at BUNDLE_TRUE@ -e 's, at perldir\@,$(perldir),g' + at BUNDLE_TRUE@ -e 's, at perldir\@,$(perldir),g' \ + at BUNDLE_TRUE@ -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-am From fedora-directory-commits at redhat.com Fri Jun 8 22:49:20 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Fri, 8 Jun 2007 18:49:20 -0400 Subject: [Fedora-directory-commits] adminserver/admserv/newinst/src ASDialogs.pm.in, NONE, 1.1 setup-ds-admin.pl.in, NONE, 1.1 setup-ds-admin.res.in, NONE, 1.1 Message-ID: <200706082249.l58MnKHF020962@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/adminserver/admserv/newinst/src In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20908/adminserver/admserv/newinst/src Added Files: ASDialogs.pm.in setup-ds-admin.pl.in setup-ds-admin.res.in Log Message: Resolves: bug 237356 Bug Description: Move DS Admin Code into Admin Server Reviewed by: nkinder (Thanks!) Fix Description: This adds the admin server specific setup "ui" and main script driver. Some of the values are currently missing because they don't yet have ui support. These are commented out in setup-ds-admin.pl. But at least this gives us the framework to add support for config DS creation, server registration, and other post config stuff. Platforms tested: RHEL4 Flag Day: no Doc impact: Yes, along with the rest of the new setup stuff. --- NEW FILE ASDialogs.pm.in --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # package ASDialogs; use strict; use DialogManager; use Setup; use Dialog; use Util; my $asport = new Dialog ( $TYPICAL, 'dialog_asport_text', sub { my $self = shift; my $port = $self->{manager}->{inf}->{admin}->{Port}; if (!defined($port)) { $port = @admservport@; } if (!portAvailable($port)) { $port = getAvailablePort(); } return $port; }, sub { my $self = shift; my $ans = shift; my $res = $DialogManager::SAME; if ($ans !~ /\d+/) { $self->{manager}->alert("dialog_asport_error", $ans); } elsif (!portAvailable($ans)) { $self->{manager}->alert("dialog_asport_error", $ans); } else { $res = $DialogManager::NEXT; $self->{manager}->{inf}->{admin}->{Port} = $ans; } return $res; }, ['dialog_asport_prompt'] ); my $ashostip = new Dialog ( $CUSTOM, 'dialog_ashostip_text', sub { my $self = shift; return $self->{manager}->{inf}->{admin}->{ServerIpAddress}; }, sub { my $self = shift; my $ans = shift; $self->{manager}->{inf}->{admin}->{ServerIpAddress} = shift; return $DialogManager::NEXT; }, ['dialog_ashostip_prompt'] ); # must verify that the user or uid specified by the user to run the server as # is a valid uid sub verifyUserChoice { my $self = shift; my $ans = shift; my $res = $DialogManager::NEXT; # convert numeric uid to string my $strans = $ans; if ($ans =~ /^\d/) { # numeric - convert to string $strans = getpwuid $ans; if (!$strans) { $self->{manager}->alert("dialog_assysuser_error", $ans); return $DialogManager::SAME; } } if ($> != 0) { # if not root, the user must be our uid my $username = getlogin; if ($strans ne $username) { $self->{manager}->alert("dialog_assysuser_must_be_same", $username); return $DialogManager::SAME; } } else { # user is root - verify id my $nuid = getpwnam $strans; if (!defined($nuid)) { $self->{manager}->alert("dialog_assysuser_error", $ans); return $DialogManager::SAME; } if (!$nuid) { $self->{manager}->alert("dialog_assysuser_root_warning"); } } $self->{manager}->{inf}->{admin}->{SysUser} = $ans; return $res; } my $assysuser = new Dialog ( $CUSTOM, 'dialog_assysuser_text', sub { my $self = shift; my $user = $self->{manager}->{inf}->{admin}->{SysUser}; if (!defined($user)) { $user = $self->{manager}->{inf}->{General}->{SuiteSpotUserID}; } if (!defined($user)) { if ($> == 0) { # if root, use the default user $user = "@httpduser@"; } else { # if not root, use the user's uid $user = getlogin; } } return $user; }, sub { my $self = shift; my $ans = shift; return verifyUserChoice($self, $ans); }, ['dialog_assysuser_prompt'] ); sub getDialogs { return ($asport, $ashostip, $assysuser); } 1; --- NEW FILE setup-ds-admin.pl.in --- #!/usr/bin/env perl # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # use lib '@perldir@'; use strict; use Setup; use SetupLog; use Inf; use Resource; use DialogManager; my $setup = new Setup; if (!$setup->{silent}) { my $res = new Resource("@propertydir@/setup-ds.res", "@propertydir@/setup-ds-admin.res"); my $dialogmgr = new DialogManager($setup, $res, $TYPICAL); require SetupDialogs; require DSDialogs; require ASDialogs; my @dialogs = SetupDialogs->getDialogs(); push @dialogs, DSDialogs->getDialogs(); push @dialogs, ASDialogs->getDialogs(); $dialogmgr->addDialog(@dialogs); my $rc = $dialogmgr->run(); if ($rc) { $setup->doExit(); } # these values are currently missing - have no UI support - ServerAdminID and Pwd # are supposed to be derived from ConfigDirectoryAdminID and Pwd # $setup->{inf}->{admin}->{ServerAdminID} = "admin"; # $setup->{inf}->{admin}->{ServerAdminPwd} = "admin"; # $setup->{inf}->{General}->{ConfigDirectoryLdapURL} = "ldap://localhost.localdomain:1100/o=NetscapeRoot"; # $setup->{inf}->{General}->{ConfigDirectoryAdminID} = "admin"; # $setup->{inf}->{General}->{ConfigDirectoryAdminPwd} = "admin"; # $setup->{inf}->{General}->{AdminDomain} = "localdomain"; $setup->{inf}->write(); } # create a directory server instance if (system("@bindir@/ds_newinst.pl $setup->{inffile}")) { print STDERR "Failed to create directory server instance\n"; $setup->{log}->logMessage($FATAL, "Setup", "Failed to create directory server instance"); } # configure the admin server instance if (system("@cmdbindir@/ds-admin-update -f $setup->{inffile}")) { print STDERR "Failed to configure administration server\n"; $setup->{log}->logMessage($FATAL, "Setup", "Failed to configure administration server"); } END { if (!$setup->{keep}) { unlink $setup->{inffile}; } $setup->doExit(); } --- NEW FILE setup-ds-admin.res.in --- # this overrides the default # ------------ Welcome Dialog Resource ------------ dialog_welcome_text = This program will setup the %s Directory and Administration Servers.\n\nIt is recommended that you have "root" privilege to setup the software.\nTips for using this program:\n - Press "Enter" to choose the default and go to the next screen\n - Type "Control-B" then "Enter" to go back to the previous screen\n - Type "Control-C" to cancel the setup program\n - You can enter multiple items using commas to separate them.\n For example: 1, 2, 3 \n\n # %s -> brand # this overrides the default # ----------- SSUser Dialog Resource ---------------- dialog_ssuser_text = The servers must run as a specific user in a specific group.\nIt is strongly recommended that this user should have no privileges\non the computer (i.e. a non-root user). The setup procedure\nwill give this user/group some permissions in specific paths/files\nto perform server-specific operations.\n\nIf you have not yet created a user and group for the servers,\ncreate this user and group using your native operating\nsystem utilities.\n\n # ----------- AS port Dialog Resource ---------------- dialog_asport_text = The Administration Server is separate from any of your web or application\nservers since it listens to a different port and access to it is\nrestricted.\n\nPick a port number between 1024 and 65535 to run your Administration\nServer on. You should NOT use a port number which you plan to\nrun a web or application server on, rather, select a number which you\nwill remember and which will not be used for anything else.\n\nThe default in brackets was randomly selected from the available\nports on your system.\n\n dialog_asport_prompt = Administration port dialog_asport_error = The port %s is in use or not available. Please choose another port.\n\n # ----------- AS host IP Dialog Resource ---------------- dialog_ashostip_text = If you want to configure the Administration Server to bind\nto a specific IP address, enter the address below.\n\n dialog_ashostip_prompt = IP address # ----------- AS sys user Dialog Resource ---------------- dialog_assysuser_text = The Administration Server program runs as a certain user on your\nsystem. This user must have permission to modify files and directories\nfor your Directory server as well as the Administration server. You\nare strongly encouraged to use a non-privileged (i.e. non-root) user.\n\n dialog_assysuser_prompt = Run Administration Server as dialog_assysuser_error = The user '%s' is invalid.\n\n dialog_assysuser_must_be_same = Since you are not running setup as root, the user must be the same as your userid '%s'.\n\n dialog_assysuser_root_warning = You are strongly encouraged to use a non-root user for\nthe server uid. If you feel you have made a mistake,\nplease go back to this dialog and enter another user.\n\n From fedora-directory-commits at redhat.com Fri Jun 8 22:49:20 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Fri, 8 Jun 2007 18:49:20 -0400 Subject: [Fedora-directory-commits] adminserver Makefile.am, 1.6, 1.7 configure.ac, 1.4, 1.5 aclocal.m4, 1.4, 1.5 configure, 1.5, 1.6 missing, 1.3, 1.4 install-sh, 1.3, 1.4 depcomp, 1.3, 1.4 config.sub, 1.3, 1.4 config.guess, 1.3, 1.4 compile, 1.3, 1.4 Makefile.in, 1.6, 1.7 Message-ID: <200706082249.l58MnKX7020971@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/adminserver In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20908/adminserver Modified Files: Makefile.am configure.ac aclocal.m4 configure missing install-sh depcomp config.sub config.guess compile Makefile.in Log Message: Resolves: bug 237356 Bug Description: Move DS Admin Code into Admin Server Reviewed by: nkinder (Thanks!) Fix Description: This adds the admin server specific setup "ui" and main script driver. Some of the values are currently missing because they don't yet have ui support. These are commented out in setup-ds-admin.pl. But at least this gives us the framework to add support for config DS creation, server registration, and other post config stuff. Platforms tested: RHEL4 Flag Day: no Doc impact: Yes, along with the rest of the new setup stuff. Index: Makefile.am =================================================================== RCS file: /cvs/dirsec/adminserver/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Makefile.am 21 May 2007 15:52:25 -0000 1.6 +++ Makefile.am 8 Jun 2007 22:49:18 -0000 1.7 @@ -81,6 +81,7 @@ ldifdir = $(datadir)@ldifdir@ admmoddir = $(libdir)@admmoddir@ infdir = $(datadir)@infdir@ +perldir = $(libdir)@perldir@ libbase_a_SOURCES = lib/base/file.cpp lib/base/nscperror.c \ lib/base/system.cpp lib/base/nscputil.cpp @@ -127,8 +128,12 @@ cgibin_SCRIPTS = admserv/cgi-src40/Cgi.pm nodist_cmdbin_SCRIPTS = admserv/cfgstuff/start-ds-admin admserv/cfgstuff/stop-ds-admin admserv/cfgstuff/restart-ds-admin +cmdbin_SCRIPTS = admserv/newinst/src/setup-ds-admin.pl + cmdbin_PROGRAMS = ds-admin-config ds-admin-remove ds-admin-update +perl_SCRIPTS = admserv/newinst/src/ASDialogs.pm + libds_admin_serv_la_SOURCES = $(libbase_a_SOURCES) $(libsi18n_a_SOURCES) $(libadmin_a_SOURCES) # source files for our CGI programs @@ -244,8 +249,10 @@ admserv/cgi-src40/viewlog_root.res MOSTLYCLEANFILES += $(RESOURCE_BUNDLES_ROOT) -# property file installation is handled specially +# ICU resource file installation is handled specially nodist_property_DATA = $(RESOURCE_BUNDLES_ROOT) +# regular property files go here +property_DATA = admserv/newinst/src/setup-ds-admin.res # French resource bundles (for the French localization in the future) #RESOURCE_BUNDLES_FR = foo_fr.res @@ -270,6 +277,7 @@ # ADMConfigDir = /etc/packagename fixupcmd = sed \ -e 's, at HTTPD\@,$(HTTPD),g' \ + -e 's, at bindir\@,$(bindir),g' \ -e 's, at cgibindir\@,$(cgibindir),g' \ -e 's, at cmdbindir\@,$(cmdbindir),g' \ -e 's, at moddir\@,$(moddir),g' \ @@ -303,7 +311,8 @@ -e 's, at brand\@,$(brand),g' \ -e 's, at capbrand\@,$(capbrand),g' \ -e 's, at vendor\@,$(vendor),g' \ - -e 's, at mimemagic\@,$(mimemagic),g' + -e 's, at mimemagic\@,$(mimemagic),g' \ + -e 's, at perldir\@,$(perldir),g' # because the source may be either httpd.conf.in or httpd-2.2.conf.in admserv/cfgstuff/httpd.conf: $(HTTPD_CONF_SRC) Index: configure.ac =================================================================== RCS file: /cvs/dirsec/adminserver/configure.ac,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- configure.ac 21 May 2007 15:52:25 -0000 1.4 +++ configure.ac 8 Jun 2007 22:49:18 -0000 1.5 @@ -142,6 +142,9 @@ # relative to libdir admmoddir=/$PACKAGE_BASE_NAME/modules +# relative to libdir +perldir=/$PACKAGE_BASE_NAME/perl + # write out paths for binary components AC_SUBST(PACKAGE_BASE_NAME) AC_SUBST(nspr_inc) @@ -191,6 +194,7 @@ AC_SUBST(admmoddir) AC_SUBST(nssmoddir) AC_SUBST(infdir) +AC_SUBST(perldir) AC_SUBST(brand) AC_SUBST(capbrand) Index: configure =================================================================== RCS file: /cvs/dirsec/adminserver/configure,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- configure 21 May 2007 15:52:25 -0000 1.5 +++ configure 8 Jun 2007 22:49:18 -0000 1.6 @@ -468,7 +468,7 @@ ac_default_prefix=/opt/$PACKAGE_BASE_NAME ac_subdirs_all="$ac_subdirs_all mod_admserv" ac_subdirs_all="$ac_subdirs_all mod_restartd" -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 HTTPD APXS PKG_CONFIG ICU_CONFIG nsspcache instconfigdir PACKAGE_BASE_NAME nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir adminutil_inc adminutil_lib adminutil_libdir adminutil_ver setuputil_lib setuputil_libdir setuputil_inc setuputil_bin icu_lib icu_libdir icu_inc icu_bin curses_lib instancename cgibindir cmdbindir moddir modnssbindir propertydir htmldir icondir manualdir httpdconf mimemagic httpduser httpdgroup logdir piddir pidfile admservport ldifdir admmoddir nssmoddir infdir brand capbrand vendor WINNT_TRUE WINNT_FALSE APACHE22_TRUE APACHE22_FALSE subdirs MOD_ADMSERV_TRUE MOD_ADMSERV_FALSE MOD_RESTARTD_TRUE MOD_RESTARTD_FALSE LTLIBOBJS' +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 HTTPD APXS PKG_CONFIG ICU_CONFIG nsspcache instconfigdir PACKAGE_BASE_NAME nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir adminutil_inc adminutil_lib adminutil_libdir adminutil_ver setuputil_lib setuputil_libdir setuputil_inc setuputil_bin icu_lib icu_libdir icu_inc icu_bin curses_lib instancename cgibindir cmdbindir moddir modnssbindir propertydir htmldir icondir manualdir httpdconf mimemagic httpduser httpdgroup logdir piddir pidfile admservport ldifdir admmoddir nssmoddir infdir perldir brand capbrand vendor WINNT_TRUE WINNT_FALSE APACHE22_TRUE APACHE22_FALSE subdirs MOD_ADMSERV_TRUE MOD_ADMSERV_FALSE MOD_RESTARTD_TRUE MOD_RESTARTD_FALSE LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -24736,6 +24736,9 @@ # relative to libdir admmoddir=/$PACKAGE_BASE_NAME/modules +# relative to libdir +perldir=/$PACKAGE_BASE_NAME/perl + # write out paths for binary components @@ -24790,6 +24793,7 @@ + # WINNT should be true if building on Windows system not using # cygnus, mingw, or the like and using cmd.exe as the shell @@ -25655,6 +25659,7 @@ s, at admmoddir@,$admmoddir,;t t s, at nssmoddir@,$nssmoddir,;t t s, at infdir@,$infdir,;t t +s, at perldir@,$perldir,;t t s, at brand@,$brand,;t t s, at capbrand@,$capbrand,;t t s, at vendor@,$vendor,;t t Index: Makefile.in =================================================================== RCS file: /cvs/dirsec/adminserver/Makefile.in,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Makefile.in 21 May 2007 15:52:25 -0000 1.6 +++ Makefile.in 8 Jun 2007 22:49:18 -0000 1.7 @@ -79,10 +79,12 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cgibindir)" \ "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cgibindir)" \ - "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(helpdir)" \ + "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cmdbindir)" \ + "$(DESTDIR)$(perldir)" "$(DESTDIR)$(helpdir)" \ "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" \ "$(DESTDIR)$(infdir)" "$(DESTDIR)$(ldifdir)" \ - "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" + "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" \ + "$(DESTDIR)$(propertydir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libds_admin_serv_la_LIBADD = @@ -182,8 +184,11 @@ viewlog_OBJECTS = $(am_viewlog_OBJECTS) viewlog_DEPENDENCIES = $(am__DEPENDENCIES_1) cgibinSCRIPT_INSTALL = $(INSTALL_SCRIPT) +cmdbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) nodist_cmdbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) -SCRIPTS = $(cgibin_SCRIPTS) $(nodist_cmdbin_SCRIPTS) +perlSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(cgibin_SCRIPTS) $(cmdbin_SCRIPTS) $(nodist_cmdbin_SCRIPTS) \ + $(perl_SCRIPTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I. depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -236,9 +241,10 @@ ldifDATA_INSTALL = $(INSTALL_DATA) nodist_configDATA_INSTALL = $(INSTALL_DATA) nodist_propertyDATA_INSTALL = $(INSTALL_DATA) +propertyDATA_INSTALL = $(INSTALL_DATA) DATA = $(dist_help_DATA) $(dist_html_DATA) $(dist_icon_DATA) \ $(inf_DATA) $(ldif_DATA) $(nodist_config_DATA) \ - $(nodist_property_DATA) + $(nodist_property_DATA) $(property_DATA) ETAGS = etags CTAGS = ctags DIST_SUBDIRS = mod_admserv mod_restartd @@ -400,6 +406,7 @@ nssmoddir = @nssmoddir@ nsspcache = @nsspcache@ oldincludedir = @oldincludedir@ +perldir = $(libdir)@perldir@ piddir = $(localstatedir)@piddir@ pidfile = @pidfile@ prefix = @prefix@ @@ -488,6 +495,8 @@ inf_DATA = admserv/newinst/src/admin.inf cgibin_SCRIPTS = admserv/cgi-src40/Cgi.pm nodist_cmdbin_SCRIPTS = admserv/cfgstuff/start-ds-admin admserv/cfgstuff/stop-ds-admin admserv/cfgstuff/restart-ds-admin +cmdbin_SCRIPTS = admserv/newinst/src/setup-ds-admin.pl +perl_SCRIPTS = admserv/newinst/src/ASDialogs.pm libds_admin_serv_la_SOURCES = $(libbase_a_SOURCES) $(libsi18n_a_SOURCES) $(libadmin_a_SOURCES) # source files for our CGI programs @@ -594,8 +603,10 @@ admserv/cgi-src40/sec-activate_root.res \ admserv/cgi-src40/viewlog_root.res -# property file installation is handled specially +# ICU resource file installation is handled specially nodist_property_DATA = $(RESOURCE_BUNDLES_ROOT) +# regular property files go here +property_DATA = admserv/newinst/src/setup-ds-admin.res # these are for the config files and scripts that we need to generate and replace # the paths and other tokens with the real values set during configure/make @@ -605,6 +616,7 @@ # ADMConfigDir = /etc/packagename fixupcmd = sed \ -e 's, at HTTPD\@,$(HTTPD),g' \ + -e 's, at bindir\@,$(bindir),g' \ -e 's, at cgibindir\@,$(cgibindir),g' \ -e 's, at cmdbindir\@,$(cmdbindir),g' \ -e 's, at moddir\@,$(moddir),g' \ @@ -638,7 +650,8 @@ -e 's, at brand\@,$(brand),g' \ -e 's, at capbrand\@,$(capbrand),g' \ -e 's, at vendor\@,$(vendor),g' \ - -e 's, at mimemagic\@,$(mimemagic),g' + -e 's, at mimemagic\@,$(mimemagic),g' \ + -e 's, at perldir\@,$(perldir),g' all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -999,6 +1012,25 @@ echo " rm -f '$(DESTDIR)$(cgibindir)/$$f'"; \ rm -f "$(DESTDIR)$(cgibindir)/$$f"; \ done +install-cmdbinSCRIPTS: $(cmdbin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(cmdbindir)" || $(mkdir_p) "$(DESTDIR)$(cmdbindir)" + @list='$(cmdbin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(cmdbinSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(cmdbindir)/$$f'"; \ + $(cmdbinSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(cmdbindir)/$$f"; \ + else :; fi; \ + done + +uninstall-cmdbinSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(cmdbin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(cmdbindir)/$$f'"; \ + rm -f "$(DESTDIR)$(cmdbindir)/$$f"; \ + done install-nodist_cmdbinSCRIPTS: $(nodist_cmdbin_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(cmdbindir)" || $(mkdir_p) "$(DESTDIR)$(cmdbindir)" @@ -1018,6 +1050,25 @@ echo " rm -f '$(DESTDIR)$(cmdbindir)/$$f'"; \ rm -f "$(DESTDIR)$(cmdbindir)/$$f"; \ done +install-perlSCRIPTS: $(perl_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(perldir)" || $(mkdir_p) "$(DESTDIR)$(perldir)" + @list='$(perl_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(perlSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(perldir)/$$f'"; \ + $(perlSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(perldir)/$$f"; \ + else :; fi; \ + done + +uninstall-perlSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(perl_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(perldir)/$$f'"; \ + rm -f "$(DESTDIR)$(perldir)/$$f"; \ + done mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -1402,6 +1453,23 @@ echo " rm -f '$(DESTDIR)$(propertydir)/$$f'"; \ rm -f "$(DESTDIR)$(propertydir)/$$f"; \ done +install-propertyDATA: $(property_DATA) + @$(NORMAL_INSTALL) + test -z "$(propertydir)" || $(mkdir_p) "$(DESTDIR)$(propertydir)" + @list='$(property_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(propertyDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(propertydir)/$$f'"; \ + $(propertyDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(propertydir)/$$f"; \ + done + +uninstall-propertyDATA: + @$(NORMAL_UNINSTALL) + @list='$(property_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(propertydir)/$$f'"; \ + rm -f "$(DESTDIR)$(propertydir)/$$f"; \ + done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -1683,7 +1751,7 @@ config.h installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(helpdir)" "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(ldifdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)"; do \ + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(helpdir)" "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(ldifdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: install-recursive @@ -1744,10 +1812,12 @@ info-am: install-data-am: install-cgibinPROGRAMS install-cgibinSCRIPTS \ - install-cmdbinPROGRAMS install-dist_helpDATA \ - install-dist_htmlDATA install-dist_iconDATA install-infDATA \ - install-ldifDATA install-nodist_cmdbinSCRIPTS \ - install-nodist_configDATA install-nodist_propertyDATA + install-cmdbinPROGRAMS install-cmdbinSCRIPTS \ + install-dist_helpDATA install-dist_htmlDATA \ + install-dist_iconDATA install-infDATA install-ldifDATA \ + install-nodist_cmdbinSCRIPTS install-nodist_configDATA \ + install-nodist_propertyDATA install-perlSCRIPTS \ + install-propertyDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook @@ -1780,11 +1850,13 @@ ps-am: uninstall-am: uninstall-cgibinPROGRAMS uninstall-cgibinSCRIPTS \ - uninstall-cmdbinPROGRAMS uninstall-dist_helpDATA \ - uninstall-dist_htmlDATA uninstall-dist_iconDATA \ - uninstall-infDATA uninstall-info-am uninstall-ldifDATA \ - uninstall-libLTLIBRARIES uninstall-nodist_cmdbinSCRIPTS \ - uninstall-nodist_configDATA uninstall-nodist_propertyDATA + uninstall-cmdbinPROGRAMS uninstall-cmdbinSCRIPTS \ + uninstall-dist_helpDATA uninstall-dist_htmlDATA \ + uninstall-dist_iconDATA uninstall-infDATA uninstall-info-am \ + uninstall-ldifDATA uninstall-libLTLIBRARIES \ + uninstall-nodist_cmdbinSCRIPTS uninstall-nodist_configDATA \ + uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ + uninstall-propertyDATA uninstall-info: uninstall-info-recursive @@ -1797,24 +1869,28 @@ distclean-libtool distclean-recursive distclean-tags \ distcleancheck distdir distuninstallcheck dvi dvi-am html \ html-am info info-am install install-am install-cgibinPROGRAMS \ - install-cgibinSCRIPTS install-cmdbinPROGRAMS install-data \ - install-data-am install-data-hook install-dist_helpDATA \ - install-dist_htmlDATA install-dist_iconDATA install-exec \ - install-exec-am install-infDATA install-info install-info-am \ - install-ldifDATA install-libLTLIBRARIES install-man \ + install-cgibinSCRIPTS install-cmdbinPROGRAMS \ + install-cmdbinSCRIPTS install-data install-data-am \ + install-data-hook install-dist_helpDATA install-dist_htmlDATA \ + install-dist_iconDATA install-exec install-exec-am \ + install-infDATA install-info install-info-am install-ldifDATA \ + install-libLTLIBRARIES install-man \ install-nodist_cmdbinSCRIPTS install-nodist_configDATA \ - install-nodist_propertyDATA install-strip installcheck \ + install-nodist_propertyDATA install-perlSCRIPTS \ + install-propertyDATA install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic maintainer-clean-recursive \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ uninstall-cgibinPROGRAMS uninstall-cgibinSCRIPTS \ - uninstall-cmdbinPROGRAMS uninstall-dist_helpDATA \ - uninstall-dist_htmlDATA uninstall-dist_iconDATA \ - uninstall-infDATA uninstall-info-am uninstall-ldifDATA \ - uninstall-libLTLIBRARIES uninstall-nodist_cmdbinSCRIPTS \ - uninstall-nodist_configDATA uninstall-nodist_propertyDATA + uninstall-cmdbinPROGRAMS uninstall-cmdbinSCRIPTS \ + uninstall-dist_helpDATA uninstall-dist_htmlDATA \ + uninstall-dist_iconDATA uninstall-infDATA uninstall-info-am \ + uninstall-ldifDATA uninstall-libLTLIBRARIES \ + uninstall-nodist_cmdbinSCRIPTS uninstall-nodist_configDATA \ + uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ + uninstall-propertyDATA define NL \\n From fedora-directory-commits at redhat.com Fri Jun 8 23:19:21 2007 From: fedora-directory-commits at redhat.com (Nathan Kinder (nkinder)) Date: Fri, 8 Jun 2007 19:19:21 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/servers/slapd saslbind.c, 1.23, 1.24 Message-ID: <200706082319.l58NJLEs031552@cvs-int.fedora.redhat.com> Author: nkinder Update of /cvs/dirsec/ldapserver/ldap/servers/slapd In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31128/ldap/servers/slapd Modified Files: saslbind.c Log Message: Resolves: 240583 Summary: Added SASL support to ldclt as well as some thread-safety fixes for ns-slapd when using SASL. Index: saslbind.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/saslbind.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- saslbind.c 27 Feb 2007 02:57:30 -0000 1.23 +++ saslbind.c 8 Jun 2007 23:19:18 -0000 1.24 @@ -54,38 +54,33 @@ /* * utility functions needed by the sasl library */ - -int sasl_os_gethost(char *buf, int len) -{ - int rc; - - rc = gethostname(buf, len); - LDAPDebug(LDAP_DEBUG_TRACE, "sasl_os_gethost %s\n", buf, 0, 0); - return ( rc == 0 ? SASL_OK : SASL_FAIL ); -} - -void *sasl_mutex_alloc(void) +void *nssasl_mutex_alloc(void) { return PR_NewLock(); } -int sasl_mutex_lock(void *mutex) +int nssasl_mutex_lock(void *mutex) { PR_Lock(mutex); return SASL_OK; } -int sasl_mutex_unlock(void *mutex) +int nssasl_mutex_unlock(void *mutex) { if (PR_Unlock(mutex) == PR_SUCCESS) return SASL_OK; return SASL_FAIL; } -void sasl_mutex_free(void *mutex) +void nssasl_mutex_free(void *mutex) { PR_DestroyLock(mutex); } +void nssasl_free(void *ptr) +{ + slapi_ch_free(&ptr); +} + /* * sasl library callbacks */ @@ -603,6 +598,20 @@ LDAPDebug(LDAP_DEBUG_TRACE, "sasl service fqdn is: %s\n", serverfqdn, 0, 0); + /* Set SASL memory allocation callbacks */ + sasl_set_alloc( + (sasl_malloc_t *)slapi_ch_malloc, + (sasl_calloc_t *)slapi_ch_calloc, + (sasl_realloc_t *)slapi_ch_realloc, + (sasl_free_t *)nssasl_free ); + + /* Set SASL mutex callbacks */ + sasl_set_mutex( + (sasl_mutex_alloc_t *)nssasl_mutex_alloc, + (sasl_mutex_lock_t *)nssasl_mutex_lock, + (sasl_mutex_unlock_t *)nssasl_mutex_unlock, + (sasl_mutex_free_t *)nssasl_mutex_free); + result = sasl_server_init(ids_sasl_callbacks, "iDS"); if (result != SASL_OK) { From fedora-directory-commits at redhat.com Fri Jun 8 23:19:21 2007 From: fedora-directory-commits at redhat.com (Nathan Kinder (nkinder)) Date: Fri, 8 Jun 2007 19:19:21 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/servers/slapd/tools ldaptool-sasl.c, NONE, 1.1 ldaptool-sasl.h, NONE, 1.1 ldaptool.h, NONE, 1.1 Message-ID: <200706082319.l58NJMuv031555@cvs-int.fedora.redhat.com> Author: nkinder Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/tools In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31128/ldap/servers/slapd/tools Added Files: ldaptool-sasl.c ldaptool-sasl.h ldaptool.h Log Message: Resolves: 240583 Summary: Added SASL support to ldclt as well as some thread-safety fixes for ns-slapd when using SASL. --- NEW FILE ldaptool-sasl.c --- /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Sun LDAP C SDK. * * The Initial Developer of the Original Code is Sun Microsystems, Inc. * * Portions created by Sun Microsystems, Inc are Copyright (C) 2005 * Sun Microsystems, Inc. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ /* * File for ldaptool routines for SASL */ #include #include "ldaptool.h" #include "ldaptool-sasl.h" #include #include #if defined(HPUX) #include /* for tcgetattr and tcsetattr */ #endif /* HPUX */ #define SASL_PROMPT "Interact" typedef struct { char *mech; char *authid; char *username; char *passwd; char *realm; } ldaptoolSASLdefaults; static int get_default(ldaptoolSASLdefaults *defaults, sasl_interact_t *interact, unsigned flags); static int get_new_value(sasl_interact_t *interact, unsigned flags); /* WIN32 does not have getlogin() so roll our own */ #if defined( _WINDOWS ) || defined( _WIN32 ) #include "LMCons.h" static char *getlogin() { LPTSTR lpszSystemInfo; /* pointer to system information string */ DWORD cchBuff = UNLEN; /* size of user name */ static TCHAR tchBuffer[UNLEN + 1]; /* buffer for expanded string */ lpszSystemInfo = tchBuffer; GetUserName(lpszSystemInfo, &cchBuff); return lpszSystemInfo; } #endif /* _WINDOWS || _WIN32 */ /* Note that it is important to use "" (the empty string, length 0) as the default username value for non-interactive cases. This allows the sasl library to find the best possible default. For example, if using GSSAPI, you want the default value for the username to be extracted from the Kerberos tgt. The sasl library will do that for you if you set the default username to "". */ void * ldaptool_set_sasl_defaults ( LDAP *ld, unsigned flags, char *mech, char *authid, char *username, char *passwd, char *realm ) { ldaptoolSASLdefaults *defaults; char *login = NULL; if ((defaults = calloc(sizeof(ldaptoolSASLdefaults), 1)) == NULL) { return NULL; } /* Try to get the login name */ if ((login = getlogin()) == NULL) { login = ""; } if (mech) { defaults->mech = strdup(mech); } else { ldap_get_option(ld, LDAP_OPT_X_SASL_MECH, &defaults->mech); } if (authid) { /* use explicit passed in value */ defaults->authid = strdup(authid); } else { /* use option value if any */ ldap_get_option(ld, LDAP_OPT_X_SASL_AUTHCID, &defaults->authid); if (!defaults->authid) { /* Default to the login name that is running the command */ defaults->authid = strdup( login ); } } if (username) { /* use explicit passed in value */ defaults->username = strdup(username); } else { /* use option value if any */ ldap_get_option(ld, LDAP_OPT_X_SASL_AUTHZID, &defaults->username); if (!defaults->username && (flags == LDAP_SASL_INTERACTIVE)) { /* Default to the login name that is running the command */ defaults->username = strdup( login ); } else if (!defaults->username) { /* not interactive - use default sasl value */ defaults->username = strdup( "" ); } } if (passwd) defaults->passwd = strdup (passwd); else defaults->passwd = strdup (""); if (realm) { defaults->realm = realm; } else { ldap_get_option(ld, LDAP_OPT_X_SASL_REALM, &defaults->realm); } return defaults; } void ldaptool_free_defaults( void *defaults ) { ldaptoolSASLdefaults *sasl_defaults = defaults; if (sasl_defaults) { if (sasl_defaults->mech) free (sasl_defaults->mech); if (sasl_defaults->authid) free (sasl_defaults->authid); if (sasl_defaults->username) free (sasl_defaults->username); if (sasl_defaults->passwd) free (sasl_defaults->passwd); free (sasl_defaults); sasl_defaults = NULL; } } int ldaptool_sasl_interact( LDAP *ld, unsigned flags, void *defaults, void *prompts ) { sasl_interact_t *interact = NULL; ldaptoolSASLdefaults *sasldefaults = defaults; int rc; if (prompts == NULL) { return (LDAP_PARAM_ERROR); } for (interact = prompts; interact->id != SASL_CB_LIST_END; interact++) { /* Obtain the default value */ if ((rc = get_default(sasldefaults, interact, flags)) != LDAP_SUCCESS) { return (rc); } /* always prompt in interactive mode - only prompt in automatic mode if there is no default - never prompt in quiet mode */ if ( (flags == LDAP_SASL_INTERACTIVE) || ((interact->result == NULL) && (flags == LDAP_SASL_AUTOMATIC)) ) { if ((rc = get_new_value(interact, flags)) != LDAP_SUCCESS) return (rc); } } return (LDAP_SUCCESS); } static int get_default(ldaptoolSASLdefaults *defaults, sasl_interact_t *interact, unsigned flags) { const char *defvalue = interact->defresult; if (defaults != NULL) { switch( interact->id ) { case SASL_CB_AUTHNAME: defvalue = defaults->authid; break; case SASL_CB_USER: defvalue = defaults->username; break; case SASL_CB_PASS: defvalue = defaults->passwd; break; case SASL_CB_GETREALM: defvalue = defaults->realm; break; } } if (defvalue != NULL) { interact->result = defvalue; if ((char *)interact->result == NULL) return (LDAP_NO_MEMORY); interact->len = strlen((char *)(interact->result)); } return (LDAP_SUCCESS); } /* * This function should always be called in LDAP_SASL_INTERACTIVE mode, or * in LDAP_SASL_AUTOMATIC mode when there is no default value. This function * will print out the challenge, default value, and prompt to get the value. * If there is a default value, the user can just press Return/Enter at the * prompt to use the default value. If there is no default, and the user * didn't enter anything, this will return "" (the empty string) as the * value. */ static int get_new_value(sasl_interact_t *interact, unsigned flags) { char *newvalue = NULL, str[1024]; int len = 0; if ((interact->id == SASL_CB_ECHOPROMPT) || (interact->id == SASL_CB_NOECHOPROMPT)) { if (interact->challenge) { fprintf(stderr, "Challenge: %s\n", interact->challenge); } } if (interact->result) { fprintf(stderr, "Default: %s\n", (char *)interact->result); } snprintf(str, sizeof(str), "%s:", interact->prompt?interact->prompt:SASL_PROMPT); str[sizeof(str)-1] = '\0'; /* Get the new value */ if ((interact->id == SASL_CB_PASS) || (interact->id == SASL_CB_NOECHOPROMPT)) { if ((newvalue = ldaptool_getpass( str )) == NULL) { return (LDAP_UNAVAILABLE); } len = strlen(newvalue); } else { fputs(str, stderr); if ((newvalue = fgets(str, sizeof(str), stdin)) == NULL) { return (LDAP_UNAVAILABLE); } len = strlen(str); if ((len > 0) && (str[len - 1] == '\n')) { str[len - 1] = '\0'; len--; } } if (len > 0) { /* user typed in something - use it */ if (interact->result) { free((void *)interact->result); } interact->result = strdup(newvalue); memset(newvalue, '\0', len); if (interact->result == NULL) { return (LDAP_NO_MEMORY); } interact->len = len; } else { /* use default or "" */ if (!interact->result) { interact->result = ""; } interact->len = strlen(interact->result); } return (LDAP_SUCCESS); } /* * Implements getpass like functionality for supported platforms. * * It is the callers responsibility to zero out the memory used * to store the password and to free it when it's finished with * it. */ char * ldaptool_getpass ( const char *prompt ) { char *pass; #if defined(_WIN32) char pbuf[257]; fputs(prompt,stdout); fflush(stdout); if (fgets(pbuf,256,stdin) == NULL) { pass = NULL; } else { char *tmp; tmp = strchr(pbuf,'\n'); if (tmp) *tmp = '\0'; tmp = strchr(pbuf,'\r'); if (tmp) *tmp = '\0'; pass = strdup(pbuf); } #else #if defined(SOLARIS) /* 256 characters on Solaris */ pass = (char *)getpassphrase(prompt); #else #if defined(HPUX) /* HP-UX has deprecated their password asking function, so we have * to resort to doing it the hard way . . . */ char pbuf[257]; struct termios termstat; tcflag_t savestat; /* Only perform terminal manipulation if stdin is a terminal */ int havetty = isatty(fileno(stdin)); fputs(prompt, stdout); fflush(stdout); if(havetty) { if(tcgetattr(fileno(stdin), &termstat) < 0) { perror( "tcgetattr" ); exit( LDAP_LOCAL_ERROR ); } savestat = termstat.c_lflag; termstat.c_lflag &= ~(ECHO | ECHOE | ECHOK); termstat.c_lflag |= (ICANON | ECHONL); if(tcsetattr(fileno(stdin), TCSANOW, &termstat) < 0) { perror( "tcsetattr" ); exit( LDAP_LOCAL_ERROR ); } } if (fgets(pbuf,256,stdin) == NULL) { pass = NULL; } else { char *tmp; pass = NULL; tmp = strchr(pbuf,'\n'); if (tmp) *tmp = '\0'; pass = strdup(pbuf); } if(havetty) { termstat.c_lflag = savestat; if(tcsetattr(fileno(stdin), TCSANOW, &termstat) < 0) { perror( "tcgetattr" ); exit( LDAP_LOCAL_ERROR ); } } #else /* limited to 16 chars on Tru64, 32 on AIX */ pass = (char *)getpass(prompt); #endif #endif #endif return pass; } --- NEW FILE ldaptool-sasl.h --- /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Sun LDAP C SDK. * * The Initial Developer of the Original Code is Sun Microsystems, Inc. * * Portions created by Sun Microsystems, Inc are Copyright (C) 2005 * Sun Microsystems, Inc. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ /* * Include file for ldaptool routines for SASL */ void *ldaptool_set_sasl_defaults ( LDAP *ld, unsigned flags, char *mech, char *authid, char *username, char *passwd, char *realm ); void ldaptool_free_defaults( void *defaults ); int ldaptool_sasl_interact ( LDAP *ld, unsigned flags, void *defaults, void *p ); char * ldaptool_getpass ( const char *prompt ); --- NEW FILE ldaptool.h --- /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is Mozilla Communicator client code, released * March 31, 1998. * * The Initial Developer of the Original Code is * Netscape Communications Corporation. * Portions created by the Initial Developer are Copyright (C) 1998-1999 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either of the GNU General Public License Version 2 or later (the "GPL"), * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #ifndef _LDAPTOOL_H #define _LDAPTOOL_H /* XXX:mhein The following is a workaround for the redefinition of */ /* const problem on OSF. Fix to be provided by NSS */ /* This is a pretty benign workaround for us which */ /* should not cause problems in the future even if */ /* we forget to take it out :-) */ #ifdef OSF1V4D #ifndef __STDC__ # define __STDC__ #endif /* __STDC__ */ #endif /* OSF1V4D */ #include #include #include #include #ifdef AIX #include #endif #ifdef SCOOS #include #endif #ifdef _WINDOWS #define WIN32_LEAN_AND_MEAN #include extern int getopt (int argc, char *const *argv, const char *optstring); #include /* for _mktemp() */ #define LDAPTOOL_MKTEMP( p ) _mktemp( p ) #else #include #include #include #define LDAPTOOL_MKTEMP( p ) mktemp( p ) #endif #ifdef LINUX #include /* not always included from unistd.h */ #endif #include #ifndef SCOOS #include #endif #include #include #if defined(NET_SSL) #include #endif #include #include #include #include #if defined(NET_SSL) #include #endif #include #ifdef __cplusplus extern "C" { #endif /* * shared macros, structures, etc. */ #define LDAPTOOL_RESULT_IS_AN_ERROR( rc ) \ ( (rc) != LDAP_SUCCESS && (rc) != LDAP_COMPARE_TRUE \ && (rc) != LDAP_COMPARE_FALSE ) #define LDAPTOOL_DEFSEP "=" /* used by ldapcmp and ldapsearch */ #define LDAPTOOL_DEFHOST "localhost" #define LDAPTOOL_DEFSSLSTRENGTH LDAPSSL_AUTH_CERT #define LDAPTOOL_DEFCERTDBPATH "." #define LDAPTOOL_DEFKEYDBPATH "." #define LDAPTOOL_DEFREFHOPLIMIT 5 #define LDAPTOOL_SAFEREALLOC( ptr, size ) ( ptr == NULL ? malloc( size ) : \ realloc( ptr, size )) /* this defines the max number of control requests for the tools */ #define CONTROL_REQUESTS 50 /* * globals (defined in common.c) */ extern char *ldaptool_host; extern char *ldaptool_host2; extern int ldaptool_port; extern int ldaptool_port2; extern int ldaptool_verbose; extern int ldaptool_not; extern int ldaptool_nobind; extern int ldaptool_noconv_passwd; extern char *ldaptool_progname; extern FILE *ldaptool_fp; extern char *ldaptool_charset; extern LDAPControl *ldaptool_request_ctrls[]; #ifdef LDAP_DEBUG extern int ldaptool_dbg_lvl; #define LDAPToolDebug(lvl,fmt,arg1,arg2,arg3) if (lvl & ldaptool_dbg_lvl) { fprintf(stderr,fmt,arg1,arg2,arg3); } #else #define LDAPToolDebug(lvl,fmt,arg1,arg2,arg3) #endif /* LDAP_DEBUG */ /* * function prototypes */ void ldaptool_common_usage( int two_hosts ); int ldaptool_process_args( int argc, char **argv, char *extra_opts, int two_hosts, void (*extra_opt_callback)( int option, char *optarg )); LDAP *ldaptool_ldap_init( int second_host ); void ldaptool_bind( LDAP *ld ); void ldaptool_cleanup( LDAP *ld ); int ldaptool_print_lderror( LDAP *ld, char *msg, int check4ssl ); #define LDAPTOOL_CHECK4SSL_NEVER 0 #define LDAPTOOL_CHECK4SSL_ALWAYS 1 #define LDAPTOOL_CHECK4SSL_IF_APPROP 2 /* if appropriate */ LDAPControl *ldaptool_create_manage_dsait_control( void ); void ldaptool_print_referrals( char **refs ); int ldaptool_print_extended_response( LDAP *ld, LDAPMessage *res, char *msg ); LDAPControl *ldaptool_create_proxyauth_control( LDAP *ld ); LDAPControl *ldaptool_create_geteffectiveRights_control ( LDAP *ld, const char *authzid, const char **attrlist ); void ldaptool_add_control_to_array( LDAPControl *ctrl, LDAPControl **array); void ldaptool_reset_control_array( LDAPControl **array ); char *ldaptool_get_tmp_dir( void ); char *ldaptool_local2UTF8( const char *s, const char *desc ); char *ldaptool_getpass( const char *prompt ); char *ldaptool_read_password( FILE *mod_password_fp ); int ldaptool_berval_is_ascii( const struct berval *bvp ); int ldaptool_sasl_bind_s( LDAP *ld, const char *dn, const char *mechanism, const struct berval *cred, LDAPControl **serverctrls, LDAPControl **clientctrls, struct berval **servercredp, char *msg ); int ldaptool_simple_bind_s( LDAP *ld, const char *dn, const char *passwd, LDAPControl **serverctrls, LDAPControl **clientctrls, char *msg ); int ldaptool_add_ext_s( LDAP *ld, const char *dn, LDAPMod **attrs, LDAPControl **serverctrls, LDAPControl **clientctrls, char *msg ); int ldaptool_modify_ext_s( LDAP *ld, const char *dn, LDAPMod **mods, LDAPControl **serverctrls, LDAPControl **clientctrls, char *msg ); int ldaptool_delete_ext_s( LDAP *ld, const char *dn, LDAPControl **serverctrls, LDAPControl **clientctrls, char *msg ); int ldaptool_rename_s( LDAP *ld, const char *dn, const char *newrdn, const char *newparent, int deleteoldrdn, LDAPControl **serverctrls, LDAPControl **clientctrls, char *msg ); int ldaptool_compare_ext_s( LDAP *ld, const char *dn, const char *attrtype, const struct berval *bvalue, LDAPControl **serverctrls, LDAPControl **clientctrls, char *msg ); int ldaptool_boolean_str2value ( const char *s, int strict ); int ldaptool_parse_ctrl_arg ( char *ctrl_arg, char sep, char **ctrl_oid, int *ctrl_criticality, char **ctrl_value, int *vlen); FILE *ldaptool_open_file ( const char *filename, const char * mode); #ifdef __cplusplus } #endif #endif /* LDAPTOOL_H */ From fedora-directory-commits at redhat.com Fri Jun 8 23:19:22 2007 From: fedora-directory-commits at redhat.com (Nathan Kinder (nkinder)) Date: Fri, 8 Jun 2007 19:19:22 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/servers/slapd/tools/ldclt ldapfct.c, 1.2, 1.3 ldclt.c, 1.3, 1.4 ldclt.h, 1.2, 1.3 ldclt.use, 1.1, 1.2 ldcltU.c, 1.2, 1.3 scalab01.c, 1.2, 1.3 Message-ID: <200706082319.l58NJMCk031560@cvs-int.fedora.redhat.com> Author: nkinder Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/tools/ldclt In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31128/ldap/servers/slapd/tools/ldclt Modified Files: ldapfct.c ldclt.c ldclt.h ldclt.use ldcltU.c scalab01.c Log Message: Resolves: 240583 Summary: Added SASL support to ldclt as well as some thread-safety fixes for ns-slapd when using SASL. Index: ldapfct.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/tools/ldclt/ldapfct.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ldapfct.c 10 Nov 2006 23:45:50 -0000 1.2 +++ ldapfct.c 8 Jun 2007 23:19:19 -0000 1.3 @@ -254,6 +254,9 @@ #include "ldclt.h" /* This tool's include file */ #include "utils.h" /* Utilities functions */ /*JLS 14-11-00*/ +#include +#include "ldaptool-sasl.h" + @@ -656,7 +659,6 @@ */ if (tttctx->ldapCtx == NULL) { -#ifdef LDCLTSSL /* * SSL is enabled ? */ @@ -703,7 +705,6 @@ } } } else { -#endif /* * connection initialization in normal, unencrypted mode */ @@ -719,9 +720,7 @@ fflush (stdout); return (-1); } -#ifdef LDCLTSSL } -#endif if (mctx.mode & LDAP_V2) v2v3 = LDAP_VERSION2; @@ -752,7 +751,8 @@ * below in this function ? * 03-05-01 : no cleanup I think, cf M2_RNDBINDFILE */ - if ((mctx.bindDN == NULL) && (!(mctx.mod2 & M2_RNDBINDFILE))) /*JLS 03-05-01*/ + if ((mctx.bindDN == NULL) && ((!(mctx.mod2 & M2_RNDBINDFILE)) + && (!(mctx.mod2 & M2_SASLAUTH)))) { /*JLS 05-03-01*/ tttctx->binded = 1; /*JLS 05-03-01*/ return (0); /*JLS 05-03-01*/ @@ -761,7 +761,6 @@ /* * Maybe we should bind ? */ -#ifdef LDCLTSSL /* * for SSL client authentication, SASL BIND is used */ @@ -804,10 +803,50 @@ return (-1); /*JLS 18-12-00*/ } /*JLS 18-12-00*/ } - } - else - { -#endif /* LDCLTSSL */ + } else if ((mctx.mod2 & M2_SASLAUTH) && ((!(tttctx->binded)) || + (mctx.mode & BIND_EACH_OPER))) { + void *defaults; + LDAPControl **rctrls = NULL; + + if ( mctx.sasl_mech == NULL) { + fprintf( stderr, "Please specify the SASL mechanism name when " + "using SASL options\n"); + return (-1); + } + + if ( mctx.sasl_secprops != NULL) { + ret = ldap_set_option( tttctx->ldapCtx, LDAP_OPT_X_SASL_SECPROPS, + (void *) mctx.sasl_secprops ); + + if ( ret != LDAP_SUCCESS ) { + fprintf( stderr, "Unable to set LDAP_OPT_X_SASL_SECPROPS: %s\n", + mctx.sasl_secprops ); + return (-1); + } + } + + defaults = ldaptool_set_sasl_defaults( tttctx->ldapCtx, mctx.sasl_flags, mctx.sasl_mech, + mctx.sasl_authid, mctx.sasl_username, mctx.passwd, mctx.sasl_realm ); + if (defaults == NULL) { + perror ("malloc"); + exit (LDAP_NO_MEMORY); + } + + ret = ldap_sasl_interactive_bind_ext_s( tttctx->ldapCtx, mctx.bindDN, mctx.sasl_mech, + NULL, NULL, mctx.sasl_flags, + ldaptool_sasl_interact, defaults, NULL ); + if (ret != LDAP_SUCCESS ) { + tttctx->binded = 0; + if (!(mctx.mode & QUIET)) + ldap_perror( tttctx->ldapCtx, "Bind Error" ); + if (addErrorStat (ret) < 0) + return (-1); + } else { + tttctx->binded = 1; + } + + ldaptool_free_defaults( defaults ); + } else { if (((mctx.bindDN != NULL) || (mctx.mod2 & M2_RNDBINDFILE)) && /*03-05-01*/ ((!(tttctx->binded)) || (mctx.mode & BIND_EACH_OPER))) { @@ -857,9 +896,7 @@ } /*JLS 18-12-00*/ } } -#ifdef LDCLTSSL } -#endif /* * Normal end @@ -1769,7 +1806,6 @@ if (mctx.mode & VERY_VERBOSE) /*JLS 14-12-00*/ printf ("ldclt[%d]: T%03d: must connect to the server.\n", mctx.pid, tttctx->thrdNum); -#ifdef LDCLTSSL /* * SSL is enabled ? */ @@ -1815,7 +1851,6 @@ } } } else { -#endif /* * connection initialization in normal, unencrypted mode */ @@ -1827,9 +1862,7 @@ fflush (stdout); return (-1); } -#ifdef LDCLTSSL } -#endif if (mctx.mode & LDAP_V2) v2v3 = LDAP_VERSION2; @@ -1848,7 +1881,6 @@ /* * Bind to the server */ -#ifdef LDCLTSSL /* * for SSL client authentication, SASL BIND is used */ @@ -1867,7 +1899,6 @@ return (-1); } } else { -#endif ret = ldap_simple_bind_s (cnx, tttctx->bufBindDN, tttctx->bufPasswd); if (ret != LDAP_SUCCESS) { @@ -1882,9 +1913,7 @@ return (-1); } } -#ifdef LDCLTSSL } -#endif /* * Create the entry @@ -3276,7 +3305,9 @@ */ if (connectToServer (tttctx) < 0) return (-1); - if (!(tttctx->binded)) + + /* don't count failed binds unless counteach option is used */ + if (!(tttctx->binded) && !(mctx.mode & COUNT_EACH)) return (0); if (incrementNbOpers (tttctx) < 0) Index: ldclt.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/tools/ldclt/ldclt.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ldclt.c 10 Nov 2006 23:45:50 -0000 1.3 +++ ldclt.c 8 Jun 2007 23:19:20 -0000 1.4 @@ -1644,7 +1644,6 @@ } } -#ifdef LDCLTSSL /* * SSL is enabled ? */ @@ -1677,7 +1676,6 @@ } } } -#endif /* LDCLTSSL */ /* * Specific scenarios initialization... @@ -1753,6 +1751,8 @@ printf (" ssl"); if (mctx.mode & CLTAUTH) printf (" ssl_with_client_authentication"); /* BK 23-11-00*/ + if (mctx.mod2 & M2_SASLAUTH) + printf (" saslauth"); if (mctx.mode & SMOOTHSHUTDOWN) /*JLS 17-11-00*/ printf (" smoothshutdown"); /*JLS 17-11-00*/ if (mctx.mode & DONT_SLEEP_DOWN) /*JLS 14-03-01*/ @@ -1857,6 +1857,104 @@ +/* **************************************************************************** + FUNCTION : saslSetParam + PURPOSE : Sets SASL parameters + INPUT : saslarg = value to decode + OUTPUT : None. + RETURN : -1 if error, 0 otherwise. + DESCRIPTION : Copied from Mozilla LDAP C SDK (common.c) + *****************************************************************************/ +int +saslSetParam ( + char *saslarg) +{ + char *attr = NULL; + int argnamelen; + + if (saslarg == NULL) { + fprintf (stderr, "Error: missing SASL argument\n"); + return (-1); + } + + attr = strchr(saslarg, '='); + if (attr == NULL) { + fprintf( stderr, "Didn't find \"=\" character in %s\n", saslarg); + return (-1); + } + + argnamelen = attr - saslarg; + attr++; + + if (!strncasecmp(saslarg, "secProp", argnamelen)) { + if ( mctx.sasl_secprops != NULL ) { + fprintf( stderr, "secProp previously specified\n"); + return (-1); + } + if (( mctx.sasl_secprops = strdup(attr)) == NULL ) { + perror ("malloc"); + exit (LDAP_NO_MEMORY); + } + } else if (!strncasecmp(saslarg, "realm", argnamelen)) { + if ( mctx.sasl_realm != NULL ) { + fprintf( stderr, "Realm previously specified\n"); + return (-1); + } + if (( mctx.sasl_realm = strdup(attr)) == NULL ) { + perror ("malloc"); + exit (LDAP_NO_MEMORY); + } + } else if (!strncasecmp(saslarg, "authzid", argnamelen)) { + if (mctx.sasl_username != NULL) { + fprintf( stderr, "Authorization name previously specified\n"); + return (-1); + } + if (( mctx.sasl_username = strdup(attr)) == NULL ) { + perror ("malloc"); + exit (LDAP_NO_MEMORY); + } + } else if (!strncasecmp(saslarg, "authid", argnamelen)) { + if ( mctx.sasl_authid != NULL ) { + fprintf( stderr, "Authentication name previously specified\n"); + return (-1); + } + if (( mctx.sasl_authid = strdup(attr)) == NULL) { + perror ("malloc"); + exit (LDAP_NO_MEMORY); + } + } else if (!strncasecmp(saslarg, "mech", argnamelen)) { + if ( mctx.sasl_mech != NULL ) { + fprintf( stderr, "Mech previously specified\n"); + return (-1); + } + if (( mctx.sasl_mech = strdup(attr)) == NULL) { + perror ("malloc"); + exit (LDAP_NO_MEMORY); + } + } else if (!strncasecmp(saslarg, "flags", argnamelen)) { + int len = strlen(attr); + if (len && !strncasecmp(attr, "automatic", len)) { + mctx.sasl_flags = LDAP_SASL_AUTOMATIC; + } else if (len && !strncasecmp(attr, "interactive", len)) { + mctx.sasl_flags = LDAP_SASL_INTERACTIVE; + } else if (len && !strncasecmp(attr, "quiet", len)) { + mctx.sasl_flags = LDAP_SASL_QUIET; + } else { + fprintf(stderr, "Invalid SASL flags value [%s]: must be one of " + "automatic, interactive, or quiet\n", attr); + return (-1); + } + } else { + fprintf (stderr, "Invalid SASL attribute name %s\n", saslarg); + return (-1); + } + return 0; +} + + + + + /* New function */ /*JLS 08-03-01*/ /* **************************************************************************** FUNCTION : decodeReferralParams @@ -2480,46 +2578,52 @@ /* * Initialization */ - mctx.attrlistNb = 0; /*JLS 15-03-01*/ - mctx.attrsonly = DEF_ATTRSONLY; /*JLS 03-01-01*/ - mctx.baseDN = "o=sun,c=us"; - mctx.baseDNLow = -1; /*JLS 13-11-00*/ - mctx.baseDNHigh = -1; /*JLS 13-11-00*/ - mctx.bindDN = NULL; - mctx.bindDNLow = -1; /*JLS 05-01-01*/ - mctx.bindDNHigh = -1; /*JLS 05-01-01*/ - mctx.dlf = NULL; /*JLS 23-03-01*/ - mctx.exitStatus = EXIT_OK; /*JLS 25-08-00*/ - mctx.filter = NULL; - mctx.globStatsCnt = DEF_GLOBAL_NB; /*JLS 08-08-00*/ - mctx.hostname = "localhost"; - mctx.ignErrNb = 0; - mctx.images = NULL; /*JLS 17-11-00*/ - mctx.imagesDir = DEF_IMAGES_PATH; /*JLS 16-11-00*/ - mctx.inactivMax = DEF_INACTIV_MAX; - mctx.maxErrors = DEF_MAX_ERRORS; - mctx.mode = NOTHING; - mctx.mod2 = NOTHING; - mctx.nbNoActivity = 0; - mctx.nbSamples = -1; - mctx.nbThreads = DEF_NB_THREADS; - mctx.opListTail = NULL; - mctx.passwd = NULL; - mctx.pid = getpid(); - mctx.port = DEF_PORT; - mctx.randomLow = -1; - mctx.randomHigh = -1; - mctx.referral = DEF_REFERRAL; /*JLS 08-03-01*/ - mctx.sampling = DEF_SAMPLING; - mctx.scope = DEF_SCOPE; - mctx.slaveConn = 0; - mctx.slavesNb = 0; - mctx.timeout = DEF_TIMEOUT; - mctx.totalReq = -1; - mctx.waitSec = 0; - s1ctx.cnxduration = SCALAB01_DEF_CNX_DURATION; /*JLS 12-01-01*/ - s1ctx.maxcnxnb = SCALAB01_DEF_MAX_CNX; /*JLS 12-01-01*/ - s1ctx.wait = SCALAB01_DEF_WAIT_TIME; /*JLS 12-01-01*/ + mctx.attrlistNb = 0; /*JLS 15-03-01*/ + mctx.attrsonly = DEF_ATTRSONLY; /*JLS 03-01-01*/ + mctx.baseDN = "dc=example,dc=com"; + mctx.baseDNLow = -1; /*JLS 13-11-00*/ + mctx.baseDNHigh = -1; /*JLS 13-11-00*/ + mctx.bindDN = NULL; + mctx.bindDNLow = -1; /*JLS 05-01-01*/ + mctx.bindDNHigh = -1; /*JLS 05-01-01*/ + mctx.dlf = NULL; /*JLS 23-03-01*/ + mctx.exitStatus = EXIT_OK; /*JLS 25-08-00*/ + mctx.filter = NULL; + mctx.globStatsCnt = DEF_GLOBAL_NB; /*JLS 08-08-00*/ + mctx.hostname = "localhost"; + mctx.ignErrNb = 0; + mctx.images = NULL; /*JLS 17-11-00*/ + mctx.imagesDir = DEF_IMAGES_PATH; /*JLS 16-11-00*/ + mctx.inactivMax = DEF_INACTIV_MAX; + mctx.maxErrors = DEF_MAX_ERRORS; + mctx.mode = NOTHING; + mctx.mod2 = NOTHING; + mctx.nbNoActivity = 0; + mctx.nbSamples = -1; + mctx.nbThreads = DEF_NB_THREADS; + mctx.opListTail = NULL; + mctx.passwd = NULL; + mctx.pid = getpid(); + mctx.port = DEF_PORT; + mctx.randomLow = -1; + mctx.randomHigh = -1; + mctx.referral = DEF_REFERRAL; /*JLS 08-03-01*/ + mctx.sampling = DEF_SAMPLING; + mctx.sasl_authid = NULL; + mctx.sasl_flags = LDAP_SASL_QUIET; + mctx.sasl_mech = NULL; + mctx.sasl_realm = NULL; + mctx.sasl_secprops = NULL; + mctx.sasl_username = NULL; + mctx.scope = DEF_SCOPE; + mctx.slaveConn = 0; + mctx.slavesNb = 0; + mctx.timeout = DEF_TIMEOUT; + mctx.totalReq = -1; + mctx.waitSec = 0; + s1ctx.cnxduration = SCALAB01_DEF_CNX_DURATION; /*JLS 12-01-01*/ + s1ctx.maxcnxnb = SCALAB01_DEF_MAX_CNX; /*JLS 12-01-01*/ + s1ctx.wait = SCALAB01_DEF_WAIT_TIME; /*JLS 12-01-01*/ /* * Initiates the object *NOW* @@ -2534,7 +2638,7 @@ * Get options */ while ((opt_ret = getopt (argc, argv, - "a:b:D:e:E:f:h:i:I:n:N:p:qQr:R:s:S:t:T:vVw:W:Z:H")) != EOF) + "a:b:D:e:E:f:h:i:I:n:N:o:p:qQr:R:s:S:t:T:vVw:W:Z:H")) != EOF) switch (opt_ret) { case 'a': @@ -2584,6 +2688,11 @@ case 'N': mctx.nbSamples = atoi (optarg); break; + case 'o': + if (saslSetParam (optarg) < 0) + ldcltExit (EXIT_PARAMS); + mctx.mod2 |= M2_SASLAUTH; + break; case 'p': mctx.port = atoi (optarg); break; Index: ldclt.h =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/tools/ldclt/ldclt.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ldclt.h 10 Nov 2006 23:45:50 -0000 1.2 +++ ldclt.h 8 Jun 2007 23:19:20 -0000 1.3 @@ -282,6 +282,7 @@ #define M2_APPEND 0x00000008 /* -e append */ /*JLS 05-04-01*/ #define M2_RNDBINDFILE 0x00000010 /* -e randombinddnfromfile *//*JLS 03-05-01*/ #define M2_BINDONLY 0x00000020 /* -e bindonly */ /*JLS 04-05-01*/ +#define M2_SASLAUTH 0x00000040 /* -o : SASL authentication */ /* * Combinatory defines @@ -536,6 +537,7 @@ char *keydbpin; /* key DB password */ /* BK 23-11-00*/ int lastVal; /* To build filters */ /*JLS 14-03-01*/ ldclt_mutex_t lastVal_mutex; /* Protect lastVal */ /*JLS 14-03-01*/ + int ldapauth; /* Used to indicate auth type */ int maxErrors; /* Max allowed errors */ unsigned int mode; /* Running mode */ unsigned int mod2; /* Running mode - 2 */ /*JLS 19-03-01*/ @@ -560,6 +562,12 @@ char *rndBindFname; /* Rnd bind file name *//*JLS 03-05-01*/ int referral; /* Referral followed */ /*JLS 08-03-01*/ int sampling; /* Sampling frequency */ + char *sasl_authid; + unsigned sasl_flags; + char *sasl_mech; + char *sasl_realm; + char *sasl_secprops; + char *sasl_username; int scope; /* Searches scope */ int slaveConn; /* Slave has connected */ char *slaves[MAX_SLAVES]; /* Slaves list */ Index: ldclt.use =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/tools/ldclt/ldclt.use,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ldclt.use 11 Jan 2006 01:54:30 -0000 1.1 +++ ldclt.use 8 Jun 2007 23:19:20 -0000 1.2 @@ -1,6 +1,6 @@ usage: ldclt [-qQvV] [-E ] [-b ] [-h ] [-p ] [-t ] - [-D ] [-w ] + [-D ] [-w ] [-o ] [-e ] [-a ] [-n ] [-i ] [-N ] [-I ] [-T ] @@ -14,7 +14,7 @@ The valid options are: -a Asynchronous mode, with max pending operations. - -b Give the base DN to use. Default "o=sun,c=us". + -b Give the base DN to use. Default "dc=example,dc=com". -D Bind DN. See -w -E Max errors allowed. Default 1000. -e Execution parameters: @@ -68,6 +68,7 @@ -I Ignore errors (cf. -E). Default none. -n Number of threads. Default 10. -N Number of samples (10 seconds each). Default infinite. + -o SASL Options. -p Server port. Default 389. -P Master port (to check replication). Default 16000. -q Quiet mode. See option -I. Index: ldcltU.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/tools/ldclt/ldcltU.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ldcltU.c 10 Nov 2006 23:45:50 -0000 1.2 +++ ldcltU.c 8 Jun 2007 23:19:20 -0000 1.3 @@ -32,7 +32,7 @@ * * * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission. - * Copyright (C) 2006 Red Hat, Inc. + * Copyright (C) 2007 Red Hat, Inc. * All rights reserved. * END COPYRIGHT BLOCK **/ @@ -47,7 +47,7 @@ /* * usage: ldclt [-qQvV] [-E ] * [-b ] [-h ] [-p ] [-t ] - * [-D ] [-w ] + * [-D ] [-w ] [-o ] * [-e ] [-a ] * [-n ] [-i ] [-N ] * [-I ] [-T ] @@ -61,7 +61,7 @@ * * The valid options are: * -a Asynchronous mode, with max pending operations. - * -b Give the base DN to use. Default "o=sun,c=us". + * -b Give the base DN to use. Default "dc=example,dc=com". * -D Bind DN. See -w * -E Max errors allowed. Default 1000. * -e Execution parameters: @@ -116,6 +116,7 @@ * -I Ignore errors (cf. -E). Default none. * -n Number of threads. Default 10. * -N Number of samples (10 seconds each). Default infinite. + * -o SASL Option. * -p Server port. Default 389. * -P Master port (to check replication). Default 16000. * -q Quiet mode. See option -I. @@ -137,7 +138,7 @@ (void) printf ("\n"); (void) printf ("usage: ldclt [-qQvV] [-E ]\n"); (void) printf (" [-b ] [-h ] [-p ] [-t ]\n"); - (void) printf (" [-D ] [-w ]\n"); + (void) printf (" [-D ] [-w ] [-o ]\n"); (void) printf (" [-e ] [-a ]\n"); (void) printf (" [-n ] [-i ] [-N ]\n"); (void) printf (" [-I ] [-T ]\n"); @@ -206,6 +207,7 @@ (void) printf (" -I Ignore errors (cf. -E). Default none.\n"); (void) printf (" -n Number of threads. Default 10.\n"); (void) printf (" -N Number of samples (10 seconds each). Default infinite.\n"); + (void) printf (" -o SASL Option.\n"); (void) printf (" -p Server port. Default 389.\n"); (void) printf (" -P Master port (to check replication). Default 16000.\n"); (void) printf (" -q Quiet mode. See option -I.\n"); Index: scalab01.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/tools/ldclt/scalab01.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- scalab01.c 10 Nov 2006 23:45:50 -0000 1.2 +++ scalab01.c 8 Jun 2007 23:19:20 -0000 1.3 @@ -513,7 +513,6 @@ /* * Create the LDAP context */ -#ifdef LDCLTSSL /* * SSL is enabled ? */ @@ -558,7 +557,6 @@ } else { -#endif /* * Connection initialization in normal, unencrypted mode */ @@ -573,9 +571,7 @@ fflush (stdout); return (-1); } -#ifdef LDCLTSSL } -#endif /* * Set the LDAP version and other options... @@ -598,7 +594,6 @@ /* * Now we could bind */ -#ifdef LDCLTSSL /* * for SSL client authentication, SASL BIND is used */ @@ -620,7 +615,6 @@ } else { -#endif /* LDCLTSSL */ strcpy (bindDN, SCALAB01_SUPER_USER_RDN); strcat (bindDN, ","); strcat (bindDN, mctx.baseDN); @@ -640,9 +634,7 @@ fflush (stdout); return (-1); } -#ifdef LDCLTSSL } -#endif /* * Normal end... From fedora-directory-commits at redhat.com Fri Jun 8 23:19:20 2007 From: fedora-directory-commits at redhat.com (Nathan Kinder (nkinder)) Date: Fri, 8 Jun 2007 19:19:20 -0400 Subject: [Fedora-directory-commits] ldapserver Makefile.am, 1.41, 1.42 Makefile.in, 1.48, 1.49 aclocal.m4, 1.33, 1.34 configure, 1.44, 1.45 ltmain.sh, 1.15, 1.16 Message-ID: <200706082319.l58NJoeY031592@cvs-int.fedora.redhat.com> Author: nkinder Update of /cvs/dirsec/ldapserver In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31128 Modified Files: Makefile.am Makefile.in aclocal.m4 configure ltmain.sh Log Message: Resolves: 240583 Summary: Added SASL support to ldclt as well as some thread-safety fixes for ns-slapd when using SASL. Index: Makefile.am =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.am,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- Makefile.am 8 Jun 2007 20:36:52 -0000 1.41 +++ Makefile.am 8 Jun 2007 23:19:16 -0000 1.42 @@ -867,7 +867,8 @@ #------------------------ # ldclt #------------------------ -ldclt_bin_SOURCES = ldap/servers/slapd/tools/ldclt/data.c \ +ldclt_bin_SOURCES = ldap/servers/slapd/tools/ldaptool-sasl.c \ + ldap/servers/slapd/tools/ldclt/data.c \ ldap/servers/slapd/tools/ldclt/ldapfct.c \ ldap/servers/slapd/tools/ldclt/ldclt.c \ ldap/servers/slapd/tools/ldclt/ldcltU.c \ @@ -883,7 +884,7 @@ ldclt_bin_SOURCES += ldap/servers/slapd/tools/ldclt/opCheck.c endif -ldclt_bin_CPPFLAGS = $(AM_CPPFLAGS) @ldapsdk_inc@ @nss_inc@ @nspr_inc@ +ldclt_bin_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/ldap/servers/slapd/tools @ldapsdk_inc@ @sasl_inc@ @nss_inc@ @nspr_inc@ ldclt_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBNSL) $(LIBSOCKET) $(LIBDL) #------------------------ Index: Makefile.in =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.in,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- Makefile.in 8 Jun 2007 20:36:52 -0000 1.48 +++ Makefile.in 8 Jun 2007 23:19:16 -0000 1.49 @@ -588,7 +588,8 @@ ldap/servers/slapd/ldap_agent_bin-agtmmap.$(OBJEXT) ldap_agent_bin_OBJECTS = $(am_ldap_agent_bin_OBJECTS) ldap_agent_bin_DEPENDENCIES = $(am__DEPENDENCIES_1) -am__ldclt_bin_SOURCES_DIST = ldap/servers/slapd/tools/ldclt/data.c \ +am__ldclt_bin_SOURCES_DIST = ldap/servers/slapd/tools/ldaptool-sasl.c \ + ldap/servers/slapd/tools/ldclt/data.c \ ldap/servers/slapd/tools/ldclt/ldapfct.c \ ldap/servers/slapd/tools/ldclt/ldclt.c \ ldap/servers/slapd/tools/ldclt/ldcltU.c \ @@ -602,6 +603,7 @@ ldap/servers/slapd/tools/ldclt/opCheck.c @SOLARIS_TRUE at am__objects_3 = ldap/servers/slapd/tools/ldclt/ldclt_bin-opCheck.$(OBJEXT) am_ldclt_bin_OBJECTS = \ + ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.$(OBJEXT) \ ldap/servers/slapd/tools/ldclt/ldclt_bin-data.$(OBJEXT) \ ldap/servers/slapd/tools/ldclt/ldclt_bin-ldapfct.$(OBJEXT) \ ldap/servers/slapd/tools/ldclt/ldclt_bin-ldclt.$(OBJEXT) \ @@ -872,7 +874,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SOLARIS_FALSE = @SOLARIS_FALSE@ @@ -1780,7 +1781,8 @@ #------------------------ # ldclt #------------------------ -ldclt_bin_SOURCES = ldap/servers/slapd/tools/ldclt/data.c \ +ldclt_bin_SOURCES = ldap/servers/slapd/tools/ldaptool-sasl.c \ + ldap/servers/slapd/tools/ldclt/data.c \ ldap/servers/slapd/tools/ldclt/ldapfct.c \ ldap/servers/slapd/tools/ldclt/ldclt.c \ ldap/servers/slapd/tools/ldclt/ldcltU.c \ @@ -1791,7 +1793,7 @@ ldap/servers/slapd/tools/ldclt/utils.c \ ldap/servers/slapd/tools/ldclt/version.c \ ldap/servers/slapd/tools/ldclt/workarounds.c $(am__append_1) -ldclt_bin_CPPFLAGS = $(AM_CPPFLAGS) @ldapsdk_inc@ @nss_inc@ @nspr_inc@ +ldclt_bin_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/ldap/servers/slapd/tools @ldapsdk_inc@ @sasl_inc@ @nss_inc@ @nspr_inc@ ldclt_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBNSL) $(LIBSOCKET) $(LIBDL) #------------------------ @@ -3553,6 +3555,9 @@ ldap-agent-bin$(EXEEXT): $(ldap_agent_bin_OBJECTS) $(ldap_agent_bin_DEPENDENCIES) @rm -f ldap-agent-bin$(EXEEXT) $(LINK) $(ldap_agent_bin_LDFLAGS) $(ldap_agent_bin_OBJECTS) $(ldap_agent_bin_LDADD) $(LIBS) +ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.$(OBJEXT): \ + ldap/servers/slapd/tools/$(am__dirstamp) \ + ldap/servers/slapd/tools/$(DEPDIR)/$(am__dirstamp) ldap/servers/slapd/tools/ldclt/$(am__dirstamp): @$(mkdir_p) ldap/servers/slapd/tools/ldclt @: > ldap/servers/slapd/tools/ldclt/$(am__dirstamp) @@ -4492,6 +4497,7 @@ -rm -f ldap/servers/slapd/tools/ldclt/ldclt_bin-utils.$(OBJEXT) -rm -f ldap/servers/slapd/tools/ldclt/ldclt_bin-version.$(OBJEXT) -rm -f ldap/servers/slapd/tools/ldclt/ldclt_bin-workarounds.$(OBJEXT) + -rm -f ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.$(OBJEXT) -rm -f ldap/servers/slapd/tools/ldif_bin-ldif.$(OBJEXT) -rm -f ldap/servers/slapd/tools/migratecred_bin-migratecred.$(OBJEXT) -rm -f ldap/servers/slapd/tools/mmldif_bin-mmldif.$(OBJEXT) @@ -4988,6 +4994,7 @@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/back-ldbm/$(DEPDIR)/libback_ldbm_la-vlv_key.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/back-ldbm/$(DEPDIR)/libback_ldbm_la-vlv_srch.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/tools/$(DEPDIR)/dbscan_bin-dbscan.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/tools/$(DEPDIR)/ldclt_bin-ldaptool-sasl.Po at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/tools/$(DEPDIR)/ldif_bin-ldif.Po at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/tools/$(DEPDIR)/migratecred_bin-migratecred.Po at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/tools/$(DEPDIR)/mmldif_bin-mmldif.Po at am__quote@ @@ -7672,6 +7679,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ldap_agent_bin_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/slapd/ldap_agent_bin-agtmmap.obj `if test -f 'ldap/servers/slapd/agtmmap.c'; then $(CYGPATH_W) 'ldap/servers/slapd/agtmmap.c'; else $(CYGPATH_W) '$(srcdir)/ldap/servers/slapd/agtmmap.c'; fi` +ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.o: ldap/servers/slapd/tools/ldaptool-sasl.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ldclt_bin_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.o -MD -MP -MF "ldap/servers/slapd/tools/$(DEPDIR)/ldclt_bin-ldaptool-sasl.Tpo" -c -o ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.o `test -f 'ldap/servers/slapd/tools/ldaptool-sasl.c' || echo '$(srcdir)/'`ldap/servers/slapd/tools/ldaptool-sasl.c; \ + at am__fastdepCC_TRUE@ then mv -f "ldap/servers/slapd/tools/$(DEPDIR)/ldclt_bin-ldaptool-sasl.Tpo" "ldap/servers/slapd/tools/$(DEPDIR)/ldclt_bin-ldaptool-sasl.Po"; else rm -f "ldap/servers/slapd/tools/$(DEPDIR)/ldclt_bin-ldaptool-sasl.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldap/servers/slapd/tools/ldaptool-sasl.c' object='ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ldclt_bin_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.o `test -f 'ldap/servers/slapd/tools/ldaptool-sasl.c' || echo '$(srcdir)/'`ldap/servers/slapd/tools/ldaptool-sasl.c + +ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.obj: ldap/servers/slapd/tools/ldaptool-sasl.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ldclt_bin_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.obj -MD -MP -MF "ldap/servers/slapd/tools/$(DEPDIR)/ldclt_bin-ldaptool-sasl.Tpo" -c -o ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.obj `if test -f 'ldap/servers/slapd/tools/ldaptool-sasl.c'; then $(CYGPATH_W) 'ldap/servers/slapd/tools/ldaptool-sasl.c'; else $(CYGPATH_W) '$(srcdir)/ldap/servers/slapd/tools/ldaptool-sasl.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "ldap/servers/slapd/tools/$(DEPDIR)/ldclt_bin-ldaptool-sasl.Tpo" "ldap/servers/slapd/tools/$(DEPDIR)/ldclt_bin-ldaptool-sasl.Po"; else rm -f "ldap/servers/slapd/tools/$(DEPDIR)/ldclt_bin-ldaptool-sasl.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldap/servers/slapd/tools/ldaptool-sasl.c' object='ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ldclt_bin_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.obj `if test -f 'ldap/servers/slapd/tools/ldaptool-sasl.c'; then $(CYGPATH_W) 'ldap/servers/slapd/tools/ldaptool-sasl.c'; else $(CYGPATH_W) '$(srcdir)/ldap/servers/slapd/tools/ldaptool-sasl.c'; fi` + ldap/servers/slapd/tools/ldclt/ldclt_bin-data.o: ldap/servers/slapd/tools/ldclt/data.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ldclt_bin_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/slapd/tools/ldclt/ldclt_bin-data.o -MD -MP -MF "ldap/servers/slapd/tools/ldclt/$(DEPDIR)/ldclt_bin-data.Tpo" -c -o ldap/servers/slapd/tools/ldclt/ldclt_bin-data.o `test -f 'ldap/servers/slapd/tools/ldclt/data.c' || echo '$(srcdir)/'`ldap/servers/slapd/tools/ldclt/data.c; \ @am__fastdepCC_TRUE@ then mv -f "ldap/servers/slapd/tools/ldclt/$(DEPDIR)/ldclt_bin-data.Tpo" "ldap/servers/slapd/tools/ldclt/$(DEPDIR)/ldclt_bin-data.Po"; else rm -f "ldap/servers/slapd/tools/ldclt/$(DEPDIR)/ldclt_bin-data.Tpo"; exit 1; fi Index: aclocal.m4 =================================================================== RCS file: /cvs/dirsec/ldapserver/aclocal.m4,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- aclocal.m4 8 Jun 2007 20:36:52 -0000 1.33 +++ aclocal.m4 8 Jun 2007 23:19:17 -0000 1.34 @@ -1578,27 +1578,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -4305,9 +4288,6 @@ # Is the compiler the GNU C compiler? with_gcc=$_LT_AC_TAGVAR(GCC, $1) -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -4441,11 +4421,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_[]_LT_AC_TAGVAR(predep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_[]_LT_AC_TAGVAR(postdep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) # Dependencies to place before the objects being linked to create a # shared library. @@ -4457,7 +4437,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -4537,7 +4517,7 @@ link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -6373,7 +6353,6 @@ 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 @@ -6406,7 +6385,6 @@ done ]) SED=$lt_cv_path_SED -AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) Index: configure =================================================================== RCS file: /cvs/dirsec/ldapserver/configure,v retrieving revision 1.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- configure 8 Jun 2007 20:36:52 -0000 1.44 +++ configure 8 Jun 2007 23:19:17 -0000 1.45 @@ -465,7 +465,7 @@ #endif" 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 debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir shared_lib_suffix HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS' +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 debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir shared_lib_suffix HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -3835,7 +3835,6 @@ 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 @@ -3870,7 +3869,6 @@ fi SED=$lt_cv_path_SED - echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6 @@ -4311,7 +4309,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4314 "configure"' > conftest.$ac_ext + echo '#line 4312 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5446,7 +5444,7 @@ # Provide some information about the compiler. -echo "$as_me:5449:" \ +echo "$as_me:5447:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 @@ -6509,11 +6507,11 @@ -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:6512: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6510: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6516: \$? = $ac_status" >&5 + echo "$as_me:6514: \$? = $ac_status" >&5 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 other than the usual output. @@ -6777,11 +6775,11 @@ -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:6780: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6778: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6784: \$? = $ac_status" >&5 + echo "$as_me:6782: \$? = $ac_status" >&5 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 other than the usual output. @@ -6881,11 +6879,11 @@ -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:6884: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6882: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6888: \$? = $ac_status" >&5 + echo "$as_me:6886: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8346,31 +8344,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 8353 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -9247,7 +9224,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:11667: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11697: \$? = $ac_status" >&5 + echo "$as_me:11671: \$? = $ac_status" >&5 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 other than the usual output. @@ -11794,11 +11768,11 @@ -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:11797: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11771: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11801: \$? = $ac_status" >&5 + echo "$as_me:11775: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -12326,31 +12300,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 12333 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -12734,9 +12687,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -12870,11 +12820,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. @@ -12886,7 +12836,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -12966,7 +12916,7 @@ link_all_deplibs=$link_all_deplibs_CXX # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -13388,11 +13338,11 @@ -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:13391: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13341: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13395: \$? = $ac_status" >&5 + echo "$as_me:13345: \$? = $ac_status" >&5 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 other than the usual output. @@ -13492,11 +13442,11 @@ -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:13495: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13445: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13499: \$? = $ac_status" >&5 + echo "$as_me:13449: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14937,31 +14887,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 14944 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -15345,9 +15274,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -15481,11 +15407,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. @@ -15497,7 +15423,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -15577,7 +15503,7 @@ link_all_deplibs=$link_all_deplibs_F77 # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -15719,11 +15645,11 @@ -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:15722: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15648: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15726: \$? = $ac_status" >&5 + echo "$as_me:15652: \$? = $ac_status" >&5 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 other than the usual output. @@ -15987,11 +15913,11 @@ -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:15990: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15916: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15994: \$? = $ac_status" >&5 + echo "$as_me:15920: \$? = $ac_status" >&5 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 other than the usual output. @@ -16091,11 +16017,11 @@ -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:16094: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16020: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16098: \$? = $ac_status" >&5 + echo "$as_me:16024: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17556,31 +17482,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 17563 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -17964,9 +17869,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -18100,11 +18002,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. @@ -18116,7 +18018,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -18196,7 +18098,7 @@ link_all_deplibs=$link_all_deplibs_GCJ # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -18448,9 +18350,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_RC -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -18584,11 +18483,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. @@ -18600,7 +18499,7 @@ # The library search path used internally by the compiler when linking # a shared library. -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"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_RC # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -18680,7 +18579,7 @@ link_all_deplibs=$link_all_deplibs_RC # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -25959,7 +25858,6 @@ s, at CCDEPMODE@,$CCDEPMODE,;t t s, at am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t s, at am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t -s, at SED@,$SED,;t t s, at EGREP@,$EGREP,;t t s, at LN_S@,$LN_S,;t t s, at ECHO@,$ECHO,;t t Index: ltmain.sh =================================================================== RCS file: /cvs/dirsec/ldapserver/ltmain.sh,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- ltmain.sh 16 May 2007 20:07:47 -0000 1.15 +++ ltmain.sh 8 Jun 2007 23:19:17 -0000 1.16 @@ -46,16 +46,10 @@ VERSION=1.5.22 TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" -# 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+"$@"}'='"$@"' +# 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 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. @@ -111,14 +105,12 @@ # 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. -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 +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 # Make sure IFS has a sensible default lt_nl=' @@ -144,8 +136,6 @@ preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 ##################################### # Shell function definitions: @@ -337,17 +327,7 @@ *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - 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" + my_xdir="$my_gentop/$my_xlib" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" @@ -778,7 +758,6 @@ *.f90) xform=f90 ;; *.for) xform=for ;; *.java) xform=java ;; - *.obj) xform=obj ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` @@ -1159,9 +1138,8 @@ for arg do case $arg in - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) + -all-static | -static) + if test "X$arg" = "X-all-static"; then 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 @@ -1169,20 +1147,12 @@ dlopen_self=$dlopen_self_static fi prefer_static_libs=yes - ;; - -static) + else if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built - ;; - -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 + fi build_libtool_libs=no build_old_libs=yes break @@ -1742,7 +1712,7 @@ continue ;; - -static | -static-libtool-libs) + -static) # 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 @@ -2520,9 +2490,7 @@ if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then + { test "$prefer_static_libs" = no || 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. @@ -3218,7 +3186,7 @@ # which has an extra 1 added just for fun # case $version_type in - darwin|linux|osf|windows|none) + darwin|linux|osf|windows) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_revision" @@ -3442,11 +3410,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. @@ -3547,12 +3515,13 @@ int main() { return 0; } EOF $rm conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then + $LTCC $LTCFLAGS -o conftest conftest.c $deplibs + if test "$?" -eq 0 ; 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" != "0"; then + if test "$name" != "" && test "$name" -ne "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $i "*) @@ -3591,7 +3560,9 @@ # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then $rm conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $i; then + $LTCC $LTCFLAGS -o conftest conftest.c $i + # Did it work? + if test "$?" -eq 0 ; then ldd_output=`ldd conftest` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in @@ -3623,7 +3594,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 @@ -4268,14 +4239,12 @@ reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. + # -Wl from whole_archive_flag_spec wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" else gentop="$output_objdir/${obj}x" generated="$generated $gentop" @@ -4723,16 +4692,16 @@ case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` else - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` fi ;; * ) - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` ;; esac ;; @@ -4747,13 +4716,13 @@ # really was required. # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. @@ -4840,7 +4809,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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= @@ -4877,7 +4846,7 @@ fi done relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi # Quote $echo for shipping. @@ -5284,18 +5253,6 @@ 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 @@ -5438,7 +5395,7 @@ ;; esac $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \$*\" + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" exit $EXIT_FAILURE fi else @@ -5624,7 +5581,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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi @@ -5969,9 +5926,9 @@ if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi $echo "$modename: warning: relinking \`$file'" 1>&2 @@ -6180,7 +6137,7 @@ file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` $show "$relink_command" if $run eval "$relink_command"; then : @@ -6456,15 +6413,12 @@ fi # Restore saved environment variables - 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 - + 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 # Now prepare to actually exec the command. exec_cmd="\$cmd$args" @@ -6821,9 +6775,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 @@ -6837,11 +6791,9 @@ -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 uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries + -static 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. From fedora-directory-commits at redhat.com Sat Jun 9 00:27:22 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Fri, 8 Jun 2007 20:27:22 -0400 Subject: [Fedora-directory-commits] adminutil/include/libadminutil admutil.h, 1.7, 1.8 Message-ID: <200706090027.l590RMi8013035@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminutil/include/libadminutil In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12965/include/libadminutil Modified Files: admutil.h Log Message: Resolves: Bug 237356 Summary: Move DS Admin Code into Admin Server (Comment #42) Description: In the effort of using adminutil instead of the each server's local library (e.g., libds_admin), post_begin equivalent used in the DS code checks the return value from the function. Changing the return type from void to int to adjust. Index: admutil.h =================================================================== RCS file: /cvs/dirsec/adminutil/include/libadminutil/admutil.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- admutil.h 15 May 2007 00:53:33 -0000 1.7 +++ admutil.h 9 Jun 2007 00:27:19 -0000 1.8 @@ -444,7 +444,7 @@ /* Initialize a form "post" using the POST method. Send this fn "stdin". */ /* form_post.c */ -PR_IMPLEMENT(void) post_begin(FILE *in); +PR_IMPLEMENT(int) post_begin(FILE *in); /* Turn a variable string into a vars vector. */ /* form_post.c */ From fedora-directory-commits at redhat.com Sat Jun 9 00:27:22 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Fri, 8 Jun 2007 20:27:22 -0400 Subject: [Fedora-directory-commits] adminutil/lib/libadminutil form_post.c, 1.6, 1.7 Message-ID: <200706090027.l590RMFj013041@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminutil/lib/libadminutil In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12965/lib/libadminutil Modified Files: form_post.c Log Message: Resolves: Bug 237356 Summary: Move DS Admin Code into Admin Server (Comment #42) Description: In the effort of using adminutil instead of the each server's local library (e.g., libds_admin), post_begin equivalent used in the DS code checks the return value from the function. Changing the return type from void to int to adjust. Index: form_post.c =================================================================== RCS file: /cvs/dirsec/adminutil/lib/libadminutil/form_post.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- form_post.c 15 May 2007 00:53:33 -0000 1.6 +++ form_post.c 9 Jun 2007 00:27:20 -0000 1.7 @@ -176,13 +176,14 @@ return rstr; } -PR_IMPLEMENT(void) +PR_IMPLEMENT(int) post_begin(FILE *in) { char *vars = NULL, *tmp = NULL; int cl; char buf1[BUFSIZ]; char buf2[BUFSIZ]; + int rc = 0; if(!(tmp = getenv("CONTENT_LENGTH"))) { if (admutil_i18nResource) { @@ -201,6 +202,7 @@ "Your browser sent no content length with a POST command. Please be sure to use a fully compliant browser.", NULL); } + rc = 1; } cl = atoi(tmp); @@ -220,6 +222,7 @@ "Could not allocate enough memory to read in the POST parameters.", NULL); } + rc = 1; } if( !(fread(vars, 1, cl, in)) ) { @@ -237,12 +240,14 @@ "The POST variables could not be read from stdin.", NULL); } + rc = 1; } vars[cl] = '\0'; input = string_to_vec(vars); PL_strfree(vars); /* string_to_vec dups it */ + return rc; } PR_IMPLEMENT(void) From fedora-directory-commits at redhat.com Mon Jun 11 14:13:57 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Mon, 11 Jun 2007 10:13:57 -0400 Subject: [Fedora-directory-commits] ldapserver/m4 mozldap.m4,1.8,1.9 Message-ID: <200706111413.l5BEDvjV006066@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver/m4 In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6026/ldapserver/m4 Modified Files: mozldap.m4 Log Message: Resolves: bug 243639 Description: --with-ldapsdk-bin required for configure argument Fix Description: In m4/mozldap.m4, there is a code to check whether ldapsdk_bindir is specified, but you can't specify it except for --with-ldapsdk argument or using pkg-config. So using --with-ldapsdk-lib and --with-ldapsdk-inc requires the additional argument '--with-ldapsdk-bin'. Index: mozldap.m4 =================================================================== RCS file: /cvs/dirsec/ldapserver/m4/mozldap.m4,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- mozldap.m4 6 Feb 2007 15:51:22 -0000 1.8 +++ mozldap.m4 11 Jun 2007 14:13:54 -0000 1.9 @@ -70,6 +70,21 @@ ], AC_MSG_RESULT(no)) +# check for --with-ldapsdk-bin +AC_MSG_CHECKING(for --with-ldapsdk-bin) +AC_ARG_WITH(ldapsdk-bin, [ --with-ldapsdk-bin=PATH Mozilla LDAP SDK binary directory], +[ + if test -d "$withval" + then + AC_MSG_RESULT([using $withval]) + ldapsdk_bindir="$withval" + else + echo + AC_MSG_ERROR([$withval not found]) + fi +], +AC_MSG_RESULT(no)) + # if LDAPSDK is not found yet, try pkg-config # last resort @@ -82,7 +97,7 @@ elif $PKG_CONFIG --exists mozldap; then mozldappkg=mozldap else - AC_MSG_ERROR([LDAPSDK not found, specify with --with-ldapsdk[-inc|-lib].]) + AC_MSG_ERROR([LDAPSDK not found, specify with --with-ldapsdk[-inc|-lib|-bin].]) fi ldapsdk_inc=`$PKG_CONFIG --cflags-only-I $mozldappkg` ldapsdk_lib=`$PKG_CONFIG --libs-only-L $mozldappkg` @@ -92,7 +107,7 @@ fi fi if test -z "$ldapsdk_inc" -o -z "$ldapsdk_lib"; then - AC_MSG_ERROR([LDAPSDK not found, specify with --with-ldapsdk[-inc|-lib].]) + AC_MSG_ERROR([LDAPSDK not found, specify with --with-ldapsdk[-inc|-lib|-bin].]) fi dnl default path for the ldap c sdk tools (see [210947] for more details) if test -z "$ldapsdk_bindir" ; then From fedora-directory-commits at redhat.com Mon Jun 11 14:13:57 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Mon, 11 Jun 2007 10:13:57 -0400 Subject: [Fedora-directory-commits] ldapserver aclocal.m4, 1.34, 1.35 configure, 1.45, 1.46 missing, 1.26, 1.27 install-sh, 1.26, 1.27 depcomp, 1.26, 1.27 compile, 1.26, 1.27 Makefile.in, 1.49, 1.50 config.sub, 1.25, 1.26 config.guess, 1.25, 1.26 Message-ID: <200706111413.l5BEDvWa006074@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6026/ldapserver Modified Files: aclocal.m4 configure missing install-sh depcomp compile Makefile.in config.sub config.guess Log Message: Resolves: bug 243639 Description: --with-ldapsdk-bin required for configure argument Fix Description: In m4/mozldap.m4, there is a code to check whether ldapsdk_bindir is specified, but you can't specify it except for --with-ldapsdk argument or using pkg-config. So using --with-ldapsdk-lib and --with-ldapsdk-inc requires the additional argument '--with-ldapsdk-bin'. Index: aclocal.m4 =================================================================== RCS file: /cvs/dirsec/ldapserver/aclocal.m4,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- aclocal.m4 8 Jun 2007 23:19:17 -0000 1.34 +++ aclocal.m4 11 Jun 2007 14:13:54 -0000 1.35 @@ -1578,10 +1578,27 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -4288,6 +4305,9 @@ # Is the compiler the GNU C compiler? with_gcc=$_LT_AC_TAGVAR(GCC, $1) +gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` +gcc_ver=\`gcc -dumpversion\` + # An ERE matcher. EGREP=$lt_EGREP @@ -4421,11 +4441,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) +predep_objects=\`echo $lt_[]_LT_AC_TAGVAR(predep_objects, $1) | \$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_[]_LT_AC_TAGVAR(postdep_objects, $1) +postdep_objects=\`echo $lt_[]_LT_AC_TAGVAR(postdep_objects, $1) | \$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. @@ -4437,7 +4457,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) +compiler_lib_search_path=\`echo $lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) | \$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 @@ -4517,7 +4537,7 @@ link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) # 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 @@ -6353,6 +6373,7 @@ 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 @@ -6385,6 +6406,7 @@ done ]) SED=$lt_cv_path_SED +AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) Index: configure =================================================================== RCS file: /cvs/dirsec/ldapserver/configure,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- configure 8 Jun 2007 23:19:17 -0000 1.45 +++ configure 11 Jun 2007 14:13:55 -0000 1.46 @@ -465,7 +465,7 @@ #endif" 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 EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CX! XCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir shared_lib_suffix HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS' +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 debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir shared_lib_suffix HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1072,6 +1072,7 @@ --with-ldapsdk=PATH Mozilla LDAP SDK directory --with-ldapsdk-inc=PATH Mozilla LDAP SDK include directory --with-ldapsdk-lib=PATH Mozilla LDAP SDK library directory + --with-ldapsdk-bin=PATH Mozilla LDAP SDK binary directory --with-db=PATH Berkeley DB directory --with-sasl=PATH Use sasl from supplied path --with-sasl-inc=PATH SASL include file directory @@ -3835,6 +3836,7 @@ 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 @@ -3869,6 +3871,7 @@ fi SED=$lt_cv_path_SED + echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6 @@ -4309,7 +4312,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4312 "configure"' > conftest.$ac_ext + echo '#line 4315 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5444,7 +5447,7 @@ # Provide some information about the compiler. -echo "$as_me:5447:" \ +echo "$as_me:5450:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 @@ -6507,11 +6510,11 @@ -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:6510: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6513: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6514: \$? = $ac_status" >&5 + echo "$as_me:6517: \$? = $ac_status" >&5 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 other than the usual output. @@ -6775,11 +6778,11 @@ -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:6778: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6781: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6782: \$? = $ac_status" >&5 + echo "$as_me:6785: \$? = $ac_status" >&5 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 other than the usual output. @@ -6879,11 +6882,11 @@ -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:6882: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6885: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6886: \$? = $ac_status" >&5 + echo "$as_me:6889: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8344,10 +8347,31 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 8354 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -9224,7 +9248,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:11694: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11671: \$? = $ac_status" >&5 + echo "$as_me:11698: \$? = $ac_status" >&5 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 other than the usual output. @@ -11768,11 +11795,11 @@ -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:11771: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11798: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11775: \$? = $ac_status" >&5 + echo "$as_me:11802: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -12300,10 +12327,31 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 12334 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -12687,6 +12735,9 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX +gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` +gcc_ver=\`gcc -dumpversion\` + # An ERE matcher. EGREP=$lt_EGREP @@ -12820,11 +12871,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=$lt_predep_objects_CXX +predep_objects=\`echo $lt_predep_objects_CXX | \$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_CXX +postdep_objects=\`echo $lt_postdep_objects_CXX | \$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. @@ -12836,7 +12887,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX +compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_CXX | \$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 @@ -12916,7 +12967,7 @@ link_all_deplibs=$link_all_deplibs_CXX # 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 @@ -13338,11 +13389,11 @@ -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:13341: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13392: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13345: \$? = $ac_status" >&5 + echo "$as_me:13396: \$? = $ac_status" >&5 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 other than the usual output. @@ -13442,11 +13493,11 @@ -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:13445: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13496: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13449: \$? = $ac_status" >&5 + echo "$as_me:13500: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14887,10 +14938,31 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 14945 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -15274,6 +15346,9 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 +gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` +gcc_ver=\`gcc -dumpversion\` + # An ERE matcher. EGREP=$lt_EGREP @@ -15407,11 +15482,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=$lt_predep_objects_F77 +predep_objects=\`echo $lt_predep_objects_F77 | \$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_F77 +postdep_objects=\`echo $lt_postdep_objects_F77 | \$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. @@ -15423,7 +15498,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 +compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_F77 | \$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 @@ -15503,7 +15578,7 @@ link_all_deplibs=$link_all_deplibs_F77 # 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 @@ -15645,11 +15720,11 @@ -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:15648: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15723: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15652: \$? = $ac_status" >&5 + echo "$as_me:15727: \$? = $ac_status" >&5 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 other than the usual output. @@ -15913,11 +15988,11 @@ -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:15916: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15991: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15920: \$? = $ac_status" >&5 + echo "$as_me:15995: \$? = $ac_status" >&5 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 other than the usual output. @@ -16017,11 +16092,11 @@ -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:16020: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16095: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16024: \$? = $ac_status" >&5 + echo "$as_me:16099: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17482,10 +17557,31 @@ # before this can be enabled. hardcode_into_libs=yes + # find out which ABI we are using + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) + echo '#line 17564 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *64-bit*) + libsuff=64 + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + ;; + esac + fi + rm -rf conftest* + ;; + esac + # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -17869,6 +17965,9 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ +gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` +gcc_ver=\`gcc -dumpversion\` + # An ERE matcher. EGREP=$lt_EGREP @@ -18002,11 +18101,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=$lt_predep_objects_GCJ +predep_objects=\`echo $lt_predep_objects_GCJ | \$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_GCJ +postdep_objects=\`echo $lt_postdep_objects_GCJ | \$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. @@ -18018,7 +18117,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ +compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_GCJ | \$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 @@ -18098,7 +18197,7 @@ link_all_deplibs=$link_all_deplibs_GCJ # 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 @@ -18350,6 +18449,9 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_RC +gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` +gcc_ver=\`gcc -dumpversion\` + # An ERE matcher. EGREP=$lt_EGREP @@ -18483,11 +18585,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. @@ -18499,7 +18601,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 @@ -18579,7 +18681,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 @@ -23807,6 +23909,31 @@ echo "${ECHO_T}no" >&6 fi; +# check for --with-ldapsdk-bin +echo "$as_me:$LINENO: checking for --with-ldapsdk-bin" >&5 +echo $ECHO_N "checking for --with-ldapsdk-bin... $ECHO_C" >&6 + +# Check whether --with-ldapsdk-bin or --without-ldapsdk-bin was given. +if test "${with_ldapsdk_bin+set}" = set; then + withval="$with_ldapsdk_bin" + + if test -d "$withval" + then + echo "$as_me:$LINENO: result: using $withval" >&5 +echo "${ECHO_T}using $withval" >&6 + ldapsdk_bindir="$withval" + else + echo + { { echo "$as_me:$LINENO: error: $withval not found" >&5 +echo "$as_me: error: $withval not found" >&2;} + { (exit 1); exit 1; }; } + fi + +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi; + # if LDAPSDK is not found yet, try pkg-config # last resort @@ -23858,8 +23985,8 @@ elif $PKG_CONFIG --exists mozldap; then mozldappkg=mozldap 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;} + { { echo "$as_me:$LINENO: error: LDAPSDK not found, specify with --with-ldapsdk-inc|-lib|-bin." >&5 +echo "$as_me: error: LDAPSDK not found, specify with --with-ldapsdk-inc|-lib|-bin." >&2;} { (exit 1); exit 1; }; } fi ldapsdk_inc=`$PKG_CONFIG --cflags-only-I $mozldappkg` @@ -23871,8 +23998,8 @@ fi fi if test -z "$ldapsdk_inc" -o -z "$ldapsdk_lib"; then - { { 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;} + { { echo "$as_me:$LINENO: error: LDAPSDK not found, specify with --with-ldapsdk-inc|-lib|-bin." >&5 +echo "$as_me: error: LDAPSDK not found, specify with --with-ldapsdk-inc|-lib|-bin." >&2;} { (exit 1); exit 1; }; } fi if test -z "$ldapsdk_bindir" ; then @@ -25858,6 +25985,7 @@ s, at CCDEPMODE@,$CCDEPMODE,;t t s, at am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t s, at am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t +s, at SED@,$SED,;t t s, at EGREP@,$EGREP,;t t s, at LN_S@,$LN_S,;t t s, at ECHO@,$ECHO,;t t Index: Makefile.in =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.in,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- Makefile.in 8 Jun 2007 23:19:16 -0000 1.49 +++ Makefile.in 11 Jun 2007 14:13:55 -0000 1.50 @@ -874,6 +874,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SOLARIS_FALSE = @SOLARIS_FALSE@ From fedora-directory-commits at redhat.com Mon Jun 11 17:22:39 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Mon, 11 Jun 2007 13:22:39 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/admin/lib dsalib_confs.c, 1.7, 1.8 Message-ID: <200706111722.l5BHMd6h011937@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/ldapserver/ldap/admin/lib In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11857/ldap/admin/lib Modified Files: dsalib_confs.c Log Message: Resolves: #243488 Summary: Use mozldap6 ldif_parse_line API Changes: 1) Removed ldif.h from the DS tree. 2) Eliminated the 5-th arg of ldif_parse_line (errmsg) and the errmsg related code. Index: dsalib_confs.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/lib/dsalib_confs.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- dsalib_confs.c 10 Nov 2006 23:44:32 -0000 1.7 +++ dsalib_confs.c 11 Jun 2007 17:22:37 -0000 1.8 @@ -78,22 +78,16 @@ char *type, *value; int vlen = 0; int rc; - char *errmsg = NULL; if ( *line == '\n' || *line == '\0' ) { break; } /* this call modifies line */ - rc = ldif_parse_line(line, &type, &value, &vlen, &errmsg); + rc = ldif_parse_line(line, &type, &value, &vlen); if (rc != 0) { - if ( errmsg != NULL ) { - ds_send_error(errmsg, 0); - PR_smprintf_free(errmsg); - } else { ds_send_error("Unknown error processing config file", 0); - } free(begin); return NULL; } @@ -160,7 +154,7 @@ * Use ldif_parse_line() so continuation markers are * handled correctly, etc. */ - char *errmsg, *type = NULL, *value = NULL, *tmpvalue = NULL; + char *type = NULL, *value = NULL, *tmpvalue = NULL; int ldif_rc, tmpvlen = 0; char *tmpline = strdup(line); @@ -171,19 +165,15 @@ return(NULL); } - ldif_rc = ldif_parse_line( tmpline, &type, &tmpvalue, - &tmpvlen, &errmsg ); + ldif_rc = ldif_parse_line( tmpline, &type, &tmpvalue, &tmpvlen ); if (ldif_rc < 0) { - ds_send_error(errmsg, 0 /* do not print errno */); + ds_send_error("Unknown error processing config file", 0); } else if (ldif_rc == 0) { /* value returned in place */ value = strdup(tmpvalue); } else { /* malloc'd value */ value = tmpvalue; } free(tmpline); - if (errmsg) { - PR_smprintf_free(errmsg); - } return value; } } From fedora-directory-commits at redhat.com Mon Jun 11 17:22:39 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Mon, 11 Jun 2007 13:22:39 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/servers/plugins/replication cl5_api.c, 1.14, 1.15 replutil.c, 1.9, 1.10 Message-ID: <200706111722.l5BHMdBI011944@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/ldapserver/ldap/servers/plugins/replication In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11857/ldap/servers/plugins/replication Modified Files: cl5_api.c replutil.c Log Message: Resolves: #243488 Summary: Use mozldap6 ldif_parse_line API Changes: 1) Removed ldif.h from the DS tree. 2) Eliminated the 5-th arg of ldif_parse_line (errmsg) and the errmsg related code. Index: cl5_api.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/replication/cl5_api.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- cl5_api.c 15 Mar 2007 21:40:34 -0000 1.14 +++ cl5_api.c 11 Jun 2007 17:22:37 -0000 1.15 @@ -4988,21 +4988,15 @@ next = ldifEntry; while ((line = ldif_getline(&next)) != NULL) { - char *errmsg = NULL; - if ( *line == '\n' || *line == '\0' ) { break; } /* this call modifies ldifEntry */ - rc = ldif_parse_line(line, &type, &value, &vlen, &errmsg); + rc = ldif_parse_line(line, &type, &value, &vlen); if (rc != 0) { - if ( errmsg != NULL ) { - slapi_log_error(SLAPI_LOG_PARSE, repl_plugin_name_cl, "%s", errmsg); - PR_smprintf_free(errmsg ); - } slapi_log_error(SLAPI_LOG_REPL, repl_plugin_name_cl, "_cl5LDIF2Operation: warning - failed to parse ldif line\n"); continue; Index: replutil.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/replication/replutil.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- replutil.c 10 Nov 2006 23:45:17 -0000 1.9 +++ replutil.c 11 Jun 2007 17:22:37 -0000 1.10 @@ -428,8 +428,6 @@ slapi_mod_init (&mod, 0); while (line) { - char * errmsg = NULL; - if (strcasecmp (line, "-") == 0) { if (slapi_mod_isvalid (&mod)) @@ -446,14 +444,10 @@ break; } - rc = ldif_parse_line(line, &type, &value, &vlen, &errmsg); + rc = ldif_parse_line(line, &type, &value, &vlen); if (rc != 0) { /* ONREPL - log warning */ - if ( errmsg != NULL ) { - slapi_log_error( SLAPI_LOG_PARSE, repl_plugin_name, "%s", errmsg ); - PR_smprintf_free(errmsg ); - } slapi_log_error( SLAPI_LOG_REPL, repl_plugin_name, "Failed to parse the ldif line.\n"); continue; From fedora-directory-commits at redhat.com Mon Jun 11 17:22:40 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Mon, 11 Jun 2007 13:22:40 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/servers/slapd entry.c, 1.12, 1.13 fedse.c, 1.9, 1.10 Message-ID: <200706111722.l5BHMei9011951@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/ldapserver/ldap/servers/slapd In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11857/ldap/servers/slapd Modified Files: entry.c fedse.c Log Message: Resolves: #243488 Summary: Use mozldap6 ldif_parse_line API Changes: 1) Removed ldif.h from the DS tree. 2) Eliminated the 5-th arg of ldif_parse_line (errmsg) and the errmsg related code. Index: entry.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/entry.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- entry.c 10 Nov 2006 23:45:40 -0000 1.12 +++ entry.c 11 Jun 2007 17:22:37 -0000 1.13 @@ -203,27 +203,17 @@ int maxvals; int del_maxvals; char *type; - char *errmsg = NULL; if ( *s == '\n' || *s == '\0' ) { break; } - if ( (retmalloc = ldif_parse_line( s, &type, &valuecharptr, &valuelen, &errmsg )) < 0 ) { - if ( errmsg != NULL ) { - LDAPDebug( LDAP_DEBUG_PARSE, "%s", errmsg, 0, 0 ); - /* the memory below was not allocated by the slapi_ch_ functions */ - PR_smprintf_free(errmsg ); - } + if ( (retmalloc = ldif_parse_line( s, &type, &valuecharptr, &valuelen )) < 0 ) { LDAPDebug( LDAP_DEBUG_TRACE, "<= str2entry_fast NULL (parse_line)\n", 0, 0, 0 ); continue; } - /* We don't use errmsg anywhere later. free it to avoid leaking... */ - /* the memory below was not allocated by the slapi_ch_ functions */ - slapi_ch_free( (void**)&errmsg ); - /* * Extract the attribute and value CSNs from the attribute type. */ @@ -581,7 +571,6 @@ int i, j; char *next=NULL; char *valuecharptr=NULL; - char *errmsg = NULL; int retmalloc = 0; int rc; int fast_dup_check = 0; @@ -617,21 +606,12 @@ break; } - if ( (retmalloc = ldif_parse_line( s, &type, &valuecharptr, &valuelen, &errmsg )) < 0 ) { - if ( errmsg != NULL ) { - LDAPDebug( LDAP_DEBUG_PARSE, "%s", errmsg, 0, 0 ); - /* the memory below was not allocated by the slapi_ch_ functions */ - PR_smprintf_free(errmsg ); - } + if ( (retmalloc = ldif_parse_line( s, &type, &valuecharptr, &valuelen )) < 0 ) { LDAPDebug( LDAP_DEBUG_TRACE, "<= slapi_str2entry NULL (parse_line)\n", 0, 0, 0 ); continue; } - /* We don't use errmsg anywhere later. free it to avoid leaking... */ - /* the memory below was not allocated by the slapi_ch_ functions */ - slapi_ch_free( (void**)&errmsg ); - /* * Extract the attribute and value CSNs from the attribute type. */ Index: fedse.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/fedse.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- fedse.c 10 Nov 2006 23:45:40 -0000 1.9 +++ fedse.c 11 Jun 2007 17:22:37 -0000 1.10 @@ -1735,7 +1735,6 @@ { static int twiddle= -1; char *type, *value, *copy; - char *errmsg = NULL; int vlen; struct berval bv; struct berval *bvals[2]; @@ -1745,12 +1744,7 @@ bvals[0] = &bv; bvals[1] = NULL; copy= slapi_ch_strdup(easter_egg_photos[twiddle%NUM_EASTER_EGG_PHOTOS]); - if ( (retmalloc = ldif_parse_line(copy, &type, &value, &vlen, &errmsg)) < 0 ) { - if ( errmsg != NULL ) { - slapi_log_error( SLAPI_LOG_PARSE, "dse", "%s", errmsg ); - /* the memory below was not allocated by the slapi_ch_ functions */ - PR_smprintf_free(errmsg ); - } + if ( (retmalloc = ldif_parse_line(copy, &type, &value, &vlen)) < 0 ) { return SLAPI_DSE_CALLBACK_ERROR; } bv.bv_val = value; @@ -1760,7 +1754,6 @@ slapi_ch_free((void**)©); twiddle++; /* the memory below was not allocated by the slapi_ch_ functions */ - slapi_ch_free( (void**)&errmsg ); if (retmalloc) slapi_ch_free( (void**)&value ); return SLAPI_DSE_CALLBACK_OK; } From fedora-directory-commits at redhat.com Mon Jun 11 17:22:40 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Mon, 11 Jun 2007 13:22:40 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/include ldif.h,1.5,NONE Message-ID: <200706111722.l5BHMeoe011962@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/ldapserver/ldap/include In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11857/ldap/include Removed Files: ldif.h Log Message: Resolves: #243488 Summary: Use mozldap6 ldif_parse_line API Changes: 1) Removed ldif.h from the DS tree. 2) Eliminated the 5-th arg of ldif_parse_line (errmsg) and the errmsg related code. --- ldif.h DELETED --- From fedora-directory-commits at redhat.com Mon Jun 11 17:22:40 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Mon, 11 Jun 2007 13:22:40 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/servers/slapd/back-ldbm import-threads.c, 1.12, 1.13 Message-ID: <200706111722.l5BHMeH1011957@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11857/ldap/servers/slapd/back-ldbm Modified Files: import-threads.c Log Message: Resolves: #243488 Summary: Use mozldap6 ldif_parse_line API Changes: 1) Removed ldif.h from the DS tree. 2) Eliminated the 5-th arg of ldif_parse_line (errmsg) and the errmsg related code. Index: import-threads.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/import-threads.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- import-threads.c 10 Nov 2006 23:45:39 -0000 1.12 +++ import-threads.c 11 Jun 2007 17:22:38 -0000 1.13 @@ -283,21 +283,16 @@ offset = s - str; mystr = ms = slapi_ch_strdup(str); while ( (s = ldif_getline( &ms )) != NULL ) { - char *errmsg = NULL; - if ( (retmalloc = ldif_parse_line( s, &type, &valuecharptr, &valuelen, &errmsg )) >= 0 ) { + if ( (retmalloc = ldif_parse_line( s, &type, &valuecharptr, &valuelen )) >= 0 ) { if (!strcasecmp(type, "version")) { my_version = atoi(valuecharptr); *(str + offset) = '#'; /* the memory below was not allocated by the slapi_ch_ functions */ - if (errmsg) PR_smprintf_free(errmsg); if (retmalloc) slapi_ch_free((void **) &valuecharptr); break; } - } else if ( errmsg != NULL ) { - LDAPDebug( LDAP_DEBUG_PARSE, "%s", errmsg, 0, 0 ); } /* the memory below was not allocated by the slapi_ch_ functions */ - if (errmsg) slapi_ch_free((void **) &errmsg); if (retmalloc) slapi_ch_free((void **) &valuecharptr); } From fedora-directory-commits at redhat.com Tue Jun 12 21:08:22 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Tue, 12 Jun 2007 17:08:22 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/admin/src/scripts Dialog.pm, 1.1, 1.2 Setup.pm.in, 1.1, 1.2 Message-ID: <200706122108.l5CL8Mq5030764@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver/ldap/admin/src/scripts In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30745/ldapserver/ldap/admin/src/scripts Modified Files: Dialog.pm Setup.pm.in Log Message: Resolves: bug 237356 Description: Move DS Admin Code into Admin Server Fix Description: 1) Need to have $SILENT be greater than $CUSTOM so that dialog hiding works properly. 2) Need to have the ability to hide or show individual prompts in a dialog e.g. if using TLS/SSL, need to ask for the CA certificate filename, otherwise, not. 3) Need the ability to call a function to get the default yes or no answer for DialogYesNo 4) DialogYesNo should match answer case insensitively Index: Dialog.pm =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/Dialog.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Dialog.pm 8 Jun 2007 01:09:16 -0000 1.1 +++ Dialog.pm 12 Jun 2007 21:08:20 -0000 1.2 @@ -107,12 +107,18 @@ } # each prompt looks like this: -# [ 'resource key', is pwd ] +# [ 'resource key', is pwd, hide ] # The resource key is the string key of the resource # is pwd is optional - if present, the prompt is for a password # and should not echo the answer +# hide is optional - if present and true, the prompt will not be displayed - this +# is useful in cases where you may want to display or hide a subprompt depending +# on the response to a main prompt # e.g. # ['RESOURCE_USERNAME'], ['RESOURCE_PASSWORD', 1], ['RESOURCE_PASSWORD_AGAIN', 1] +# e.g. +# ['USE_SECURITY'], ['CA_CERTIFICATE', 0, 0] +# you can set the 0 to a 1 if the user has chosen to use security sub run { my $self = shift; my $resp = $DialogManager::SAME; @@ -129,7 +135,7 @@ my $prompt = $prompts[$index]; my $defaultans = $self->{defaultAns}($self, $index); my $ans; - if ($self->isDisplayed()) { + if ($self->isDisplayed() && !$promtpt->[2]) { $ans = $self->{manager}->showPrompt($prompt->[0], $defaultans, $prompt->[1]); } else { $ans = $defaultans; @@ -201,7 +207,13 @@ return $self->{ans}; } if (!exists($self->{default})) { - if ($self->{defaultIsYes}) { + my $isyes; + if (ref($self->{defaultIsYes}) eq 'CODE') { + $isyes = &{$self->{defaultIsYes}}($self); + } else { + $isyes = $self->{defaultIsYes}; + } + if ($isyes) { $self->{default} = $self->{"manager"}->getText("yes"); } else { $self->{default} = $self->{"manager"}->getText("no"); @@ -223,10 +235,10 @@ my $nno = $self->{"manager"}->getText("no"); # the regexp allows us to use y or ye or yes for "yes" - if ($nno =~ /^$ans/) { + if ($nno =~ /^$ans/i) { $resp = $DialogManager::NEXT; $self->{ans} = $nno; - } elsif ($yes =~ /^$ans/) { + } elsif ($yes =~ /^$ans/i) { $resp = $DialogManager::NEXT; $self->{ans} = $yes; } else { Index: Setup.pm.in =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/Setup.pm.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Setup.pm.in 8 Jun 2007 01:09:16 -0000 1.1 +++ Setup.pm.in 12 Jun 2007 21:08:20 -0000 1.2 @@ -71,10 +71,10 @@ use SetupLog; # the setup types -$SILENT = 0; $EXPRESS = 1; $TYPICAL = 2; $CUSTOM = 3; +$SILENT = 4; # process command line options Getopt::Long::Configure(qw(bundling)); # bundling allows -ddddd From fedora-directory-commits at redhat.com Tue Jun 12 22:26:25 2007 From: fedora-directory-commits at redhat.com (Nathan Kinder (nkinder)) Date: Tue, 12 Jun 2007 18:26:25 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/libraries/libutil Makefile, 1.7, NONE getopt.c, 1.2, NONE ntdebug.c, 1.6, NONE ntevent.c, 1.7, NONE ntreg.c, 1.5, NONE ntresource.h, 1.5, NONE ntstubs.c, 1.6, NONE Message-ID: <200706122226.l5CMQPX3008516@cvs-int.fedora.redhat.com> Author: nkinder Update of /cvs/dirsec/ldapserver/ldap/libraries/libutil In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8501 Removed Files: Makefile getopt.c ntdebug.c ntevent.c ntreg.c ntresource.h ntstubs.c Log Message: Summary: Removed unused source files. --- Makefile DELETED --- --- getopt.c DELETED --- --- ntdebug.c DELETED --- --- ntevent.c DELETED --- --- ntreg.c DELETED --- --- ntresource.h DELETED --- --- ntstubs.c DELETED --- From fedora-directory-commits at redhat.com Wed Jun 13 01:27:00 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Tue, 12 Jun 2007 21:27:00 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/admin/src cfg_sspt.c, 1.12, 1.13 addindex.c, 1.7, NONE ds_bak2db.c, 1.5, NONE ds_db2bak.c, 1.6, NONE ds_db2ldif.c, 1.5, NONE ds_ldif2db.c, 1.7, NONE ds_listdb.c, 1.5, NONE ds_remove.c, 1.8, NONE ds_rmdb.c, 1.7, NONE ds_snmpctrl.c, 1.6, NONE restart.c, 1.5, NONE shutdown.c, 1.5, NONE start.c, 1.6, NONE vlvindex.c, 1.5, NONE Message-ID: <200706130127.l5D1R0OJ009547@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/ldapserver/ldap/admin/src In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9522 Modified Files: cfg_sspt.c Removed Files: addindex.c ds_bak2db.c ds_db2bak.c ds_db2ldif.c ds_ldif2db.c ds_listdb.c ds_remove.c ds_rmdb.c ds_snmpctrl.c restart.c shutdown.c start.c vlvindex.c Log Message: Resolves: #237356 Summary: Move DS Admin Code into Admin Server (Comment #54) Description: 1) eliminated the code adding o=netscaperoot related entries from cfg_sspt.c. 2) moving DS task CGIs to the adminserver. Index: cfg_sspt.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/cfg_sspt.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- cfg_sspt.c 7 Jun 2007 22:40:14 -0000 1.12 +++ cfg_sspt.c 13 Jun 2007 01:26:58 -0000 1.13 @@ -93,14 +93,11 @@ char* const name_st = "st"; char* const name_l = "l"; -char* const value_configAdminGroupCN = "Configuration Administrators"; -char* const value_configAdminGroupRDN = "cn=Configuration Administrators"; -char* const value_configAdminCN = "Configuration Administrator"; -char* const value_configAdminSN = "Administrator"; -char* const value_configAdminGN = "Configuration"; -char* const value_globalPreferencesOU = "Global Preferences"; -char* const value_hostPreferencesOU = "Host Preferences"; -char* const value_netscapeConfigDesc = "Standard branch for configuration information"; +char* const name_netscaperootDN = "o=NetscapeRoot"; + +char* const value_configAdminCN = "Configuration Administrator"; +char* const value_configAdminSN = "Administrator"; +char* const value_configAdminGN = "Configuration"; char* const value_peopleOU = "People"; char* const value_peopleDesc = "Standard branch for people (uid) entries"; char* const value_groupsOU = "Groups"; @@ -112,14 +109,6 @@ char* dbg_log_file = "ds_sscfg.log"; -char* const name_netscaperoot = "NetscapeRoot"; -char* const name_netscaperootDN = "o=NetscapeRoot"; -char* const name_topology = "TopologyManagement"; -char* const name_topologyRDN = "ou=TopologyManagement"; -char* const value_topologyDESC = "Branch for Configuration Administration users and groups"; -char* const name_administratorsOU = "Administrators"; -char* const name_administratorsRDN = "ou=Administrators"; -char* const value_administratorsDESC = "Standard branch for Configuration Administrator (uid) entries"; char* const name_localDAGroup = "Directory Administrators"; char* const value_localDAGroupDesc = "Entities with administrative access to this directory server"; @@ -994,70 +983,6 @@ return ret; } -static int -create_NetscapeRoot(LDAP* ld, const char *DN) -{ -/* - dn: o=NetscapeRoot - o: NetscapeRoot - objectclass: top - objectclass: organization - */ - int err; - int ret = 0; - -#ifdef CGI_DEBUG - debug_log (dbg_log_file, "create_NetscapeRoot()\n"); -#endif - - if (ld == NULL) - { - return -1; - } - - if (!entry_exists(ld, DN)) - { - LDAPMod* attrs[4]; - LDAPMod attr[3]; - char* objectClasses[4]; - char* names[2]; - - attrs[0] = &attr[0]; - attrs[3] = NULL; - attr[0].mod_op = LDAP_MOD_ADD; - attr[0].mod_type = name_objectClass; - attr[0].mod_values = objectClasses; - objectClasses[0] = class_top; - objectClasses[1] = class_organization; - objectClasses[2] = NULL; - attrs[1] = &attr[1]; - attr[1].mod_op = LDAP_MOD_ADD; - attr[1].mod_type = name_o; - attr[1].mod_values = names; - names[0] = name_netscaperoot; - names[1] = NULL; - attrs[2] = NULL; - - /* fprintf (stdout, "ldap_add_s(%s)
\n", DN); fflush (stdout); */ - - err = ldap_add_s (ld, DN, attrs); - - if (err != LDAP_SUCCESS) - { - char* explanation = PR_smprintf("Unable to create %s." - " (%s (%i) returned from ldap_add_s(%s))", - name_netscaperoot, ldap_err2string (err), err, - DN); - ds_report_warning (DS_NETWORK_ERROR, " can't create NetscapeRoot", - explanation); - PR_smprintf_free (explanation); - ret = 1; - } - - } - - return ret; -} #ifdef TEST_CONFIG static int @@ -1405,28 +1330,6 @@ if (!(connection = do_bind (slapd, query->rootDN, query->rootPW))) return 1; - /* parent dn of admin uid entry */ - if (query->netscaperoot) { - parentDN = make_dn("%s, %s, %s", name_administratorsRDN, - name_topologyRDN, query->netscaperoot, NULLSTR); - } - - if (query->config_admin_uid) { - getUIDFromDN(query->config_admin_uid, realuid); - if (realuid[0]) { - /* admid is already a DN */ - configAdminDN = strdup(query->config_admin_uid); - } else if (parentDN) { - /* create a DN for admid */ - configAdminDN = make_dn(DN_formatUID, query->config_admin_uid, parentDN, NULLSTR); - } else { - /* create one from scratch */ - configAdminDN = make_dn("%s=%s, %s, %s, %s", name_uid, query->config_admin_uid, - name_administratorsRDN, name_topologyRDN, - name_netscaperootDN, NULLSTR); - } - } - if (query->suffix) { status = create_base(connection, query->suffix); @@ -1448,16 +1351,6 @@ if (!status) { - /* - Give the Configuration Admin group access to the root DSE entries - */ - if (query->netscaperoot) { - adminGroupDN = make_dn("%s, %s=%s, %s, %s", value_configAdminGroupRDN, - name_ou, value_groupsOU, - name_topologyRDN, - query->netscaperoot, NULLSTR); - } - if (query->suffix) { localDAGroupDN = make_dn("cn=%s, %s", name_localDAGroup, @@ -1491,114 +1384,6 @@ } } - if (query->cfg_sspt) - { - /* create and set ACIs for o=netscaperoot entry */ - if (!status) - status = create_NetscapeRoot(connection, query->netscaperoot); - - if (!status) - status = add_aci_v(connection, query->netscaperoot, - ACI_config_admin_group_allow_all, - value_configAdminGroupRDN, - name_ou, value_groupsOU, name_topologyRDN, - query->netscaperoot, NULLSTR); - - if (!status) - status = add_aci_v(connection, query->netscaperoot, - ACI_anonymous_allow_with_filter, - query->netscaperoot, NULLSTR); - - if (!status) - status = add_aci_v(connection, query->netscaperoot, ACI_group_expansion, - query->netscaperoot, NULLSTR); - - /* create "topologyOU, netscaperoot" entry and set ACIs */ - if (!status) - { - char *dn = make_dn("%s, %s", name_topologyRDN, - query->netscaperoot, NULLSTR); - status = create_organizational_unit(connection, NULL, dn, - value_topologyDESC, - 0, 0, 0); - - if (!status) - add_aci(connection, dn, ACI_anonymous_allow); - - free(dn); - } - - /* create "ou=Groups, ..." */ - if (!status) - { - char *dn = make_dn("%s=%s, %s, %s", name_ou, value_groupsOU, - name_topologyRDN, query->netscaperoot, NULLSTR); - status = create_organizational_unit (connection, NULL, dn, - value_groupsDesc, 0, 0, 0); - free(dn); - } - - /* create "ou=Administrators, ..." */ - if (!status) - { - char *dn = make_dn("%s, %s, %s", name_administratorsRDN, - name_topologyRDN, query->netscaperoot, NULLSTR); - status = create_organizational_unit (connection, NULL, dn, - value_administratorsDESC, - 0, 0, 0); - free(dn); - } - - /* create "cn=Configuration Administrators, ou=Groups, ..." */ - if (!status) - { - char *dn = make_dn("%s=%s, %s, %s", name_ou, value_groupsOU, - name_topologyRDN, - query->netscaperoot, NULLSTR); - status = create_group (connection, dn, value_configAdminGroupCN); - free(dn); - } - - /* create the ss admin user */ - if (!status && !is_root_user(query->ssAdmID, query)) - { - /* group to add the uid to */ - char *groupdn = make_dn("%s, %s=%s, %s, %s", value_configAdminGroupRDN, - name_ou, value_groupsOU, name_topologyRDN, - query->netscaperoot, NULLSTR); - create_ssadmin_user(connection, parentDN, - query->ssAdmID, query->ssAdmPW1); - - status = add_group_member (connection, groupdn, - name_uniqueMember, configAdminDN); - free (groupdn); - } - - admin_domainDN = make_dn("%s=%s, %s", name_ou, query->admin_domain, - query->netscaperoot, NULLSTR); - - if (!status) - status = create_organizational_unit (connection, 0, - admin_domainDN, - value_netscapeConfigDesc, - class_adminDomain, - name_adminDomain, - query->admin_domain); - - if (!status) { - status = create_organizational_unit(connection, - admin_domainDN, - value_globalPreferencesOU, 0, - 0, 0, 0); - } - if (!status) { - status = create_organizational_unit(connection, - admin_domainDN, - value_hostPreferencesOU, 0, - 0, 0, 0); - } - } - #ifdef TEST_CONFIG if (!status && query->testconfig) status = create_configEntry(connection); --- addindex.c DELETED --- --- ds_bak2db.c DELETED --- --- ds_db2bak.c DELETED --- --- ds_db2ldif.c DELETED --- --- ds_ldif2db.c DELETED --- --- ds_listdb.c DELETED --- --- ds_remove.c DELETED --- --- ds_rmdb.c DELETED --- --- ds_snmpctrl.c DELETED --- --- restart.c DELETED --- --- shutdown.c DELETED --- --- start.c DELETED --- --- vlvindex.c DELETED --- From fedora-directory-commits at redhat.com Wed Jun 13 01:30:24 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Tue, 12 Jun 2007 21:30:24 -0400 Subject: [Fedora-directory-commits] adminserver/admserv/cgi-ds - New directory Message-ID: <200706130130.l5D1UO5Z009714@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/admserv/cgi-ds In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9699/cgi-ds Log Message: Directory /cvs/dirsec/adminserver/admserv/cgi-ds added to the repository From fedora-directory-commits at redhat.com Wed Jun 13 01:31:34 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Tue, 12 Jun 2007 21:31:34 -0400 Subject: [Fedora-directory-commits] adminserver/lib/libdsa - New directory Message-ID: <200706130131.l5D1VYfo011495@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/lib/libdsa In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11480/lib/libdsa Log Message: Directory /cvs/dirsec/adminserver/lib/libdsa added to the repository From fedora-directory-commits at redhat.com Wed Jun 13 01:32:02 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Tue, 12 Jun 2007 21:32:02 -0400 Subject: [Fedora-directory-commits] adminserver/include/libdsa - New directory Message-ID: <200706130132.l5D1W2iq011525@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/include/libdsa In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11510/include/libdsa Log Message: Directory /cvs/dirsec/adminserver/include/libdsa added to the repository From fedora-directory-commits at redhat.com Wed Jun 13 01:37:19 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Tue, 12 Jun 2007 21:37:19 -0400 Subject: [Fedora-directory-commits] adminserver/admserv/cgi-ds addindex.c, NONE, 1.1 ds_bak2db.c, NONE, 1.1 ds_db2bak.c, NONE, 1.1 ds_db2ldif.c, NONE, 1.1 ds_ldif2db.c, NONE, 1.1 ds_listdb.c, NONE, 1.1 ds_remove.c, NONE, 1.1 ds_rmdb.c, NONE, 1.1 ds_snmpctrl.c, NONE, 1.1 init_ds_env.c, NONE, 1.1 init_ds_env.h, NONE, 1.1 restart.c, NONE, 1.1 shutdown.c, NONE, 1.1 start.c, NONE, 1.1 vlvindex.c, NONE, 1.1 Message-ID: <200706130137.l5D1bJ6Y011639@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/admserv/cgi-ds In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11558/admserv/cgi-ds Added Files: addindex.c ds_bak2db.c ds_db2bak.c ds_db2ldif.c ds_ldif2db.c ds_listdb.c ds_remove.c ds_rmdb.c ds_snmpctrl.c init_ds_env.c init_ds_env.h restart.c shutdown.c start.c vlvindex.c Log Message: Resolves: #237356 Summary: Move DS Admin Code into Admin Server (Comment #54 -- adminserver side) Description: moving DS task CGIs to the adminserver with libdsa. --- NEW FILE addindex.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * addindex.c: Creates one or more indexes for specified attributes * * Rob Weltman */ #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" #include #include "nspr.h" int main(int argc, char *argv[]) { int status; char *attributes; char *attrs; char **attrList; int nAttrs; char *nextAttr = NULL; char *backendName; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; /* * Get value of the "attributes" variable. */ attributes = get_cgi_var("attributes", NULL, NULL); if ( (NULL == attributes) || (strlen(attributes) < 1) ) { rpt_err( DS_UNDEFINED_VARIABLE, "attributes", NULL, NULL ); return 1; } backendName = get_cgi_var("backendID", NULL, NULL); if ( (NULL == backendName) || (strlen(backendName) < 1) ) { rpt_err( DS_UNDEFINED_VARIABLE, "backendName", NULL, NULL ); return 1; } attrs = strdup( attributes ); if (attrs == NULL) { rpt_err(DS_MEMORY_ERROR, "Out of memory!", NULL, NULL); return 1; } /* Allocate for worst possible case */ attrList = (char **)malloc(sizeof(*attrList) * (strlen(attrs)+1)); nAttrs = 0; /* strtok() is not MT safe, but it is okay to call here because this is a command line */ attrList[nAttrs++] = strtok( attrs, " " ); do { nextAttr = strtok( NULL, " " ); attrList[nAttrs++] = nextAttr; } while( nextAttr != NULL ); ds_send_status((nAttrs > 1) ? "Creating indexes ..." : "Creating index ..."); status = ds_addindex( attrList, backendName ); if ( !status ) { rpt_success((nAttrs > 1) ? "Success! The indexes have been created." : "Success! The index has been created."); status = 0; } else { char msg[BIG_LINE]; PR_snprintf( msg, sizeof(msg), "[%s] %s", backendName, attributes); rpt_err( status, msg, NULL, NULL ); status = 1; } return status; } --- NEW FILE ds_bak2db.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Restores a database. * * Anil Bhavnani * Removed all HTML output for DS 4.0: Rob Weltman */ #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" #include int main(int argc, char *argv[]) { int isrunning; char *filename = NULL; int status; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; /* * Get value of the "filename" variable. */ filename = get_cgi_var("filename", NULL, NULL); if ( (NULL == filename) || (strlen(filename) < 1) ) { fprintf(stdout, "Environment variable filename not defined.\n"); rpt_err( DS_UNDEFINED_VARIABLE, "filename", NULL, NULL ); return 1; } /* Check if server is up */ isrunning = ds_get_updown_status(); /* Stop it, if so */ if (isrunning != DS_SERVER_DOWN) { status = ds_bring_down_server(); if(status != DS_SERVER_DOWN) { rpt_err( DS_SERVER_MUST_BE_DOWN, filename, NULL, NULL ); return 1; } } ds_send_status("restoring database ..."); status = ds_bak2db(filename); if ( !status ) { rpt_success("Success! The database has been restored."); status = 0; } else { rpt_err( status, filename, NULL, NULL ); status = 1; } /* Restart the server if we brought it down */ if (isrunning != DS_SERVER_DOWN) { if(ds_bring_up_server(1) != DS_SERVER_UP) { ds_send_status( "An error occurred during startup" ); } } return status; } --- NEW FILE ds_db2bak.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Backs up the database. * * Anil Bhavnani * Removed all HTML output for DS 4.0: Rob Weltman */ #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" #include #ifdef XP_UNIX #include #endif #include "nspr.h" int main(int argc, char *argv[]) { char *filename = NULL; int status; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; /* * Get value of the "filename" variable. */ filename = get_cgi_var("filename", NULL, NULL); if ( (NULL == filename) || (strlen(filename) < 1) ) { rpt_err( DS_UNDEFINED_VARIABLE, "filename", NULL, NULL ); return 1; } ds_become_localuser (ds_get_config (DS_REAL_CONFIG)); #define NEWDIR_MODE 0755 /* Attempt to detect up front if file cannot be written */ status = -1; /* Attempt to create the backup directory */ if ( 0 == ds_mkdir_p(filename, NEWDIR_MODE) ) { char foo[256]; FILE *f; /* Now attempt to create a file there (the directory might already have existed */ PR_snprintf( foo, sizeof(foo), "%s%c%s", filename, FILE_PATHSEP, "foo" ); f = fopen(foo, "w"); if ( NULL != f ) { status = 0; fclose( f ); unlink( foo ); } } if ( status ) { rpt_err( DS_CANNOT_CREATE_FILE, filename, NULL, NULL ); return 1; } ds_send_status("backing up database ..."); status = ds_db2bak( filename ); /* prints errors as needed */ if ( !status ) { rpt_success("Success! The database has been backed up."); return 0; } else { rpt_err( status, filename, NULL, NULL ); return 1; } } --- NEW FILE ds_db2ldif.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Converts the database into an ldif file. * * Anil Bhavnani * Removed all HTML output for DS 4.0: Rob Weltman */ #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" #include #ifdef XP_UNIX #include #endif int main(int argc, char *argv[]) { char *filename = NULL; char *subtree = NULL; int status; FILE *f; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; /* * Get value of the "filename" variable. */ filename = get_cgi_var("filename", NULL, NULL); if ( (NULL == filename) || (strlen(filename) < 1) ) { rpt_err( DS_UNDEFINED_VARIABLE, "filename", NULL, NULL ); return 1; } ds_become_localuser (ds_get_config (DS_REAL_CONFIG)); /* Attempt to detect up front if file cannot be written */ f = fopen(filename, "w"); if ( NULL != f ) { fclose( f ); unlink( filename ); } else { rpt_err( DS_CANNOT_CREATE_FILE, filename, NULL, NULL ); return 1; } /* * Get value of the "subtree" variable. */ subtree = get_cgi_var("subtree", NULL, NULL); ds_send_status("creating LDIF file ..."); if ( (subtree != NULL) && (*subtree != 0) ) { char *escaped = ds_escape_for_shell( subtree ); status = ds_db2ldif_subtree(filename, escaped); free( escaped ); } else { status = ds_db2ldif(filename); /* prints errors as needed */ } if ( !status ) { rpt_success("Success! The database has been exported."); return 0; } else { rpt_err( status, filename, NULL, NULL ); return 1; } } --- NEW FILE ds_ldif2db.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * ds_ldif2db.c: Converts an ldif file into a database. * * Anil Bhavnani * Removed all HTML output for DS 4.0: Rob Weltman */ #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" #include #ifdef XP_UNIX #include #endif #ifdef XP_WIN32 #include #endif int main(int argc, char *argv[]) { int isrunning; char *filename = NULL; char *saveconfig = NULL; int preserve; int status; setbuf(stdout, 0); #ifdef DEBUG_CGI freopen("\\tmp\\stderr.out", "w", stderr); #else dup2(fileno(stdout), fileno(stderr)); #endif /* DEBUG_CGI */ fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; /* * Get value of the "filename" variable. */ filename = get_cgi_var("filename", NULL, NULL); if ( (NULL == filename) || (strlen(filename) < 1) ) { rpt_err( DS_UNDEFINED_VARIABLE, "filename", NULL, NULL ); return 1; } #ifdef DEBUG_CGI fprintf(stderr, "filename=%s\n", filename); #endif /* DEBUG_CGI */ /* * Get value of the "saveconfig" variable. */ saveconfig = get_cgi_var("saveconfig", NULL, NULL); preserve = ( (saveconfig == NULL) || !(strcmp(saveconfig,"true")) ); #ifdef DEBUG_CGI fprintf(stderr, "preserve=%d\n", preserve); #endif /* DEBUG_CGI */ /* Check if server is up */ isrunning = ds_get_updown_status(); #ifdef DEBUG_CGI fprintf(stderr, "isrunning=%d\n", isrunning); #endif /* DEBUG_CGI */ /* Stop it, if so */ if (isrunning != DS_SERVER_DOWN) { status = ds_bring_down_server(); #ifdef DEBUG_CGI fprintf(stderr, "status=%d\n", status); #endif /* DEBUG_CGI */ if(status != DS_SERVER_DOWN) { rpt_err( DS_SERVER_MUST_BE_DOWN, filename, NULL, NULL ); return 1; } } ds_send_status("creating database ..."); if ( preserve ) status = ds_ldif2db_preserve(filename); /* prints errors as needed */ else status = ds_ldif2db(filename); /* prints errors as needed */ if ( !status ) { rpt_success("Success! The database has been imported."); status = 0; } else { rpt_err( status, filename, NULL, NULL ); status = 1; } /* Restart the server if we brought it down */ if (isrunning != DS_SERVER_DOWN) { int retval; if((retval=ds_bring_up_server(1)) != DS_SERVER_UP) { ds_send_status( "An error occurred during startup" ); } } return status; } --- NEW FILE ds_listdb.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * List the database backup directories. * No HTML - this is for DS 4.0. * * Rob Weltman */ #include #include #include "dsalib.h" int main(int argc, char *argv[], char *envp[]) { char **bak_dirs; ds_become_localuser (ds_get_config (DS_REAL_CONFIG)); /* Tell the receiver we are about to start sending data */ fprintf(stdout, "\n"); bak_dirs = ds_get_bak_dirs(); if ( bak_dirs != NULL ) /* no error */ { char **cur_file = bak_dirs; while ( *cur_file != NULL ) { fprintf(stdout, "%s\n", *cur_file); cur_file++; } } ds_become_original(); return 0; } --- NEW FILE ds_remove.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Remove the server * * Prasanta Behera */ #ifdef XP_WIN32 #include #include #include "regparms.h" extern BOOL DeleteServer(LPCSTR pszServiceId); #endif #include #include #include #include "libadminutil/admutil.h" #ifdef XP_UNIX #include #include #include #include #include #include #else #endif /* WIN32? */ #include #include "dsalib.h" #include "init_ds_env.h" #include "nspr.h" /* this will be set to 1 if we need to retry the rm -rf of the instance directory again */ static int try_rm_rf_again = 0; static int rm_rf_err_func(const char *path, const char *op, void *arg) { PRInt32 errcode = PR_GetError(); char *msg; const char *errtext; if (!errcode || (errcode == PR_UNKNOWN_ERROR)) { errcode = PR_GetOSError(); errtext = ds_system_errmsg(); } else { errtext = PR_ErrorToString(errcode, PR_LANGUAGE_I_DEFAULT); } /* ignore "file or directory already removed" errors */ if (errcode != PR_FILE_NOT_FOUND_ERROR) { msg = PR_smprintf("%s %s: error code %d (%s)", op, path, errcode, errtext); ds_send_error(msg, 0); PR_smprintf_free(msg); } /* On Windows and HPUX, if the file/directory to remove is opened by another application, it cannot be removed and will generate a busy error This usually happens when we attempt to stop slapd then remove the instance directory, but for some reason the process still has some open files In this case, we need to wait for some period of time then attempt to remove the instance directory again */ if (errcode == PR_FILE_IS_BUSY_ERROR) { try_rm_rf_again = 1; return 0; /* just abort the operation */ } #ifdef XP_WIN32 /* on windows, err 145 means dir not empty 145 The directory is not empty. ERROR_DIR_NOT_EMPTY If there was a busy file, it wasn't able to be removed, so when we go to remove the directory, it won't be empty */ if (errcode == ERROR_DIR_NOT_EMPTY) { if (try_rm_rf_again) { return 0; /* don't continue */ } } #else /* unix */ if (errcode == EEXIST) { /* not empty */ if (try_rm_rf_again) { return 0; /* don't continue */ } } #endif return 1; /* just continue */ } int main(int argc, char *argv[]) { int status = -1; char *servername; char *installroot; int isRunning; #ifndef __LP64__ #if defined(__hpux) && !defined(__ia64) _main(); #endif #endif #ifdef XP_WIN32 if ( getenv("DEBUG_DSINST") ) DebugBreak(); #endif /* case 1: being called as program -f inffile */ if (argc > 2 && argv[1][0] == '-' && argv[1][1] == 'f') { FILE *infFile = fopen(argv[2], "r"); if (!infFile) { ds_report_error (DS_INCORRECT_USAGE, argv[2], "This file could not be opened. A valid file must be given."); status = 1; return status; } else fclose(infFile); #if 0 ds_uninst_set_cgi_env(argv[2]); #else fprintf(stdout, "Call Uninstall\n"); #endif } else if (getenv("REQUEST_METHOD")) { /* case 2: called as a CGI */ fprintf(stdout, "Content-type: text/html\n\n"); fflush(stdout); } else { /* case 3: run from the command line */ /* when being run from the command line, we require many command line arguments */ /* we need to do 2 or three things: 1 - stop the server and remove the server instance directory 2 - remove the server's information from the config ds 3 - On Windows, remove the registry information We require the instance name as an argument. We also need the following: For 1, we need the server root For 2, we need the config ds host, port, admin domain, admin dn, admin password For 3, just the instance name There are two other arguments that are optional. -force will ignore errors and just keep going. On Windows, -allreg will clean up all known registry information for all instances of DS on this machine */ } if ( init_ds_env() ) { return 1; } /* * Get the server path to delete. * serverpath = //slapd- */ if (!(servername = get_cgi_var("InstanceName", NULL, NULL))) servername = ds_get_server_name(); /* Check again if the serevr is down or not */ if((isRunning = ds_get_updown_status()) == DS_SERVER_UP) { if ((status = ds_bring_down_server()) != DS_SERVER_DOWN) { char buf[1024]; PR_snprintf(buf, sizeof(buf), "Could not stop server: error %d", status); ds_report_error (DS_GENERAL_FAILURE, servername, buf); return 1; } } if (servername) { char line[1024]; int busy_retries = 3; /* if busy, retry this many times */ installroot = ds_get_install_root(); /* We may get busy errors if files are in use when we try to remove them, so if that happens, sleep for 30 seconds and try again */ status = ds_rm_rf(installroot, rm_rf_err_func, NULL); while (status && try_rm_rf_again && busy_retries) { PR_snprintf(line, sizeof(line), "Some files or directories in %s are still in use. Will sleep for 30 seconds and try again.", installroot); ds_show_message(line); PR_Sleep(PR_SecondsToInterval(30)); try_rm_rf_again = 0; --busy_retries; status = ds_rm_rf(installroot, rm_rf_err_func, NULL); } if (status) { PR_snprintf(line, sizeof(line), "Could not remove %s. Please check log messages and try again.", installroot); ds_send_error(line, 0); } } #ifdef XP_WIN32 if (servername) { status += ds_remove_reg_key(HKEY_LOCAL_MACHINE, "%s\\%s\\%s\\%s", KEY_SOFTWARE_NETSCAPE, DS_NAME_SHORT, DS_VERSION, servername); /* also try to remove version key in case this is the last instance */ status += ds_remove_reg_key(HKEY_LOCAL_MACHINE, "%s\\%s\\%s", KEY_SOFTWARE_NETSCAPE, DS_NAME_SHORT, DS_VERSION); /* also try to remove product key in case this is the last instance */ status += ds_remove_reg_key(HKEY_LOCAL_MACHINE, "%s\\%s", KEY_SOFTWARE_NETSCAPE, DS_NAME_SHORT); /* also need to remove service */ if (!DeleteServer(servername)) { status += 1; } /* Remove Event Log Key */ status += ds_remove_reg_key(HKEY_LOCAL_MACHINE, "%s\\%s\\%s", KEY_SERVICES, KEY_EVENTLOG_APP, servername); } #endif if (status == 0) { char buf[1024]; PR_snprintf(buf, sizeof(buf), "Server %s was successfully removed", servername); ds_show_message(buf); rpt_success(""); } else { char buf[1024]; PR_snprintf(buf, sizeof(buf), "Could not remove server %s", servername); ds_send_error(buf, 0); } return status; } --- NEW FILE ds_rmdb.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Delete backed-up database files. * * Anil Bhavnani * Removed all HTML output for DS 4.0: Rob Weltman */ #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" #include #ifdef XP_UNIX #include #endif #ifdef XP_WIN32 #include #endif #include "nspr.h" #ifndef MAXPATHLEN #define MAXPATHLEN 1024 #endif int main(int argc, char *argv[], char *envp[]) { char *del_file = NULL; char **bak_files; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; ds_become_localuser (ds_get_config (DS_REAL_CONFIG)); /* * Get value of the "deletefile" variable. */ del_file = get_cgi_var("deletefile", NULL, NULL); if ( (NULL == del_file) || (strlen(del_file) < 1) ) { rpt_err( DS_UNDEFINED_VARIABLE, "deletefile", NULL, NULL ); return 1; } bak_files = ds_get_file_list( del_file ); if ( bak_files == NULL ) { rpt_err( DS_NO_SUCH_FILE, del_file, NULL, NULL ); return 1; } else { int j; char buf[ MAXPATHLEN ]; for ( j = 0; bak_files[ j ] != NULL; j++ ) { PR_snprintf( buf, sizeof(buf), "%s/%s", del_file, bak_files[ j ]); if ( unlink(buf) != 0 ) { rpt_err( DS_CANNOT_DELETE_FILE, buf, NULL, NULL ); return 1; } } if ( rmdir( del_file ) < 0 ) { rpt_err( DS_CANNOT_DELETE_FILE, del_file, NULL, NULL ); return 1; } } rpt_success("Success! Deleted directory."); return 0; } --- NEW FILE ds_snmpctrl.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * snmpctrl.c - start/stop/restart LDAP-based SNMP subagent * * Steve Ross -- 08/12/97 * */ #include #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" #include "nspr.h" #if !defined(_WIN32) #include #include #include #include #include #include #else #include #endif #define SUBAGT_PATH "bin/slapd/server" #define SUBAGT_NAME "ns-ldapagt" #define START 1 #define STOP 2 #define RESTART 3 #define NSLDAPAGT_PID "NSLDAPAGT.LK" #ifdef __cplusplus extern "C" { #endif int nsldapagt_is_running(void); int nsldapagt_shutdown(void); int nsldapagt_start(void); int nsldapagt_restart(void); #ifdef __cplusplus } #endif int main(int argc, char *argv[]) { char *action_type = NULL; int status = 1; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; action_type = get_cgi_var("ACTION", "Missing Command", "Need to specify Start, Stop, or Restart"); if (!action_type) return 1; if (!strcmp(action_type, "START")) { status = nsldapagt_start(); } else if (!strcmp(action_type, "STOP")) { status = nsldapagt_shutdown(); } else if (!strcmp(action_type, "RESTART")) { status = nsldapagt_restart(); } else { status = DS_UNKNOWN_SNMP_COMMAND; } if ( !status ) { rpt_success("Success!"); return 0; } else { rpt_err( status, action_type, NULL, NULL ); return 1; } } #if !defined(_WIN32) int get_nsldapagt_pid(pid_t *pid) { char *SLAPD_ROOT; char path[PATH_MAX]; FILE *fp; *pid = -1; SLAPD_ROOT = ds_get_install_root(); PR_snprintf(path, sizeof(path), "%s/logs/%s", SLAPD_ROOT, NSLDAPAGT_PID); if (!ds_file_exists(path)) { return(-1); } if ((fp = fopen(path, "r")) != (FILE *) NULL) { if ((fscanf(fp, "%d\n", (int *) pid)) != -1) { (void) fclose(fp); return(0); } } (void) fclose(fp); return(-1); } #endif #if defined(_WIN32) BOOL isServiceRunning(LPCTSTR szServiceId) { BOOL bReturn = FALSE; DWORD dwError = 0; SC_HANDLE schService = NULL; SC_HANDLE schSCManager = NULL; SERVICE_STATUS lpss; if((schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS))) { if((schService = OpenService(schSCManager, szServiceId, SERVICE_ALL_ACCESS))) { bReturn = ControlService(schService, SERVICE_CONTROL_INTERROGATE , &lpss); if(SERVICE_RUNNING == lpss.dwCurrentState) { bReturn = TRUE; } CloseServiceHandle(schService); } dwError = GetLastError(); CloseServiceHandle(schSCManager); } return(bReturn); } #endif /* * This routine returns: * 0 if nsldapagt is NOT running * 1 if nsldapagt is actually running */ int nsldapagt_is_running() { #if defined(_WIN32) if (FALSE == isServiceRunning("SNMP") ) { return(0); } #else pid_t pid; if (get_nsldapagt_pid(&pid) != 0) { return(0); } if (kill(pid, 0) == -1) { return(0); } #endif return(1); } #if !defined(_WIN32) /* * This routine returns: * 0 if magt is NOT running * 1 if magt is actually running * * The run state is determined whether one can successfully bind to the * smux port. * * this is for UNIX only */ int smux_master_is_running() { struct servent *pse; struct protoent *ppe; struct sockaddr_in sin; int s; sin.sin_family = AF_INET; sin.sin_addr.s_addr = INADDR_ANY; if ((pse = getservbyname("smux", "tcp"))) { sin.sin_port = ntohs(pse->s_port); } else { sin.sin_port = 199; } if ((ppe = getprotobyname("tcp")) == 0) { return(0); } if ((s = socket(AF_INET, SOCK_STREAM, ppe->p_proto)) < 0) { return(0); } /* bind expects port number to be in network order we should do this for all platforms, not just OSF. */ sin.sin_port = htons(sin.sin_port); if (bind(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) { close(s); return(1); } else { } close(s); return(0); } #endif int nsldapagt_start() { if (nsldapagt_is_running()) { return(0); } #if defined(_WIN32) /* NT version -- just try to start the SNMP service */ /* Bug 612322: redirecting the output to null device */ system("net start SNMP > nul"); #else /* * Check if smux master agent is running before firing off the subagent! */ if (!smux_master_is_running()) { return(-1); } else { char *NETSITE_ROOT = getenv("NETSITE_ROOT"); char *SLAPD_ROOT = ds_get_install_root(); char command[1024]; PR_snprintf(command, sizeof(command), "cd %s/%s; ./%s -d %s", NETSITE_ROOT, SUBAGT_PATH, SUBAGT_NAME, SLAPD_ROOT); (void) system(command); sleep(2); } #endif if (!nsldapagt_is_running()) { return(-1); } return(0); } int nsldapagt_shutdown() { if (!nsldapagt_is_running()) { rpt_success("NOT_RUNNING"); exit(0); } else { int status = -1; #if defined(_WIN32) /* NT version -- just try to stop the SNMP service */ /* Bug 612322: redirecting the output to null device */ status = system("net stop SNMP > nul"); #else /* UNIX version */ pid_t pid; if (get_nsldapagt_pid(&pid) == 0) { if (kill(pid, SIGTERM) == 0) { sleep(2); if (!nsldapagt_is_running()) { status = 0; } } } #endif return(status); } return(0); } int nsldapagt_restart() { int status; if ( (status = nsldapagt_shutdown()) != 0 ) return status; else return nsldapagt_start(); } --- NEW FILE init_ds_env.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Set up environment for CGIs. * * Rob Weltman */ #include #include #include #include "libadminutil/admutil.h" #include "libadminutil/distadm.h" #include "init_ds_env.h" #include "dsalib.h" #include "prprf.h" int init_ds_env() { char *m = getenv("REQUEST_METHOD"); char *qs = NULL; int proceed = 0; (void)ADMUTIL_Init(); if ( m != NULL ) { if( !strcmp(m, "GET") ) { qs = GET_QUERY_STRING(); if ( qs && *qs ) { get_begin(qs); } proceed = 1; } else if(!strcmp(m, "POST")) { if (post_begin(stdin)) { proceed = 0; } else { proceed = 1; } } } if(!proceed) { char msg[2000]; PR_snprintf(msg, sizeof(msg), "ErrorString: REQUEST_METHOD=%s," "QUERY_STRING=%s\n", (m == NULL) ? "" : m, (qs == NULL) ? "" : qs); rpt_err( GENERAL_FAILURE, msg, "", "" ); return 1; } return 0; } --- NEW FILE init_ds_env.h --- /** 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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Set up environment for CGIs. * * Rob Weltman */ extern int init_ds_env(); --- NEW FILE restart.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * restart.c: Stops and the starts up the server. * */ #include #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" #ifdef XP_WIN32 #define sleep(sec) Sleep(sec) #endif int main(int argc, char *argv[]) { int status = -1; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; if (DS_SERVER_UP == ds_get_updown_status()) { status = ds_bring_down_server(); if(status != DS_SERVER_DOWN) { rpt_err( status, "", NULL, NULL ); return 1; } } status = ds_bring_up_server(1); if(status == DS_SERVER_UP) { rpt_success("Success! The server has been restarted."); return 0; } else { rpt_err( status, "", NULL, NULL ); return 1; } } --- NEW FILE shutdown.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * shutdown.c: Kills the server. * * DS changes: Anil Bhavnani * Removed all HTML output for DS 4.0: Rob Weltman * Mike McCool */ #include #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" int main(int argc, char *argv[]) { int status = -1; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; status = ds_bring_down_server(); if(status == DS_SERVER_DOWN) { rpt_success("Success! The server has been shut down."); return 0; } else { rpt_err( status, "", NULL, NULL ); return 1; } } --- NEW FILE start.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * start.c: Starts up the server. * * DS changes: Anil Bhavnani * Removed all HTML output for DS 4.0: Rob Weltman * Mike McCool */ #include #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" int main(int argc, char *argv[]) { int status = -1; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 0; status = ds_bring_up_server(1); if(status == DS_SERVER_UP) { rpt_success("Success! The server has been started."); return 0; } else { rpt_err( status, "", NULL, NULL ); return 1; } } --- NEW FILE vlvindex.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * vlvindex.c: Creates a VLV index for a given search * * Rob Weltman */ #include #include #include "libadminutil/admutil.h" #include "dsalib.h" #include "init_ds_env.h" #include int main(int argc, char *argv[]) { int status; char *backendNames = NULL; char *attributes = NULL; char *tmparg = NULL; char **attrList = NULL; char **backendList = NULL; int nItem = 0; char *nextItem = NULL; int i=0; fprintf(stdout, "Content-type: text/html\n\n"); if ( init_ds_env() ) return 1; ds_send_status("Creating vlv index ..."); /* * Get var's value */ backendNames = get_cgi_var("backendID", NULL, NULL); if ( (NULL == backendNames) || (strlen(backendNames) < 1) ) { rpt_err( DS_UNDEFINED_VARIABLE, "backendID", NULL, NULL ); return 1; } attributes = get_cgi_var("vlvTags", NULL, NULL); if ( (NULL == attributes) || (strlen(attributes) < 1) ) { rpt_err( DS_UNDEFINED_VARIABLE, "vlvTags", NULL, NULL ); return 1; } tmparg = strdup( attributes ); nItem = 0; for(i=0 ; i < strlen(attributes) ; i++) { if ( tmparg[i] == ';' ) nItem++; } /* Allocate for worst possible case */ attrList = (char **)malloc(sizeof(*attrList) * (nItem + 2) ); nItem = 0; /* strtok() is not MT safe, but it is okay to call here because this is a command line */ attrList[nItem++] = strtok( tmparg, ";" ); do { nextItem = strtok( NULL, ";" ); attrList[nItem++] = nextItem; } while( nextItem != NULL ); tmparg = strdup( backendNames ); nItem = 0; for(i=0;i Author: nhosoi Update of /cvs/dirsec/adminserver/include/libdsa In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11558/include/libdsa Added Files: dsalib.h dsalib_pw.h dsalib_schema.h Log Message: Resolves: #237356 Summary: Move DS Admin Code into Admin Server (Comment #54 -- adminserver side) Description: moving DS task CGIs to the adminserver with libdsa. --- NEW FILE dsalib.h --- /** 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 **/ #ifdef HAVE_CONFIG_H # include #endif #ifndef __dsalib_h #define __dsalib_h #include #include #include #ifdef HPUX #include /* for PATH_MAX */ #endif /* error types */ #define DS_FILE_ERROR 0 #define DS_MEMORY_ERROR 1 #define DS_SYSTEM_ERROR 2 #define DS_INCORRECT_USAGE 3 #define DS_ELEM_MISSING 4 #define DS_REGISTRY_DATABASE_ERROR 5 #define DS_NETWORK_ERROR 6 #define DS_GENERAL_FAILURE 7 #define DS_WARNING 8 /* The upper bound on error types */ #define DS_MAX_ERROR 9 /* The default error type (in case something goes wrong */ #define DS_DEFAULT_ERROR 3 #ifndef BIG_LINE #define BIG_LINE 1024 #endif #ifndef PATH_MAX #if defined( _WIN32 ) #define PATH_MAX _MAX_PATH #else #define PATH_MAX 256 #endif /* _WIN32 */ #endif /* PATH_MAX */ #ifndef HTML_ERRCOLOR #define HTML_ERRCOLOR "#AA0000" #endif #ifndef CONTENT_NAME #define CONTENT_NAME "content" #endif /* config file/path info */ #define DS_CONFIG_DIR "DS_CONFIG_DIR" #define DS_CONFIG_FILE "dse.ldif" #define DS_ORIGCONFIG_FILE "dse_original.ldif" #define DS_CONFIG_LOCKDIR "nsslapd-lockdir:" #define DS_CONFIG_ERRLOG "nsslapd-errorlog:" #ifdef XP_UNIX #define FILE_PATHSEP '/' #define FILE_PATHSEPP "/" #define FILE_PARENT "../" #define WSACleanup() #elif defined(XP_WIN32) #define FILE_PATHSEP '/' #define FILE_PATHSEPP "\\\\" #define FILE_PARENT "..\\" #endif /* XP_WIN32 */ #define PATH_SIZE 1024 #define ERR_SIZE 8192 /* NT doesn't strictly need these, but the libadmin API which is emulated below uses them. */ #define NEWSCRIPT_MODE 0755 #define NEWFILE_MODE 0644 #define NEWDIR_MODE 0755 #if defined( XP_WIN32 ) #define DS_EXPORT_SYMBOL __declspec( dllexport ) #else #define DS_EXPORT_SYMBOL #endif #if defined( XP_WIN32 ) #define ENQUOTE "\"" #else #define ENQUOTE "" #endif #ifndef FILE_SEP #ifdef XP_WIN32 #define FILE_SEP '\\' #else #define FILE_SEP '/' #endif #endif #if defined( XP_WIN32 ) #define PATH_FOR_PLATFORM(_path) ds_unixtodospath(_path) #else #define PATH_FOR_PLATFORM(_path) #endif #define START_SCRIPT "start-slapd" #define RESTART_SCRIPT "restart-slapd" #define STOP_SCRIPT "stop-slapd" #if defined( XP_WIN32 ) #define SLAPD_NAME "slapd" #else #define SLAPD_NAME "ns-slapd" #endif #define MOCHA_NAME "JavaScript" /* * Return values from ds_get_updown_status() */ #define DS_SERVER_UP 1 #define DS_SERVER_DOWN 0 #define DS_SERVER_UNKNOWN -1 /* * Return values from ds_bring_up_server() */ #define DS_SERVER_ALREADY_UP -2 #define DS_SERVER_ALREADY_DOWN -3 #define DS_SERVER_PORT_IN_USE -4 #define DS_SERVER_MAX_SEMAPHORES -5 #define DS_SERVER_CORRUPTED_DB -6 #define DS_SERVER_NO_RESOURCES -7 #define DS_SERVER_COULD_NOT_START -8 /* * Other return values */ #define DS_UNKNOWN_ERROR -1 #define DS_NO_SERVER_ROOT -10 #define DS_CANNOT_EXEC -11 #define DS_CANNOT_OPEN_STAT_FILE -12 #define DS_NULL_PARAMETER -13 #define DS_SERVER_MUST_BE_DOWN -14 #define DS_CANNOT_OPEN_BACKUP_FILE -15 #define DS_NOT_A_DIRECTORY -16 #define DS_CANNOT_CREATE_DIRECTORY -17 #define DS_CANNOT_OPEN_LDIF_FILE -18 #define DS_IS_A_DIRECTORY -19 #define DS_CANNOT_CREATE_FILE -20 #define DS_UNDEFINED_VARIABLE -21 #define DS_NO_SUCH_FILE -22 #define DS_CANNOT_DELETE_FILE -23 #define DS_UNKNOWN_SNMP_COMMAND -24 #define DS_NON_NUMERIC_VALUE -25 #define DS_NO_LOGFILE_NAME -26 #define DS_CANNOT_OPEN_LOG_FILE -27 #define DS_HAS_TOBE_READONLY_MODE -28 #define DS_INVALID_LDIF_FILE -29 /* * Types of config files. */ #define DS_REAL_CONFIG 1 #define DS_TMP_CONFIG 2 /* * Maximum numeric value we will accept in admin interface * We may at some point need per-option bounds, but for now, * there's just one global maximum. */ #define DS_MAX_NUMERIC_VALUE 4294967295 /* 2^32 - 1 */ /* Use our own macro for rpt_err, so we can put our own error code in NMC_STATUS */ #undef rpt_err #define rpt_err(CODE, STR1, STR2, STR3) \ fprintf( stdout, "NMC_ErrInfo: %s\n", (STR1) ); \ fprintf( stdout, "NMC_STATUS: %d\n", CODE ) /* * Flags for ds_display_config() */ #define DS_DISP_HRB 1 /* horizontal line to begin with */ #define DS_DISP_HRE 2 /* horizontal line to end with */ #define DS_DISP_TB 4 /* table begin */ #define DS_DISP_TE 8 /* table end */ #define DS_DISP_EOL 16 /* End Of Line */ #define DS_DISP_NOMT 32 /* display only non empty */ #define DS_DISP_NOIN 64 /* display with no input field */ #define DS_DISP_HELP 128 /* display with a help button */ #define DS_DISP_PLAIN 256 /* No table, no nothin */ #define DS_SIMPLE (DS_DISP_EOL | DS_DISP_NOIN | DS_DISP_HELP) /* * dci_type for ds_cfg_info */ #define DS_ATTR_STRING 1 #define DS_ATTR_NUMBER 2 #define DS_ATTR_ONOFF 3 #define DS_ATTR_LIMIT 4 /* a number where -1 is displayed as blank */ struct ds_cfg_info { char *dci_varname; char *dci_display; int dci_type; char *dci_help; }; extern struct ds_cfg_info ds_cfg_info[]; #define LDBM_DATA_SIZE 5 /*ldbm specific backend information*/ struct ldbm_data { char *tv[LDBM_DATA_SIZE][2]; /*type and value*/ }; /* * varname for ds_showparam() * NOTE: these must be kept in synch with the ds_cfg_info array defined * in ../lib/dsalib_conf.c */ #define DS_LOGLEVEL 0 #define DS_REFERRAL 1 #define DS_AUDITFILE 2 #define DS_LOCALHOST 3 #define DS_PORT 4 #define DS_SECURITY 5 #define DS_SECURE_PORT 6 #define DS_SSL3CIPHERS 7 #define DS_PASSWDHASH 8 #define DS_ACCESSLOG 9 #define DS_ERRORLOG 10 #define DS_ROOTDN 11 #define DS_ROOTPW 12 #define DS_SUFFIX 13 #define DS_LOCALUSER 14 #define DS_CFG_MAX 15 /* MUST be one greater than the last option */ /* These control how long we wait for the server to start up or shutdown */ #define SERVER_START_TIMEOUT 600 /* seconds */ #define SERVER_STOP_TIMEOUT SERVER_START_TIMEOUT /* same as start timeout */ typedef int (*DS_RM_RF_ERR_FUNC)(const char *path, const char *op, void *arg); #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ extern DS_EXPORT_SYMBOL char *ds_get_server_root(); extern DS_EXPORT_SYMBOL char *ds_get_install_root(); extern DS_EXPORT_SYMBOL char *ds_get_admserv_based_root(); extern DS_EXPORT_SYMBOL void ds_log_debug_message(char *msg); extern DS_EXPORT_SYMBOL void ds_log_env(char **envp); extern DS_EXPORT_SYMBOL int ds_get_updown_status(); extern DS_EXPORT_SYMBOL void ds_print_startstop(int stop); extern DS_EXPORT_SYMBOL int ds_bring_up_server_install(int verbose, char *root, char *errorlog); extern DS_EXPORT_SYMBOL int ds_bring_up_server(int verbose); extern DS_EXPORT_SYMBOL char *ds_get_server_name(); extern DS_EXPORT_SYMBOL void ds_send_error(char *errstr, int print_errno); extern DS_EXPORT_SYMBOL void ds_send_status(char *str); extern DS_EXPORT_SYMBOL char *ds_get_cgi_var(char *cgi_var_name); extern DS_EXPORT_SYMBOL char *ds_get_cgi_var_simple(int index); extern DS_EXPORT_SYMBOL char *ds_get_cgi_multiple(char *cgi_var_name); extern DS_EXPORT_SYMBOL char *ds_get_errors_name(); extern DS_EXPORT_SYMBOL char *ds_get_access_name(); extern DS_EXPORT_SYMBOL char *ds_get_audit_name(); extern DS_EXPORT_SYMBOL char *ds_get_logfile_name(int config_type); extern DS_EXPORT_SYMBOL int ds_bring_down_server(); extern DS_EXPORT_SYMBOL void ds_print_server_status(int isrunning); extern DS_EXPORT_SYMBOL int ds_get_file_size(char *fileName); extern DS_EXPORT_SYMBOL void ds_display_tail(char *fileName, int timeOut, int startSeek, char *doneMsg, char *lastLine); extern DS_EXPORT_SYMBOL int ds_ldif2db_preserve(char *file); extern DS_EXPORT_SYMBOL int ds_ldif2db(char *file); extern DS_EXPORT_SYMBOL int ds_ldif2db_backend_subtree(char *file, char *backend, char *subtree); extern DS_EXPORT_SYMBOL int ds_db2ldif(char *file); extern DS_EXPORT_SYMBOL int ds_vlvindex(char **backendList, char **attrList); extern DS_EXPORT_SYMBOL int ds_addindex(char **attrList, char *backendName); extern DS_EXPORT_SYMBOL int ds_db2ldif_subtree(char *file, char *subtree); extern DS_EXPORT_SYMBOL char **ds_get_bak_dirs(); extern DS_EXPORT_SYMBOL int ds_db2bak(char *file); extern DS_EXPORT_SYMBOL int ds_bak2db(char *file); extern DS_EXPORT_SYMBOL int ds_get_monitor(int frontend, char *port); extern DS_EXPORT_SYMBOL int ds_get_bemonitor(char *bemdn, char *port); extern DS_EXPORT_SYMBOL int ds_client_access(char *port, char *dn); extern DS_EXPORT_SYMBOL char **ds_get_config(int type); extern DS_EXPORT_SYMBOL char *ds_get_config_dir(); extern DS_EXPORT_SYMBOL void ds_set_config_dir(char *config_dir); extern DS_EXPORT_SYMBOL char *ds_get_run_dir(); extern DS_EXPORT_SYMBOL void ds_set_run_dir(char *run_dir); extern DS_EXPORT_SYMBOL char *ds_get_bak_dir(); extern DS_EXPORT_SYMBOL void ds_set_bak_dir(char *bak_dir); extern DS_EXPORT_SYMBOL char *ds_get_pwenc(char *passwd_hash, char *password); extern DS_EXPORT_SYMBOL int ds_check_config(int type); extern DS_EXPORT_SYMBOL int ds_check_pw(char *pwhash, char *pwclear); extern DS_EXPORT_SYMBOL int ds_set_config(char *change_file_name); extern DS_EXPORT_SYMBOL char **ds_get_conf_from_file(FILE *conf); extern DS_EXPORT_SYMBOL void ds_display_config(char **ds_config); extern DS_EXPORT_SYMBOL char *ds_get_var_name(int varnum); extern DS_EXPORT_SYMBOL int ds_showparam(char **ds_config, int varname, int phase, int occurance, char *dispname, int size, int maxlength, unsigned flags, char *url); extern DS_EXPORT_SYMBOL void ds_show_pwmaxage(char *value); extern DS_EXPORT_SYMBOL void ds_show_pwhash(char *value); extern DS_EXPORT_SYMBOL char *ds_get_value(char **ds_config, char *parm, int phase, int occurance); extern DS_EXPORT_SYMBOL void ds_apply_cfg_changes(int param_list[], int changed); extern DS_EXPORT_SYMBOL int ds_commit_cfg_changes(); extern DS_EXPORT_SYMBOL int ds_config_updated(); extern DS_EXPORT_SYMBOL void ds_display_header(char *font_size, char *header); extern DS_EXPORT_SYMBOL void ds_display_message(char *font_size, char *header); extern DS_EXPORT_SYMBOL void ds_print_file_form(char *action, char *fileptr, char *full_fileptr); extern DS_EXPORT_SYMBOL char *ds_get_file_meaning(char *file); extern DS_EXPORT_SYMBOL void ds_print_file_name(char *fileptr); extern DS_EXPORT_SYMBOL int ds_file_exists(char *filename); extern DS_EXPORT_SYMBOL int ds_cp_file(char *sfile, char *dfile, int mode); extern DS_EXPORT_SYMBOL time_t ds_get_mtime(char *filename); extern DS_EXPORT_SYMBOL char *ds_get_config_value( int option ); extern DS_EXPORT_SYMBOL char **ds_get_file_list( char *dir ); extern DS_EXPORT_SYMBOL char *ds_get_tmp_dir(); extern DS_EXPORT_SYMBOL void ds_unixtodospath(char *szText); extern DS_EXPORT_SYMBOL void ds_timetofname(char *szText); extern DS_EXPORT_SYMBOL void ds_dostounixpath(char *szText); extern DS_EXPORT_SYMBOL int ds_saferename(char *szSrc, char *szTarget); extern DS_EXPORT_SYMBOL char *get_specific_help_button(char *help_link, char *dispname, char *helpinfo); /* Change the DN to a canonical format (in place); return DN. */ extern DS_EXPORT_SYMBOL char* dn_normalize (char* DN); /* Change the DN to a canonical format (in place) and convert to v3; return DN. */ extern DS_EXPORT_SYMBOL char* dn_normalize_convert (char* DN); /* if dn contains an unescaped quote return true */ extern DS_EXPORT_SYMBOL int ds_dn_uses_LDAPv2_quoting(const char *dn); /* Return a copy of the DN, but with optional whitespace inserted. */ extern DS_EXPORT_SYMBOL char* ds_dn_expand (char* DN); /* Return the value if it can be stored 'as is' in a config file. If it requires enquoting, allocate and return its enquoted form. The caller should free() the returned pointer iff it's != value. On Windows, we don't want to double up on "\" characters in filespecs, so we need to pass in the value type */ extern DS_EXPORT_SYMBOL char* ds_enquote_config_value (int paramnum, char* value); /* * Bring up a javascript alert. */ extern DS_EXPORT_SYMBOL void ds_alert_user(char *header, char *message); /* Construct and return the DN that corresponds to the give DNS name. The caller should free() the returned pointer. */ extern DS_EXPORT_SYMBOL char* ds_DNS_to_DN (char* DNS); /* Construct and return the DN of the LDAP server's own entry. The caller must NOT free() the returned pointer. */ extern DS_EXPORT_SYMBOL char* ds_get_config_DN (char** ds_config); /* Encode characters, as described in RFC 1738 section 2.2, if they're 'unsafe' (as defined in RFC 1738), or '?' or (as defined in RFC 1779). The caller should free() the returned pointer. */ extern DS_EXPORT_SYMBOL char* ds_URL_encode (const char*); /* Decode characters, as described in RFC 1738 section 2.2. The caller should free() the returned pointer. */ extern DS_EXPORT_SYMBOL char* ds_URL_decode (const char*); /* Encode all characters, even if 'safe' */ extern DS_EXPORT_SYMBOL char* ds_encode_all (const char*); /* Change the effective UID and GID of this process to those associated with the given localuser (if any). */ extern DS_EXPORT_SYMBOL char* ds_become_localuser_name (char* localuser); /* Change the effective UID and GID of this process to those associated with ds_config's localuser (if any). */ extern DS_EXPORT_SYMBOL char* ds_become_localuser (char** ds_config); /* Change the effective UID and GID of this process back to what they were before calling ds_become_localuser(). */ extern DS_EXPORT_SYMBOL char* ds_become_original(); extern DS_EXPORT_SYMBOL char* ds_makeshort(char *filepath); extern DS_EXPORT_SYMBOL int ds_search_file(char *filename, char *searchstring, char **returnstring); /* Display an error to the user and exit from a CGI */ extern DS_EXPORT_SYMBOL void ds_report_error(int type, char *errmsg, char *details); /* Display a warning to the user */ extern DS_EXPORT_SYMBOL void ds_report_warning(int type, char *errmsg, char *details); /* These functions are used by the program to alter the output behaviour if not executing in a CGI context */ extern DS_EXPORT_SYMBOL int ds_get_formatted_output(void); extern DS_EXPORT_SYMBOL void ds_set_formatted_output(int val); /* show a message to be parsed by the non-HTML front end */ extern DS_EXPORT_SYMBOL void ds_show_message(const char *message); /* show a key/value pair to be parsed by the non-HTML front end */ extern DS_EXPORT_SYMBOL void ds_show_key_value(char *key, char *value); extern DS_EXPORT_SYMBOL void ds_submit(char *helptarget) ; extern DS_EXPORT_SYMBOL char *ds_get_helpbutton(char *topic); extern DS_EXPORT_SYMBOL void alter_startup_line(char *startup_line); extern DS_EXPORT_SYMBOL int ds_dir_exists(char *fn); extern DS_EXPORT_SYMBOL int ds_mkdir(char *dir, int mode); extern DS_EXPORT_SYMBOL char *ds_mkdir_p(char *dir, int mode); extern DS_EXPORT_SYMBOL char *ds_salted_sha1_pw_enc (char* pwd); extern DS_EXPORT_SYMBOL char * ds_escape_for_shell( char *s ); extern DS_EXPORT_SYMBOL char **ds_string_to_vec(char *s); extern DS_EXPORT_SYMBOL char *ds_system_errmsg(void); extern DS_EXPORT_SYMBOL int ds_exec_and_report(char *cmd); /* remove a directory hierarchy - if the error function is given, it will be called upon error (e.g. directory not readable, cannot remove file, etc.) - if the callback function returns 0, this means to abort the removal, otherwise, continue */ extern DS_EXPORT_SYMBOL int ds_rm_rf(const char *dir, DS_RM_RF_ERR_FUNC ds_rm_rf_err_func, void *arg); /* remove a registry key and report an error message if unsuccessful */ extern DS_EXPORT_SYMBOL int ds_remove_reg_key(void *base, const char *format, ...); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __dsalib_h */ --- NEW FILE dsalib_pw.h --- /** 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 **/ #ifdef HAVE_CONFIG_H # include #endif #ifndef __dsalib_pw_h #define __dsalib_pw_h extern DS_EXPORT_SYMBOL void dsparm_help_button(char *var_name, char *dispname, char *helpinfo); extern DS_EXPORT_SYMBOL LDAP* bind_as_root (char** cfg, char* rootdn, char* rootpw); extern DS_EXPORT_SYMBOL void get_pw_policy(char*** pValue, char** cfg); extern DS_EXPORT_SYMBOL void ds_showpw( char** cfg); #endif /* __dsalib_pw_h */ --- NEW FILE dsalib_schema.h --- /** 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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Routines to parse schema LDIF * * -atom * */ #ifndef __DSALIB_SCHEMA_H #define __DSALIB_SCHEMA_H__ /************************************************************************ BNF for attributes and objectclasses: AttributeTypeDescription = "(" whsp numericoid whsp ; AttributeType identifier [ "NAME" qdescrs ] ; name used in AttributeType [ "DESC" qdstring ] ; description [ "OBSOLETE" whsp ] [ "SUP" woid ] ; derived from this other ; AttributeType [ "EQUALITY" woid ; Matching Rule name [ "ORDERING" woid ; Matching Rule name [ "SUBSTR" woid ] ; Matching Rule name [ "SYNTAX" whsp noidlen whsp ] ; see section 4.3 [ "SINGLE-VALUE" whsp ] ; default multi-valued [ "COLLECTIVE" whsp ] ; default not collective [ "NO-USER-MODIFICATION" whsp ]; default user modifiable [ "USAGE" whsp AttributeUsage ]; default user applications whsp ")" ObjectClassDescription = "(" whsp numericoid whsp ; ObjectClass identifier [ "NAME" qdescrs ] [ "DESC" qdstring ] [ "OBSOLETE" whsp ] [ "SUP" oids ] ; Superior ObjectClasses [ ( "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" ) whsp ] ; default structural [ "MUST" oids ] ; AttributeTypes [ "MAY" oids ] ; AttributeTypes whsp ")" ************************************************************************/ /* * ds_check_valid_oid: check to see if an oid is valid. * Oids should only contain digits and dots. * * returns 1 if valid, 0 if not */ DS_EXPORT_SYMBOL int ds_check_valid_oid (char *oid); /* * ds_check_valid_name: check to see if an attribute name or an objectclass * name is valid. A valid name contains only digits, letters, or hyphens * * returns 1 if valid, 0 if not * */ DS_EXPORT_SYMBOL int ds_check_valid_name (char *name); /* * ds_get_oc_desc: * * Input : pointer to string containing an ObjectClassDescription * Returns : pointer to string containing objectclass DESC * * The caller must free the return value * */ DS_EXPORT_SYMBOL char * ds_get_oc_desc (char *oc); /* * ds_get_oc_name: * * Input : pointer to string containing an ObjectClassDescription * Returns: pointer to string containing objectclass name. * * The caller must free the return value * */ DS_EXPORT_SYMBOL char *ds_get_oc_name (char *o); /* * ds_get_attr_name: * * Input : pointer to string containing an AttributeTypeDescription * Returns: pointer to string containing an attribute name. * * The caller must free the return value * */ DS_EXPORT_SYMBOL char *ds_get_attr_name (char *a); /* * ds_get_oc_superior: * * Input : pointer to string containing an ObjectClassDescription * Returns: pointer to string containing the objectclass's SUP (superior/parent) * objectclass * * The caller must free the return value * */ DS_EXPORT_SYMBOL char *ds_get_oc_superior (char *o); /* * ds_get_attr_desc: * * Input : Pointer to string containing an AttributeTypeDescription * Returns: Pointer to string containing the attribute's description * * The caller must free the return value * */ DS_EXPORT_SYMBOL char *ds_get_attr_desc (char *a); /* * ds_get_attr_syntax: * * Input: Pointer to string containing an AttributeTypeDescription * Returns: Pointer to string containing the attribute's syntax * * The caller must free the return value * */ DS_EXPORT_SYMBOL char *ds_get_attr_syntax (char *a); /* * ds_get_attr_oid: * * Input : Pointer to string containing an AttributeTypeDescription * Returns: Pointer to string containing an attribute's oid * * The caller must free the return value * */ DS_EXPORT_SYMBOL char *ds_get_attr_oid (char *a); /* * ds_get_attr_name: * * Input : Pointer to string containing an AttributeTypeDescription * Returns: Pointer to string containing the attribute's name * * The caller must free the return value * */ DS_EXPORT_SYMBOL char *ds_get_attr_name (char *a); /* * syntax_oid_to_english: convert an attribute syntax oid to something more * human readable * * Input : string containing numeric OID for a attribute syntax * Returns: Human readable string */ DS_EXPORT_SYMBOL char *syntax_oid_to_english (char *oid); /* StripSpaces: Remove all leading and trailing spaces from a string */ DS_EXPORT_SYMBOL char *StripSpaces (char **s); /* ds_print_required_attrs: * * input: pointer to string containing an ObjectClassDescription * * prints JavaScript array containing the required attributes of an objectclass * The array name is oc__requires */ DS_EXPORT_SYMBOL void ds_print_required_attrs (char *o); /* ds_print_allowed_attrs: * * input: pointer to string containing an ObjectClassDescription * * prints JavaScript array containing the allowed attributes of an objectclass * The array name is oc__allows */ DS_EXPORT_SYMBOL void ds_print_allowed_attrs (char *o); /* ds_print_oc_oid: * * input: pointer to string containing an ObjectClassDescription * * prints JavaScript string containing an objectclass oid * The variable name is oc__oid */ DS_EXPORT_SYMBOL void ds_print_oc_oid (char *o); /* ds_print_oc_superior: * * input: pointer to string containing an ObjectClassDescription * * prints JavaScript string containing an objectclass superior * The variable name is oc__superior */ DS_EXPORT_SYMBOL void ds_print_oc_superior (char *o); /* underscore2hyphen: * transform underscores to hyphens in a string */ DS_EXPORT_SYMBOL char *underscore2hyphen (char *src); /* hyphen2underscore: * transform hyphens to underscores in a string */ DS_EXPORT_SYMBOL char *hyphen2underscore (char *src); #endif /* __DSALIB_SCHEMA_H__ */ From fedora-directory-commits at redhat.com Wed Jun 13 01:37:19 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Tue, 12 Jun 2007 21:37:19 -0400 Subject: [Fedora-directory-commits] adminserver/lib/libdsa dsalib_conf.c, NONE, 1.1 dsalib_confs.c, NONE, 1.1 dsalib_db.c, NONE, 1.1 dsalib_debug.c, NONE, 1.1 dsalib_dn.c, NONE, 1.1 dsalib_filename.c, NONE, 1.1 dsalib_ldif.c, NONE, 1.1 dsalib_location.c, NONE, 1.1 dsalib_pw.c, NONE, 1.1 dsalib_tailf.c, NONE, 1.1 dsalib_updown.c, NONE, 1.1 dsalib_util.c, NONE, 1.1 Message-ID: <200706130137.l5D1bJgm011649@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/lib/libdsa In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11558/lib/libdsa Added Files: dsalib_conf.c dsalib_confs.c dsalib_db.c dsalib_debug.c dsalib_dn.c dsalib_filename.c dsalib_ldif.c dsalib_location.c dsalib_pw.c dsalib_tailf.c dsalib_updown.c dsalib_util.c Log Message: Resolves: #237356 Summary: Move DS Admin Code into Admin Server (Comment #54 -- adminserver side) Description: moving DS task CGIs to the adminserver with libdsa. --- NEW FILE dsalib_conf.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #include #endif #include #include #include #include #include "dsalib.h" #include #include "nspr.h" #define CONF_SUFFIX "cn=config" DS_EXPORT_SYMBOL char * ds_get_var_name(int varnum) { if ( (varnum >= DS_CFG_MAX) || (varnum < 0) ) return(NULL); /* failure */ return(ds_cfg_info[varnum].dci_varname); } /* * Get config info. */ DS_EXPORT_SYMBOL char ** ds_get_config(int type) { char conffile[PATH_MAX]; char *configdir; FILE *sf = NULL; char **conf_list = NULL; if ( (type != DS_REAL_CONFIG) && (type != DS_TMP_CONFIG) ) { ds_send_error("Invalid config file type.", 0); return(NULL); } if ( (configdir = ds_get_config_dir()) == NULL ) { ds_send_error("Cannot find configuration directory.", 0); return(NULL); } PR_snprintf(conffile, PATH_MAX, "%s/%s", configdir, DS_CONFIG_FILE); if ( !(sf = fopen(conffile, "r")) ) { ds_send_error("could not read config file.", 1); return(NULL); } conf_list = ds_get_conf_from_file(sf); fclose(sf); if (!conf_list) { ds_send_error("failed to read the config file successfully.", 0); return(NULL); } return(conf_list); } /* * NOTE: the ordering of the following array elements must be kept in sync * with the ordering of the #defines in ../include/dsalib.h. */ struct ds_cfg_info ds_cfg_info[] = { {"nsslapd-errorlog-level" }, {"nsslapd-referral" }, {"nsslapd-auditlog" }, {"nsslapd-localhost" }, {"nsslapd-port" }, {"nsslapd-security" }, {"nsslapd-secureport" }, {"nsslapd-ssl3ciphers"}, {"passwordstoragescheme"}, {"nsslapd-accesslog"}, {"nsslapd-errorlog"}, {"nsslapd-rootdn"}, {"nsslapd-rootpwstoragescheme"}, {"nsslapd-suffix"}, {"nsslapd-localuser"}, {0} }; /* * Open the config file and look for option "option". Return its * value, or NULL if the option was not found. */ DS_EXPORT_SYMBOL char * ds_get_config_value( int option ) { char **all, *value; int i; char *attr = ds_get_var_name(option); if (attr == NULL) return NULL; all = ds_get_config( DS_REAL_CONFIG ); if ( all == NULL ) { return NULL; } for ( i = 0; all[ i ] != NULL; i++ ) { if (( value = strchr( all[ i ], ':' )) != NULL ) { *value = '\0'; ++value; while (*value && isspace(*value)) ++value; } if ( !strcasecmp( attr, all[ i ] )) { return strdup( value ); } } return NULL; } static size_t count_quotes (const char* s) { size_t count = 0; const char* t = s; if (t) while ((t = strpbrk (t, "\"\\")) != NULL) { ++count; ++t; } return count; } DS_EXPORT_SYMBOL char* ds_enquote_config_value (int paramnum, char* s) { char* result; char* brkcharset = "\"\\ \t\r\n"; char *encoded_quote = "22"; /* replace quote with \22 */ int encoded_quote_len = strlen(encoded_quote); char *begin = s; if (*s && ! strpbrk (s, brkcharset) && ! (paramnum == DS_AUDITFILE || paramnum == DS_ACCESSLOG || #if defined( XP_WIN32 ) paramnum == DS_SUFFIX || #endif paramnum == DS_ERRORLOG)) { result = s; } else { char* t = malloc (strlen (s) + count_quotes (s) + 3); result = t; *t++ = '"'; while (*s) { switch (*s) { case '"': /* convert escaped quotes by replacing the quote with escape code e.g. 22 so that \" is converted to \22 "*/ if ((s > begin) && (*(s - 1) == '\\')) { strcpy(t, encoded_quote); t += encoded_quote_len; } else /* unescaped ", just replace with \22 "*/ { *t++ = '\\'; strcpy(t, encoded_quote); t += encoded_quote_len; } ++s; break; default: *t++ = *s++; /* just copy it */ break; } } *t++ = '"'; *t = '\0'; } return result; } DS_EXPORT_SYMBOL char* ds_DNS_to_DN (char* DNS) { static const char* const RDN = "dc="; char* DN; char* dot; size_t components; if (DNS == NULL || *DNS == '\0') { return strdup (""); } components = 1; for (dot = strchr (DNS, '.'); dot != NULL; dot = strchr (dot + 1, '.')) { ++components; } DN = malloc (strlen (DNS) + (components * strlen(RDN)) + 1); strcpy (DN, RDN); for (dot = strchr (DNS, '.'); dot != NULL; dot = strchr (dot + 1, '.')) { *dot = '\0'; strcat (DN, DNS); strcat (DN, ","); strcat (DN, RDN); DNS = dot + 1; *dot = '.'; } strcat (DN, DNS); dn_normalize (DN); return DN; } --- NEW FILE dsalib_confs.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Some of the simple conf stuff here. Must not call any * libadmin functions! This is needed by ds_config.c */ #if defined( XP_WIN32 ) #include #endif #include "dsalib.h" #include #include #include #include #include #include #include "nspr.h" #include "plstr.h" /* * Read the configuration info into a null-terminated list of strings. */ DS_EXPORT_SYMBOL char ** ds_get_conf_from_file(FILE *conf) { static char config_entry[] = "dn: cn=config"; static int cfg_ent_len = sizeof(config_entry)-1; int listsize = 0; char **conf_list = NULL; char *entry = 0; int lineno = 0; while ((entry = ldif_get_entry(conf, &lineno))) { char *begin = entry; if (!PL_strncasecmp(entry, config_entry, cfg_ent_len)) { char *line = entry; while ((line = ldif_getline(&entry))) { char *type, *value; int vlen = 0; int rc; if ( *line == '\n' || *line == '\0' ) { break; } /* this call modifies line */ rc = ldif_parse_line(line, &type, &value, &vlen); if (rc != 0) { ds_send_error("Unknown error processing config file", 0); free(begin); return NULL; } listsize++; conf_list = (char **) realloc(conf_list, ((listsize + 1) * sizeof(char *))); /* this is the format expected by ds_get_config_value */ conf_list[listsize - 1] = PR_smprintf("%s:%s", type, value); conf_list[listsize] = NULL; /* always null terminated */ } } free(begin); } return(conf_list); } /* * Returns 1 if parm is in confline else 0 */ static int ds_parm_in_line(char *confline, char *parm) { int parm_size; if ( confline == NULL ) return(0); if ( parm == NULL ) return(0); parm_size = strlen(parm); if ( parm_size == (int)NULL ) return(0); if ( PL_strncasecmp(confline, parm, parm_size) == 0 ) if ( ((int) strlen(confline)) > parm_size ) if ( confline[parm_size] == ':' ) return(1); return(0); } /* * Gets the string that corresponds to the parameter supplied from the * list of config lines. Returns a malloc'd string. */ DS_EXPORT_SYMBOL char * ds_get_value(char **ds_config, char *parm, int phase, int occurance) { char *line; int line_num = 0; int cur_phase = 0; int cur_occurance = 0; if ( (parm == NULL) || (ds_config == NULL) ) return(NULL); if ( (phase < 0) || (occurance < 1) ) return(NULL); line = ds_config[line_num]; while ( line != NULL ) { if ( ds_parm_in_line(line, "database") ) cur_phase++; if ( ds_parm_in_line(line, parm) ) { /* found it */ if ( phase == cur_phase ) if ( ++cur_occurance == occurance ) { /* * Use ldif_parse_line() so continuation markers are * handled correctly, etc. */ char *type = NULL, *value = NULL, *tmpvalue = NULL; int ldif_rc, tmpvlen = 0; char *tmpline = strdup(line); if ( NULL == tmpline ) { ds_send_error( "ds_get_value() failed: strdup() returned NULL\n", 1 /* print errno */ ); return(NULL); } ldif_rc = ldif_parse_line( tmpline, &type, &tmpvalue, &tmpvlen ); if (ldif_rc < 0) { ds_send_error("Unknown error processing config file", 0); } else if (ldif_rc == 0) { /* value returned in place */ value = strdup(tmpvalue); } else { /* malloc'd value */ value = tmpvalue; } free(tmpline); return value; } } line_num++; line = ds_config[line_num]; } return(NULL); } --- NEW FILE dsalib_db.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #include #include #endif #include "dsalib.h" #include #include #include #include #include #if !defined( XP_WIN32 ) #include #include #else #define popen _popen #define pclose _pclose #endif #include "nspr.h" /* * Get a listing of backup directories * Return NULL for errors and a NULL list for an empty list. */ DS_EXPORT_SYMBOL char ** ds_get_bak_dirs() { char format_str[PATH_MAX]; char *root; int i = 0; char **bak_dirs = NULL; char *bakdir = NULL; if ( (root = ds_get_install_root()) == NULL ) { ds_send_error("Cannot find server root directory.", 0); return(bak_dirs); } if ( (bakdir = ds_get_bak_dir()) == NULL ) { ds_send_error("Cannot find backup directory.", 0); return(bak_dirs); } PR_snprintf( format_str, PATH_MAX, "%s", bakdir ); bak_dirs = ds_get_file_list( format_str ); if( bak_dirs ) { while( bak_dirs[i] != NULL ) { /* Prepend the filename with the install root */ char filename[PATH_MAX]; PR_snprintf( filename, PATH_MAX, "%s%c%s", bakdir, FILE_SEP, bak_dirs[i] ); free( bak_dirs[i] ); bak_dirs[i] = strdup( filename ); #if defined( XP_WIN32 ) ds_dostounixpath( bak_dirs[i] ); #endif i++; } } return(bak_dirs); } /* * Restore a database based on a backup directory name. * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_bak2db(char *file) { char startup_line[BIG_LINE]; char statfile[PATH_MAX]; char *tmp_dir; char *root; int haderror = 0; int error = -1; int status; FILE *sf = NULL; struct stat fstats; if ( file == NULL ) { return DS_NULL_PARAMETER; } status = ds_get_updown_status(); if ( status == DS_SERVER_UP ) { return DS_SERVER_MUST_BE_DOWN; } if ( (root = ds_get_install_root()) == NULL ) { return DS_NO_SERVER_ROOT; } if ( file[strlen(file) - 1] == '\n' ) /* strip out returns */ file[strlen(file) - 1] = '\0'; if( stat( file, &fstats ) == -1 && errno == ENOENT ) { return DS_CANNOT_OPEN_BACKUP_FILE; } else if( !(fstats.st_mode & S_IFDIR) ) { return DS_NOT_A_DIRECTORY; } tmp_dir = ds_get_tmp_dir(); PR_snprintf(statfile, PATH_MAX, "%s%cbak2db.%d", tmp_dir, FILE_SEP, (int)getpid()); PR_snprintf(startup_line, BIG_LINE, "%s%cbak2db " "%s%s%s > " "%s%s%s 2>&1", root, FILE_SEP, ENQUOTE, file, ENQUOTE, ENQUOTE, statfile, ENQUOTE ); alter_startup_line(startup_line); fflush(0); error = system(startup_line); fflush(0); if ( error == -1 ) { return DS_CANNOT_EXEC; } fflush(0); if( !(sf = fopen(statfile, "r")) ) { return DS_CANNOT_OPEN_STAT_FILE; } while ( fgets(startup_line, BIG_LINE, sf) ) { if ((strstr(startup_line, "- Restoring file")) || (strstr(startup_line, "- Checkpointing"))) { ds_show_message(startup_line); } else { haderror = 1; ds_send_error(startup_line, 0); } } fclose(sf); unlink(statfile); if ( haderror ) return DS_UNKNOWN_ERROR; return 0; } /* * Create a backup based on a file name. * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_db2bak(char *file) { char startup_line[BIG_LINE]; char statfile[PATH_MAX]; char *tmp_dir; char *root; int haderror = 0; int error = -1; FILE *sf = NULL; int lite = 0; #ifdef XP_WIN32 time_t ltime; #endif if ( (root = ds_get_install_root()) == NULL ) { return DS_NO_SERVER_ROOT; } if ( (file == NULL) || (strlen(file) == 0) ) file = NULL; tmp_dir = ds_get_tmp_dir(); PR_snprintf(statfile, PATH_MAX, "%s%cdb2bak.%d", tmp_dir, FILE_SEP, (int)getpid()); #if defined( XP_WIN32 ) if( file == NULL ) { file = malloc( BIG_LINE ); time( <ime ); PR_snprintf( file, BIG_LINE, "%s", ctime( <ime ) ); ds_timetofname( file ); } /* Check if the directory exists or can be created */ if ( !ds_file_exists( file ) ) { char *errmsg = ds_mkdir_p( file, NEWDIR_MODE ); if( errmsg != NULL ) { /* ds_send_error(errmsg, 10); */ return DS_CANNOT_CREATE_DIRECTORY; } } #endif /* DBDB: note on the following line. * Originally this had quotes round the directory name. * I found that this made the script not work becuase * a path of the form "foo"/bar/"baz" was passed to slapd. * the c runtime didn't like this. Perhaps there's a simple * solution, but for now I've modified this line here to * not quote the directory name. This means that backup * directories can't have spaces in them. */ PR_snprintf(startup_line, sizeof(startup_line), "%s%cdb2bak " "%s%s%s > " "%s%s%s 2>&1", root, FILE_SEP, ENQUOTE, (file == NULL) ? "" : file, ENQUOTE, ENQUOTE, statfile, ENQUOTE); PATH_FOR_PLATFORM( startup_line ); alter_startup_line(startup_line); fflush(0); error = system(startup_line); if ( error == -1 ) { return DS_CANNOT_EXEC; } if( !(sf = fopen(statfile, "r")) ) { return DS_CANNOT_OPEN_STAT_FILE; } while ( fgets(startup_line, BIG_LINE, sf) ) { if (strstr(startup_line, " - Backing up file") || strstr(startup_line, " - Checkpointing database")) { ds_show_message(startup_line); } else { haderror = 1; if (strstr ( startup_line, "restricted mode")) { lite = 1; } ds_send_error(startup_line, 0); } } fclose(sf); unlink(statfile); if ( lite && haderror ) return DS_HAS_TOBE_READONLY_MODE; if ( haderror ) return DS_UNKNOWN_ERROR; return 0; } static void process_and_report( char *line, int line_size, FILE *cmd ) { while(fgets(line, line_size, cmd)) { /* Strip off line feeds */ int ind = strlen( line ) - 1; while ( (ind >= 0) && ((line[ind] == '\n') || (line[ind] == '\r')) ) { line[ind] = 0; ind--; } if ( ind < 1 ) { continue; } ds_send_status(line); } } static int exec_and_report( char *startup_line ) { FILE *cmd = NULL; char line[BIG_LINE]; int haderror = 0; PATH_FOR_PLATFORM( startup_line ); alter_startup_line(startup_line); /* fprintf( stdout, "Launching <%s>\n", startup_line ); */ fflush(0); cmd = popen(startup_line, "r"); if(!cmd) { return DS_CANNOT_EXEC; } process_and_report( line, sizeof(line), cmd ); pclose(cmd); /* ** The VLV indexing code prints OK, ** if the index was successfully created. */ if (strcmp(line,"OK")==0) { haderror = 0; } else { haderror = DS_UNKNOWN_ERROR; } return haderror; } /* * Create a vlv index * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_vlvindex(char **backendList, char **vlvList) { char startup_line[BIG_LINE]; char *root; char *instroot; char **vlvc = NULL; root = ds_get_server_root(); instroot = ds_get_install_root(); if ( (root == NULL) || (instroot == NULL) ) { return DS_NO_SERVER_ROOT; } PR_snprintf(startup_line, sizeof(startup_line), "%s/bin/slapd/server/%s db2index " "-D %s%s/%s " "-n %s ", root, SLAPD_NAME, ENQUOTE, instroot, ENQUOTE, backendList[0]); /* Create vlv TAG */ vlvc=vlvList; while( *vlvc != NULL ) { PR_snprintf( startup_line, sizeof(startup_line), "%s -T %s%s%s", startup_line,"\"",*vlvc,"\"" ); vlvc++; } return exec_and_report( startup_line ); } /* * Create one or more indexes * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_addindex(char **attrList, char *backendName) { char startup_line[BIG_LINE]; char *root; char *instroot; root = ds_get_server_root(); instroot = ds_get_install_root(); if ( (root == NULL) || (instroot == NULL) ) { return DS_NO_SERVER_ROOT; } PR_snprintf(startup_line, sizeof(startup_line), "%s/bin/slapd/server/%s db2index " "-D %s%s%s " "-n %s", root, SLAPD_NAME, ENQUOTE, instroot, ENQUOTE, backendName); while( *attrList != NULL ) { PR_snprintf( startup_line, sizeof(startup_line), "%s -t %s", startup_line, *attrList ); attrList++; } return exec_and_report( startup_line ); } --- NEW FILE dsalib_debug.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #endif #include "dsalib.h" #include #include #include #include "nspr.h" #include "plstr.h" #if defined( XP_WIN32 ) int ldap_debug = 0; #endif DS_EXPORT_SYMBOL void ds_log_env(char **envp) { FILE *file; char admin_logfile[PATH_MAX], *tmp_dir; tmp_dir = ds_get_tmp_dir(); PL_strncpyz( admin_logfile, tmp_dir, sizeof(admin_logfile) ); #if defined( XP_WIN32 ) if( tmp_dir ) { free( tmp_dir ); tmp_dir = NULL; } #endif PL_strcatn( admin_logfile, sizeof(admin_logfile), "/admin.log"); file = fopen(admin_logfile, "a+"); if (file != NULL) { int i; for ( i = 0; envp[i] != (char *) 0; i++ ) { char envstr[200]; PR_snprintf(envstr, sizeof(envstr), "%s\n", envp[i]); fwrite(envstr, strlen(envstr), 1, file); } fclose(file); } } DS_EXPORT_SYMBOL void ds_log_debug_message(char *msg) { FILE *file; char admin_logfile[PATH_MAX], *tmp_dir; tmp_dir = ds_get_tmp_dir(); memset( admin_logfile, 0, sizeof( admin_logfile ) ); PL_strncpyz( admin_logfile, tmp_dir, sizeof(admin_logfile) ); #if defined( XP_WIN32 ) if( tmp_dir ) { free( tmp_dir ); tmp_dir = NULL; } #endif PL_strcatn( admin_logfile, sizeof(admin_logfile), "/admin.log"); file = fopen(admin_logfile, "a+"); if (file != NULL) { fwrite(msg, strlen(msg), 1, file); fclose(file); } } --- NEW FILE dsalib_dn.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #else #include #endif #include #include "dsalib.h" #include #define DNSEPARATOR(c) (c == ',' || c == ';') #define SEPARATOR(c) (c == ',' || c == ';' || c == '+') #define SPACE(c) (c == ' ' || c == '\n') #define NEEDSESCAPE(c) (c == '\\' || c == '"') #define B4TYPE 0 #define INTYPE 1 #define B4EQUAL 2 #define B4VALUE 3 #define INVALUE 4 #define INQUOTEDVALUE 5 #define B4SEPARATOR 6 DS_EXPORT_SYMBOL char* dn_normalize( char *dn ) { char *d, *s; int state, gotesc; /* Debug( LDAP_DEBUG_TRACE, "=> dn_normalize \"%s\"\n", dn, 0, 0 ); */ gotesc = 0; state = B4TYPE; for ( d = s = dn; *s; s++ ) { switch ( state ) { case B4TYPE: if ( ! SPACE( *s ) ) { state = INTYPE; *d++ = *s; } break; case INTYPE: if ( *s == '=' ) { state = B4VALUE; *d++ = *s; } else if ( SPACE( *s ) ) { state = B4EQUAL; } else { *d++ = *s; } break; case B4EQUAL: if ( *s == '=' ) { state = B4VALUE; *d++ = *s; } else if ( ! SPACE( *s ) ) { /* not a valid dn - but what can we do here? */ *d++ = *s; } break; case B4VALUE: if ( *s == '"' ) { state = INQUOTEDVALUE; *d++ = *s; } else if ( ! SPACE( *s ) ) { state = INVALUE; *d++ = *s; } break; case INVALUE: if ( !gotesc && SEPARATOR( *s ) ) { while ( SPACE( *(d - 1) ) ) d--; state = B4TYPE; if ( *s == '+' ) { *d++ = *s; } else { *d++ = ','; } } else if ( gotesc && !NEEDSESCAPE( *s ) && !SEPARATOR( *s ) ) { *--d = *s; d++; } else { *d++ = *s; } break; case INQUOTEDVALUE: if ( !gotesc && *s == '"' ) { state = B4SEPARATOR; *d++ = *s; } else if ( gotesc && !NEEDSESCAPE( *s ) ) { *--d = *s; d++; } else { *d++ = *s; } break; case B4SEPARATOR: if ( SEPARATOR( *s ) ) { state = B4TYPE; if ( *s == '+' ) { *d++ = *s; } else { *d++ = ','; } } break; default: break; } if ( *s == '\\' ) { gotesc = 1; } else { gotesc = 0; } } *d = '\0'; /* Debug( LDAP_DEBUG_TRACE, "<= dn_normalize \"%s\"\n", dn, 0, 0 ); */ return( dn ); } DS_EXPORT_SYMBOL char* ds_dn_expand (char* dn) { char* edn; size_t i = 0; char* s; int state = B4TYPE; int gotesc = 0; if (dn == NULL) return NULL; edn = strdup (dn); if (edn == NULL) return NULL; for (s = dn; *s != '\0'; ++s, ++i) { switch (state) { case B4TYPE: if ( ! SPACE (*s)) { state = INTYPE; } break; case INTYPE: if (*s == '=') { state = B4VALUE; } else if (SPACE (*s)) { state = B4EQUAL; } break; case B4EQUAL: if (*s == '=') { state = B4VALUE; } break; case B4VALUE: if (*s == '"') { state = INQUOTEDVALUE; } else if ( ! SPACE (*s)) { state = INVALUE; } break; case INQUOTEDVALUE: if (gotesc) { if ( ! NEEDSESCAPE (*s)) { --i; memmove (edn+i, edn+i+1, strlen (edn+i)); } } else { if (*s == '"') { state = B4SEPARATOR; } } break; case INVALUE: if (gotesc) { if ( ! NEEDSESCAPE (*s) && ! SEPARATOR (*s)) { --i; memmove (edn+i, edn+i+1, strlen (edn+i)); } break; } case B4SEPARATOR: if (SEPARATOR (*s)) { state = B4TYPE; if ( ! SPACE (s[1])) { /* insert a space following edn[i] */ edn = (char*) realloc (edn, strlen (edn)+2); ++i; memmove (edn+i+1, edn+i, strlen (edn+i)+1); edn[i] = ' '; } } break; default: break; } gotesc = (*s == '\\'); } return edn; } int hexchar2int( char c ) { if ( '0' <= c && c <= '9' ) { return( c - '0' ); } if ( 'a' <= c && c <= 'f' ) { return( c - 'a' + 10 ); } if ( 'A' <= c && c <= 'F' ) { return( c - 'A' + 10 ); } return( -1 ); } /* * substr_dn_normalize - map a DN to a canonical form. * The DN is read from *dn through *(end-1) and normalized in place. * The new end is returned; that is, the canonical form is in * *dn through *(the_return_value-1). */ /* The goals of this function are: * 1. be compatible with previous implementations. Especially, enable * a server running this code to find database index keys that were * computed by Directory Server 3.0 with a prior version of this code. * 2. Normalize in place; that is, avoid allocating memory to contain * the canonical form. * 3. eliminate insignificant differences; that is, any two DNs are * not significantly different if and only if their canonical forms * are identical (ignoring upper/lower case). * 4. handle a DN in the syntax defined by RFC 2253. * 5. handle a DN in the syntax defined by RFC 1779. * * Goals 3 through 5 are not entirely achieved by this implementation, * because it can't be done without violating goal 1. Specifically, * DNs like cn="a,b" and cn=a\,b are not mapped to the same canonical form, * although they're not significantly different. Likewise for any pair * of DNs that differ only in their choice of quoting convention. * A previous version of this code changed all DNs to the most compact * quoting convention, but that violated goal 1, since Directory Server * 3.0 did not. * * Also, this implementation handles the \xx convention of RFC 2253 and * consequently violates RFC 1779, according to which this type of quoting * would be interpreted as a sequence of 2 numerals (not a single byte). */ DS_EXPORT_SYMBOL char * dn_normalize_convert( char *dn ) { /* \xx is changed to \c. \c is changed to c, unless this would change its meaning. All values that contain 2 or more separators are "enquoted"; all other values are not enquoted. */ char *value, *value_separator; char *d, *s; char *end; int gotesc = 0; int state = B4TYPE; if (NULL == dn) return dn; end = dn + strlen(dn); for ( d = s = dn; s != end; s++ ) { switch ( state ) { case B4TYPE: if ( ! SPACE( *s ) ) { state = INTYPE; *d++ = *s; } break; case INTYPE: if ( *s == '=' ) { state = B4VALUE; *d++ = *s; } else if ( SPACE( *s ) ) { state = B4EQUAL; } else { *d++ = *s; } break; case B4EQUAL: if ( *s == '=' ) { state = B4VALUE; *d++ = *s; } else if ( ! SPACE( *s ) ) { /* not a valid dn - but what can we do here? */ *d++ = *s; } break; case B4VALUE: if ( *s == '"' || ! SPACE( *s ) ) { value_separator = NULL; value = d; state = ( *s == '"' ) ? INQUOTEDVALUE : INVALUE; *d++ = *s; } break; case INVALUE: if ( gotesc ) { if ( SEPARATOR( *s ) ) { if ( value_separator ) value_separator = dn; else value_separator = d; } else if ( ! NEEDSESCAPE( *s ) ) { --d; /* eliminate the \ */ } } else if ( SEPARATOR( *s ) ) { while ( SPACE( *(d - 1) ) ) d--; if ( value_separator == dn ) { /* 2 or more separators */ /* convert to quoted value: */ auto char *L = NULL; auto char *R; for ( R = value; (R = strchr( R, '\\' )) && (R < d); L = ++R ) { if ( SEPARATOR( R[1] )) { if ( L == NULL ) { auto const size_t len = R - value; if ( len > 0 ) memmove( value+1, value, len ); *value = '"'; /* opening quote */ value = R + 1; } else { auto const size_t len = R - L; if ( len > 0 ) { memmove( value, L, len ); value += len; } --d; } } } memmove( value, L, d - L + 1 ); *d++ = '"'; /* closing quote */ } state = B4TYPE; *d++ = (*s == '+') ? '+' : ','; break; } *d++ = *s; break; case INQUOTEDVALUE: if ( gotesc ) { if ( ! NEEDSESCAPE( *s ) ) { --d; /* eliminate the \ */ } } else if ( *s == '"' ) { state = B4SEPARATOR; if ( value_separator == dn /* 2 or more separators */ || SPACE( value[1] ) || SPACE( d[-1] ) ) { *d++ = *s; } else { /* convert to non-quoted value: */ if ( value_separator == NULL ) { /* no separators */ memmove ( value, value+1, (d-value)-1 ); --d; } else { /* 1 separator */ memmove ( value, value+1, (value_separator-value)-1 ); *(value_separator - 1) = '\\'; } } break; } if ( SEPARATOR( *s )) { if ( value_separator ) value_separator = dn; else value_separator = d; } *d++ = *s; break; case B4SEPARATOR: if ( SEPARATOR( *s ) ) { state = B4TYPE; *d++ = (*s == '+') ? '+' : ','; } break; default: /* LDAPDebug( LDAP_DEBUG_ANY, "slapi_dn_normalize - unknown state %d\n", state, 0, 0 );*/ break; } if ( *s != '\\' ) { gotesc = 0; } else { gotesc = 1; if ( s+2 < end ) { auto int n = hexchar2int( s[1] ); if ( n >= 0 ) { auto int n2 = hexchar2int( s[2] ); if ( n2 >= 0 ) { n = (n << 4) + n2; if (n == 0) { /* don't change \00 */ *d++ = *++s; *d++ = *++s; gotesc = 0; } else { /* change \xx to a single char */ ++s; *(unsigned char*)(s+1) = n; } } } } } } /* Trim trailing spaces */ while ( d != dn && *(d - 1) == ' ' ) d--; *d = 0; return( dn ); } /* if dn contains an unescaped quote return true */ DS_EXPORT_SYMBOL int ds_dn_uses_LDAPv2_quoting(const char *dn) { const char ESC = '\\'; const char Q = '"'; int ret = 0; const char *p = 0; /* check dn for a even number (incl. 0) of ESC followed by Q */ if (!dn) return ret; p = strchr(dn, Q); if (p) { int nESC = 0; for (--p; (p >= dn) && (*p == ESC); --p) ++nESC; if (!(nESC % 2)) ret = 1; } return ret; } --- NEW FILE dsalib_filename.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #endif #include "dsalib.h" #include #include #include #include #include "nspr.h" static char * get_month_str(int month) { static char *month_str[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; if ( (month < 1) || (month > 12) ) return("Unknown month"); return(month_str[month - 1]); } /* * Returns a string describing the meaning of the filename. * Two different formats are supported. */ DS_EXPORT_SYMBOL char * ds_get_file_meaning(char *file) { static char meaning[BIG_LINE]; #define FILE_EXPECTED_SIZE1 14 #define FILE_EXPECTED_SIZE2 17 char *name; char *tmp; int i; int month; int day; int hour; int minute; int sec; int year; /* * Expect a file name in format 06041996123401 (FILE_EXPECTED_SIZE1) * which should return "Jun 4 12:34:01 1996" * OR 1996_06_04_123401 * which should return "Jun 4 12:34:01 1996" */ if ( file == NULL ) return(NULL); name = strdup(file); if ( name == NULL ) return(NULL); if ( (tmp = strrchr(name, '.')) != NULL ) *tmp = '\0'; if ( strlen(name) == FILE_EXPECTED_SIZE1 ) { for ( i = 0; i < FILE_EXPECTED_SIZE1; i++ ) if ( !isdigit(name[i]) ) return(NULL); if ( (sscanf(name, "%2d%2d%4d%2d%2d%2d", &month, &day, &year, &hour, &minute, &sec)) == -1 ) return(NULL); } else if ( strlen(name) == FILE_EXPECTED_SIZE2 ) { for ( i = 0; i < FILE_EXPECTED_SIZE2; i++ ) if ( !isdigit(name[i]) ) if ( name[i] != '_' ) return(NULL); if ( (sscanf(name, "%4d_%2d_%2d_%2d%2d%2d", &year, &month, &day, &hour, &minute, &sec)) == -1 ) return(NULL); } else return(NULL); if ( (month < 1) || (month > 12) ) return(NULL); if ( (day < 1) || (day > 31) ) return(NULL); if ( (year < 1000) || (year > 2100) ) return(NULL); if ( (hour < 0) || (hour > 24) ) return(NULL); if ( (minute < 0) || (minute > 60) ) return(NULL); if ( (sec < 0) || (sec > 60) ) return(NULL); PR_snprintf(meaning, sizeof(meaning), "%s % 2d %02d:%02d:%02d %4d", get_month_str(month), day, hour, minute, sec, year); return(meaning); } --- NEW FILE dsalib_ldif.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #include #include #define popen _popen #define pclose _pclose #else #include #endif #include "dsalib.h" #include #include #include #include #include #include #include "nspr.h" #include "plstr.h" #ifndef XP_WIN32 #define SCRIPT_SUFFIX "" /* shell scripts have no suffix */ #else #define SCRIPT_SUFFIX ".bat" /* batch file suffix */ #endif static int process_and_report( char *line, int line_size, FILE *cmd ) { int err = 0; while(fgets(line, line_size, cmd)) { /* Strip off line feeds */ int ind = strlen( line ) - 1; #ifdef DEBUG_CGI fprintf(stderr, "read line=[%s] ind=%d\n", line, ind); #endif /* DEBUG_CGI */ fprintf( stdout, ": %s", line ); fflush(0); while ( (ind >= 0) && ((line[ind] == '\n') || (line[ind] == '\r')) ) { line[ind] = 0; ind--; } if ( ind < 1 ) { continue; } ds_send_status(line); if ( (strstr(line, "bad LDIF") != NULL) ) { #ifdef DEBUG_CGI fprintf(stderr, "invalid ldif file\n"); #endif /* DEBUG_CGI */ err = DS_INVALID_LDIF_FILE; } else if ( 0 == err ) { if ( (strstr(line, "err=") != NULL) ) { #ifdef DEBUG_CGI fprintf(stderr, "unknown error\n"); #endif /* DEBUG_CGI */ err = DS_UNKNOWN_ERROR; } } } #ifdef DEBUG_CGI fprintf(stderr, "process_and_report finished err=%d\n", err); #endif /* DEBUG_CGI */ return err; } static int exec_and_report( char *startup_line ) { FILE *cmd = NULL; char line[BIG_LINE]; int haderror = 0; PATH_FOR_PLATFORM( startup_line ); alter_startup_line(startup_line); fflush(stdout); cmd = popen(startup_line, "r"); if(!cmd) { printf("could not open pipe [%s]: %d\n", startup_line, errno); #ifdef DEBUG_CGI fprintf(stderr, "could not open pipe [%s]: %d\n", startup_line, errno); #endif /* DEBUG_CGI */ return DS_CANNOT_EXEC; } haderror = process_and_report( line, sizeof(line), cmd ); pclose(cmd); return haderror; } /* * Execute a shell command. * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_exec_and_report( char *startup_line ) { return exec_and_report( startup_line ); } /* * Create a database based on a file name. * 0: success * anything else: failure */ static int importldif(char *file, int preserve, char *backend, char *subtree) { char startup_line[BIG_LINE]; char *root; int haderror = 0; int i = 0, error = -1; int status; struct stat fstats; char errbuf[ BIG_LINE ]; char **db_files = NULL, *changelogdir = NULL; int rc; errbuf[ 0 ] = '\0'; if ( file == NULL ) { #ifdef DEBUG_CGI fprintf(stderr, "importldif: null file\n"); #endif /* DEBUG_CGI */ return DS_NULL_PARAMETER; } status = ds_get_updown_status(); if ( status == DS_SERVER_UP ) { #ifdef DEBUG_CGI fprintf(stderr, "importldif: server is not down\n"); #endif /* DEBUG_CGI */ return DS_SERVER_MUST_BE_DOWN; } if ( (root = ds_get_install_root()) == NULL ) { #ifdef DEBUG_CGI fprintf(stderr, "importldif: could not get server root\n"); #endif /* DEBUG_CGI */ return DS_NO_SERVER_ROOT; } if ( file[strlen(file) - 1] == '\n' ) /* strip out returns */ file[strlen(file) - 1] = '\0'; /* Make sure the file exists and is not a directory: 34347 */ if( stat( file, &fstats ) == -1 && errno == ENOENT ) { #ifdef DEBUG_CGI fprintf(stderr, "importldif: could not open %s\n", file); #endif /* DEBUG_CGI */ return DS_CANNOT_OPEN_LDIF_FILE; } else if( fstats.st_mode & S_IFDIR ) { #ifdef DEBUG_CGI fprintf(stderr, "importldif: not a file %s\n", file); #endif /* DEBUG_CGI */ return DS_IS_A_DIRECTORY; } if ( preserve ) { PR_snprintf(startup_line, BIG_LINE, "%s%cldif2db%s -i %s%s%s", root, FILE_SEP, SCRIPT_SUFFIX, ENQUOTE, file, ENQUOTE); } else if (backend) { PR_snprintf(startup_line, BIG_LINE, "%s%cldif2db%s -n %s%s%s -i %s%s%s", root, FILE_SEP, SCRIPT_SUFFIX, ENQUOTE, backend, ENQUOTE, ENQUOTE, file, ENQUOTE); } else if (subtree) { PR_snprintf(startup_line, BIG_LINE, "%s%cldif2db%s -s %s%s%s -i %s%s%s", root, FILE_SEP, SCRIPT_SUFFIX, ENQUOTE, subtree, ENQUOTE, ENQUOTE, file, ENQUOTE); } else { PR_snprintf(startup_line, BIG_LINE, "%s%cldif2db%s -i %s%s%s -noconfig", root, FILE_SEP, SCRIPT_SUFFIX, ENQUOTE, file, ENQUOTE); } alter_startup_line(startup_line); fflush(stdout); #ifdef DEBUG_CGI fprintf(stderr, "importldif: executing %s\n", startup_line); #endif /* DEBUG_CGI */ error = exec_and_report(startup_line); /*error = system(startup_line);*/ if ( error != 0 ) { #ifdef DEBUG_CGI fprintf(stderr, "importldif: error=%d\n", error); #endif /* DEBUG_CGI */ return error; } /* Remove the changelog database, if present */ changelogdir = ds_get_config_value(0xdeadbeef); if ( changelogdir != NULL ) { db_files = ds_get_file_list( changelogdir ); if ( db_files != NULL ) { ds_send_status("Removing changelog database..."); } for ( i = 0; db_files != NULL && db_files[ i ] != NULL; i++ ) { char sbuf[ BIG_LINE ]; char filename[ BIG_LINE ]; if ( strlen( db_files[ i ]) > 0 ) { PR_snprintf( filename, BIG_LINE, "%s%c%s", changelogdir, FILE_SEP, db_files[ i ]); PR_snprintf(sbuf, BIG_LINE, "Removing %s", filename); ds_send_status( sbuf ); rc = unlink( filename); if ( rc != 0 ) { PR_snprintf( errbuf, BIG_LINE, "Warning: some files in %s could not " "be removed\n", changelogdir ); haderror++; } } } } if ( strlen( errbuf ) > 0 ) { ds_send_error( errbuf, 0 ); } return error; } /* * Create a database based on a file name. * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_ldif2db(char *file) { return importldif( file, 0, NULL, NULL ); } /* * Create a database based on a file name. * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_ldif2db_preserve(char *file) { return importldif( file, 1, NULL, NULL ); } /* * import an ldif file into a named backend or subtree * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_ldif2db_backend_subtree(char *file, char *backend, char *subtree) { return importldif( file, 0, backend, subtree ); } /* * Create a LDIF file based on a file name. * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_db2ldif_subtree(char *file, char *subtree) { char startup_line[BIG_LINE]; char statfile[PATH_MAX]; char outfile[PATH_MAX]; char scriptfile[PATH_MAX]; char *tmp_dir; char *root; int haderror = 0; int error = -1; FILE *sf = NULL; if ( (root = ds_get_install_root()) == NULL ) { return DS_NO_SERVER_ROOT; } if ( (file == NULL) || (strlen(file) == 0) ) file = NULL; tmp_dir = ds_get_tmp_dir(); PR_snprintf(statfile, PATH_MAX, "%s%cdb2ldif.%d", tmp_dir, FILE_SEP, (int) getpid()); #if defined( XP_WIN32 ) if( file == NULL ) { time_t ltime; file = malloc( BIG_LINE ); time( <ime ); PR_snprintf( file, BIG_LINE, "%s", ctime( <ime ) ); ds_timetofname( file ); } #endif if ( file == NULL ) *outfile = 0; else PL_strncpyz( outfile, file, sizeof(outfile) ); PR_snprintf(scriptfile, PATH_MAX, "%s%cdb2ldif", root, FILE_SEP); PATH_FOR_PLATFORM( outfile ); PATH_FOR_PLATFORM( scriptfile ); if ( subtree == NULL ) { PR_snprintf(startup_line, sizeof(startup_line), "%s " "%s%s%s > " "%s%s%s 2>&1", scriptfile, ENQUOTE, outfile, ENQUOTE, ENQUOTE, statfile, ENQUOTE); } else { PR_snprintf(startup_line, sizeof(startup_line), "%s " "%s%s%s " "-s \"%s\" > " "%s%s%s 2>&1", scriptfile, ENQUOTE, outfile, ENQUOTE, subtree, ENQUOTE, statfile, ENQUOTE); } fflush(0); alter_startup_line(startup_line); error = system(startup_line); if ( error == -1 ) { return DS_CANNOT_EXEC; } sf = fopen(statfile, "r"); if( sf ) { while ( fgets(startup_line, BIG_LINE, sf) ) { /* The db2ldif process will usually print out a summary at the end, but that is not an error */ char *ptr = strstr(startup_line, "Processed"); if (ptr && strstr(ptr, "entries.")) { ds_show_message(startup_line); } else { haderror = 1; ds_send_error(startup_line, 0); } } fclose(sf); unlink(statfile); } if ( haderror ) return DS_UNKNOWN_ERROR; return 0; } /* * Create a LDIF file based on a file name. * 0: success * anything else: failure */ DS_EXPORT_SYMBOL int ds_db2ldif(char *file) { return ds_db2ldif_subtree(file, NULL); } --- NEW FILE dsalib_location.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #endif #include "dsalib.h" #include #include #include #include "nspr.h" #include "plstr.h" /* * Returns the server root. Info is * returned in a static area. The caller must copy it * for reuse if needed. */ DS_EXPORT_SYMBOL char * ds_get_server_root() { char *root; if ( (root = getenv("NETSITE_ROOT")) == NULL ) return(NULL); /* WIN32: Needed to take care of embedded space, */ /* otherwise system() call fails */ root = ds_makeshort( root ); return root; } /* * Returns the install location of the server. Info is * returned in a static area. The caller must copy it * for reuse if needed. */ DS_EXPORT_SYMBOL char * ds_get_install_root() { char *root; char *ds_name; static char install_root[PATH_MAX]; if ( (root = ds_get_server_root()) == NULL ) return(NULL); if ( (ds_name = ds_get_server_name()) == NULL ) return(NULL); PR_snprintf(install_root, sizeof(install_root), "%s/%s", root, ds_name); return(install_root); } /* * Returns the config file location of the server. Info is * returned in a static area. The caller must copy it * for reuse if needed. */ DS_EXPORT_SYMBOL char * ds_get_config_dir() { return getenv("DS_CONFIG_DIR"); } /* * set config_dir to environment variable DS_CONFIG_DIR * to retrieve the value using ds_get_config_dir later. */ DS_EXPORT_SYMBOL void ds_set_config_dir(char *config_dir) { static char env[PATH_MAX]; PR_snprintf(env, sizeof(env), "DS_CONFIG_DIR=%s", config_dir); putenv(env); } /* * Returns the run dir of the server, where pid files are put. * Info is returned in a static area. The caller must copy it * for reuse if needed. */ DS_EXPORT_SYMBOL char * ds_get_run_dir() { return getenv("DS_RUN_DIR"); } /* * set run_dir to environment variable DS_RUN_DIR * to retrieve the value using ds_get_run_dir later. */ DS_EXPORT_SYMBOL void ds_set_run_dir(char *run_dir) { static char env[PATH_MAX]; PR_snprintf(env, sizeof(env), "DS_RUN_DIR=%s", run_dir); putenv(env); } /* * Returns the bakup dir of the server, where db backup files are put. * Info is returned in a static area. The caller must copy it * for reuse if needed. */ DS_EXPORT_SYMBOL char * ds_get_bak_dir() { return getenv("DS_BAK_DIR"); } /* * set bak_dir to environment variable DS_BAK_DIR * to retrieve the value using ds_get_bak_dir later. */ DS_EXPORT_SYMBOL void ds_set_bak_dir(char *bak_dir) { static char env[PATH_MAX]; PR_snprintf(env, sizeof(env), "DS_BAK_DIR=%s", bak_dir); putenv(env); } /* * Returns the tmp dir of the server, where tmp files are put. * Info is returned in a static area. The caller must copy it * for reuse if needed. */ DS_EXPORT_SYMBOL char * ds_get_tmp_dir() { return getenv("DS_TMP_DIR"); } /* * set bak_dir to environment variable DS_TMP_DIR * to retrieve the value using ds_get_tmp_dir later. */ DS_EXPORT_SYMBOL void ds_set_tmp_dir(char *tmp_dir) { static char env[PATH_MAX]; PR_snprintf(env, sizeof(env), "DS_TMP_DIR=%s", tmp_dir); putenv(env); } /* * Returns the install location of the server under the admserv * directory. */ DS_EXPORT_SYMBOL char * ds_get_admserv_based_root() { char *root; char *ds_name; static char install_root[PATH_MAX]; if ( (root = getenv("ADMSERV_ROOT")) == NULL ) return(NULL); if ( (ds_name = ds_get_server_name()) == NULL ) return(NULL); PR_snprintf(install_root, sizeof(install_root), "%s/%s", root, ds_name); return(install_root); } DS_EXPORT_SYMBOL char * ds_get_server_name() { if( getenv("SERVER_NAMES") ) return( getenv("SERVER_NAMES") ); else { static char logfile[PATH_MAX]; char *buf; char *out = logfile; buf = getenv("SCRIPT_NAME"); if ( buf && (*buf == '/') ) buf++; while ( *buf && (*buf != '/') ) { *out++ = *buf++; } *out = 0; return logfile; } } DS_EXPORT_SYMBOL char * ds_get_logfile_name(int config_type) { char *filename; char **ds_config = NULL; static char logfile[PATH_MAX+1]; if ( (ds_config = ds_get_config(DS_REAL_CONFIG)) == NULL ) { /* For DS 4.0, no error output if file doesn't exist - that's a normal situation */ /* ds_send_error("ds_get_config(DS_REAL_CONFIG) == NULL", 0); */ return(NULL); } filename = ds_get_value(ds_config, ds_get_var_name(config_type), 0, 1); if ( filename == NULL ) { /* For DS 4.0, no error output if file doesn't exist - that's a normal situation */ /* ds_send_error("ds_get_logfile_name: filename == NULL", 0); */ return(NULL); } if ( ((int) strlen(filename)) >= PATH_MAX ) { ds_send_error("ds_get_logfile_name: filename too long", 0); free(filename); return(NULL); } PL_strncpyz(logfile, filename, sizeof(logfile)); free(filename); return(logfile); } DS_EXPORT_SYMBOL char * ds_get_errors_name() { return( ds_get_logfile_name(DS_ERRORLOG) ); } DS_EXPORT_SYMBOL char * ds_get_access_name() { return( ds_get_logfile_name(DS_ACCESSLOG) ); } DS_EXPORT_SYMBOL char * ds_get_audit_name() { return( ds_get_logfile_name(DS_AUDITFILE) ); } --- NEW FILE dsalib_pw.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 **/ #ifdef HAVE_CONFIG_H # include #endif /* * Adjust password policy management related variables. * * Valerie Chu */ #include #include #include #include #include #include "ldap.h" #include "ldif.h" #include "sechash.h" #include "dsalib.h" #include "dsalib_pw.h" #include "prtime.h" #include "prlong.h" #include "prmem.h" #include #include #define SHA1_SALT_LENGTH 8 /* number of bytes of data in salt */ #define PWD_HASH_PREFIX_START '{' #define PWD_HASH_PREFIX_END '}' #define SALTED_SHA1_SCHEME_NAME "SSHA" #define SALTED_SHA1_NAME_LEN 4 /* WARNING: The following code is blatantly copied from the server pwdstorage ssha_pwd.c plugin. It would be nice to share this code with the server. The problem is that the server wants to use slapi_ch_malloc to allocate the memory for the returned password - this function is not available outside the server (as in the setup programs that also want to hash the password) We need to figure out a way to put this code into a library in such a way that the memory allocation functions to use can be passed in or set beforehand. */ static void ssha_rand_array(void *randx, size_t len) { PK11_RandomUpdate(randx, len); PK11_GenerateRandom((unsigned char *)randx, (int)len); } /* * A salted SHA1 hash * if salt is null, no salt is used (this is for backward compatibility) */ SECStatus sha1_salted_hash(unsigned char *hash_out, char *pwd, struct berval *salt) { PK11Context *ctx; unsigned int outLen; SECStatus rc; if (salt && salt->bv_len) { ctx = PK11_CreateDigestContext(SEC_OID_SHA1); if (ctx == NULL) { rc = SECFailure; } else { PK11_DigestBegin(ctx); PK11_DigestOp(ctx, (unsigned char*)pwd, strlen(pwd)); PK11_DigestOp(ctx, (unsigned char*)(salt->bv_val), salt->bv_len); PK11_DigestFinal(ctx, hash_out, &outLen, SHA1_LENGTH); PK11_DestroyContext(ctx, 1); if (outLen == SHA1_LENGTH) rc = SECSuccess; else rc = SECFailure; } } else { /*backward compatibility*/ rc = PK11_HashBuf(SEC_OID_SHA1, hash_out, (unsigned char *)pwd, strlen(pwd)); } return rc; } char * salted_sha1_pw_enc( char *pwd ) { unsigned char hash[ SHA1_LENGTH + SHA1_SALT_LENGTH ]; unsigned char *salt = hash + SHA1_LENGTH; struct berval saltval; char *enc; saltval.bv_val = (void*)salt; saltval.bv_len = SHA1_SALT_LENGTH; /* generate a new random salt */ /* Note: the uninitialized salt array provides a little extra entropy * to the random array generation, but it is not really needed since * PK11_GenerateRandom takes care of seeding. In any case, it doesn't * hurt. */ ssha_rand_array( salt, SHA1_SALT_LENGTH ); /* SHA1 hash the user's key */ if ( sha1_salted_hash( hash, pwd, &saltval ) != SECSuccess ) { return( NULL ); } if (( enc = PR_Malloc( 3 + SALTED_SHA1_NAME_LEN + LDIF_BASE64_LEN(sizeof(hash)))) == NULL ) { return( NULL ); } sprintf( enc, "%c%s%c", PWD_HASH_PREFIX_START, SALTED_SHA1_SCHEME_NAME, PWD_HASH_PREFIX_END ); (void)ldif_base64_encode( hash, enc + 2 + SALTED_SHA1_NAME_LEN, sizeof(hash), -1 ); return( enc ); } DS_EXPORT_SYMBOL char * ds_salted_sha1_pw_enc (char* pwd) { return( salted_sha1_pw_enc(pwd) ); } --- NEW FILE dsalib_tailf.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #endif #include #include #include #include #include #include "dsalib.h" #include "prthread.h" #include "plstr.h" /* * Function: adjustFile * Property: Adjust the file offset to the "tail" of the file * Called by: DisplayTail * Return: -1 for error, else file size */ static int adjustFile(FILE *fp, int curSize) { struct stat statBuf; int fd = fileno(fp); if ( fstat(fd, &statBuf) == -1 ) return(-1); if ( statBuf.st_size < curSize ) /* file has shrunk! */ { if ( fseek(fp, 0L, 0) == -1 ) /* get back to the beginning */ return(-1); } curSize = (int) statBuf.st_size; if ( !curSize ) curSize = 1; return(curSize); } /* * Function: wrapLines * Property: wrap lines at 50 characters. When a wrap point is encountered, * insert the string "\n", since the buffer is going to be placed * inside a JavaScript alert() call. * Called by: ds_display_tail * Return: pointer to wrapped buffer. Caller should free. */ static char * wrapLines( char *buf ) { char *src = buf; char *obuf, *dst; int lwidth = 0; obuf = malloc( strlen( buf ) * 2 ); /* conservative */ if ( obuf == NULL ) { return NULL; } dst = obuf; while ( *src != '\0' ) { if (( ++lwidth > 50 ) && isspace( *src )) { *dst++ = '\\'; *dst++ = 'n'; lwidth = 0; src++; } else { *dst++ = *src++; } } *dst = '\0'; return obuf; } DS_EXPORT_SYMBOL int ds_get_file_size(char *fileName) { struct stat statBuf; if ( fileName == NULL ) return(0); if ( stat(fileName, &statBuf) == -1 ) return(0); return(statBuf.st_size); } /* * Function: ds_display_tail * Property: follow the tail and display it for timeOut secs or until the line * read from the file contains the string doneMsg; the lastLine, if not null, * will be filled in with the last line read from the file; this is useful * for determining why the server failed to start e.g. port in use, ran out * of semaphores, database is corrupted, etc. * Calls: adjustFile */ DS_EXPORT_SYMBOL void ds_display_tail(char *fileName, int timeOut, int startSeek, char *doneMsg, char *lastLine) { FILE *fp = NULL; int fd; char msgBuf[BIG_LINE]; struct stat statBuf; int curSize; int i = timeOut; if (lastLine != NULL) lastLine[0] = 0; if ( fileName == NULL ) return; /* * Open the file. * Try to keep reading it assuming that it may get truncated. */ while (i && !fp) { fp = fopen(fileName, "r"); if (!fp) { PR_Sleep(PR_SecondsToInterval(1)); --i; /* need to print something so http connection doesn't timeout and also to let the user know something is happening . . . */ if (!(i % 10)) { ds_send_status("Attempting to obtain server status . . ."); } } } if (!i || !fp) return; fd = fileno(fp); if ( fstat(fd, &statBuf) == -1 ) { (void) fclose(fp); return; } curSize = (int) statBuf.st_size; if ( startSeek < curSize ) curSize = startSeek; if ( curSize > 0 ) if ( fseek(fp, curSize, SEEK_SET) == -1 ) { (void) fclose(fp); return; } if ( !curSize ) curSize = 1; /* ensure minimum */ while ( i ) { int newCurSize; newCurSize = curSize = adjustFile(fp, curSize); if ( curSize == -1 ) { (void) fclose(fp); return; } while ( fgets(msgBuf, sizeof(msgBuf), fp) ) { char *tmp; if (lastLine != NULL) PL_strncpyz(lastLine, msgBuf, BIG_LINE); if ( (tmp = strchr(msgBuf, ((int) '\n'))) != NULL ) *tmp = '\0'; /* strip out real newlines from here */ ds_send_status(msgBuf); if ( (strstr(msgBuf, "WARNING: ") != NULL) || (strstr(msgBuf, "ERROR: ") != NULL) ) { char *wrapBuf; wrapBuf = wrapLines( msgBuf ); if ( wrapBuf != NULL ) { ds_send_error(wrapBuf, 5); } else { ds_send_error(msgBuf, 5); } } if ( (doneMsg != NULL) && (strstr(msgBuf, doneMsg)) ) { (void) fclose(fp); return; } newCurSize = adjustFile(fp, newCurSize); if ( newCurSize == -1 ) { (void) fclose(fp); return; } } if ( ferror(fp) ) { (void) fclose(fp); return; } clearerr(fp); /* clear eof condition */ PR_Sleep(PR_SecondsToInterval(1)); if ( newCurSize != curSize ) i = timeOut; /* keep going till no more changes */ else i--; } (void) fclose(fp); } --- NEW FILE dsalib_updown.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #include #include "regparms.h" #else #include #include #include #endif #include #include #include #include #include "dsalib.h" #include #include "nspr.h" #if defined( XP_WIN32 ) SC_HANDLE schService; SC_HANDLE schSCManager; int StartServer(); int StopandRestartServer(); int StopServer(); int StopNetscapeProgram(); int StartNetscapeProgram(); int StopNetscapeService(); int StartNetscapeService(); void WaitForServertoStop(); #endif /* * Get status for the Directory Server. * 0 -- down * 1 -- up * -1 -- unknown */ #if !defined( XP_WIN32 ) static pid_t server_pid; DS_EXPORT_SYMBOL int ds_get_updown_status() { char pid_file_name[BIG_LINE]; char *rundir; FILE *pidfile; int ipid = -1; int status = 0; if ( (rundir = ds_get_run_dir()) == NULL ) { fprintf(stderr, "ds_get_updown_status: could not get install root\n"); return(DS_SERVER_UNKNOWN); } PR_snprintf(pid_file_name, BIG_LINE, "%s/%s.pid", rundir, ds_get_server_name()); pidfile = fopen(pid_file_name, "r"); if ( pidfile == NULL ) { /* fprintf(stderr, "ds_get_updown_status: could not open pid file=%s errno=%d\n", pid_file_name, errno); */ return(DS_SERVER_DOWN); } status = fscanf(pidfile, "%d\n", &ipid); fclose(pidfile); if ( status == -1 ) { fprintf(stderr, "ds_get_updown_status: pidfile=%s server_pid=%d errno=%d\n", pid_file_name, ipid, errno); unlink(pid_file_name); /* junk in file? */ return(DS_SERVER_DOWN); } server_pid = (pid_t) ipid; if ( (status = kill(server_pid, 0)) != 0 && errno != EPERM ) { /* we should get ESRCH if the server is down, anything else may be a real problem */ if (errno != ESRCH) { fprintf(stderr, "ds_get_updown_status: pidfile=%s server_pid=%d status=%d errno=%d\n", pid_file_name, server_pid, status, errno); } unlink(pid_file_name); /* pid does not exist! */ return(DS_SERVER_DOWN); } return(DS_SERVER_UP); } #else DS_EXPORT_SYMBOL int ds_get_updown_status() { char *ds_name = ds_get_server_name(); HANDLE hServerDoneEvent = NULL; /* watchdog.c creates a global event of this same name */ if((hServerDoneEvent = OpenEvent(EVENT_ALL_ACCESS, TRUE, ds_name)) != NULL) { CloseHandle(hServerDoneEvent); return(DS_SERVER_UP); } if(GetLastError() == ERROR_ACCESS_DENIED) /* it exists */ return(DS_SERVER_UP); /* assume it's not running. */ return(DS_SERVER_DOWN); } #endif /* This function does not require calling ds_get_config(), but requires that that information be passed in. This is very useful for starting the server during installation, because we already have all of the configuration information in memory, we don't need to read it in */ DS_EXPORT_SYMBOL int ds_bring_up_server_install(int verbose, char *root, char *errorlog) { #if !defined( XP_WIN32 ) char startup_line[BIG_LINE]; char statfile[PATH_MAX]; char *tmp_dir; #endif int error = -1; int status = DS_SERVER_DOWN; int cur_size = 0; FILE *sf = NULL; char msgBuf[BIG_LINE] = {0}; int secondsToWaitForServer = 600; char *serverStartupString = "slapd started."; status = ds_get_updown_status(); if ( status == DS_SERVER_UP ) return(DS_SERVER_ALREADY_UP); if (!root || !errorlog) return(DS_SERVER_UNKNOWN); if (verbose) { ds_send_status("starting up server ..."); cur_size = ds_get_file_size(errorlog); } #if !defined( XP_WIN32 ) tmp_dir = ds_get_tmp_dir(); PR_snprintf(statfile, PATH_MAX, "%s%cstartup.%d", tmp_dir, FILE_SEP, (int)getpid()); PR_snprintf(startup_line, BIG_LINE, "%s%c%s > %s 2>&1", root, FILE_SEP, START_SCRIPT, statfile); alter_startup_line(startup_line); error = system(startup_line); if (error == -1) error = DS_SERVER_DOWN; /* could not start server */ else error = DS_SERVER_UP; /* started server */ #else error = StartServer(); #endif if (error != DS_SERVER_UP) { #if !defined( XP_WIN32 ) FILE* fp = fopen(statfile, "r"); if (fp) { while(fgets(msgBuf, BIG_LINE, fp)) ds_send_status(msgBuf); fclose(fp); } #endif return DS_SERVER_COULD_NOT_START; } if (verbose) { /* * Stop in N secs or whenever the startup message comes up. * Do whichever happens first. msgBuf will contain the last * line read from the errorlog. */ ds_display_tail(errorlog, secondsToWaitForServer, cur_size, serverStartupString, msgBuf); } if ( error != DS_SERVER_UP ) { int retval = DS_SERVER_UNKNOWN; if (strstr(msgBuf, "semget")) retval = DS_SERVER_MAX_SEMAPHORES; else if (strstr(msgBuf, "Back-End Initialization Failed")) retval = DS_SERVER_CORRUPTED_DB; else if (strstr(msgBuf, "not initialized... exiting")) retval = DS_SERVER_CORRUPTED_DB; else if (strstr(msgBuf, "address is in use")) retval = DS_SERVER_PORT_IN_USE; #if defined( XP_WIN32 ) /* on NT, if we run out of resources, there will not even be an error log */ else if (msgBuf[0] == 0) { retval = DS_SERVER_NO_RESOURCES; } #endif if (verbose) ds_send_error("error in starting server.", 1); return(retval); } if (verbose) { #if !defined( XP_WIN32 ) if( !(sf = fopen(statfile, "r")) ) { ds_send_error("could not read status file.", 1); return(DS_SERVER_UNKNOWN); } while ( fgets(startup_line, BIG_LINE, sf) ) ds_send_error(startup_line, 0); fclose(sf); unlink(statfile); #endif status = DS_SERVER_UNKNOWN; if (strstr(msgBuf, "semget")) status = DS_SERVER_MAX_SEMAPHORES; else if (strstr(msgBuf, "Back-End Initialization Failed")) status = DS_SERVER_CORRUPTED_DB; else if (strstr(msgBuf, "not initialized... exiting")) status = DS_SERVER_CORRUPTED_DB; else if (strstr(msgBuf, "address is in use")) status = DS_SERVER_PORT_IN_USE; #if defined( XP_WIN32 ) /* on NT, if we run out of resources, there will not even be an error log */ else if (msgBuf[0] == 0) { status = DS_SERVER_NO_RESOURCES; } #endif } else { int tries; for (tries = 0; tries < secondsToWaitForServer; tries++) { if (ds_get_updown_status() == DS_SERVER_UP) break; PR_Sleep(PR_SecondsToInterval(1)); } if (verbose) { char str[100]; PR_snprintf(str, sizeof(str), "Had to retry %d times", tries); ds_send_status(str); } } if ( (status == DS_SERVER_DOWN) || (status == DS_SERVER_UNKNOWN) ) status = ds_get_updown_status(); return(status); } /* * Start the Directory Server and return status. * Do not start if the server is already started. * 0 -- down * 1 -- up * -1 -- unknown * -2 -- already up */ DS_EXPORT_SYMBOL int ds_bring_up_server(int verbose) { char *root; int status; char *errorlog; status = ds_get_updown_status(); if ( status == DS_SERVER_UP ) return(DS_SERVER_ALREADY_UP); if ( (root = ds_get_install_root()) == NULL ) return(DS_SERVER_UNKNOWN); errorlog = ds_get_config_value(DS_ERRORLOG); if ( errorlog == NULL ) { errorlog = ds_get_errors_name(); /* fallback */ } return ds_bring_up_server_install(verbose, root, errorlog); } DS_EXPORT_SYMBOL int ds_bring_down_server() { char *root; int status; int cur_size; char *errorlog; status = ds_get_updown_status(); /* set server_pid too! */ if ( status != DS_SERVER_UP ) { ds_send_error("The server is not up.", 0); return(DS_SERVER_ALREADY_DOWN); } if ( (root = ds_get_install_root()) == NULL ) { ds_send_error("Could not get the server root directory.", 0); return(DS_SERVER_UNKNOWN); } ds_send_status("shutting down server ..."); if (!(errorlog = ds_get_errors_name())) { ds_send_error("Could not get the error log filename.", 0); return DS_SERVER_UNKNOWN; } cur_size = ds_get_file_size(errorlog); #if !defined( XP_WIN32 ) if ( (kill(server_pid, SIGTERM)) != 0) { if (errno == EPERM) { ds_send_error("Not permitted to kill server.", 0); fprintf (stdout, "[%s]: kill (%li, SIGTERM) failed with errno = EPERM.
\n", ds_get_server_name(), (long)server_pid); } else { ds_send_error("error in killing server.", 1); } return(DS_SERVER_UNKNOWN); } #else if( StopServer() == DS_SERVER_DOWN ) { ds_send_status("shutdown: server shut down"); } else { ds_send_error("error in killing server.", 1); return(DS_SERVER_UNKNOWN); } #endif /* * Wait up to SERVER_STOP_TIMEOUT seconds for the stopped message to * appear in the error log. */ ds_display_tail(errorlog, SERVER_STOP_TIMEOUT, cur_size, "slapd stopped.", NULL); /* in some cases, the server will tell us it's down when it's really not, so give the OS a chance to remove it from the process table */ PR_Sleep(PR_SecondsToInterval(1)); return(ds_get_updown_status()); } #if defined( XP_WIN32 ) static BOOLEAN IsService() { #if 0 CHAR ServerKey[512], *ValueString; HKEY hServerKey; DWORD dwType, ValueLength, Result; PR_snprintf(ServerKey,sizeof(ServerKey), "%s\\%s", COMPANY_KEY, PRODUCT_KEY); Result = RegOpenKey(HKEY_LOCAL_MACHINE, ServerKey, &hServerKey); if (Result != ERROR_SUCCESS) { return TRUE; } ValueLength = 512; ValueString = (PCHAR)malloc(ValueLength); Result = RegQueryValueEx(hServerKey, IS_SERVICE_KEY, NULL, &dwType, ValueString, &ValueLength); if (Result != ERROR_SUCCESS) { return TRUE; } if (strcmp(ValueString, "yes")) { return FALSE; } else { return TRUE; } #else return TRUE; #endif } #if 0 NSAPI_PUBLIC BOOLEAN IsAdminService() { CHAR AdminKey[512], *ValueString; HKEY hAdminKey; DWORD dwType, ValueLength, Result; PR_snprintf(AdminKey,sizeof(AdminKey), "%s\\%s", COMPANY_KEY, ADMIN_REGISTRY_ROOT_KEY); Result = RegOpenKey(HKEY_LOCAL_MACHINE, AdminKey, &hAdminKey); if (Result != ERROR_SUCCESS) { return TRUE; } ValueLength = 512; ValueString = (PCHAR)malloc(ValueLength); Result = RegQueryValueEx(hAdminKey, IS_SERVICE_KEY, NULL, &dwType, ValueString, &ValueLength); if (Result != ERROR_SUCCESS) { return TRUE; } if (strcmp(ValueString, "yes")) { return FALSE; } else { return TRUE; } } #endif int StartServer() { CHAR ErrorString[512]; BOOLEAN Service; /* Figure out if the server is a service or an exe */ Service = IsService(); if(Service) { if (!(schSCManager = OpenSCManager( NULL, // machine (NULL == local) NULL, // database (NULL == default) SC_MANAGER_ALL_ACCESS // access required ))) { PR_snprintf(ErrorString, sizeof(ErrorString), "Error: Could not open the ServiceControlManager:%d " "Please restart the server %s from the Services Program Item " "in the Control Panel", ds_get_server_name(), GetLastError()); ds_send_error(ErrorString, 0); return(DS_SERVER_UNKNOWN); } return(StartNetscapeService()); } else { return(StartNetscapeProgram()); } } int StopandRestartServer() { CHAR ErrorString[512]; BOOLEAN Service; /* First figure out if the server is a service or an exe */ Service = IsService(); if(Service) { if (!(schSCManager = OpenSCManager( NULL, // machine (NULL == local) NULL, // database (NULL == default) SC_MANAGER_ALL_ACCESS // access required ))) { PR_snprintf(ErrorString, sizeof(ErrorString), "Error: Could not restart server." "Please restart the server %s from the Services Program Item " "in the Control Panel", ds_get_server_name()); ds_send_error(ErrorString, 0); return(DS_SERVER_UNKNOWN); } if (StopNetscapeService() != DS_SERVER_DOWN) return(DS_SERVER_UNKNOWN); return(StartNetscapeService()); } else { if (StopNetscapeProgram() != DS_SERVER_DOWN) return(DS_SERVER_UNKNOWN); return(StartNetscapeProgram()); } } int StopServer() { CHAR ErrorString[512]; BOOLEAN Service; /* First figure out if the server is a service or an exe */ Service = IsService(); if(Service) { if (!(schSCManager = OpenSCManager( NULL, // machine (NULL == local) NULL, // database (NULL == default) SC_MANAGER_ALL_ACCESS // access required ))) { PR_snprintf(ErrorString, sizeof(ErrorString), "Error: Could not open the ServiceControlManager:%d " "Please restart the server %s from the Services Program Item " "in the Control Panel", ds_get_server_name(), GetLastError()); ds_send_error(ErrorString, 0); return(DS_SERVER_UNKNOWN); } return(StopNetscapeService()); } else { return(StopNetscapeProgram()); } } int StartNetscapeProgram() { char line[BIG_LINE], cmd[BIG_LINE]; char *tmp = ds_get_install_root(); CHAR ErrorString[512]; STARTUPINFO siStartInfo; PROCESS_INFORMATION piProcInfo; FILE *CmdFile; ZeroMemory(line, sizeof(line)); PR_snprintf(line, BIG_LINE, "%s\\startsrv.bat", tmp); CmdFile = fopen(line, "r"); if (!CmdFile) { PR_snprintf(ErrorString, sizeof(ErrorString), "Error:Tried to start server %s " ": Could not open the startup script %s :Error %d. Please " "run startsrv.bat from the server's root directory.", ds_get_server_name(), line, errno); ds_send_error(ErrorString, 0); return(DS_SERVER_DOWN); } ZeroMemory(cmd, sizeof(cmd)); if (!fread(cmd, 1, BIG_LINE, CmdFile)) { PR_snprintf(ErrorString, sizeof(ErrorString), "Error:Tried to start server %s " ": Could not read the startup script %s :Error %d. Please " "run startsrv.bat from the server's root directory.", ds_get_server_name(), line, errno); ds_send_error(ErrorString, 0); return(DS_SERVER_DOWN); } ZeroMemory(&siStartInfo, sizeof(STARTUPINFO)); siStartInfo.cb = sizeof(STARTUPINFO); siStartInfo.lpReserved = siStartInfo.lpReserved2 = NULL; siStartInfo.cbReserved2 = 0; siStartInfo.lpDesktop = NULL; if (!CreateProcess(NULL, cmd, NULL, NULL, FALSE, 0, NULL, NULL, &siStartInfo, &piProcInfo)) { PR_snprintf(ErrorString, sizeof(ErrorString), "Error:Tried to start server %s " ": Could not start up the startup script %s :Error %d. Please " "run startsrv.bat from the server's root directory.", ds_get_server_name(), line, GetLastError()); ds_send_error(ErrorString, 0); return(DS_SERVER_DOWN); } CloseHandle(piProcInfo.hProcess); CloseHandle(piProcInfo.hThread); return(DS_SERVER_UP); } int StopNetscapeProgram() { HANDLE hEvent; CHAR ErrorString[512]; char *servid = ds_get_server_name(); hEvent = CreateEvent(NULL, TRUE, FALSE, servid); if(!SetEvent(hEvent)) { PR_snprintf(ErrorString, sizeof(ErrorString), "Tried to stop existing server %s" ": Could not signal it to stop :Error %d", servid, GetLastError()); ds_send_error(ErrorString, 0); return(DS_SERVER_UNKNOWN); } return(DS_SERVER_DOWN); } int StopNetscapeService() { BOOL ret; SERVICE_STATUS ServiceStatus; DWORD Error; CHAR ErrorString[512]; char *serviceName = ds_get_server_name(); schService = OpenService(schSCManager, serviceName, SERVICE_ALL_ACCESS); if (schService == NULL) { PR_snprintf(ErrorString, sizeof(ErrorString), "Tried to open service" " %s: Error %d (%s). Please" " stop the server from the Services Item in the Control Panel", serviceName, GetLastError(), ds_system_errmsg()); ds_send_error(ErrorString, 0); return(DS_SERVER_UP); } ret = ControlService(schService, SERVICE_CONTROL_STOP, &ServiceStatus); Error = GetLastError(); /* if ControlService returns with ERROR_SERVICE_CANNOT_ACCEPT_CTRL and the server status indicates that it is either shutdown or in the process of shutting down, then just wait for it to stop as usual */ if (ret || ((Error == ERROR_SERVICE_CANNOT_ACCEPT_CTRL) && ((ServiceStatus.dwCurrentState == SERVICE_STOPPED) || (ServiceStatus.dwCurrentState == SERVICE_STOP_PENDING)))) { CloseServiceHandle(schService); /* We make sure that the service is stopped */ WaitForServertoStop(); return(DS_SERVER_DOWN); } else if (Error != ERROR_SERVICE_NOT_ACTIVE) { PR_snprintf(ErrorString, sizeof(ErrorString), "Tried to stop service" " %s: Error %d (%s)." " Please stop the server from the Services Item in the" " Control Panel", serviceName, Error, ds_system_errmsg()); ds_send_error(ErrorString, 0); return(DS_SERVER_UNKNOWN); } return(DS_SERVER_DOWN); } int StartNetscapeService() { CHAR ErrorString[512]; int retries = 0; char *serviceName = ds_get_server_name(); schService = OpenService( schSCManager, // SCManager database serviceName, // name of service SERVICE_ALL_ACCESS); if (schService == NULL) { CloseServiceHandle(schService); PR_snprintf(ErrorString, sizeof(ErrorString),"Tried to start" " the service %s: Error %d. Please" " start the server from the Services Item in the Control Panel", serviceName, GetLastError()); ds_send_error(ErrorString, 0); return(DS_SERVER_DOWN); } if (!StartService(schService, 0, NULL)) { CloseServiceHandle(schService); PR_snprintf(ErrorString, sizeof(ErrorString), "StartService:Could not start " "the Directory service %s: Error %d. Please restart the server " "from the Services Item in the Control Panel", serviceName, GetLastError()); ds_send_error(ErrorString, 0); return(DS_SERVER_DOWN); } CloseServiceHandle(schService); return(DS_SERVER_UP); } void WaitForServertoStop() { HANDLE hServDoneSemaphore; int result,retries = 0; char *serviceName = ds_get_server_name(); char *newServiceName; RETRY: newServiceName = PR_smprintf("NS_%s", serviceName); hServDoneSemaphore = CreateSemaphore( NULL, // security attributes 0, // initial count for semaphore 1, // maximum count for semaphore newServiceName); PR_smprintf_free(newServiceName); if ( hServDoneSemaphore == NULL) { result = GetLastError(); if (result == ERROR_INVALID_HANDLE) { if (retries < SERVER_STOP_TIMEOUT) { retries++; Sleep(1000); goto RETRY; } } else { /* We aren't too interested in why the creation failed * if it is not because of another instance */ return; } } // hServDoneSemaphore == NULL CloseHandle(hServDoneSemaphore); return; } #endif --- NEW FILE dsalib_util.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 **/ #ifdef HAVE_CONFIG_H # include #endif #if defined( XP_WIN32 ) #include #include #else /* XP_WIN32 */ # if defined( AIXV4 ) # include # else /* AIXV4 */ # include # endif /* AIXV4 */ #include #include #include #endif /* XP_WIN3 */ #include "dsalib.h" #include #include #include #include #include #include #include "nspr.h" #include "plstr.h" #define COPY_BUFFER_SIZE 4096 /* This is the separator string to use when outputting key/value pairs to be read by the non-HTML front end (Java console) */ static const char *SEPARATOR = ":"; /* from AdmTask.java */ #define LOGFILEENVVAR "DEBUG_LOGFILE" /* used for logfp */ static int internal_rm_rf(const char *path, DS_RM_RF_ERR_FUNC ds_rm_rf_err_func, void *arg); /* return a FILE * opened in append mode to the log file caller must use fclose to close it */ static FILE * get_logfp(void) { FILE *logfp = NULL; char *logfile = getenv(LOGFILEENVVAR); if (logfile) { logfp = fopen(logfile, "a"); } return logfp; } DS_EXPORT_SYMBOL int ds_file_exists(char *filename) { struct stat finfo; if ( filename == NULL ) return 0; if ( stat(filename, &finfo) == 0 ) /* successful */ return 1; else return 0; } DS_EXPORT_SYMBOL int ds_mkdir(char *dir, int mode) { if(!ds_file_exists(dir)) { #ifdef XP_UNIX if(mkdir(dir, mode) == -1) #else /* XP_WIN32 */ if(!CreateDirectory(dir, NULL)) #endif /* XP_WIN32 */ return -1; } return 0; } DS_EXPORT_SYMBOL char * ds_mkdir_p(char *dir, int mode) { static char errmsg[ERR_SIZE]; struct stat fi; char *t; #ifdef XP_UNIX t = dir + 1; #else /* XP_WIN32 */ t = dir + 3; #endif /* XP_WIN32 */ while(1) { t = strchr(t, FILE_PATHSEP); if(t) *t = '\0'; if(stat(dir, &fi) == -1) { if(ds_mkdir(dir, mode) == -1) { PR_snprintf(errmsg, sizeof(errmsg), "mkdir %s failed (%s)", dir, ds_system_errmsg()); return errmsg; } } if(t) *t++ = FILE_PATHSEP; else break; } return NULL; } /* * Given the name of a directory, return a NULL-terminated array of * the file names contained in that directory. Returns NULL if the directory * does not exist or an error occurs, and returns an array with a * single NULL string if the directory exists but is empty. The caller * is responsible for freeing the returned array of strings. * File names "." and ".." are not returned. */ #if !defined( XP_WIN32 ) DS_EXPORT_SYMBOL char ** ds_get_file_list( char *dir ) { DIR *dirp; struct dirent *direntp; char **ret = NULL; int nfiles = 0; if (( dirp = opendir( dir )) == NULL ) { return NULL; } if (( ret = malloc( sizeof( char * ))) == NULL ) { return NULL; }; while (( direntp = readdir( dirp )) != NULL ) { if ( strcmp( direntp->d_name, "." ) && strcmp( direntp->d_name, ".." )) { if (( ret = (char **) realloc( ret, sizeof( char * ) * ( nfiles + 2 ))) == NULL ); ret[ nfiles ] = strdup( direntp->d_name ); nfiles++; } } (void) closedir( dirp ); ret[ nfiles ] = NULL; return ret; } #else DS_EXPORT_SYMBOL char ** ds_get_file_list( char *dir ) { char szWildcardFileSpec[MAX_PATH]; char **ret = NULL; long hFile; struct _finddata_t fileinfo; int nfiles = 0; if( ( dir == NULL ) || (strlen( dir ) == 0) ) return NULL; if( ( ret = malloc( sizeof( char * ) ) ) == NULL ) return NULL; PL_strncpyz(szWildcardFileSpec, dir, sizeof(szWildcardFileSpec)); PL_strcatn(szWildcardFileSpec, sizeof(szWildcardFileSpec), "/*"); hFile = _findfirst( szWildcardFileSpec, &fileinfo); if( hFile == -1 ) return NULL; if( ( strcmp( fileinfo.name, "." ) != 0 ) && ( strcmp( fileinfo.name, ".." ) != 0 ) ) { ret[ nfiles++ ] = strdup( fileinfo.name ); } while( _findnext( hFile, &fileinfo ) == 0 ) { if( ( strcmp( fileinfo.name, "." ) != 0 ) && ( strcmp( fileinfo.name, ".." ) != 0 ) ) { if( ( ret = (char **) realloc( ret, sizeof( char * ) * ( nfiles + 2 ) ) ) != NULL ) ret[ nfiles++ ] = strdup( fileinfo.name); } } _findclose( hFile ); ret[ nfiles ] = NULL; return ret; } #endif /* ( XP_WIN32 ) */ DS_EXPORT_SYMBOL time_t ds_get_mtime(char *filename) { struct stat fi; if ( stat(filename, &fi) ) return 0; return fi.st_mtime; } /* * Copy files: return is * 1: success * 0: failure * Print errors as needed. */ DS_EXPORT_SYMBOL int ds_cp_file(char *sfile, char *dfile, int mode) { #if defined( XP_WIN32 ) return( CopyFile( sfile, dfile, FALSE ) ); /* Copy even if dfile exists */ #else int sfd, dfd, len; struct stat fi; char copy_buffer[COPY_BUFFER_SIZE]; unsigned long read_len; char error[BIG_LINE]; /* Make sure we're in the right umask */ umask(022); if( (sfd = open(sfile, O_RDONLY)) == -1) { PR_snprintf(error, sizeof(error), "Can't open file %s for reading.", sfile); ds_send_error(error, 1); return(0); } fstat(sfd, &fi); if (!(S_ISREG(fi.st_mode))) { PR_snprintf(error, sizeof(error), "File %s is not a regular file.", sfile); ds_send_error(error, 1); close(sfd); return(0); } len = fi.st_size; if( (dfd = open(dfile, O_RDWR | O_CREAT | O_TRUNC, mode)) == -1) { PR_snprintf(error, sizeof(error), "can't write to file %s", dfile); ds_send_error(error, 1); close(sfd); return(0); } while (len) { read_len = len>COPY_BUFFER_SIZE?COPY_BUFFER_SIZE:len; if ( (read_len = read(sfd, copy_buffer, read_len)) == -1) { PR_snprintf(error, sizeof(error), "Error reading file %s for copy.", sfile); ds_send_error(error, 1); close(sfd); close(dfd); return(0); } if ( write(dfd, copy_buffer, read_len) != read_len) { PR_snprintf(error, sizeof(error), "Error writing file %s for copy.", dfile); ds_send_error(error, 1); close(sfd); close(dfd); return(0); } len -= read_len; } close(sfd); close(dfd); return(1); #endif } DS_EXPORT_SYMBOL void ds_unixtodospath(char *szText) { if(szText) { while(*szText) { if( *szText == '/' ) *szText = '\\'; szText++; } } } /* converts '\' chars to '/' */ DS_EXPORT_SYMBOL void ds_dostounixpath(char *szText) { if(szText) { while(*szText) { if( *szText == '\\' ) *szText = '/'; szText++; } } } /* converts ':' chars to ' ' */ DS_EXPORT_SYMBOL void ds_timetofname(char *szText) { if(szText) { /* Replace trailing newline */ szText[ strlen( szText ) -1 ] = 0; while(*szText) { if( *szText == ':' || *szText == ' ' ) *szText = '_'; szText++; } } } /* Effects a rename in 2 steps, needed on NT because if the target of a rename() already exists, the rename() will fail. */ DS_EXPORT_SYMBOL int ds_saferename(char *szSrc, char *szTarget) { #ifdef XP_WIN32 int iRetVal; char *szTmpFile; struct stat buf; #endif if( !szSrc || !szTarget ) return 1; #if defined( XP_WIN32 ) szTmpFile = mktemp("slrnXXXXXX" ); if( stat( szTarget, &buf ) == 0 ) { /* Target file exists */ if( !szTmpFile ) return 1; if( !ds_cp_file( szTarget, szTmpFile, 0644) ) return( 1 ); unlink( szTarget ); if( (iRetVal = rename( szSrc, szTarget )) != 0 ) { /* Failed to rename, copy back. */ ds_cp_file( szTmpFile, szTarget, 0644); } /* Now remove temp file */ unlink( szTmpFile ); } else iRetVal = rename(szSrc, szTarget); return iRetVal; #else return rename(szSrc, szTarget); #endif } DS_EXPORT_SYMBOL char* ds_encode_all (const char* s) { char* r; size_t l; size_t i; if (s == NULL || *s == '\0') { return strdup (""); } l = strlen (s); r = malloc (l * 3 + 1); for (i = 0; *s != '\0'; ++s) { r[i++] = '%'; sprintf (r + i, "%.2X", 0xFF & (unsigned int)*s); i += 2; } r[i] = '\0'; return r; } DS_EXPORT_SYMBOL char* ds_URL_encode (const char* s) { char* r; size_t l; size_t i; if (s == NULL || *s == '\0') { return strdup (""); } l = strlen (s) + 1; r = malloc (l); for (i = 0; *s != '\0'; ++s) { if (*s >= 0x20 && *s <= 0x7E && strchr (" <>\"#%{}[]|\\^~`?,;=+\n", *s) == NULL) { if (l - i <= 1) r = realloc (r, l *= 2); r[i++] = *s; } else { /* encode *s */ if (l - i <= 3) r = realloc (r, l *= 2); r[i++] = '%'; sprintf (r + i, "%.2X", 0xFF & (unsigned int)*s); i += 2; } } r[i] = '\0'; return r; } DS_EXPORT_SYMBOL char* ds_URL_decode (const char* original) { char* r = strdup (original); char* s; for (s = r; *s != '\0'; ++s) { if (*s == '+') { *s = ' '; } else if (*s == '%' && isxdigit(s[1]) && isxdigit(s[2])) { memmove (s, s+1, 2); s[2] = '\0'; *s = (char)strtoul (s, NULL, 16); memmove (s+1, s+3, strlen (s+3) + 1); } } return r; } #if !defined( XP_WIN32 ) #include /* errno */ #include /* getpwnam */ static int saved_uid_valid = 0; static uid_t saved_uid; static int saved_gid_valid = 0; static gid_t saved_gid; #if defined( HPUX ) #define SETEUID(id) setresuid((uid_t) -1, id, (uid_t) -1) #else #define SETEUID(id) seteuid(id) #endif #endif DS_EXPORT_SYMBOL char* ds_become_localuser_name (char *localuser) { #if !defined( XP_WIN32 ) if (localuser != NULL) { struct passwd* pw = getpwnam (localuser); if (pw == NULL) { fprintf (stderr, "getpwnam(%s) == NULL; errno %d", localuser, errno); fprintf (stderr, "\n"); fflush (stderr); } else { if ( ! saved_uid_valid) saved_uid = geteuid(); if ( ! saved_gid_valid) saved_gid = getegid(); if (setgid (pw->pw_gid) == 0) { saved_gid_valid = 1; } else { fprintf (stderr, "setgid(%li) != 0; errno %d", (long)pw->pw_gid, errno); fprintf (stderr, "\n"); fflush (stderr); } if (SETEUID (pw->pw_uid) == 0) { saved_uid_valid = 1; } else { fprintf (stderr, "seteuid(%li) != 0; errno %d", (long)pw->pw_uid, errno); fprintf (stderr, "\n"); fflush (stderr); } } } return NULL; #else return NULL; #endif } DS_EXPORT_SYMBOL char* ds_become_localuser (char **ds_config) { #if !defined( XP_WIN32 ) char* localuser = ds_get_value (ds_config, ds_get_var_name(DS_LOCALUSER), 0, 1); if (localuser != NULL) { char *rv = ds_become_localuser_name(localuser); free(localuser); return rv; } return NULL; #else return NULL; #endif } DS_EXPORT_SYMBOL char* ds_become_original (char **ds_config) { #if !defined( XP_WIN32 ) if (saved_uid_valid) { if (SETEUID (saved_uid) == 0) { saved_uid_valid = 0; } else { fprintf (stderr, "seteuid(%li) != 0; errno %d
n", (long)saved_uid, errno); fflush (stderr); } } if (saved_gid_valid) { if (setgid (saved_gid) == 0) { saved_gid_valid = 0; } else { fprintf (stderr, "setgid(%li) != 0; errno %d
\n", (long)saved_gid, errno); fflush (stderr); } } return NULL; #else return NULL; #endif } /* * When a path containing a long filename is passed to system(), the call * fails. Therfore, we need to use the short version of the path, when * constructing the path to pass to system(). */ DS_EXPORT_SYMBOL char* ds_makeshort( char * filepath ) { #if defined( XP_WIN32 ) char *shortpath = malloc( MAX_PATH ); DWORD dwStatus; if( shortpath ) { dwStatus = GetShortPathName( filepath, shortpath, MAX_PATH ); return( shortpath ); } #endif return filepath; } /* returns 1 if string "searchstring" found in file "filename" */ /* if found, returnstring is allocated and filled with the line */ /* caller should release the memory */ DS_EXPORT_SYMBOL int ds_search_file(char *filename, char *searchstring, char **returnstring) { struct stat finfo; FILE * sf; char big_line[BIG_LINE]; if( filename == NULL ) return 0; if( stat(filename, &finfo) != 0 ) /* successful */ return 0; if( !(sf = fopen(filename, "r")) ) return 0; while ( fgets(big_line, BIG_LINE, sf) ) { if( strstr( big_line, searchstring ) != NULL ) { *returnstring = (char *)malloc(strlen(big_line) + 1); if (NULL != *returnstring) { strcpy(*returnstring, big_line); } fclose(sf); return 1; } } fclose(sf); return 0; } /* * on linux when running as root, doing something like * system("date > out.log 2>&1") will fail, because of an * ambigious redirect. This works for /bin/sh, but not /bin/csh or /bin/tcsh * * using this would turn * system("date > out.log 2>&1"); * into * system("/bin/sh/ -c \"date > out.log 2>&1\"") * */ DS_EXPORT_SYMBOL void alter_startup_line(char *startup_line) { #if (defined Linux && !defined LINUX2_4) char temp_startup_line[BIG_LINE+40]; PR_snprintf(temp_startup_line, sizeof(temp_startup_line), "/bin/sh -c \"%s\"", startup_line); PL_strncpyz(startup_line, temp_startup_line, BIG_LINE); #else /* do nothing */ #endif /* Linux */ } DS_EXPORT_SYMBOL void ds_send_error(char *errstr, int print_errno) { FILE *logfp; fprintf(stdout, "error%s%s\n", SEPARATOR, errstr); if (print_errno && errno) fprintf(stdout, "system_errno%s%d\n", SEPARATOR, errno); fflush(stdout); if ((logfp = get_logfp())) { fprintf(logfp, "error%s%s\n", SEPARATOR, errstr); if (print_errno && errno) fprintf(logfp, "system_errno%s%d\n", SEPARATOR, errno); fclose(logfp); } } DS_EXPORT_SYMBOL void ds_send_status(char *str) { FILE *logfp; fprintf(stdout, "[%s]: %s\n", ds_get_server_name(), str); fflush(stdout); if ((logfp = get_logfp())) { fprintf(logfp, "[%s]: %s\n", ds_get_server_name(), str); fclose(logfp); } } /* type and doexit are unused I'm not sure what type is supposed to be used for removed the doexit code because we don't want to exit abruptly anymore, we must exit by returning an exit code from the return in main() */ static void report_error(int type, char *msg, char *details, int doexit) { char error[BIG_LINE*4] = {0}; if (msg) { PL_strcatn(error, BIG_LINE*4, msg); PL_strcatn(error, BIG_LINE*4, SEPARATOR); } if (details) PL_strcatn(error, BIG_LINE*4, details); ds_send_error(error, 1); } DS_EXPORT_SYMBOL void ds_report_error(int type, char *msg, char *details) { /* richm - changed exit flag to 0 - we must not exit abruptly, we should instead exit by returning a code as the return value of main - this ensures that callers are properly notified of the status */ report_error(type, msg, details, 0); } DS_EXPORT_SYMBOL void ds_report_warning(int type, char *msg, char *details) { report_error(type, msg, details, 0); } DS_EXPORT_SYMBOL void ds_show_message(const char *message) { FILE *logfp; printf("%s\n", message); fflush(stdout); if ((logfp = get_logfp())) { fprintf(logfp, "%s\n", message); fclose(logfp); } return; } DS_EXPORT_SYMBOL void ds_show_key_value(char *key, char *value) { FILE *logfp; printf("%s%s%s\n", key, SEPARATOR, value); if ((logfp = get_logfp())) { fprintf(logfp, "%s%s%s\n", key, SEPARATOR, value); fclose(logfp); } return; } /* Stolen from the Admin Server dsgw_escape_for_shell */ DS_EXPORT_SYMBOL char * ds_escape_for_shell( char *s ) { char *escaped; char tmpbuf[4]; size_t x,l; if ( s == NULL ) { return( s ); } l = 3 * strlen( s ) + 1; escaped = malloc( l ); memset( escaped, 0, l ); for ( x = 0; s[x]; x++ ) { if (( (unsigned char)s[x] & 0x80 ) == 0 ) { strncat( escaped, &s[x], 1 ); } else { /* not an ASCII character - escape it */ sprintf( tmpbuf, "\\%x", (unsigned)(((unsigned char)(s[x])) & 0xff) ); strcat( escaped, tmpbuf ); } } return( escaped ); } DS_EXPORT_SYMBOL char * ds_system_errmsg(void) { static char static_error[BUFSIZ]; char *lmsg = 0; /* Local message pointer */ size_t msglen = 0; int sys_error = 0; #ifdef XP_WIN32 LPTSTR sysmsg = 0; #endif /* Grab the OS error message */ #ifdef XP_WIN32 sys_error = GetLastError(); #else sys_error = errno; #endif #if defined(XP_WIN32) msglen = FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL, GetLastError(), LOCALE_SYSTEM_DEFAULT, (LPTSTR)&sysmsg, 0, 0); if (msglen > 0) lmsg = sysmsg; SetLastError(0); #else lmsg = strerror(errno); errno = 0; #endif if (!lmsg) static_error[0] = 0; else { /* At this point lmsg points to something. */ int min = 0; msglen = strlen(lmsg); min = msglen > BUFSIZ ? BUFSIZ : msglen; strncpy(static_error, lmsg, min-1); static_error[min-1] = 0; } #ifdef XP_WIN32 /* NT's FormatMessage() dynamically allocated the msg; free it */ if (sysmsg) LocalFree(sysmsg); #endif return static_error; } #ifndef MAXPATHLEN #define MAXPATHLEN 1024 #endif enum { DB_DIRECTORY = 0, DB_LOGDIRECTORY, DB_CHANGELOGDIRECTORY, DB_HOME_DIRECTORY }; static int is_fullpath(char *path) { int len; if (NULL == path || '\0' == *path) return 0; if (FILE_PATHSEP == *path) /* UNIX */ return 1; len = strlen(path); if (len > 2) { if (':' == path[1] && ('/' == path[2] || '\\' == path[2])) /* Windows */ return 1; } return 0; } static void rm_db_dirs(char *fullpath, DS_RM_RF_ERR_FUNC ds_rm_rf_err_func, void *arg) { FILE *fp = fopen(fullpath, "r"); char buf[2][MAXPATHLEN]; char *bufp, *nextbufp; char *retp; int readit = 0; if (fp == NULL) { ds_rm_rf_err_func(fullpath, "opening the config file", arg); return; } bufp = buf[0]; *bufp = '\0'; nextbufp = buf[1]; *nextbufp = '\0'; while (readit || (retp = fgets(bufp, MAXPATHLEN, fp)) != NULL) { int len = strlen(bufp); int type = -1; char *p, *q; if (strstr(bufp, "nsslapd-directory")) type = DB_DIRECTORY; else if (strstr(bufp, "nsslapd-db-home-directory")) type = DB_HOME_DIRECTORY; else if (strstr(bufp, "nsslapd-db-logdirectory")) type = DB_LOGDIRECTORY; else if (strstr(bufp, "nsslapd-changelogdir")) type = DB_CHANGELOGDIRECTORY; else { readit = 0; continue; } p = bufp + len; while ((retp = fgets(nextbufp, MAXPATHLEN, fp)) != NULL) { int thislen; if (*nextbufp == ' ') { thislen = strlen(nextbufp); len += thislen; if (len < MAXPATHLEN) { strncpy(p, nextbufp, thislen); p += thislen; } /* else too long as a path. ignore it */ } else break; } if (retp == NULL) /* done */ break; p = strchr(bufp, ':'); if (p == NULL) { char *tmpp = bufp; bufp = nextbufp; nextbufp = tmpp; readit = 1; continue; } while (*(++p) == ' ') ; q = p + strlen(p) - 1; while (*q == ' ' || *q == '\t' || *q == '\n') q--; *(q+1) = '\0'; switch (type) { case DB_DIRECTORY: case DB_LOGDIRECTORY: case DB_CHANGELOGDIRECTORY: if (is_fullpath(p)) internal_rm_rf(p, ds_rm_rf_err_func, NULL); break; case DB_HOME_DIRECTORY: internal_rm_rf(p, ds_rm_rf_err_func, NULL); break; } } fclose(fp); } static char * get_dir_from_startslapd(char *loc, char *keyword) { char *returnstr = NULL; char *ptr = NULL; char *confdir = NULL; if (ds_search_file(loc, keyword, &returnstr) > 0 && returnstr) { ptr = strchr(returnstr, '='); if (NULL != ptr) { confdir = strdup(++ptr); } free(returnstr); } return confdir; } static char * get_dir_from_config(char *config_dir, char *config_attr) { char *configfile = NULL; char *returnstr = NULL; char *ptr = NULL; char *dir = NULL; configfile = PR_smprintf("%s%c%s", config_dir, FILE_PATHSEP, DS_CONFIG_FILE); if (configfile && ds_search_file(configfile, config_attr, &returnstr) > 0 && returnstr) { ptr = strchr(returnstr, ':'); if (NULL != ptr) { while (' ' == *ptr || '\t' == *ptr) ptr++; dir = strdup(ptr); } free(returnstr); PR_smprintf_free(configfile); } return dir; } /* this function will recursively remove a directory hierarchy from the file system, like "rm -rf" In order to handle errors, the user supplies a callback function. When an error occurs, the callback function is called with the file or directory name and the system errno. The callback function should return TRUE if it wants to continue or FALSE if it wants the remove aborted. The error callback should use PR_GetError and/or PR_GetOSError to determine the cause of the failure */ /* you could locate db dirs non standard location we should remove them, as well. */ static int internal_rm_rf(const char *path, DS_RM_RF_ERR_FUNC ds_rm_rf_err_func, void *arg) { struct PRFileInfo prfi; int retval = 0; if (PR_GetFileInfo(path, &prfi) != PR_SUCCESS) { if (!ds_rm_rf_err_func(path, "reading directory", arg)) { return 1; } } if (prfi.type == PR_FILE_DIRECTORY) { PRDir *dir; PRDirEntry *dirent; if (!(dir = PR_OpenDir(path))) { if (!ds_rm_rf_err_func(path, "opening directory", arg)) { return 1; } return 0; } while ((dirent = PR_ReadDir(dir, PR_SKIP_BOTH))) { char *fullpath = PR_smprintf("%s%c%s", path, FILE_PATHSEP, dirent->name); if (PR_GetFileInfo(fullpath, &prfi) != PR_SUCCESS) { if (!ds_rm_rf_err_func(fullpath, "reading file", arg)) { PR_smprintf_free(fullpath); PR_CloseDir(dir); return 1; } /* else just continue */ } else if (prfi.type == PR_FILE_DIRECTORY) { retval = internal_rm_rf(fullpath, ds_rm_rf_err_func, arg); if (retval) { /* non zero return means stop */ PR_smprintf_free(fullpath); break; } } else { /* FHS changes the directory structure. * Config dir is no longer in the instance dir. * The info should be found in start-slapd, * therefore get the path from the file here. */ if (0 == strcmp(dirent->name, "start-slapd")) { char *config_dir = ds_get_config_dir(); char *run_dir = ds_get_run_dir(); if (NULL == config_dir || '\0' == *config_dir) { config_dir = get_dir_from_startslapd(fullpath, DS_CONFIG_DIR); } if (NULL == run_dir || '\0' == *run_dir) { char *ptr = NULL; run_dir = get_dir_from_startslapd(fullpath, PIDFILE); ptr = strrchr(run_dir, FILE_PATHSEP); if (NULL != ptr) { *ptr = '\0'; /* equiv to dirname */ } } if (NULL != run_dir) { internal_rm_rf(run_dir, ds_rm_rf_err_func, NULL); free(run_dir); } if (NULL != config_dir) { char *lock_dir = get_dir_from_config(config_dir, DS_CONFIG_LOCKDIR); char *err_log = get_dir_from_config(config_dir, DS_CONFIG_ERRLOG); if (NULL != lock_dir) { internal_rm_rf(lock_dir, ds_rm_rf_err_func, NULL); free(lock_dir); } if (NULL != err_log) { char *ptr = strrchr(err_log, FILE_PATHSEP); if (NULL != ptr) { *ptr = '\0'; /* equiv to 'dirname' */ internal_rm_rf(err_log, ds_rm_rf_err_func, NULL); } free(err_log); } /* removing db dirs */ rm_db_dirs(config_dir, ds_rm_rf_err_func, arg); /* removing config dir */ internal_rm_rf(config_dir, ds_rm_rf_err_func, NULL); } } /* * When the file is the config file, * check if db dir is in the instance dir or not. * If db dir exists in the instance dir, it's an old structure. * Let's clean the old db here, as well. */ if (0 == strcmp(dirent->name, DS_CONFIG_FILE)) { rm_db_dirs(fullpath, ds_rm_rf_err_func, arg); } if (PR_Delete(fullpath) != PR_SUCCESS) { if (!ds_rm_rf_err_func(fullpath, "deleting file", arg)) { PR_smprintf_free(fullpath); PR_CloseDir(dir); return 1; } } } PR_smprintf_free(fullpath); } PR_CloseDir(dir); if (PR_RmDir(path) != PR_SUCCESS) { if (!ds_rm_rf_err_func(path, "removing directory", arg)) { retval = 1; } } } return retval; } static int default_err_func(const char *path, const char *op, void *arg) { PRInt32 errcode = PR_GetError(); char *msg; const char *errtext; if (!errcode || (errcode == PR_UNKNOWN_ERROR)) { errcode = PR_GetOSError(); errtext = ds_system_errmsg(); } else { errtext = PR_ErrorToString(errcode, PR_LANGUAGE_I_DEFAULT); } msg = PR_smprintf("%s %s: error code %d (%s)", op, path, errcode, errtext); ds_send_error(msg, 0); PR_smprintf_free(msg); return 1; /* just continue */ } /* dir: instance dir, e.g., "$NETSITE_ROOT/slapd-" */ DS_EXPORT_SYMBOL int ds_rm_rf(const char *dir, DS_RM_RF_ERR_FUNC ds_rm_rf_err_func, void *arg) { struct PRFileInfo prfi; if (!dir) { ds_send_error("Could not remove NULL directory name", 1); return 1; } if (!ds_rm_rf_err_func) { ds_rm_rf_err_func = default_err_func; } if (PR_GetFileInfo(dir, &prfi) != PR_SUCCESS) { if (ds_rm_rf_err_func(dir, "reading directory", arg)) { return 0; } else { return 1; } } if (prfi.type != PR_FILE_DIRECTORY) { char *msg = PR_smprintf("Cannot remove directory %s because it is not a directory", dir); ds_send_error(msg, 0); PR_smprintf_free(msg); return 1; } return internal_rm_rf(dir, ds_rm_rf_err_func, arg); } DS_EXPORT_SYMBOL int ds_remove_reg_key(void *base, const char *format, ...) { int rc = 0; #ifdef XP_WIN32 int retries = 3; HKEY hkey = (HKEY)base; char *key; va_list ap; va_start(ap, format); key = PR_vsmprintf(format, ap); va_end(ap); do { if (ERROR_SUCCESS != RegDeleteKey(hkey, key)) { rc = GetLastError(); if (rc == ERROR_BADKEY || rc == ERROR_CANTOPEN || rc == ERROR_CANTREAD || rc == ERROR_CANTWRITE || rc == ERROR_KEY_DELETED || rc == ERROR_ALREADY_EXISTS || rc == ERROR_NO_MORE_FILES) { rc = 0; /* key already deleted - no error */ } else if ((retries > 1) && (rc == ERROR_IO_PENDING)) { /* the key is busy - lets wait and try again */ PR_Sleep(PR_SecondsToInterval(3)); retries--; } else { char *errmsg = PR_smprintf("Could not remove registry key %s - error %d (%s)", key, rc, ds_system_errmsg()); ds_send_error(errmsg, 0); PR_smprintf_free(errmsg); break; /* no retry, just fail */ } } } while (rc && retries); PR_smprintf_free(key); #endif return rc; } From fedora-directory-commits at redhat.com Wed Jun 13 17:48:37 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Wed, 13 Jun 2007 13:48:37 -0400 Subject: [Fedora-directory-commits] adminserver/admserv/newinst/src register_param.map.in, NONE, 1.1 register_server.pl.in, NONE, 1.1 Message-ID: <200706131748.l5DHmb9s018121@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/admserv/newinst/src In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17988/admserv/newinst/src Added Files: register_param.map.in register_server.pl.in Log Message: Resolves: #237356 Summary: Move DS Admin Code into Admin Server (Comment #58) Description: adding the server registeration script and its data files --- NEW FILE register_param.map.in --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # # register_param.map: # This file is used by the register_server.pl script to register the server # info to the Configuration Directory Server. The server info is stored in # the (template) ldif files located in @ldifdir at . In case a server entry has # %...% format parameters, this map table is used to resolve it and replace # the parameter with the value defined in this file. # # [Parameter resolution rules] # * If the right-hand value is in ` (backquote), the value is eval'ed by perl. # The output should be stored in $returnvalue to pass to the internal hash. # * If the right-hand value is in " (doublequote), the value is passed as is. # * If the right-hand value is not in any quote, the value should be found # in either of the setup inf file (static) or the install inf file (dynamic). # * Variables surrounded by @ (e.g., @configdir@) are replaced with the # system path at the compile time. # * The right-hand value can contain variables surrounded by % (e.g., %asid%) # which refers the right-hand value (key) of this map file. # fqdn = `use Net::Domain qw(hostfqdn); $returnvalue = hostfqdn();` domain = `use Net::Domain qw(hostdomain); $returnvalue = hostdomain();` brand = Brand normbrand = NormBrand hostname = `use Net::Domain qw(hostname); $returnvalue = hostname();` vendor = Vendor uname_a = `open(UNAMEA, "uname -a |"); $returnvalue = ; chomp $returnvalue; close(UNAMEA);` uname_m = `open(UNAMEM, "uname -m |"); $returnvalue = ; chomp $returnvalue; close(UNAMEM);` configroot = "CONFIG ROOT -- replace me" as_uid = ServerAdminID as_passwd = ServerAdminPwd asid = `use Net::Domain qw(hostname); $returnvalue = hostname();` as_port = Port admpw = "@configdir@/admpw" as_error = "@logdir@/errors" as_access = "@logdir@/access" as_pid = "@pidfile@" as_console_jar = "%normbrand%-admserv-%as_version%.jar" as_help_path = "@helpdir@" as_user = SysUser as_version = Version as_buildnum = BuildNumber as_installedlocation = "AS INSTALLED LOCATION -- replace me" as_serverroot = "AS SERVER ROOT-- replace me" as_sie = "cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot" ds_version = Version dsid = ServerIdentifier ds_user = SuiteSpotUserID ds_port = ServerPort ds_secure_port ="636" rootdn = RootDN ds_suffix = Suffix ds_buildnum = BuildNumber ds_passwd = RootDNPwd ds_console_jar ="%normbrand%-ds-%ds_version%.jar" ds_installedlocation = "DS INSTALLED LOCATION -- replace me" ds_serverroot = "DS SERVER ROOT-- replace me" ds_sie = "cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot" --- NEW FILE register_server.pl.in --- # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # # Usage: register_server.pl [ -h ] [ -p ] [ -D ] \ # -w [ -d ] \ # -i -m ... # # Description: Store server info stored in the ldiffiles to the Configuration # Directory Server replacing the macros with the defined values # in the map file. # # -h : configuration server host (localhost, by default) # -p : configuration server port (389) # -D : configuration server's rootdn ("cn=Directory Manager") # -w : configuration server's rootdn password # -d : the directory where static .inf files are located # ("/usr/share/fedora-ds/inf") # -i : dynamic .inf file(s) # -m : map file name # ...: ldif file(s) or template ldif file(s) to be stored in # the Configuration Directory Server use Getopt::Std; use Net::Domain qw(hostname); # PERLDAP modules use Mozilla::LDAP::Conn; use Mozilla::LDAP::Entry; # Setup Inf module use Inf; # process map table # [map table sample] # fqdn = FullMachineName # hostname = `use Sys::Hostname; $returnvalue = hostname();` # ds_console_jar ="%normbrand%-ds-%ds_version%.jar" # # * If the right-hand value is in ` (backquote), the value is eval'ed by perl. # The output should be stored in $returnvalue to pass to the internal hash. # * If the right-hand value is in " (doublequote), the value is passed as is. # * If the right-hand value is not in any quote, the value should be found # in either of the setup inf file (static) or the install inf file (dynamic). # * Variables surrounded by @ (e.g., @admin_confdir@) are replaced with the # system path at the compile time. # * The right-hand value can contain variables surrounded by % (e.g., %asid%) # which refers the right-hand value (key) of this map file. sub process_maptbl { ($mapper, @infdata) = @_; foreach $section (keys %{$mapper}) { my $thissection = \%{%{$mapper}->{$section}}; foreach $key (keys %{$thissection}) { my $value = $thissection->{$key}; if ($value =~ /^\"/) { $value =~ tr/\"//d; $thissection->{$key} = $value; } elsif ($value =~ /^\`/) { $value =~ tr/\`//d; eval $value; $thissection->{$key} = $returnvalue; } else { my $infsection; foreach my $thisinf (@infdata) { foreach my $section0 (keys %{$thisinf}) { $infsection = \%{%{$thisinf}->{$section0}}; if ("" ne $infsection->{$value}) { $thissection->{$key} = $infsection->{$value}; goto nextkey; } } } if ("" eq $infsection->{$value}) { print "ERROR: $value not found in the .inf files\n"; return NULL; } } nextkey: } } return $mapper; } # delete the subtree starting from the passed entry sub delete_all { my ($conn, $bentry) = @_; my $sentry = $conn->search($bentry->{dn}, "subtree", "(objectclass=*)", 0, ("dn")); while ($sentry) { push @mystack, ($sentry); $sentry = $conn->nextEntry(); } # reverse order my $myentry = pop @mystack; while ($myentry) { $conn->delete($myentry->{dn}); $rc = $conn->getErrorCode(); if ( $rc ne 0 ) { $conn->printError(); print "ERROR: unable to delete entry, error code: $rc\n"; return 1; } $myentry = pop @mystack; } return 0; } @ignorelist = ( "modifyTimestamp", "createTimestamp", "installationTimestamp", "creatorsName", "modifiersName", "numSubordinates" ); @speciallist = ( "uniqueMember" ); sub is_in_array { my ($val, $array) = @_; foreach my $elem ($array) { if ( lc($val) eq lc($elem) ) { return 1; } } return 0; } # compare 2 entries # return 0 if they match 100% (exception: @ignorelist). # return 1 if they match except @speciallist. # return -1 if they do not match. sub comp_entries { my ($e0, $e1) = @_; $rc = 0; foreach $akey ( keys %{$e0} ) { next if ( 1 == is_in_array($akey, @ignorelist) ); $aval0 = $e0->{$akey}; $aval1 = $e1->{$akey}; my $amin; my $amax; if ( $#aval0 != $#aval1 ) { if ( 1 == is_in_array($akey, @speciallist) ) { $rc = 1; if ( $#aval0 < $#aval1 ) { $amin = $#aval0; $amax = $#aval1; } else { $amin = $#aval1; $amax = $#aval0; } } else { $rc = -1; return $rc; } } @sval0 = sort { $a cmp $b } @{$aval0}; @sval1 = sort { $a cmp $b } @{$aval1}; for ( my $i = 0; $i <= $amin; $i++ ) { my $isspecial = -1; if ( $sval0[$i] ne $sval1[$i] ) { if ( 0 > $isspecial ) { $isspecial = is_in_array($akey, @speciallist); } if ( $isspecial ) { $rc = 1; } else { $rc = -1; return $rc; } } } } return $rc; } # if the entry does not exist on the server, add the entry. # otherwise, do nothing sub check_and_add_entry { my ($conn, $aentry) = @_; my $sentry = $conn->search($aentry->{dn}, "base", "(objectclass=*)"); do { my $needtoadd = 1; my $needtomod = 0; my $rval = -1; if ( NULL != $sentry && !$confds_fresh ) { $rval = comp_entries( $sentry, $aentry ); } if ( 0 == $rval && !$confds_fresh ) { # the identical entry exists on the configuration DS. # no need to add the entry. $needtoadd = 0; goto out; } elsif ( 1 == $rval && !$confds_fresh ) { $needtoadd = 0; $needtomod = 1; } elsif ( NULL != $sentry && "" ne $sentry->{dn} ) { # $confds_fresh || $rval == -1 # an entry having the same DN exists, but the attributes do not # match. remove the entry and the subtree underneath. if ( $confds_verbose ) { print "Deleting an entry dn: $sentry->{dn} ...\n"; } $rval = delete_all($conn, $sentry); if ( 0 != $rval ) { return 1; } } if ( 1 == $needtoadd ) { $conn->add($aentry); my $rc = $conn->getErrorCode(); if ( $rc != 0 ) { print "ERROR: adding an entry $aentry->{dn} failed, error code: $rc\n"; print "[entry]\n"; $aentry->printLDIF(); $conn->close(); return 1; } # if ( $confds_verbose ) # { # print "Entry $aentry->{dn} is added\n"; # } } elsif ( 1 == $needtomod ) # $sentry exists { foreach $attr ( @speciallist ) { foreach $nval ( @{$aentry->{$attr}} ) { $sentry->addValue( $attr, $nval ); } } $conn->update($sentry); my $rc = $conn->getErrorCode(); if ( $rc != 0 ) { print "ERROR: updating an entry $sentry->{dn} failed, error code: $rc\n"; print "[entry]\n"; $aentry->printLDIF(); $conn->close(); return 1; } } if ( NULL != $sentry ) { $sentry = $conn->nextEntry(); # supposed to have no more entries } } until ( NULL == $sentry ); out: return 0; } # register server info from the template ldif files sub register_serverinfo { my ($conn, $mapper, @ldiffiles) = @_; my $thissection = \%{%{$mapper}->{""}}; foreach my $ldiffile (@ldiffiles) { open(MYLDIF, "< $ldiffile") or die "Can't open $ldiffile : $!"; if ( $confds_verbose ) { print "Processing $ldiffile ...\n"; } my $entry = NULL; while ( my $l = ) { chop $l; if ( "$l" eq "" ) { next if ( NULL == $entry ); check_and_add_entry($conn, $entry); $entry->DESTROY(); $entry = NULL; } elsif ( "$l" =~ /^dn:/ ) { $entry = new Mozilla::LDAP::Entry(); my ($h, $dn) = split(/: /, $l, 2); # Need to repeat to handle nested subst my $origdn = $dn; while ( $dn =~ /%([A-Za-z_]+)%/ ) { $dn =~ s{%([A-Za-z_]+)%}{$thissection->{$1} || "SERVER_INFO_NOTFOUND"}ge; } if ( $dn =~ /SERVER_INFO_NOTFOUND/ ) { print "ERROR: \"$origdn\" mapped to \"$dn\".\n"; print "Make sure that %value% replaced by SERVER_INFO_NOTFOUND exists in $mapfile.\n"; return 1; } $entry->setDN($dn); } else { my ($key, $value) = split(/: /, $l, 2); # Need to repeat to handle nested subst my $origvalue = $value; while ( $value =~ /%([A-Za-z_]+)%/ ) { $value =~ s{%([A-Za-z_]+)%}{$thissection->{$1} || "SERVER_INFO_NOTFOUND"}ge; } if ( $value =~ /SERVER_INFO_NOTFOUND/ ) { print "ERROR: \"$origvalue\" mapped to \"$value\"\n"; print "Make sure that %value% replaced by SERVER_INFO_NOTFOUND exists in $mapfile.\n"; return 1; } $entry->addValue( $key, "$value" ) } } close(MYLDIF); if ( NULL != $entry ) { check_and_add_entry($conn, $entry); $entry->DESTROY(); $entry = NULL; } } return 0; } $USAGE = "$0 [ -Fv ] [ -h ] [ -p ] [ -D ] \ -w [ -d ] \ -i ... -m ... Description: Store server info stored in the ldiffiles to the Configuration Directory Server replacing the macros with the defined values in the map file. -H: help (print this message) -v: verbose -F: Fresh registration; i.e., removing the existing server info. -h : configuration server host (localhost, by default) -p : configuration server port (389) -D : configuration server's rootdn (\"cn=Directory Manager\") -w : configuration server's rootdn password -d : the directory where static .inf files are located (\"/usr/share/@PACKAGE_BASE_NAME@/inf\") -i : dynamic .inf file(s) -m : map file name ...: ldif files or template ldif files to be stored in the Configuration Directory Server"; if ($#ARGV < 0 || !getopts('HFvh:p:D:w:d:m:i:') || $opt_H) { print "Usage: $USAGE\n"; exit 1; } $confds_verbose = $opt_v; $confds_fresh = $opt_F; $confds_host = $opt_h; if ( "" eq $confds_host ) { $confds_host = hostname(); } $confds_port = $opt_p; if ( "" eq $confds_port ) { $confds_port = 389; } $confds_rootdn = $opt_D; if ( "" eq $confds_rootdn ) { $confds_rootdn = "cn=Directory Manager"; } $confds_rootdnpw = $opt_w; if ( "" eq $confds_rootdnpw ) { print "ERROR: No root dn password\n"; print "usage: $USAGE\n"; exit 1; } my $infdir = $opt_d; if ( "" eq $infdir ) { $infdir = "/usr/share/@PACKAGE_BASE_NAME@/inf"; } my @inffiles = (); if ( "" eq $opt_i ) { print "ERROR: No dynamic .inf files\n"; print "usage: $USAGE\n"; exit 1; } else { @inffiles = split(/[ ]/, $opt_i); } my @ldiffiles = @ARGV; if ( 0 > $#ldiffiles ) { print "ERROR: No root ldif files\n"; print "usage: $USAGE\n"; exit 1; } $mapfile = $opt_m; if ( "" eq $mapfile ) { print "ERROR: No mapfile\n"; print "usage: $USAGE\n"; exit 1; } if ( ! -r $mapfile ) { print "ERROR: Cannot read $mapfile\n"; print "usage: $USAGE\n"; exit 1; } # reading info files @infdata = (); opendir(DIR, $infdir) or die "Cannot open install inf dir $infdir: $!"; while (defined($file = readdir(DIR))) { next if ( !("$file" =~ /\.inf$/) ); my $inffile = $infdir."/".$file; my $infdatum = new Inf($inffile); push(@infdata, ($infdatum)); } closedir(DIR); # open the ldap connection $conn = new Mozilla::LDAP::Conn( $confds_host, $confds_port, $confds_rootdn, $confds_rootdnpw ); if ( NULL == $conn ) { print "ERROR: Cannot connect to the server\n"; exit 1; } # eval map table for each dynamic .inf file foreach my $thisinf (@inffiles) { my $mapper = new Inf($mapfile); my $infdatum = new Inf($thisinf); push(@infdata, ($infdatum)); $mapper = process_maptbl($mapper, @infdata); if ( NULL eq $mapper ) { print "ERROR: failed to generate mapper\n"; exit 1; } # register server info my $rc = register_serverinfo($conn, $mapper, @ldiffiles); if ( 0 != $rc ) { print "ERROR: failed to register server info\n"; return 1; } pop @infdata; # in case handling multiple server instances, # need to turn it off from the second loop. $confds_fresh = 0; } $conn->close(); exit 0; From fedora-directory-commits at redhat.com Wed Jun 13 17:48:38 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Wed, 13 Jun 2007 13:48:38 -0400 Subject: [Fedora-directory-commits] adminserver/admserv/schema/ldif 00nsroot_backend.ldif.tmpl, NONE, 1.1 01nsroot.ldif.tmpl, NONE, 1.1 02globalpreferences.ldif.tmpl, NONE, 1.1 10dsdata.ldif.tmpl, NONE, 1.1 11dstasks.ldif.tmpl, NONE, 1.1 20asdata.ldif.tmpl, NONE, 1.1 21astasks.ldif.tmpl, NONE, 1.1 22ascommands.ldif.tmpl, NONE, 1.1 Message-ID: <200706131748.l5DHmcob018126@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/admserv/schema/ldif In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17988/admserv/schema/ldif Added Files: 00nsroot_backend.ldif.tmpl 01nsroot.ldif.tmpl 02globalpreferences.ldif.tmpl 10dsdata.ldif.tmpl 11dstasks.ldif.tmpl 20asdata.ldif.tmpl 21astasks.ldif.tmpl 22ascommands.ldif.tmpl Log Message: Resolves: #237356 Summary: Move DS Admin Code into Admin Server (Comment #58) Description: adding the server registeration script and its data files --- NEW FILE 00nsroot_backend.ldif.tmpl --- dn: cn="o=NetscapeRoot",cn=mapping tree,cn=config objectClass: top objectClass: extensibleObject objectClass: nsMappingTree cn: "o=NetscapeRoot" nsslapd-state: backend nsslapd-backend: NetscapeRoot --- NEW FILE 01nsroot.ldif.tmpl --- dn: o=NetscapeRoot objectClass: top objectClass: organization o: NetscapeRoot 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";) dn: ou=TopologyManagement, o=NetscapeRoot objectClass: top objectClass: organizationalunit ou: TopologyManagement description: Branch for Configuration Administration users and groups aci: (targetattr!="userPassword")(version 3.0; acl "Enable anonymous access"; allow (read, search, compare)userdn="ldap:///anyone";) dn: ou=Groups, ou=TopologyManagement, o=NetscapeRoot objectClass: top objectClass: organizationalunit ou: Groups description: Standard Branch for group entries dn: ou=Administrators, ou=TopologyManagement, o=NetscapeRoot objectClass: top objectClass: organizationalunit ou: Administrators description: Standard branch for Configuration Administrator (uid) entries dn: cn=Configuration Administrators, ou=Groups, ou=TopologyManagement, o=NetscapeRoot objectClass: top objectClass: groupofuniquenames cn: Configuration Administrators uniqueMember: uid=%as_uid%,ou=Administrators, ou=TopologyManagement, o=NetscapeRoot dn: uid=%as_uid%, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot objectClass: top objectClass: person objectClass: organizationalperson objectClass: inetorgperson cn: Configuration Administrator sn: Administrator givenName: Configuration uid: %as_uid% userPassword: %as_passwd% dn: ou=localdomain, o=NetscapeRoot objectClass: top objectClass: organizationalunit objectClass: nsadmindomain ou: localdomain description: Standard branch for configuration information nsAdminDomainName: localdomain dn: ou=%domain%, o=NetscapeRoot objectClass: top objectClass: organizationalUnit objectClass: nsadmindomain ou: %domain% description: Standard branch for configuration information nsAdminDomainName: %domain% dn: ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: organizationalunit ou: Global Preferences dn: ou=Host Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: organizationalunit ou: Host Preferences dn: ou=UserPreferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: organizationalUnit ou: UserPreferences dn: cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsHost objectClass: groupOfUniqueNames cn: %fqdn% serverHostName: %fqdn% nsOsVersion: %uname_a% nsHardwarePlatform: %uname_m% uniqueMember: cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot dn: cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: nsAdminGroup objectClass: groupOfUniqueNames objectClass: nsDirectoryInfo objectClass: top nsAdminGroupName: Server Group nsConfigRoot: %configroot% nsDirectoryInfoRef: cn=UserDirectory, ou=Global Preferences, ou=%domain%, o=NetscapeRoot nsAdminSIEDN: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot cn: Server Group uniqueMember: cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot uniqueMember: cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot --- NEW FILE 02globalpreferences.ldif.tmpl --- dn: ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: organizationalUnit objectClass: extensibleObject ou: admin nsmerge: ADD_IF_EMPTY dn: ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: organizationalunit objectClass: extensibleObject ou: %as_version% nsmerge: ADD_IF_EMPTY dn: cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsResourceRef objectClass: extensibleObject cn: ResourceEditorExtension nsmerge: ADD_IF_EMPTY dn: cn=nsroledefinition, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot cn: nsroledefinition objectClass: top objectClass: extensibleObject objectClass: nsResourceRef objectClass: nsAdminResourceEditorExtension objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.roledit.ResEditorRoleInfo@%ds_console_jar% nsClassname: com.netscape.admin.dirserv.roledit.ResEditorRoleMembers@%ds_console_jar% nsClassname: com.netscape.admin.dirserv.roledit.ResEditorRoleAccountPage@%ds_console_jar% nsmerge: {nsclassname}MULTI_MERGE dn: cn=cossuperdefinition, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot cn: cossuperdefinition objectClass: top objectClass: extensibleObject objectClass: nsResourceRef objectClass: nsAdminResourceEditorExtension objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.cosedit.ResEditorCosInfo@%ds_console_jar% nsClassname: com.netscape.admin.dirserv.cosedit.ResEditorCosAttributes@%ds_console_jar% nsClassname: com.netscape.admin.dirserv.cosedit.ResEditorCosTemplate@%ds_console_jar% nsmerge: {nsclassname}MULTI_MERGE dn: cn=UserDirectory, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsDirectoryInfo cn: UserDirectory nsDirectoryURL: ldap://%fqdn%:%ds_port%/%ds_suffix% nsDirectoryFailoverList: dn: cn=Common, ou=Global Preferences, ou=%domain%, 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 dn: cn=Client, ou=Admin, ou=Global Preferences, ou=%domain%, 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,,%brand% Administration Server nsNickName: slapd,slapd,%brand% Directory Server nsNickName: cert,cert,%brand% Certificate Server nsmerge: {nsadminenduserhtmlindex}MULTI_MERGE nsmerge: {nsnickname}MULTI_MERGE dn: cn=PublicViews, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsAdminConsoleUser cn: PublicViews dn: cn=CustomView, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsResourceRef cn: CustomView dn: cn=inetorgPerson, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, 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 dn: cn=organizationalPerson, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, 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 dn: cn=groupofuniquenames, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, 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 dn: cn=organizationalunit, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, 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 dn: cn=defaultObjectClassesContainer, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsResourceRef cn: DefaultObjectClassesContainer dn: cn=user, cn=defaultObjectClassesContainer, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsResourceRef objectClass: nsdefaultObjectClasses cn: user nsDefaultObjectClass: top nsDefaultObjectClass: person nsDefaultObjectClass: organizationalPerson nsDefaultObjectClass: inetorgperson dn: cn=group, cn=defaultObjectClassesContainer, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsResourceRef objectClass: nsdefaultObjectClasses cn: group nsDefaultObjectClass: top nsDefaultObjectClass: groupofuniquenames dn: cn=ou, cn=defaultObjectClassesContainer, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsResourceRef objectClass: nsdefaultObjectClasses cn: ou nsDefaultObjectClass: top nsDefaultObjectClass: organizationalunit dn: cn=topologyplugin, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsResourceRef objectClass: extensibleObject cn: topologyplugin nsmerge: ADD_IF_EMPTY dn: cn=defaultplugin, cn=topologyplugin, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nstopologyplugin objectClass: extensibleObject objectClass: nsAdminObject cn: defaultplugin nsClassname: com.netscape.management.client.topology.DefaultTopologyPlugin nsmerge: {nsclassname}MULTI_MERGE dn: cn=UI,ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot cn: UI objectClass: top objectClass: nsAdminConsoleUser --- NEW FILE 10dsdata.ldif.tmpl --- dn: cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: nsApplication objectClass: groupOfUniqueNames objectClass: top cn: %brand% Directory Server nsProductName: %brand% Directory Server nsProductVersion: %ds_version% nsNickName: slapd nsBuildNumber: %ds_buildnum% nsVendor: %vendor% nsInstalledLocation: %ds_installedlocation% nsExpirationDate: 0 nsBuildSecurity: domestic uniqueMember: cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot nsServerMigrationClassname: com.netscape.admin.dirserv.task.MigrateCreate@%ds_console_jar%@cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot nsServerCreationClassname: com.netscape.admin.dirserv.task.MigrateCreate@%ds_console_jar%@cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot dn: cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: netscapeServer objectClass: nsDirectoryServer objectClass: nsResourceRef objectClass: nsConfig objectClass: groupOfUniqueNames objectClass: top nsServerSecurity: off nsServerID: slapd-%dsid% nsBindDN: %rootdn% nsBaseDN: %ds_suffix% serverRoot: %ds_serverroot% nsServerPort: %ds_port% nsSecureServerPort: %ds_secure_port% serverProductName: Directory Server (%hostname%) serverVersionNumber: %ds_version% nsSuiteSpotUser: %ds_user% serverHostName: %fqdn% cn: slapd-%dsid% uniqueMember: cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot uniqueMember: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot userPassword: %ds_passwd% dn: cn=configuration,cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: nsResourceRef objectClass: nsAdminObject objectClass: nsDirectoryInfo objectClass: top cn: configuration nsClassname: com.netscape.admin.dirserv.DSAdmin@%ds_console_jar%@cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot nsJarfilename: @ds_console_jar@ nsDirectoryInfoRef: cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot --- NEW FILE 11dstasks.ldif.tmpl --- dn: cn=Tasks, %ds_sie% objectClass: top objectClass: nsResourceRef cn: Tasks dn: cn=Operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstaskgroup nsTaskLabel: Operation Tasks Group cn: Operation dn: cn=task summary, cn=Operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nsConfig description: start stop restart Backup Restore KeyCert Authenticate CompleteImport CompleteExport cn: task summary dn: cn=start, cn=Operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.task.Start@%ds_console_jar%@%as_sie% nsExecRef: ds_start cn: start dn: cn=stop, cn=Operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.task.Stop@%ds_console_jar%@%as_sie% nsExecRef: ds_shutdown cn: stop dn: cn=restart, cn=Operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.task.Restart@%ds_console_jar%@%as_sie% nsExecRef: ds_restart cn: restart dn: cn=Backup, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.task.Backup@%ds_console_jar%@%as_sie% nsExecRef: ds_db2bak cn: Backup dn: cn=Restore, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.task.Restore@%ds_console_jar%@%as_sie% nsExecRef: ds_bak2db cn: Restore dn: cn=KeyCert, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.task.KeyCert@%ds_console_jar%@%as_sie% cn: KeyCert dn: cn=Authenticate, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.task.Authenticate@%ds_console_jar%@%as_sie% cn: Authenticate dn: cn=CompleteImport, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.task.CompleteImport@%ds_console_jar%@%as_sie% cn: CompleteImport dn: cn=CompleteExport, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsClassname: com.netscape.admin.dirserv.task.CompleteExport@%ds_console_jar%@%as_sie% cn: CompleteExport dn: cn=Export, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: ds_db2ldif cn: Export dn: cn=Import, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: ds_ldif2db cn: Import dn: cn=ViewLog, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: perl?ds_viewlog.pl cn: ViewLog dn: cn=ListBackups, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: ds_listdb cn: ListBackups dn: cn=Remove, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: ds_remove cn: Remove dn: cn=CreateVLVIndex, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: ds_vlvindex cn: CreateVLVIndex dn: cn=AddIndex, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: ds_addindex cn: AddIndex dn: cn=SNMPCtrl, cn=operation, cn=Tasks, %ds_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: ds_snmpctrl cn: SNMPCtrl dn: cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsResourceRef cn: Tasks dn: cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nstaskgroup nsTaskLabel: Operation Tasks Group cn: Operation dn: cn=Migrate, cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: perl?migrateInstance cn: Migrate dn: cn=Create, cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: ds_newinst cn: Create dn: cn=GetConfigInfo, cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: perl?getConfigInfo cn: GetConfigInfo dn: cn=MigrateLocalDB, cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: perl?migrateLocalDB cn: MigrateLocalDB --- NEW FILE 20asdata.ldif.tmpl --- dn: cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: nsApplication objectClass: groupOfUniqueNames cn: %brand% Administration Server nsVendor: %vendor% nsProductName: %brand% Administration Server nsNickName: admin nsProductVersion: %as_version% nsBuildNumber: %as_buildnum% nsInstalledLocation: %as_installedlocation% nsBuildSecurity: domestic nsServerMigrationClassname: com.netscape.management.admserv.AdminServerProduct @%as_console_jar% uniqueMember: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot dn: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: top objectClass: netscapeServer objectClass: nsAdminServer objectClass: nsResourceRef objectClass: groupOfUniqueNames cn: admin-serv-%asid% nsServerID: admin-serv serverRoot: %as_serverroot% serverProductName: Administration Server serverHostName: %fqdn% uniqueMember: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot userPassword: %as_passwd% dn: cn=configuration, cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot objectClass: nsConfig objectClass: nsAdminConfig objectClass: nsAdminObject objectClass: nsDirectoryInfo objectClass: top cn: Configuration nsServerPort: %as_port% nsSuiteSpotUser: %as_user% nsServerAddress: nsAdminEnableEnduser: on nsAdminEnableDSGW: on nsDirectoryInfoRef: cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot nsAdminUsers: %admpw% nsErrorLog: %as_error% nsPidLog: %as_pid% nsAccessLog: %as_access nsAdminCacheLifetime: 600 nsAdminAccessHosts: *.%domain% nsAdminAccessAddresses: * nsAdminOneACLDir: adminacl nsDefaultAcceptLanguage: en nsClassname: com.netscape.management.admserv.AdminServer@%as_console_jar%@cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot --- NEW FILE 21astasks.ldif.tmpl --- dn: cn=Tasks, %as_sie% objectClass: top objectClass: nsResourceRef cn: Tasks dn: cn=Operation, cn=Tasks, %as_sie% objectClass: top objectClass: nstaskgroup nsTaskLabel: Operation Tasks Group cn: Operation dn: cn=Stop, cn=Operation, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/stopadm.html nsExecRef: stopsrv nsClassname: com.netscape.management.admserv.task.Stop@%as_console_jar%@%as_sie% cn: Stop dn: cn=Restart, cn=Operation, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/restartadm.html nsExecRef: restartsrv nsClassname: com.netscape.management.admserv.task.Restart@%as_console_jar%@%as_sie% cn: Restart dn: cn=Authenticate, cn=Operation, cn=Tasks, %as_sie% objectClass: top objectClass: nstask nsHelpRef: %as_help_path%/userauth.html nsExecRef: userauth cn: Authenticate dn: cn=ListOldServers, cn=Operation, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: listOldSrvs cn: ListOldServers dn: cn=StartConfigDS, cn=Operation, cn=Tasks, %as_sie% objectClass: top objectClass: nstask nsExecRef: start_config_ds cn: StartConfigDS dn: cn=MigrateConfig, cn=Operation, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: migrateConfig cn: MigrateConfig dn: cn=MergeConfig, cn=Operation, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: mergeConfig cn: MergeConfig dn: cn=StatusPing, cn=Operation, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: statusping nsLogSuppress: true cn: StatusPing dn: cn=Configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstaskgroup nsTaskLabel: Configuration Tasks Group cn: Configuration dn: cn=ServerSetup, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: config nsClassname: com.netscape.management.admserv.task.ServerSetup@%as_console_jar%@%as_sie% cn: ServerSetup dn: cn=DirectorySetup, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: dsconfig cn: DirectorySetup dn: cn=UGDirectorySetup, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: ugdsconfig cn: UGDirectorySetup dn: cn=AccessSetup, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: admpw cn: AccessSetup dn: cn=Logging, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/logging.html nsExecRef: config nsClassname: com.netscape.management.admserv.task.Logging@%as_console_jar%@%as_sie% cn: Logging dn: cn=SecurityOp, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsExecRef: security cn: SecurityOp dn: cn=CertSetup, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/certrequest.html nsClassname: com.netscape.management.admserv.task.CertSetup@%as_console_jar%@%as_sie% cn: CertSetup dn: cn=SSLActivate, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/ssl_activate.html nsExecRef: sec-activate cn: SSLActivate dn: cn=ReadLog, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/logging.html nsExecRef: ReadLog cn: ReadLog dn: cn=HTMLAdmin, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/htmladmin.html nsExecRef: htmladmin cn: HTMLAdmin dn: cn=StatPingServ, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/statpingserv.html nsExecRef: statpingserv cn: StatPingServ dn: cn=ViewData, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/viewdata.html nsExecRef: viewdata cn: ViewData dn: cn=ViewLog, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/viewlog.html nsExecRef: viewlog cn: ViewLog dn: cn=MonReplication, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/monreplication.html nsExecRef: monreplication cn: MonReplication dn: cn=repl-monitor-cgi.pl, cn=configuration, cn=Tasks, %as_sie% objectClass: top objectClass: nstask objectClass: nsAdminObject nsHelpRef: %as_help_path%/monreplication.html nsExecRef: perl?repl-monitor-cgi.pl cn: repl-monitor-cgi.pl --- NEW FILE 22ascommands.ldif.tmpl --- dn: cn=Commands, %as_sie% objectClass: top objectClass: nsResourceRef cn: Commands dn: cn=sync-task-sie-data, cn=Commands, %as_sie% objectClass: top objectClass: nstask nsHelpRef: %as_help_path%/sync-task-sie-data.html nsExecRef: runtime cn: sync-task-sie-data dn: cn=change-sie-password, cn=Commands, %as_sie% objectClass: top objectClass: nstask nsExecRef: runtime cn: change-sie-password From fedora-directory-commits at redhat.com Wed Jun 13 17:48:37 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Wed, 13 Jun 2007 13:48:37 -0400 Subject: [Fedora-directory-commits] adminserver Makefile.am, 1.7, 1.8 Makefile.in, 1.7, 1.8 aclocal.m4, 1.5, 1.6 configure, 1.6, 1.7 ltmain.sh, 1.2, 1.3 Message-ID: <200706131748.l5DHmbgi018113@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17988 Modified Files: Makefile.am Makefile.in aclocal.m4 configure ltmain.sh Log Message: Resolves: #237356 Summary: Move DS Admin Code into Admin Server (Comment #58) Description: adding the server registeration script and its data files Index: Makefile.am =================================================================== RCS file: /cvs/dirsec/adminserver/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Makefile.am 8 Jun 2007 22:49:18 -0000 1.7 +++ Makefile.am 13 Jun 2007 17:48:34 -0000 1.8 @@ -111,20 +111,32 @@ lib_LTLIBRARIES = libds-admin-serv.la +noinst_LIBRARIES = libdsa.a + DEFAULT_LIBS = libds-admin-serv.la @adminutil_lib@ -ladmsslutil at adminutil_ver@ -ladminutil at adminutil_ver@ \ @icu_lib@ -licui18n -licuuc -licudata @ldapsdk_lib@ -lssldap60 -lprldap60 -lldap60 -lldif60 \ @nss_lib@ -lsmime3 -lssl3 -lnss3 @nspr_lib@ -lnspr4 -lplc4 SETUPUTIL_LIBS = @setuputil_lib@ -ldsinstall -ldif_DATA = admserv/schema/ldif/admintasks.ldif admserv/schema/ldif/adminglobal.ldif +ldif_DATA = admserv/schema/ldif/00nsroot_backend.ldif.tmpl \ + admserv/schema/ldif/01nsroot.ldif.tmpl \ + admserv/schema/ldif/02globalpreferences.ldif.tmpl \ + admserv/schema/ldif/10dsdata.ldif.tmpl \ + admserv/schema/ldif/11dstasks.ldif.tmpl \ + admserv/schema/ldif/20asdata.ldif.tmpl \ + admserv/schema/ldif/21astasks.ldif.tmpl \ + admserv/schema/ldif/22ascommands.ldif.tmpl -inf_DATA = admserv/newinst/src/admin.inf +inf_DATA = admserv/newinst/src/admin.inf admserv/newinst/src/register_param.map cgibin_PROGRAMS = mergeConfig admpw security ugdsconfig ReadLog start_config_ds \ config statpingserv viewdata dsconfig monreplication restartsrv \ - statusping viewlog htmladmin sec-activate stopsrv download help + statusping viewlog htmladmin sec-activate stopsrv download help \ + ds_start ds_restart ds_shutdown ds_ldif2db ds_db2ldif ds_bak2db \ + ds_db2bak ds_listdb ds_rmdb ds_remove ds_snmpctrl ds_vlvindex ds_addindex +bin_SCRIPTS = admserv/newinst/src/register_server.pl cgibin_SCRIPTS = admserv/cgi-src40/Cgi.pm nodist_cmdbin_SCRIPTS = admserv/cfgstuff/start-ds-admin admserv/cfgstuff/stop-ds-admin admserv/cfgstuff/restart-ds-admin @@ -136,6 +148,22 @@ libds_admin_serv_la_SOURCES = $(libbase_a_SOURCES) $(libsi18n_a_SOURCES) $(libadmin_a_SOURCES) +libdsa_a_SOURCES = lib/libdsa/dsalib_conf.c \ + lib/libdsa/dsalib_debug.c \ + lib/libdsa/dsalib_ldif.c \ + lib/libdsa/dsalib_tailf.c \ + lib/libdsa/dsalib_confs.c \ + lib/libdsa/dsalib_dn.c \ + lib/libdsa/dsalib_location.c \ + lib/libdsa/dsalib_updown.c \ + lib/libdsa/dsalib_db.c \ + lib/libdsa/dsalib_filename.c \ + lib/libdsa/dsalib_pw.c \ + lib/libdsa/dsalib_util.c + +libdsa_a_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/include/libdsa @ldapsdk_inc@ @nss_inc@ @nspr_inc@ +libdsa_a_LIBADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK) + # source files for our CGI programs download_SOURCES = admserv/cgi-src40/download.c @@ -189,6 +217,59 @@ sec_activate_LDADD = $(DEFAULT_LIBS) stopsrv_LDADD = $(DEFAULT_LIBS) +# ds admin interfaces +ds_start_SOURCES = admserv/cgi-ds/start.c admserv/cgi-ds/init_ds_env.c +ds_start_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_start_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_restart_SOURCES = admserv/cgi-ds/restart.c admserv/cgi-ds/init_ds_env.c +ds_restart_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_restart_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_shutdown_SOURCES = admserv/cgi-ds/shutdown.c admserv/cgi-ds/init_ds_env.c +ds_shutdown_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_shutdown_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_ldif2db_SOURCES = admserv/cgi-ds/ds_ldif2db.c admserv/cgi-ds/init_ds_env.c +ds_ldif2db_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_ldif2db_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_db2ldif_SOURCES = admserv/cgi-ds/ds_db2ldif.c admserv/cgi-ds/init_ds_env.c +ds_db2ldif_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_db2ldif_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_bak2db_SOURCES = admserv/cgi-ds/ds_bak2db.c admserv/cgi-ds/init_ds_env.c +ds_bak2db_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_bak2db_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_db2bak_SOURCES = admserv/cgi-ds/ds_db2bak.c admserv/cgi-ds/init_ds_env.c +ds_db2bak_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_db2bak_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_listdb_SOURCES = admserv/cgi-ds/ds_listdb.c admserv/cgi-ds/init_ds_env.c +ds_listdb_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_listdb_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_rmdb_SOURCES = admserv/cgi-ds/ds_rmdb.c admserv/cgi-ds/init_ds_env.c +ds_rmdb_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_rmdb_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_remove_SOURCES = admserv/cgi-ds/ds_remove.c admserv/cgi-ds/init_ds_env.c +ds_remove_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_remove_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_snmpctrl_SOURCES = admserv/cgi-ds/ds_snmpctrl.c admserv/cgi-ds/init_ds_env.c +ds_snmpctrl_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_snmpctrl_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_vlvindex_SOURCES = admserv/cgi-ds/vlvindex.c admserv/cgi-ds/init_ds_env.c +ds_vlvindex_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_vlvindex_LDADD = libdsa.a $(DEFAULT_LIBS) + +ds_addindex_SOURCES = admserv/cgi-ds/addindex.c admserv/cgi-ds/init_ds_env.c +ds_addindex_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_addindex_LDADD = libdsa.a $(DEFAULT_LIBS) + # setup special ds_admin_config_LDADD = $(SETUPUTIL_LIBS) $(DEFAULT_LIBS) @curses_lib@ ds_admin_remove_LDADD = $(SETUPUTIL_LIBS) $(DEFAULT_LIBS) @@ -307,10 +388,12 @@ -e 's, at instancename\@,$(instancename),g' \ -e 's, at BUILD_NUM\@,$(BUILDNUM),g' \ -e 's, at NQBUILD_NUM\@,$(NQBUILDNUM),g' \ + -e 's, at PACKAGE_BASE_NAME\@,$(PACKAGE_BASE_NAME),g' \ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ -e 's, at brand\@,$(brand),g' \ -e 's, at capbrand\@,$(capbrand),g' \ -e 's, at vendor\@,$(vendor),g' \ + -e 's, at helpdir\@,$(helpdir),g' \ -e 's, at mimemagic\@,$(mimemagic),g' \ -e 's, at perldir\@,$(perldir),g' Index: Makefile.in =================================================================== RCS file: /cvs/dirsec/adminserver/Makefile.in,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Makefile.in 8 Jun 2007 22:49:18 -0000 1.7 +++ Makefile.in 13 Jun 2007 17:48:34 -0000 1.8 @@ -17,6 +17,7 @@ + srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -47,7 +48,11 @@ viewdata$(EXEEXT) dsconfig$(EXEEXT) monreplication$(EXEEXT) \ restartsrv$(EXEEXT) statusping$(EXEEXT) viewlog$(EXEEXT) \ htmladmin$(EXEEXT) sec-activate$(EXEEXT) stopsrv$(EXEEXT) \ - download$(EXEEXT) help$(EXEEXT) + download$(EXEEXT) help$(EXEEXT) ds_start$(EXEEXT) \ + ds_restart$(EXEEXT) ds_shutdown$(EXEEXT) ds_ldif2db$(EXEEXT) \ + ds_db2ldif$(EXEEXT) ds_bak2db$(EXEEXT) ds_db2bak$(EXEEXT) \ + ds_listdb$(EXEEXT) ds_rmdb$(EXEEXT) ds_remove$(EXEEXT) \ + ds_snmpctrl$(EXEEXT) ds_vlvindex$(EXEEXT) ds_addindex$(EXEEXT) cmdbin_PROGRAMS = ds-admin-config$(EXEEXT) ds-admin-remove$(EXEEXT) \ ds-admin-update$(EXEEXT) DIST_COMMON = README $(am__configure_deps) $(dist_help_DATA) \ @@ -71,6 +76,24 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +libdsa_a_AR = $(AR) $(ARFLAGS) +libdsa_a_DEPENDENCIES = +am__dirstamp = $(am__leading_dot)dirstamp +am_libdsa_a_OBJECTS = lib/libdsa/libdsa_a-dsalib_conf.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_debug.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_ldif.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_tailf.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_confs.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_dn.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_location.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_updown.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_db.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_filename.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_pw.$(OBJEXT) \ + lib/libdsa/libdsa_a-dsalib_util.$(OBJEXT) +libdsa_a_OBJECTS = $(am_libdsa_a_OBJECTS) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -78,17 +101,16 @@ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cgibindir)" \ - "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cgibindir)" \ - "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cmdbindir)" \ - "$(DESTDIR)$(perldir)" "$(DESTDIR)$(helpdir)" \ - "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" \ - "$(DESTDIR)$(infdir)" "$(DESTDIR)$(ldifdir)" \ - "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" \ - "$(DESTDIR)$(propertydir)" + "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" \ + "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(perldir)" \ + "$(DESTDIR)$(helpdir)" "$(DESTDIR)$(htmldir)" \ + "$(DESTDIR)$(icondir)" "$(DESTDIR)$(infdir)" \ + "$(DESTDIR)$(ldifdir)" "$(DESTDIR)$(configdir)" \ + "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libds_admin_serv_la_LIBADD = -am__dirstamp = $(am__leading_dot)dirstamp am__objects_1 = lib/base/file.lo lib/base/nscperror.lo \ lib/base/system.lo lib/base/nscputil.lo am__objects_2 = lib/libsi18n/coreres.lo lib/libsi18n/getlang.lo \ @@ -135,6 +157,64 @@ ds_admin_update_OBJECTS = $(am_ds_admin_update_OBJECTS) ds_admin_update_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) +am_ds_addindex_OBJECTS = \ + admserv/cgi-ds/ds_addindex-addindex.$(OBJEXT) \ + admserv/cgi-ds/ds_addindex-init_ds_env.$(OBJEXT) +ds_addindex_OBJECTS = $(am_ds_addindex_OBJECTS) +ds_addindex_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_bak2db_OBJECTS = admserv/cgi-ds/ds_bak2db-ds_bak2db.$(OBJEXT) \ + admserv/cgi-ds/ds_bak2db-init_ds_env.$(OBJEXT) +ds_bak2db_OBJECTS = $(am_ds_bak2db_OBJECTS) +ds_bak2db_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_db2bak_OBJECTS = admserv/cgi-ds/ds_db2bak-ds_db2bak.$(OBJEXT) \ + admserv/cgi-ds/ds_db2bak-init_ds_env.$(OBJEXT) +ds_db2bak_OBJECTS = $(am_ds_db2bak_OBJECTS) +ds_db2bak_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_db2ldif_OBJECTS = \ + admserv/cgi-ds/ds_db2ldif-ds_db2ldif.$(OBJEXT) \ + admserv/cgi-ds/ds_db2ldif-init_ds_env.$(OBJEXT) +ds_db2ldif_OBJECTS = $(am_ds_db2ldif_OBJECTS) +ds_db2ldif_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_ldif2db_OBJECTS = \ + admserv/cgi-ds/ds_ldif2db-ds_ldif2db.$(OBJEXT) \ + admserv/cgi-ds/ds_ldif2db-init_ds_env.$(OBJEXT) +ds_ldif2db_OBJECTS = $(am_ds_ldif2db_OBJECTS) +ds_ldif2db_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_listdb_OBJECTS = admserv/cgi-ds/ds_listdb-ds_listdb.$(OBJEXT) \ + admserv/cgi-ds/ds_listdb-init_ds_env.$(OBJEXT) +ds_listdb_OBJECTS = $(am_ds_listdb_OBJECTS) +ds_listdb_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_remove_OBJECTS = admserv/cgi-ds/ds_remove-ds_remove.$(OBJEXT) \ + admserv/cgi-ds/ds_remove-init_ds_env.$(OBJEXT) +ds_remove_OBJECTS = $(am_ds_remove_OBJECTS) +ds_remove_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_restart_OBJECTS = admserv/cgi-ds/ds_restart-restart.$(OBJEXT) \ + admserv/cgi-ds/ds_restart-init_ds_env.$(OBJEXT) +ds_restart_OBJECTS = $(am_ds_restart_OBJECTS) +ds_restart_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_rmdb_OBJECTS = admserv/cgi-ds/ds_rmdb-ds_rmdb.$(OBJEXT) \ + admserv/cgi-ds/ds_rmdb-init_ds_env.$(OBJEXT) +ds_rmdb_OBJECTS = $(am_ds_rmdb_OBJECTS) +ds_rmdb_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_shutdown_OBJECTS = \ + admserv/cgi-ds/ds_shutdown-shutdown.$(OBJEXT) \ + admserv/cgi-ds/ds_shutdown-init_ds_env.$(OBJEXT) +ds_shutdown_OBJECTS = $(am_ds_shutdown_OBJECTS) +ds_shutdown_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_snmpctrl_OBJECTS = \ + admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.$(OBJEXT) \ + admserv/cgi-ds/ds_snmpctrl-init_ds_env.$(OBJEXT) +ds_snmpctrl_OBJECTS = $(am_ds_snmpctrl_OBJECTS) +ds_snmpctrl_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_start_OBJECTS = admserv/cgi-ds/ds_start-start.$(OBJEXT) \ + admserv/cgi-ds/ds_start-init_ds_env.$(OBJEXT) +ds_start_OBJECTS = $(am_ds_start_OBJECTS) +ds_start_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) +am_ds_vlvindex_OBJECTS = \ + admserv/cgi-ds/ds_vlvindex-vlvindex.$(OBJEXT) \ + admserv/cgi-ds/ds_vlvindex-init_ds_env.$(OBJEXT) +ds_vlvindex_OBJECTS = $(am_ds_vlvindex_OBJECTS) +ds_vlvindex_DEPENDENCIES = libdsa.a $(am__DEPENDENCIES_1) am_dsconfig_OBJECTS = admserv/cgi-src40/dsconfig.$(OBJEXT) dsconfig_OBJECTS = $(am_dsconfig_OBJECTS) dsconfig_DEPENDENCIES = $(am__DEPENDENCIES_1) @@ -183,12 +263,13 @@ am_viewlog_OBJECTS = admserv/cgi-src40/viewlog.$(OBJEXT) viewlog_OBJECTS = $(am_viewlog_OBJECTS) viewlog_DEPENDENCIES = $(am__DEPENDENCIES_1) +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) cgibinSCRIPT_INSTALL = $(INSTALL_SCRIPT) cmdbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) nodist_cmdbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) perlSCRIPT_INSTALL = $(INSTALL_SCRIPT) -SCRIPTS = $(cgibin_SCRIPTS) $(cmdbin_SCRIPTS) $(nodist_cmdbin_SCRIPTS) \ - $(perl_SCRIPTS) +SCRIPTS = $(bin_SCRIPTS) $(cgibin_SCRIPTS) $(cmdbin_SCRIPTS) \ + $(nodist_cmdbin_SCRIPTS) $(perl_SCRIPTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I. depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -208,21 +289,33 @@ CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(libds_admin_serv_la_SOURCES) $(ReadLog_SOURCES) \ - $(admpw_SOURCES) $(config_SOURCES) $(download_SOURCES) \ - $(ds_admin_config_SOURCES) $(ds_admin_remove_SOURCES) \ - $(ds_admin_update_SOURCES) $(dsconfig_SOURCES) $(help_SOURCES) \ - $(htmladmin_SOURCES) $(mergeConfig_SOURCES) \ +SOURCES = $(libdsa_a_SOURCES) $(libds_admin_serv_la_SOURCES) \ + $(ReadLog_SOURCES) $(admpw_SOURCES) $(config_SOURCES) \ + $(download_SOURCES) $(ds_admin_config_SOURCES) \ + $(ds_admin_remove_SOURCES) $(ds_admin_update_SOURCES) \ + $(ds_addindex_SOURCES) $(ds_bak2db_SOURCES) \ + $(ds_db2bak_SOURCES) $(ds_db2ldif_SOURCES) \ + $(ds_ldif2db_SOURCES) $(ds_listdb_SOURCES) \ + $(ds_remove_SOURCES) $(ds_restart_SOURCES) $(ds_rmdb_SOURCES) \ + $(ds_shutdown_SOURCES) $(ds_snmpctrl_SOURCES) \ + $(ds_start_SOURCES) $(ds_vlvindex_SOURCES) $(dsconfig_SOURCES) \ + $(help_SOURCES) $(htmladmin_SOURCES) $(mergeConfig_SOURCES) \ $(monreplication_SOURCES) $(restartsrv_SOURCES) \ $(sec_activate_SOURCES) $(security_SOURCES) \ $(start_config_ds_SOURCES) $(statpingserv_SOURCES) \ $(statusping_SOURCES) $(stopsrv_SOURCES) $(ugdsconfig_SOURCES) \ $(viewdata_SOURCES) $(viewlog_SOURCES) -DIST_SOURCES = $(libds_admin_serv_la_SOURCES) $(ReadLog_SOURCES) \ - $(admpw_SOURCES) $(config_SOURCES) $(download_SOURCES) \ - $(ds_admin_config_SOURCES) $(ds_admin_remove_SOURCES) \ - $(ds_admin_update_SOURCES) $(dsconfig_SOURCES) $(help_SOURCES) \ - $(htmladmin_SOURCES) $(mergeConfig_SOURCES) \ +DIST_SOURCES = $(libdsa_a_SOURCES) $(libds_admin_serv_la_SOURCES) \ + $(ReadLog_SOURCES) $(admpw_SOURCES) $(config_SOURCES) \ + $(download_SOURCES) $(ds_admin_config_SOURCES) \ + $(ds_admin_remove_SOURCES) $(ds_admin_update_SOURCES) \ + $(ds_addindex_SOURCES) $(ds_bak2db_SOURCES) \ + $(ds_db2bak_SOURCES) $(ds_db2ldif_SOURCES) \ + $(ds_ldif2db_SOURCES) $(ds_listdb_SOURCES) \ + $(ds_remove_SOURCES) $(ds_restart_SOURCES) $(ds_rmdb_SOURCES) \ + $(ds_shutdown_SOURCES) $(ds_snmpctrl_SOURCES) \ + $(ds_start_SOURCES) $(ds_vlvindex_SOURCES) $(dsconfig_SOURCES) \ + $(help_SOURCES) $(htmladmin_SOURCES) $(mergeConfig_SOURCES) \ $(monreplication_SOURCES) $(restartsrv_SOURCES) \ $(sec_activate_SOURCES) $(security_SOURCES) \ $(start_config_ds_SOURCES) $(statpingserv_SOURCES) \ @@ -322,7 +415,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -486,18 +578,43 @@ -DLDIFDIR=\"$(ldifdir)\" -DBUILD_NUM=$(BUILDNUM) \ -DINFDIR=\"$(infdir)\" -DCGIBINDIR=\"$(cgibindir)\" lib_LTLIBRARIES = libds-admin-serv.la +noinst_LIBRARIES = libdsa.a DEFAULT_LIBS = libds-admin-serv.la @adminutil_lib@ -ladmsslutil at adminutil_ver@ -ladminutil at adminutil_ver@ \ @icu_lib@ -licui18n -licuuc -licudata @ldapsdk_lib@ -lssldap60 -lprldap60 -lldap60 -lldif60 \ @nss_lib@ -lsmime3 -lssl3 -lnss3 @nspr_lib@ -lnspr4 -lplc4 SETUPUTIL_LIBS = @setuputil_lib@ -ldsinstall -ldif_DATA = admserv/schema/ldif/admintasks.ldif admserv/schema/ldif/adminglobal.ldif -inf_DATA = admserv/newinst/src/admin.inf +ldif_DATA = admserv/schema/ldif/00nsroot_backend.ldif.tmpl \ + admserv/schema/ldif/01nsroot.ldif.tmpl \ + admserv/schema/ldif/02globalpreferences.ldif.tmpl \ + admserv/schema/ldif/10dsdata.ldif.tmpl \ + admserv/schema/ldif/11dstasks.ldif.tmpl \ + admserv/schema/ldif/20asdata.ldif.tmpl \ + admserv/schema/ldif/21astasks.ldif.tmpl \ + admserv/schema/ldif/22ascommands.ldif.tmpl + +inf_DATA = admserv/newinst/src/admin.inf admserv/newinst/src/register_param.map +bin_SCRIPTS = admserv/newinst/src/register_server.pl cgibin_SCRIPTS = admserv/cgi-src40/Cgi.pm nodist_cmdbin_SCRIPTS = admserv/cfgstuff/start-ds-admin admserv/cfgstuff/stop-ds-admin admserv/cfgstuff/restart-ds-admin cmdbin_SCRIPTS = admserv/newinst/src/setup-ds-admin.pl perl_SCRIPTS = admserv/newinst/src/ASDialogs.pm libds_admin_serv_la_SOURCES = $(libbase_a_SOURCES) $(libsi18n_a_SOURCES) $(libadmin_a_SOURCES) +libdsa_a_SOURCES = lib/libdsa/dsalib_conf.c \ + lib/libdsa/dsalib_debug.c \ + lib/libdsa/dsalib_ldif.c \ + lib/libdsa/dsalib_tailf.c \ + lib/libdsa/dsalib_confs.c \ + lib/libdsa/dsalib_dn.c \ + lib/libdsa/dsalib_location.c \ + lib/libdsa/dsalib_updown.c \ + lib/libdsa/dsalib_db.c \ + lib/libdsa/dsalib_filename.c \ + lib/libdsa/dsalib_pw.c \ + lib/libdsa/dsalib_util.c + +libdsa_a_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/include/libdsa @ldapsdk_inc@ @nss_inc@ @nspr_inc@ +libdsa_a_LIBADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK) # source files for our CGI programs download_SOURCES = admserv/cgi-src40/download.c @@ -550,6 +667,47 @@ sec_activate_LDADD = $(DEFAULT_LIBS) stopsrv_LDADD = $(DEFAULT_LIBS) +# ds admin interfaces +ds_start_SOURCES = admserv/cgi-ds/start.c admserv/cgi-ds/init_ds_env.c +ds_start_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_start_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_restart_SOURCES = admserv/cgi-ds/restart.c admserv/cgi-ds/init_ds_env.c +ds_restart_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_restart_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_shutdown_SOURCES = admserv/cgi-ds/shutdown.c admserv/cgi-ds/init_ds_env.c +ds_shutdown_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_shutdown_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_ldif2db_SOURCES = admserv/cgi-ds/ds_ldif2db.c admserv/cgi-ds/init_ds_env.c +ds_ldif2db_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_ldif2db_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_db2ldif_SOURCES = admserv/cgi-ds/ds_db2ldif.c admserv/cgi-ds/init_ds_env.c +ds_db2ldif_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_db2ldif_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_bak2db_SOURCES = admserv/cgi-ds/ds_bak2db.c admserv/cgi-ds/init_ds_env.c +ds_bak2db_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_bak2db_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_db2bak_SOURCES = admserv/cgi-ds/ds_db2bak.c admserv/cgi-ds/init_ds_env.c +ds_db2bak_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_db2bak_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_listdb_SOURCES = admserv/cgi-ds/ds_listdb.c admserv/cgi-ds/init_ds_env.c +ds_listdb_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_listdb_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_rmdb_SOURCES = admserv/cgi-ds/ds_rmdb.c admserv/cgi-ds/init_ds_env.c +ds_rmdb_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_rmdb_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_remove_SOURCES = admserv/cgi-ds/ds_remove.c admserv/cgi-ds/init_ds_env.c +ds_remove_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_remove_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_snmpctrl_SOURCES = admserv/cgi-ds/ds_snmpctrl.c admserv/cgi-ds/init_ds_env.c +ds_snmpctrl_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_snmpctrl_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_vlvindex_SOURCES = admserv/cgi-ds/vlvindex.c admserv/cgi-ds/init_ds_env.c +ds_vlvindex_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_vlvindex_LDADD = libdsa.a $(DEFAULT_LIBS) +ds_addindex_SOURCES = admserv/cgi-ds/addindex.c admserv/cgi-ds/init_ds_env.c +ds_addindex_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) +ds_addindex_LDADD = libdsa.a $(DEFAULT_LIBS) + # setup special ds_admin_config_LDADD = $(SETUPUTIL_LIBS) $(DEFAULT_LIBS) @curses_lib@ ds_admin_remove_LDADD = $(SETUPUTIL_LIBS) $(DEFAULT_LIBS) @@ -646,10 +804,12 @@ -e 's, at instancename\@,$(instancename),g' \ -e 's, at BUILD_NUM\@,$(BUILDNUM),g' \ -e 's, at NQBUILD_NUM\@,$(NQBUILDNUM),g' \ + -e 's, at PACKAGE_BASE_NAME\@,$(PACKAGE_BASE_NAME),g' \ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ -e 's, at brand\@,$(brand),g' \ -e 's, at capbrand\@,$(capbrand),g' \ -e 's, at vendor\@,$(vendor),g' \ + -e 's, at helpdir\@,$(helpdir),g' \ -e 's, at mimemagic\@,$(mimemagic),g' \ -e 's, at perldir\@,$(perldir),g' @@ -708,6 +868,49 @@ distclean-hdr: -rm -f config.h stamp-h1 + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +lib/libdsa/$(am__dirstamp): + @$(mkdir_p) lib/libdsa + @: > lib/libdsa/$(am__dirstamp) +lib/libdsa/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) lib/libdsa/$(DEPDIR) + @: > lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_conf.$(OBJEXT): lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_debug.$(OBJEXT): \ + lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_ldif.$(OBJEXT): lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_tailf.$(OBJEXT): \ + lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_confs.$(OBJEXT): \ + lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_dn.$(OBJEXT): lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_location.$(OBJEXT): \ + lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_updown.$(OBJEXT): \ + lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_db.$(OBJEXT): lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_filename.$(OBJEXT): \ + lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_pw.$(OBJEXT): lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +lib/libdsa/libdsa_a-dsalib_util.$(OBJEXT): lib/libdsa/$(am__dirstamp) \ + lib/libdsa/$(DEPDIR)/$(am__dirstamp) +libdsa.a: $(libdsa_a_OBJECTS) $(libdsa_a_DEPENDENCIES) + -rm -f libdsa.a + $(libdsa_a_AR) libdsa.a $(libdsa_a_OBJECTS) $(libdsa_a_LIBADD) + $(RANLIB) libdsa.a install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" @@ -904,6 +1107,129 @@ ds-admin-update$(EXEEXT): $(ds_admin_update_OBJECTS) $(ds_admin_update_DEPENDENCIES) @rm -f ds-admin-update$(EXEEXT) $(CXXLINK) $(ds_admin_update_LDFLAGS) $(ds_admin_update_OBJECTS) $(ds_admin_update_LDADD) $(LIBS) +admserv/cgi-ds/$(am__dirstamp): + @$(mkdir_p) admserv/cgi-ds + @: > admserv/cgi-ds/$(am__dirstamp) +admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) admserv/cgi-ds/$(DEPDIR) + @: > admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_addindex-addindex.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_addindex-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_addindex$(EXEEXT): $(ds_addindex_OBJECTS) $(ds_addindex_DEPENDENCIES) + @rm -f ds_addindex$(EXEEXT) + $(LINK) $(ds_addindex_LDFLAGS) $(ds_addindex_OBJECTS) $(ds_addindex_LDADD) $(LIBS) +admserv/cgi-ds/ds_bak2db-ds_bak2db.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_bak2db-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_bak2db$(EXEEXT): $(ds_bak2db_OBJECTS) $(ds_bak2db_DEPENDENCIES) + @rm -f ds_bak2db$(EXEEXT) + $(LINK) $(ds_bak2db_LDFLAGS) $(ds_bak2db_OBJECTS) $(ds_bak2db_LDADD) $(LIBS) +admserv/cgi-ds/ds_db2bak-ds_db2bak.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_db2bak-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_db2bak$(EXEEXT): $(ds_db2bak_OBJECTS) $(ds_db2bak_DEPENDENCIES) + @rm -f ds_db2bak$(EXEEXT) + $(LINK) $(ds_db2bak_LDFLAGS) $(ds_db2bak_OBJECTS) $(ds_db2bak_LDADD) $(LIBS) +admserv/cgi-ds/ds_db2ldif-ds_db2ldif.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_db2ldif-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_db2ldif$(EXEEXT): $(ds_db2ldif_OBJECTS) $(ds_db2ldif_DEPENDENCIES) + @rm -f ds_db2ldif$(EXEEXT) + $(LINK) $(ds_db2ldif_LDFLAGS) $(ds_db2ldif_OBJECTS) $(ds_db2ldif_LDADD) $(LIBS) +admserv/cgi-ds/ds_ldif2db-ds_ldif2db.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_ldif2db-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_ldif2db$(EXEEXT): $(ds_ldif2db_OBJECTS) $(ds_ldif2db_DEPENDENCIES) + @rm -f ds_ldif2db$(EXEEXT) + $(LINK) $(ds_ldif2db_LDFLAGS) $(ds_ldif2db_OBJECTS) $(ds_ldif2db_LDADD) $(LIBS) +admserv/cgi-ds/ds_listdb-ds_listdb.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_listdb-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_listdb$(EXEEXT): $(ds_listdb_OBJECTS) $(ds_listdb_DEPENDENCIES) + @rm -f ds_listdb$(EXEEXT) + $(LINK) $(ds_listdb_LDFLAGS) $(ds_listdb_OBJECTS) $(ds_listdb_LDADD) $(LIBS) +admserv/cgi-ds/ds_remove-ds_remove.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_remove-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_remove$(EXEEXT): $(ds_remove_OBJECTS) $(ds_remove_DEPENDENCIES) + @rm -f ds_remove$(EXEEXT) + $(LINK) $(ds_remove_LDFLAGS) $(ds_remove_OBJECTS) $(ds_remove_LDADD) $(LIBS) +admserv/cgi-ds/ds_restart-restart.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_restart-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_restart$(EXEEXT): $(ds_restart_OBJECTS) $(ds_restart_DEPENDENCIES) + @rm -f ds_restart$(EXEEXT) + $(LINK) $(ds_restart_LDFLAGS) $(ds_restart_OBJECTS) $(ds_restart_LDADD) $(LIBS) +admserv/cgi-ds/ds_rmdb-ds_rmdb.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_rmdb-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_rmdb$(EXEEXT): $(ds_rmdb_OBJECTS) $(ds_rmdb_DEPENDENCIES) + @rm -f ds_rmdb$(EXEEXT) + $(LINK) $(ds_rmdb_LDFLAGS) $(ds_rmdb_OBJECTS) $(ds_rmdb_LDADD) $(LIBS) +admserv/cgi-ds/ds_shutdown-shutdown.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_shutdown-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_shutdown$(EXEEXT): $(ds_shutdown_OBJECTS) $(ds_shutdown_DEPENDENCIES) + @rm -f ds_shutdown$(EXEEXT) + $(LINK) $(ds_shutdown_LDFLAGS) $(ds_shutdown_OBJECTS) $(ds_shutdown_LDADD) $(LIBS) +admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_snmpctrl-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_snmpctrl$(EXEEXT): $(ds_snmpctrl_OBJECTS) $(ds_snmpctrl_DEPENDENCIES) + @rm -f ds_snmpctrl$(EXEEXT) + $(LINK) $(ds_snmpctrl_LDFLAGS) $(ds_snmpctrl_OBJECTS) $(ds_snmpctrl_LDADD) $(LIBS) +admserv/cgi-ds/ds_start-start.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_start-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_start$(EXEEXT): $(ds_start_OBJECTS) $(ds_start_DEPENDENCIES) + @rm -f ds_start$(EXEEXT) + $(LINK) $(ds_start_LDFLAGS) $(ds_start_OBJECTS) $(ds_start_LDADD) $(LIBS) +admserv/cgi-ds/ds_vlvindex-vlvindex.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +admserv/cgi-ds/ds_vlvindex-init_ds_env.$(OBJEXT): \ + admserv/cgi-ds/$(am__dirstamp) \ + admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) +ds_vlvindex$(EXEEXT): $(ds_vlvindex_OBJECTS) $(ds_vlvindex_DEPENDENCIES) + @rm -f ds_vlvindex$(EXEEXT) + $(LINK) $(ds_vlvindex_LDFLAGS) $(ds_vlvindex_OBJECTS) $(ds_vlvindex_LDADD) $(LIBS) admserv/cgi-src40/dsconfig.$(OBJEXT): \ admserv/cgi-src40/$(am__dirstamp) \ admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp) @@ -993,6 +1319,25 @@ viewlog$(EXEEXT): $(viewlog_OBJECTS) $(viewlog_DEPENDENCIES) @rm -f viewlog$(EXEEXT) $(LINK) $(viewlog_LDFLAGS) $(viewlog_OBJECTS) $(viewlog_LDADD) $(LIBS) +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done install-cgibinSCRIPTS: $(cgibin_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(cgibindir)" || $(mkdir_p) "$(DESTDIR)$(cgibindir)" @@ -1072,6 +1417,32 @@ mostlyclean-compile: -rm -f *.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_addindex-addindex.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_addindex-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_bak2db-ds_bak2db.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_bak2db-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_db2bak-ds_db2bak.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_db2bak-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_db2ldif-ds_db2ldif.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_db2ldif-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_ldif2db-ds_ldif2db.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_ldif2db-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_listdb-ds_listdb.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_listdb-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_remove-ds_remove.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_remove-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_restart-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_restart-restart.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_rmdb-ds_rmdb.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_rmdb-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_shutdown-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_shutdown-shutdown.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_snmpctrl-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_start-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_start-start.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_vlvindex-init_ds_env.$(OBJEXT) + -rm -f admserv/cgi-ds/ds_vlvindex-vlvindex.$(OBJEXT) -rm -f admserv/cgi-src40/ReadLog.$(OBJEXT) -rm -f admserv/cgi-src40/admpw.$(OBJEXT) -rm -f admserv/cgi-src40/config.$(OBJEXT) @@ -1121,6 +1492,18 @@ -rm -f lib/libadmin/template.lo -rm -f lib/libadmin/util.$(OBJEXT) -rm -f lib/libadmin/util.lo + -rm -f lib/libdsa/libdsa_a-dsalib_conf.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_confs.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_db.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_debug.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_dn.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_filename.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_ldif.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_location.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_pw.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_tailf.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_updown.$(OBJEXT) + -rm -f lib/libdsa/libdsa_a-dsalib_util.$(OBJEXT) -rm -f lib/libsi18n/coreres.$(OBJEXT) -rm -f lib/libsi18n/coreres.lo -rm -f lib/libsi18n/getlang.$(OBJEXT) @@ -1137,6 +1520,32 @@ distclean-compile: -rm -f *.tab.c + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_addindex-addindex.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_addindex-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_bak2db-ds_bak2db.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_bak2db-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_db2bak-ds_db2bak.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_db2bak-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-ds_db2ldif.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-ds_ldif2db.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_remove-ds_remove.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_remove-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_rmdb-ds_rmdb.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_rmdb-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_start-start.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-init_ds_env.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-vlvindex.Po at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-src40/$(DEPDIR)/ReadLog.Po at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-src40/$(DEPDIR)/admpw.Po at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at admserv/cgi-src40/$(DEPDIR)/config.Po at am__quote@ @@ -1173,6 +1582,18 @@ @AMDEP_TRUE@@am__include@ @am__quote at lib/libadmin/$(DEPDIR)/referer.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at lib/libadmin/$(DEPDIR)/template.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at lib/libadmin/$(DEPDIR)/util.Plo at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_dn.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_filename.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_ldif.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_pw.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Po at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Po at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at lib/libsi18n/$(DEPDIR)/coreres.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at lib/libsi18n/$(DEPDIR)/getlang.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at lib/libsi18n/$(DEPDIR)/getstrprop.Plo at am__quote@ @@ -1204,6 +1625,538 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< +lib/libdsa/libdsa_a-dsalib_conf.o: lib/libdsa/dsalib_conf.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_conf.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_conf.o `test -f 'lib/libdsa/dsalib_conf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_conf.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_conf.c' object='lib/libdsa/libdsa_a-dsalib_conf.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_conf.o `test -f 'lib/libdsa/dsalib_conf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_conf.c + +lib/libdsa/libdsa_a-dsalib_conf.obj: lib/libdsa/dsalib_conf.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_conf.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_conf.obj `if test -f 'lib/libdsa/dsalib_conf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_conf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_conf.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_conf.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_conf.c' object='lib/libdsa/libdsa_a-dsalib_conf.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_conf.obj `if test -f 'lib/libdsa/dsalib_conf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_conf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_conf.c'; fi` + +lib/libdsa/libdsa_a-dsalib_debug.o: lib/libdsa/dsalib_debug.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_debug.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_debug.o `test -f 'lib/libdsa/dsalib_debug.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_debug.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_debug.c' object='lib/libdsa/libdsa_a-dsalib_debug.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_debug.o `test -f 'lib/libdsa/dsalib_debug.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_debug.c + +lib/libdsa/libdsa_a-dsalib_debug.obj: lib/libdsa/dsalib_debug.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_debug.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_debug.obj `if test -f 'lib/libdsa/dsalib_debug.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_debug.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_debug.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_debug.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_debug.c' object='lib/libdsa/libdsa_a-dsalib_debug.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_debug.obj `if test -f 'lib/libdsa/dsalib_debug.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_debug.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_debug.c'; fi` + +lib/libdsa/libdsa_a-dsalib_ldif.o: lib/libdsa/dsalib_ldif.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_ldif.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_ldif.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_ldif.o `test -f 'lib/libdsa/dsalib_ldif.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_ldif.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_ldif.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_ldif.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_ldif.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_ldif.c' object='lib/libdsa/libdsa_a-dsalib_ldif.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_ldif.o `test -f 'lib/libdsa/dsalib_ldif.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_ldif.c + +lib/libdsa/libdsa_a-dsalib_ldif.obj: lib/libdsa/dsalib_ldif.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_ldif.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_ldif.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_ldif.obj `if test -f 'lib/libdsa/dsalib_ldif.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_ldif.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_ldif.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_ldif.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_ldif.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_ldif.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_ldif.c' object='lib/libdsa/libdsa_a-dsalib_ldif.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_ldif.obj `if test -f 'lib/libdsa/dsalib_ldif.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_ldif.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_ldif.c'; fi` + +lib/libdsa/libdsa_a-dsalib_tailf.o: lib/libdsa/dsalib_tailf.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_tailf.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_tailf.o `test -f 'lib/libdsa/dsalib_tailf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_tailf.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_tailf.c' object='lib/libdsa/libdsa_a-dsalib_tailf.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_tailf.o `test -f 'lib/libdsa/dsalib_tailf.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_tailf.c + +lib/libdsa/libdsa_a-dsalib_tailf.obj: lib/libdsa/dsalib_tailf.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_tailf.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_tailf.obj `if test -f 'lib/libdsa/dsalib_tailf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_tailf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_tailf.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_tailf.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_tailf.c' object='lib/libdsa/libdsa_a-dsalib_tailf.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_tailf.obj `if test -f 'lib/libdsa/dsalib_tailf.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_tailf.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_tailf.c'; fi` + +lib/libdsa/libdsa_a-dsalib_confs.o: lib/libdsa/dsalib_confs.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_confs.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_confs.o `test -f 'lib/libdsa/dsalib_confs.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_confs.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_confs.c' object='lib/libdsa/libdsa_a-dsalib_confs.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_confs.o `test -f 'lib/libdsa/dsalib_confs.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_confs.c + +lib/libdsa/libdsa_a-dsalib_confs.obj: lib/libdsa/dsalib_confs.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_confs.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_confs.obj `if test -f 'lib/libdsa/dsalib_confs.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_confs.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_confs.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_confs.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_confs.c' object='lib/libdsa/libdsa_a-dsalib_confs.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_confs.obj `if test -f 'lib/libdsa/dsalib_confs.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_confs.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_confs.c'; fi` + +lib/libdsa/libdsa_a-dsalib_dn.o: lib/libdsa/dsalib_dn.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_dn.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_dn.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_dn.o `test -f 'lib/libdsa/dsalib_dn.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_dn.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_dn.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_dn.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_dn.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_dn.c' object='lib/libdsa/libdsa_a-dsalib_dn.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_dn.o `test -f 'lib/libdsa/dsalib_dn.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_dn.c + +lib/libdsa/libdsa_a-dsalib_dn.obj: lib/libdsa/dsalib_dn.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_dn.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_dn.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_dn.obj `if test -f 'lib/libdsa/dsalib_dn.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_dn.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_dn.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_dn.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_dn.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_dn.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_dn.c' object='lib/libdsa/libdsa_a-dsalib_dn.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_dn.obj `if test -f 'lib/libdsa/dsalib_dn.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_dn.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_dn.c'; fi` + +lib/libdsa/libdsa_a-dsalib_location.o: lib/libdsa/dsalib_location.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_location.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_location.o `test -f 'lib/libdsa/dsalib_location.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_location.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_location.c' object='lib/libdsa/libdsa_a-dsalib_location.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_location.o `test -f 'lib/libdsa/dsalib_location.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_location.c + +lib/libdsa/libdsa_a-dsalib_location.obj: lib/libdsa/dsalib_location.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_location.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_location.obj `if test -f 'lib/libdsa/dsalib_location.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_location.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_location.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_location.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_location.c' object='lib/libdsa/libdsa_a-dsalib_location.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_location.obj `if test -f 'lib/libdsa/dsalib_location.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_location.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_location.c'; fi` + +lib/libdsa/libdsa_a-dsalib_updown.o: lib/libdsa/dsalib_updown.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_updown.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_updown.o `test -f 'lib/libdsa/dsalib_updown.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_updown.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_updown.c' object='lib/libdsa/libdsa_a-dsalib_updown.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_updown.o `test -f 'lib/libdsa/dsalib_updown.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_updown.c + +lib/libdsa/libdsa_a-dsalib_updown.obj: lib/libdsa/dsalib_updown.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_updown.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_updown.obj `if test -f 'lib/libdsa/dsalib_updown.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_updown.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_updown.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_updown.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_updown.c' object='lib/libdsa/libdsa_a-dsalib_updown.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_updown.obj `if test -f 'lib/libdsa/dsalib_updown.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_updown.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_updown.c'; fi` + +lib/libdsa/libdsa_a-dsalib_db.o: lib/libdsa/dsalib_db.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_db.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_db.o `test -f 'lib/libdsa/dsalib_db.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_db.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_db.c' object='lib/libdsa/libdsa_a-dsalib_db.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_db.o `test -f 'lib/libdsa/dsalib_db.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_db.c + +lib/libdsa/libdsa_a-dsalib_db.obj: lib/libdsa/dsalib_db.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_db.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_db.obj `if test -f 'lib/libdsa/dsalib_db.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_db.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_db.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_db.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_db.c' object='lib/libdsa/libdsa_a-dsalib_db.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_db.obj `if test -f 'lib/libdsa/dsalib_db.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_db.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_db.c'; fi` + +lib/libdsa/libdsa_a-dsalib_filename.o: lib/libdsa/dsalib_filename.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_filename.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_filename.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_filename.o `test -f 'lib/libdsa/dsalib_filename.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_filename.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_filename.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_filename.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_filename.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_filename.c' object='lib/libdsa/libdsa_a-dsalib_filename.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_filename.o `test -f 'lib/libdsa/dsalib_filename.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_filename.c + +lib/libdsa/libdsa_a-dsalib_filename.obj: lib/libdsa/dsalib_filename.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_filename.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_filename.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_filename.obj `if test -f 'lib/libdsa/dsalib_filename.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_filename.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_filename.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_filename.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_filename.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_filename.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_filename.c' object='lib/libdsa/libdsa_a-dsalib_filename.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_filename.obj `if test -f 'lib/libdsa/dsalib_filename.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_filename.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_filename.c'; fi` + +lib/libdsa/libdsa_a-dsalib_pw.o: lib/libdsa/dsalib_pw.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_pw.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_pw.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_pw.o `test -f 'lib/libdsa/dsalib_pw.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_pw.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_pw.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_pw.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_pw.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_pw.c' object='lib/libdsa/libdsa_a-dsalib_pw.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_pw.o `test -f 'lib/libdsa/dsalib_pw.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_pw.c + +lib/libdsa/libdsa_a-dsalib_pw.obj: lib/libdsa/dsalib_pw.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_pw.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_pw.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_pw.obj `if test -f 'lib/libdsa/dsalib_pw.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_pw.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_pw.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_pw.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_pw.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_pw.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_pw.c' object='lib/libdsa/libdsa_a-dsalib_pw.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_pw.obj `if test -f 'lib/libdsa/dsalib_pw.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_pw.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_pw.c'; fi` + +lib/libdsa/libdsa_a-dsalib_util.o: lib/libdsa/dsalib_util.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_util.o -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_util.o `test -f 'lib/libdsa/dsalib_util.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_util.c; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_util.c' object='lib/libdsa/libdsa_a-dsalib_util.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_util.o `test -f 'lib/libdsa/dsalib_util.c' || echo '$(srcdir)/'`lib/libdsa/dsalib_util.c + +lib/libdsa/libdsa_a-dsalib_util.obj: lib/libdsa/dsalib_util.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib/libdsa/libdsa_a-dsalib_util.obj -MD -MP -MF "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo" -c -o lib/libdsa/libdsa_a-dsalib_util.obj `if test -f 'lib/libdsa/dsalib_util.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_util.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_util.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo" "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Po"; else rm -f "lib/libdsa/$(DEPDIR)/libdsa_a-dsalib_util.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='lib/libdsa/dsalib_util.c' object='lib/libdsa/libdsa_a-dsalib_util.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdsa_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/libdsa/libdsa_a-dsalib_util.obj `if test -f 'lib/libdsa/dsalib_util.c'; then $(CYGPATH_W) 'lib/libdsa/dsalib_util.c'; else $(CYGPATH_W) '$(srcdir)/lib/libdsa/dsalib_util.c'; fi` + +admserv/cgi-ds/ds_addindex-addindex.o: admserv/cgi-ds/addindex.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_addindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_addindex-addindex.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_addindex-addindex.Tpo" -c -o admserv/cgi-ds/ds_addindex-addindex.o `test -f 'admserv/cgi-ds/addindex.c' || echo '$(srcdir)/'`admserv/cgi-ds/addindex.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_addindex-addindex.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_addindex-addindex.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_addindex-addindex.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/addindex.c' object='admserv/cgi-ds/ds_addindex-addindex.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_addindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_addindex-addindex.o `test -f 'admserv/cgi-ds/addindex.c' || echo '$(srcdir)/'`admserv/cgi-ds/addindex.c + +admserv/cgi-ds/ds_addindex-addindex.obj: admserv/cgi-ds/addindex.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_addindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_addindex-addindex.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_addindex-addindex.Tpo" -c -o admserv/cgi-ds/ds_addindex-addindex.obj `if test -f 'admserv/cgi-ds/addindex.c'; then $(CYGPATH_W) 'admserv/cgi-ds/addindex.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/addindex.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_addindex-addindex.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_addindex-addindex.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_addindex-addindex.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/addindex.c' object='admserv/cgi-ds/ds_addindex-addindex.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_addindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_addindex-addindex.obj `if test -f 'admserv/cgi-ds/addindex.c'; then $(CYGPATH_W) 'admserv/cgi-ds/addindex.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/addindex.c'; fi` + +admserv/cgi-ds/ds_addindex-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_addindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_addindex-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_addindex-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_addindex-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_addindex-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_addindex-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_addindex-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_addindex-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_addindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_addindex-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_addindex-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_addindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_addindex-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_addindex-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_addindex-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_addindex-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_addindex-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_addindex-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_addindex-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_addindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_addindex-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_bak2db-ds_bak2db.o: admserv/cgi-ds/ds_bak2db.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_bak2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_bak2db-ds_bak2db.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-ds_bak2db.Tpo" -c -o admserv/cgi-ds/ds_bak2db-ds_bak2db.o `test -f 'admserv/cgi-ds/ds_bak2db.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_bak2db.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-ds_bak2db.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-ds_bak2db.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-ds_bak2db.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_bak2db.c' object='admserv/cgi-ds/ds_bak2db-ds_bak2db.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_bak2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_bak2db-ds_bak2db.o `test -f 'admserv/cgi-ds/ds_bak2db.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_bak2db.c + +admserv/cgi-ds/ds_bak2db-ds_bak2db.obj: admserv/cgi-ds/ds_bak2db.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_bak2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_bak2db-ds_bak2db.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-ds_bak2db.Tpo" -c -o admserv/cgi-ds/ds_bak2db-ds_bak2db.obj `if test -f 'admserv/cgi-ds/ds_bak2db.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_bak2db.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_bak2db.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-ds_bak2db.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-ds_bak2db.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-ds_bak2db.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_bak2db.c' object='admserv/cgi-ds/ds_bak2db-ds_bak2db.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_bak2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_bak2db-ds_bak2db.obj `if test -f 'admserv/cgi-ds/ds_bak2db.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_bak2db.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_bak2db.c'; fi` + +admserv/cgi-ds/ds_bak2db-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_bak2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_bak2db-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_bak2db-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_bak2db-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_bak2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_bak2db-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_bak2db-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_bak2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_bak2db-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_bak2db-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_bak2db-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_bak2db-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_bak2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_bak2db-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_db2bak-ds_db2bak.o: admserv/cgi-ds/ds_db2bak.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2bak_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_db2bak-ds_db2bak.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-ds_db2bak.Tpo" -c -o admserv/cgi-ds/ds_db2bak-ds_db2bak.o `test -f 'admserv/cgi-ds/ds_db2bak.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_db2bak.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-ds_db2bak.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-ds_db2bak.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-ds_db2bak.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_db2bak.c' object='admserv/cgi-ds/ds_db2bak-ds_db2bak.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2bak_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_db2bak-ds_db2bak.o `test -f 'admserv/cgi-ds/ds_db2bak.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_db2bak.c + +admserv/cgi-ds/ds_db2bak-ds_db2bak.obj: admserv/cgi-ds/ds_db2bak.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2bak_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_db2bak-ds_db2bak.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-ds_db2bak.Tpo" -c -o admserv/cgi-ds/ds_db2bak-ds_db2bak.obj `if test -f 'admserv/cgi-ds/ds_db2bak.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_db2bak.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_db2bak.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-ds_db2bak.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-ds_db2bak.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-ds_db2bak.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_db2bak.c' object='admserv/cgi-ds/ds_db2bak-ds_db2bak.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2bak_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_db2bak-ds_db2bak.obj `if test -f 'admserv/cgi-ds/ds_db2bak.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_db2bak.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_db2bak.c'; fi` + +admserv/cgi-ds/ds_db2bak-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2bak_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_db2bak-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_db2bak-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_db2bak-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2bak_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_db2bak-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_db2bak-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2bak_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_db2bak-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_db2bak-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_db2bak-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_db2bak-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2bak_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_db2bak-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_db2ldif-ds_db2ldif.o: admserv/cgi-ds/ds_db2ldif.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2ldif_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_db2ldif-ds_db2ldif.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-ds_db2ldif.Tpo" -c -o admserv/cgi-ds/ds_db2ldif-ds_db2ldif.o `test -f 'admserv/cgi-ds/ds_db2ldif.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_db2ldif.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-ds_db2ldif.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-ds_db2ldif.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-ds_db2ldif.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_db2ldif.c' object='admserv/cgi-ds/ds_db2ldif-ds_db2ldif.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2ldif_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_db2ldif-ds_db2ldif.o `test -f 'admserv/cgi-ds/ds_db2ldif.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_db2ldif.c + +admserv/cgi-ds/ds_db2ldif-ds_db2ldif.obj: admserv/cgi-ds/ds_db2ldif.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2ldif_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_db2ldif-ds_db2ldif.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-ds_db2ldif.Tpo" -c -o admserv/cgi-ds/ds_db2ldif-ds_db2ldif.obj `if test -f 'admserv/cgi-ds/ds_db2ldif.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_db2ldif.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_db2ldif.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-ds_db2ldif.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-ds_db2ldif.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-ds_db2ldif.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_db2ldif.c' object='admserv/cgi-ds/ds_db2ldif-ds_db2ldif.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2ldif_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_db2ldif-ds_db2ldif.obj `if test -f 'admserv/cgi-ds/ds_db2ldif.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_db2ldif.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_db2ldif.c'; fi` + +admserv/cgi-ds/ds_db2ldif-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2ldif_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_db2ldif-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_db2ldif-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_db2ldif-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2ldif_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_db2ldif-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_db2ldif-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2ldif_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_db2ldif-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_db2ldif-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_db2ldif-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_db2ldif-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_db2ldif_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_db2ldif-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_ldif2db-ds_ldif2db.o: admserv/cgi-ds/ds_ldif2db.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_ldif2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_ldif2db-ds_ldif2db.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-ds_ldif2db.Tpo" -c -o admserv/cgi-ds/ds_ldif2db-ds_ldif2db.o `test -f 'admserv/cgi-ds/ds_ldif2db.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_ldif2db.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-ds_ldif2db.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-ds_ldif2db.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-ds_ldif2db.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_ldif2db.c' object='admserv/cgi-ds/ds_ldif2db-ds_ldif2db.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_ldif2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_ldif2db-ds_ldif2db.o `test -f 'admserv/cgi-ds/ds_ldif2db.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_ldif2db.c + +admserv/cgi-ds/ds_ldif2db-ds_ldif2db.obj: admserv/cgi-ds/ds_ldif2db.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_ldif2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_ldif2db-ds_ldif2db.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-ds_ldif2db.Tpo" -c -o admserv/cgi-ds/ds_ldif2db-ds_ldif2db.obj `if test -f 'admserv/cgi-ds/ds_ldif2db.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_ldif2db.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_ldif2db.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-ds_ldif2db.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-ds_ldif2db.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-ds_ldif2db.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_ldif2db.c' object='admserv/cgi-ds/ds_ldif2db-ds_ldif2db.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_ldif2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_ldif2db-ds_ldif2db.obj `if test -f 'admserv/cgi-ds/ds_ldif2db.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_ldif2db.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_ldif2db.c'; fi` + +admserv/cgi-ds/ds_ldif2db-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_ldif2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_ldif2db-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_ldif2db-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_ldif2db-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_ldif2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_ldif2db-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_ldif2db-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_ldif2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_ldif2db-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_ldif2db-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_ldif2db-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_ldif2db-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_ldif2db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_ldif2db-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_listdb-ds_listdb.o: admserv/cgi-ds/ds_listdb.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-ds_listdb.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo" -c -o admserv/cgi-ds/ds_listdb-ds_listdb.o `test -f 'admserv/cgi-ds/ds_listdb.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_listdb.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_listdb.c' object='admserv/cgi-ds/ds_listdb-ds_listdb.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-ds_listdb.o `test -f 'admserv/cgi-ds/ds_listdb.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_listdb.c + +admserv/cgi-ds/ds_listdb-ds_listdb.obj: admserv/cgi-ds/ds_listdb.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-ds_listdb.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo" -c -o admserv/cgi-ds/ds_listdb-ds_listdb.obj `if test -f 'admserv/cgi-ds/ds_listdb.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_listdb.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_listdb.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_listdb-ds_listdb.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_listdb.c' object='admserv/cgi-ds/ds_listdb-ds_listdb.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-ds_listdb.obj `if test -f 'admserv/cgi-ds/ds_listdb.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_listdb.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_listdb.c'; fi` + +admserv/cgi-ds/ds_listdb-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_listdb-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_listdb-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_listdb-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_listdb-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_listdb-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_listdb-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_listdb-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_listdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_listdb-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_remove-ds_remove.o: admserv/cgi-ds/ds_remove.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_remove_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_remove-ds_remove.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_remove-ds_remove.Tpo" -c -o admserv/cgi-ds/ds_remove-ds_remove.o `test -f 'admserv/cgi-ds/ds_remove.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_remove.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_remove-ds_remove.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_remove-ds_remove.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_remove-ds_remove.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_remove.c' object='admserv/cgi-ds/ds_remove-ds_remove.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_remove_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_remove-ds_remove.o `test -f 'admserv/cgi-ds/ds_remove.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_remove.c + +admserv/cgi-ds/ds_remove-ds_remove.obj: admserv/cgi-ds/ds_remove.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_remove_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_remove-ds_remove.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_remove-ds_remove.Tpo" -c -o admserv/cgi-ds/ds_remove-ds_remove.obj `if test -f 'admserv/cgi-ds/ds_remove.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_remove.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_remove.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_remove-ds_remove.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_remove-ds_remove.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_remove-ds_remove.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_remove.c' object='admserv/cgi-ds/ds_remove-ds_remove.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_remove_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_remove-ds_remove.obj `if test -f 'admserv/cgi-ds/ds_remove.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_remove.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_remove.c'; fi` + +admserv/cgi-ds/ds_remove-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_remove_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_remove-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_remove-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_remove-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_remove-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_remove-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_remove-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_remove-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_remove_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_remove-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_remove-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_remove_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_remove-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_remove-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_remove-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_remove-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_remove-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_remove-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_remove-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_remove_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_remove-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_restart-restart.o: admserv/cgi-ds/restart.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-restart.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo" -c -o admserv/cgi-ds/ds_restart-restart.o `test -f 'admserv/cgi-ds/restart.c' || echo '$(srcdir)/'`admserv/cgi-ds/restart.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/restart.c' object='admserv/cgi-ds/ds_restart-restart.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-restart.o `test -f 'admserv/cgi-ds/restart.c' || echo '$(srcdir)/'`admserv/cgi-ds/restart.c + +admserv/cgi-ds/ds_restart-restart.obj: admserv/cgi-ds/restart.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-restart.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo" -c -o admserv/cgi-ds/ds_restart-restart.obj `if test -f 'admserv/cgi-ds/restart.c'; then $(CYGPATH_W) 'admserv/cgi-ds/restart.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/restart.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_restart-restart.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/restart.c' object='admserv/cgi-ds/ds_restart-restart.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-restart.obj `if test -f 'admserv/cgi-ds/restart.c'; then $(CYGPATH_W) 'admserv/cgi-ds/restart.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/restart.c'; fi` + +admserv/cgi-ds/ds_restart-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_restart-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_restart-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_restart-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_restart-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_restart-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_restart-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_restart-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_restart_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_restart-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_rmdb-ds_rmdb.o: admserv/cgi-ds/ds_rmdb.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_rmdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_rmdb-ds_rmdb.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-ds_rmdb.Tpo" -c -o admserv/cgi-ds/ds_rmdb-ds_rmdb.o `test -f 'admserv/cgi-ds/ds_rmdb.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_rmdb.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-ds_rmdb.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-ds_rmdb.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-ds_rmdb.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_rmdb.c' object='admserv/cgi-ds/ds_rmdb-ds_rmdb.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_rmdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_rmdb-ds_rmdb.o `test -f 'admserv/cgi-ds/ds_rmdb.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_rmdb.c + +admserv/cgi-ds/ds_rmdb-ds_rmdb.obj: admserv/cgi-ds/ds_rmdb.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_rmdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_rmdb-ds_rmdb.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-ds_rmdb.Tpo" -c -o admserv/cgi-ds/ds_rmdb-ds_rmdb.obj `if test -f 'admserv/cgi-ds/ds_rmdb.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_rmdb.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_rmdb.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-ds_rmdb.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-ds_rmdb.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-ds_rmdb.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_rmdb.c' object='admserv/cgi-ds/ds_rmdb-ds_rmdb.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_rmdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_rmdb-ds_rmdb.obj `if test -f 'admserv/cgi-ds/ds_rmdb.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_rmdb.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_rmdb.c'; fi` + +admserv/cgi-ds/ds_rmdb-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_rmdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_rmdb-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_rmdb-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_rmdb-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_rmdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_rmdb-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_rmdb-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_rmdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_rmdb-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_rmdb-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_rmdb-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_rmdb-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_rmdb_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_rmdb-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_shutdown-shutdown.o: admserv/cgi-ds/shutdown.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-shutdown.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo" -c -o admserv/cgi-ds/ds_shutdown-shutdown.o `test -f 'admserv/cgi-ds/shutdown.c' || echo '$(srcdir)/'`admserv/cgi-ds/shutdown.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/shutdown.c' object='admserv/cgi-ds/ds_shutdown-shutdown.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-shutdown.o `test -f 'admserv/cgi-ds/shutdown.c' || echo '$(srcdir)/'`admserv/cgi-ds/shutdown.c + +admserv/cgi-ds/ds_shutdown-shutdown.obj: admserv/cgi-ds/shutdown.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-shutdown.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo" -c -o admserv/cgi-ds/ds_shutdown-shutdown.obj `if test -f 'admserv/cgi-ds/shutdown.c'; then $(CYGPATH_W) 'admserv/cgi-ds/shutdown.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/shutdown.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-shutdown.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/shutdown.c' object='admserv/cgi-ds/ds_shutdown-shutdown.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-shutdown.obj `if test -f 'admserv/cgi-ds/shutdown.c'; then $(CYGPATH_W) 'admserv/cgi-ds/shutdown.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/shutdown.c'; fi` + +admserv/cgi-ds/ds_shutdown-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_shutdown-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_shutdown-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_shutdown-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_shutdown-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_shutdown-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_shutdown_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_shutdown-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o: admserv/cgi-ds/ds_snmpctrl.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo" -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o `test -f 'admserv/cgi-ds/ds_snmpctrl.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_snmpctrl.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_snmpctrl.c' object='admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.o `test -f 'admserv/cgi-ds/ds_snmpctrl.c' || echo '$(srcdir)/'`admserv/cgi-ds/ds_snmpctrl.c + +admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj: admserv/cgi-ds/ds_snmpctrl.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo" -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj `if test -f 'admserv/cgi-ds/ds_snmpctrl.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_snmpctrl.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_snmpctrl.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-ds_snmpctrl.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/ds_snmpctrl.c' object='admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-ds_snmpctrl.obj `if test -f 'admserv/cgi-ds/ds_snmpctrl.c'; then $(CYGPATH_W) 'admserv/cgi-ds/ds_snmpctrl.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/ds_snmpctrl.c'; fi` + +admserv/cgi-ds/ds_snmpctrl-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_snmpctrl-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_snmpctrl-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_snmpctrl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_snmpctrl-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_start-start.o: admserv/cgi-ds/start.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-start.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo" -c -o admserv/cgi-ds/ds_start-start.o `test -f 'admserv/cgi-ds/start.c' || echo '$(srcdir)/'`admserv/cgi-ds/start.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_start-start.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/start.c' object='admserv/cgi-ds/ds_start-start.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-start.o `test -f 'admserv/cgi-ds/start.c' || echo '$(srcdir)/'`admserv/cgi-ds/start.c + +admserv/cgi-ds/ds_start-start.obj: admserv/cgi-ds/start.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-start.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo" -c -o admserv/cgi-ds/ds_start-start.obj `if test -f 'admserv/cgi-ds/start.c'; then $(CYGPATH_W) 'admserv/cgi-ds/start.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/start.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_start-start.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_start-start.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/start.c' object='admserv/cgi-ds/ds_start-start.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-start.obj `if test -f 'admserv/cgi-ds/start.c'; then $(CYGPATH_W) 'admserv/cgi-ds/start.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/start.c'; fi` + +admserv/cgi-ds/ds_start-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_start-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_start-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_start-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_start-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_start-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_start-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_start-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_start_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_start-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + +admserv/cgi-ds/ds_vlvindex-vlvindex.o: admserv/cgi-ds/vlvindex.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_vlvindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_vlvindex-vlvindex.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-vlvindex.Tpo" -c -o admserv/cgi-ds/ds_vlvindex-vlvindex.o `test -f 'admserv/cgi-ds/vlvindex.c' || echo '$(srcdir)/'`admserv/cgi-ds/vlvindex.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-vlvindex.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-vlvindex.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-vlvindex.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/vlvindex.c' object='admserv/cgi-ds/ds_vlvindex-vlvindex.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_vlvindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_vlvindex-vlvindex.o `test -f 'admserv/cgi-ds/vlvindex.c' || echo '$(srcdir)/'`admserv/cgi-ds/vlvindex.c + +admserv/cgi-ds/ds_vlvindex-vlvindex.obj: admserv/cgi-ds/vlvindex.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_vlvindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_vlvindex-vlvindex.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-vlvindex.Tpo" -c -o admserv/cgi-ds/ds_vlvindex-vlvindex.obj `if test -f 'admserv/cgi-ds/vlvindex.c'; then $(CYGPATH_W) 'admserv/cgi-ds/vlvindex.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/vlvindex.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-vlvindex.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-vlvindex.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-vlvindex.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/vlvindex.c' object='admserv/cgi-ds/ds_vlvindex-vlvindex.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_vlvindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_vlvindex-vlvindex.obj `if test -f 'admserv/cgi-ds/vlvindex.c'; then $(CYGPATH_W) 'admserv/cgi-ds/vlvindex.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/vlvindex.c'; fi` + +admserv/cgi-ds/ds_vlvindex-init_ds_env.o: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_vlvindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_vlvindex-init_ds_env.o -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_vlvindex-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_vlvindex-init_ds_env.o' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_vlvindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_vlvindex-init_ds_env.o `test -f 'admserv/cgi-ds/init_ds_env.c' || echo '$(srcdir)/'`admserv/cgi-ds/init_ds_env.c + +admserv/cgi-ds/ds_vlvindex-init_ds_env.obj: admserv/cgi-ds/init_ds_env.c + at am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_vlvindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT admserv/cgi-ds/ds_vlvindex-init_ds_env.obj -MD -MP -MF "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-init_ds_env.Tpo" -c -o admserv/cgi-ds/ds_vlvindex-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi`; \ + at am__fastdepCC_TRUE@ then mv -f "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-init_ds_env.Tpo" "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-init_ds_env.Po"; else rm -f "admserv/cgi-ds/$(DEPDIR)/ds_vlvindex-init_ds_env.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='admserv/cgi-ds/init_ds_env.c' object='admserv/cgi-ds/ds_vlvindex-init_ds_env.obj' libtool=no @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ds_vlvindex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o admserv/cgi-ds/ds_vlvindex-init_ds_env.obj `if test -f 'admserv/cgi-ds/init_ds_env.c'; then $(CYGPATH_W) 'admserv/cgi-ds/init_ds_env.c'; else $(CYGPATH_W) '$(srcdir)/admserv/cgi-ds/init_ds_env.c'; fi` + .cc.o: @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ @@ -1747,11 +2700,11 @@ exit 1; } >&2 check-am: all-am check: check-recursive -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \ - config.h +all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) \ + $(DATA) config.h installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(helpdir)" "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(ldifdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)"; do \ + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(helpdir)" "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(ldifdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: install-recursive @@ -1775,6 +2728,8 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -rm -f admserv/cgi-ds/$(DEPDIR)/$(am__dirstamp) + -rm -f admserv/cgi-ds/$(am__dirstamp) -rm -f admserv/cgi-src40/$(DEPDIR)/$(am__dirstamp) -rm -f admserv/cgi-src40/$(am__dirstamp) -rm -f admserv/newinst/src/$(DEPDIR)/$(am__dirstamp) @@ -1783,6 +2738,8 @@ -rm -f lib/base/$(am__dirstamp) -rm -f lib/libadmin/$(DEPDIR)/$(am__dirstamp) -rm -f lib/libadmin/$(am__dirstamp) + -rm -f lib/libdsa/$(DEPDIR)/$(am__dirstamp) + -rm -f lib/libdsa/$(am__dirstamp) -rm -f lib/libsi18n/$(DEPDIR)/$(am__dirstamp) -rm -f lib/libsi18n/$(am__dirstamp) @@ -1792,11 +2749,12 @@ clean: clean-recursive clean-am: clean-cgibinPROGRAMS clean-cmdbinPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libtool mostlyclean-am + clean-libLTLIBRARIES clean-libtool clean-noinstLIBRARIES \ + mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf admserv/cgi-src40/$(DEPDIR) admserv/newinst/src/$(DEPDIR) lib/base/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) + -rm -rf admserv/cgi-ds/$(DEPDIR) admserv/cgi-src40/$(DEPDIR) admserv/newinst/src/$(DEPDIR) lib/base/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libdsa/$(DEPDIR) lib/libsi18n/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-tags @@ -1821,7 +2779,7 @@ @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook -install-exec-am: install-libLTLIBRARIES +install-exec-am: install-binSCRIPTS install-libLTLIBRARIES install-info: install-info-recursive @@ -1832,7 +2790,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf admserv/cgi-src40/$(DEPDIR) admserv/newinst/src/$(DEPDIR) lib/base/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) + -rm -rf admserv/cgi-ds/$(DEPDIR) admserv/cgi-src40/$(DEPDIR) admserv/newinst/src/$(DEPDIR) lib/base/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libdsa/$(DEPDIR) lib/libsi18n/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1849,26 +2807,27 @@ ps-am: -uninstall-am: uninstall-cgibinPROGRAMS uninstall-cgibinSCRIPTS \ - uninstall-cmdbinPROGRAMS uninstall-cmdbinSCRIPTS \ - uninstall-dist_helpDATA uninstall-dist_htmlDATA \ - uninstall-dist_iconDATA uninstall-infDATA uninstall-info-am \ - uninstall-ldifDATA uninstall-libLTLIBRARIES \ - uninstall-nodist_cmdbinSCRIPTS uninstall-nodist_configDATA \ - uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ - uninstall-propertyDATA +uninstall-am: uninstall-binSCRIPTS uninstall-cgibinPROGRAMS \ + uninstall-cgibinSCRIPTS uninstall-cmdbinPROGRAMS \ + uninstall-cmdbinSCRIPTS uninstall-dist_helpDATA \ + uninstall-dist_htmlDATA uninstall-dist_iconDATA \ + uninstall-infDATA uninstall-info-am uninstall-ldifDATA \ + uninstall-libLTLIBRARIES uninstall-nodist_cmdbinSCRIPTS \ + uninstall-nodist_configDATA uninstall-nodist_propertyDATA \ + uninstall-perlSCRIPTS uninstall-propertyDATA uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ check-am clean clean-cgibinPROGRAMS clean-cmdbinPROGRAMS \ clean-generic clean-libLTLIBRARIES clean-libtool \ - clean-recursive ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-hdr \ - distclean-libtool distclean-recursive distclean-tags \ - distcleancheck distdir distuninstallcheck dvi dvi-am html \ - html-am info info-am install install-am install-cgibinPROGRAMS \ + clean-noinstLIBRARIES clean-recursive ctags ctags-recursive \ + dist dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ \ + dist-zip distcheck distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binSCRIPTS install-cgibinPROGRAMS \ install-cgibinSCRIPTS install-cmdbinPROGRAMS \ install-cmdbinSCRIPTS install-data install-data-am \ install-data-hook install-dist_helpDATA install-dist_htmlDATA \ @@ -1883,14 +2842,14 @@ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ - uninstall-cgibinPROGRAMS uninstall-cgibinSCRIPTS \ - uninstall-cmdbinPROGRAMS uninstall-cmdbinSCRIPTS \ - uninstall-dist_helpDATA uninstall-dist_htmlDATA \ - uninstall-dist_iconDATA uninstall-infDATA uninstall-info-am \ - uninstall-ldifDATA uninstall-libLTLIBRARIES \ - uninstall-nodist_cmdbinSCRIPTS uninstall-nodist_configDATA \ - uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ - uninstall-propertyDATA + uninstall-binSCRIPTS uninstall-cgibinPROGRAMS \ + uninstall-cgibinSCRIPTS uninstall-cmdbinPROGRAMS \ + uninstall-cmdbinSCRIPTS uninstall-dist_helpDATA \ + uninstall-dist_htmlDATA uninstall-dist_iconDATA \ + uninstall-infDATA uninstall-info-am uninstall-ldifDATA \ + uninstall-libLTLIBRARIES uninstall-nodist_cmdbinSCRIPTS \ + uninstall-nodist_configDATA uninstall-nodist_propertyDATA \ + uninstall-perlSCRIPTS uninstall-propertyDATA define NL \\n Index: aclocal.m4 =================================================================== RCS file: /cvs/dirsec/adminserver/aclocal.m4,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- aclocal.m4 8 Jun 2007 22:49:18 -0000 1.5 +++ aclocal.m4 13 Jun 2007 17:48:34 -0000 1.6 @@ -1578,27 +1578,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -4305,9 +4288,6 @@ # Is the compiler the GNU C compiler? with_gcc=$_LT_AC_TAGVAR(GCC, $1) -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -4441,11 +4421,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_[]_LT_AC_TAGVAR(predep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_[]_LT_AC_TAGVAR(postdep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) # Dependencies to place before the objects being linked to create a # shared library. @@ -4457,7 +4437,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -4537,7 +4517,7 @@ link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -6373,7 +6353,6 @@ 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 @@ -6406,7 +6385,6 @@ done ]) SED=$lt_cv_path_SED -AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) Index: configure =================================================================== RCS file: /cvs/dirsec/adminserver/configure,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- configure 8 Jun 2007 22:49:18 -0000 1.6 +++ configure 13 Jun 2007 17:48:34 -0000 1.7 @@ -468,7 +468,7 @@ ac_default_prefix=/opt/$PACKAGE_BASE_NAME ac_subdirs_all="$ac_subdirs_all mod_admserv" ac_subdirs_all="$ac_subdirs_all mod_restartd" -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 HTTPD APXS PKG_CONFIG ICU_CONFIG nsspcache instconfigdir PACKAGE_BASE_NAME nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir adminutil_inc adminutil_lib adminutil_libdir adminutil_ver setuputil_lib setuputil_libdir setuputil_inc setuputil_bin icu_lib icu_libdir icu_inc icu_bin curses_lib instancename cgibindir cmdbindir moddir modnssbindir propertydir htmldir icondir manualdir httpdconf mimemagic httpduser httpdgroup logdir piddir pidfile admservport ldifdir admmoddir nssmoddir infdir perldir brand capbrand vendor WINNT_TRUE WINNT_FALSE APACHE22_TRUE APACHE22_FALSE subdirs MOD_ADMSERV_TRUE MOD_ADMSERV_FALSE MOD_RESTARTD_TRUE MOD_RESTARTD_FALSE LTLIBOBJS' +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 HTTPD APXS PKG_CONFIG ICU_CONFIG nsspcache instconfigdir PACKAGE_BASE_NAME nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir adminutil_inc adminutil_lib adminutil_libdir adminutil_ver setuputil_lib setuputil_libdir setuputil_inc setuputil_bin icu_lib icu_libdir icu_inc icu_bin curses_lib instancename cgibindir cmdbindir moddir modnssbindir propertydir htmldir icondir manualdir httpdconf mimemagic httpduser httpdgroup logdir piddir pidfile admservport ldifdir admmoddir nssmoddir infdir perldir brand capbrand vendor WINNT_TRUE WINNT_FALSE APACHE22_TRUE APACHE22_FALSE subdirs MOD_ADMSERV_TRUE MOD_ADMSERV_FALSE MOD_RESTARTD_TRUE MOD_RESTARTD_FALSE LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -3824,7 +3824,6 @@ 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 @@ -3859,7 +3858,6 @@ fi SED=$lt_cv_path_SED - echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6 @@ -4300,7 +4298,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4303 "configure"' > conftest.$ac_ext + echo '#line 4301 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5435,7 +5433,7 @@ # Provide some information about the compiler. -echo "$as_me:5438:" \ +echo "$as_me:5436:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 @@ -6498,11 +6496,11 @@ -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:6501: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6499: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6505: \$? = $ac_status" >&5 + echo "$as_me:6503: \$? = $ac_status" >&5 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 other than the usual output. @@ -6766,11 +6764,11 @@ -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:6769: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6767: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6773: \$? = $ac_status" >&5 + echo "$as_me:6771: \$? = $ac_status" >&5 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 other than the usual output. @@ -6870,11 +6868,11 @@ -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:6873: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6871: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6877: \$? = $ac_status" >&5 + echo "$as_me:6875: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8335,31 +8333,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 8342 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -9236,7 +9213,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:11656: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11686: \$? = $ac_status" >&5 + echo "$as_me:11660: \$? = $ac_status" >&5 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 other than the usual output. @@ -11783,11 +11757,11 @@ -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:11786: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11760: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11790: \$? = $ac_status" >&5 + echo "$as_me:11764: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -12315,31 +12289,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 12322 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -12723,9 +12676,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -12859,11 +12809,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. @@ -12875,7 +12825,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -12955,7 +12905,7 @@ link_all_deplibs=$link_all_deplibs_CXX # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -13377,11 +13327,11 @@ -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:13380: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13330: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13384: \$? = $ac_status" >&5 + echo "$as_me:13334: \$? = $ac_status" >&5 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 other than the usual output. @@ -13481,11 +13431,11 @@ -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:13484: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13434: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13488: \$? = $ac_status" >&5 + echo "$as_me:13438: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14926,31 +14876,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 14933 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -15334,9 +15263,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -15470,11 +15396,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. @@ -15486,7 +15412,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -15566,7 +15492,7 @@ link_all_deplibs=$link_all_deplibs_F77 # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -15708,11 +15634,11 @@ -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:15711: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15637: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15715: \$? = $ac_status" >&5 + echo "$as_me:15641: \$? = $ac_status" >&5 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 other than the usual output. @@ -15976,11 +15902,11 @@ -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:15979: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15905: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15983: \$? = $ac_status" >&5 + echo "$as_me:15909: \$? = $ac_status" >&5 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 other than the usual output. @@ -16080,11 +16006,11 @@ -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:16083: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16009: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16087: \$? = $ac_status" >&5 + echo "$as_me:16013: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17545,31 +17471,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 17552 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -17953,9 +17858,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -18089,11 +17991,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. @@ -18105,7 +18007,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -18185,7 +18087,7 @@ link_all_deplibs=$link_all_deplibs_GCJ # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -18437,9 +18339,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_RC -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -18573,11 +18472,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. @@ -18589,7 +18488,7 @@ # The library search path used internally by the compiler when linking # a shared library. -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"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_RC # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -18669,7 +18568,7 @@ link_all_deplibs=$link_all_deplibs_RC # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -25594,7 +25493,6 @@ s, at CCDEPMODE@,$CCDEPMODE,;t t s, at am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t s, at am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t -s, at SED@,$SED,;t t s, at EGREP@,$EGREP,;t t s, at LN_S@,$LN_S,;t t s, at ECHO@,$ECHO,;t t Index: ltmain.sh =================================================================== RCS file: /cvs/dirsec/adminserver/ltmain.sh,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ltmain.sh 11 May 2007 19:44:04 -0000 1.2 +++ ltmain.sh 13 Jun 2007 17:48:34 -0000 1.3 @@ -46,16 +46,10 @@ VERSION=1.5.22 TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" -# 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+"$@"}'='"$@"' +# 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 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. @@ -111,14 +105,12 @@ # 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. -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 +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 # Make sure IFS has a sensible default lt_nl=' @@ -144,8 +136,6 @@ preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 ##################################### # Shell function definitions: @@ -337,17 +327,7 @@ *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - 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" + my_xdir="$my_gentop/$my_xlib" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" @@ -778,7 +758,6 @@ *.f90) xform=f90 ;; *.for) xform=for ;; *.java) xform=java ;; - *.obj) xform=obj ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` @@ -1159,9 +1138,8 @@ for arg do case $arg in - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) + -all-static | -static) + if test "X$arg" = "X-all-static"; then 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 @@ -1169,20 +1147,12 @@ dlopen_self=$dlopen_self_static fi prefer_static_libs=yes - ;; - -static) + else if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built - ;; - -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 + fi build_libtool_libs=no build_old_libs=yes break @@ -1742,7 +1712,7 @@ continue ;; - -static | -static-libtool-libs) + -static) # 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 @@ -2520,9 +2490,7 @@ if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then + { test "$prefer_static_libs" = no || 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. @@ -3218,7 +3186,7 @@ # which has an extra 1 added just for fun # case $version_type in - darwin|linux|osf|windows|none) + darwin|linux|osf|windows) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_revision" @@ -3442,11 +3410,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. @@ -3547,12 +3515,13 @@ int main() { return 0; } EOF $rm conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then + $LTCC $LTCFLAGS -o conftest conftest.c $deplibs + if test "$?" -eq 0 ; 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" != "0"; then + if test "$name" != "" && test "$name" -ne "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $i "*) @@ -3591,7 +3560,9 @@ # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then $rm conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $i; then + $LTCC $LTCFLAGS -o conftest conftest.c $i + # Did it work? + if test "$?" -eq 0 ; then ldd_output=`ldd conftest` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in @@ -3623,7 +3594,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 @@ -4268,14 +4239,12 @@ reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. + # -Wl from whole_archive_flag_spec wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" else gentop="$output_objdir/${obj}x" generated="$generated $gentop" @@ -4723,16 +4692,16 @@ case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` else - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` fi ;; * ) - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` ;; esac ;; @@ -4747,13 +4716,13 @@ # really was required. # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. @@ -4840,7 +4809,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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= @@ -4877,7 +4846,7 @@ fi done relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi # Quote $echo for shipping. @@ -5284,18 +5253,6 @@ 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 @@ -5438,7 +5395,7 @@ ;; esac $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \$*\" + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" exit $EXIT_FAILURE fi else @@ -5624,7 +5581,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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi @@ -5969,9 +5926,9 @@ if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi $echo "$modename: warning: relinking \`$file'" 1>&2 @@ -6180,7 +6137,7 @@ file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` $show "$relink_command" if $run eval "$relink_command"; then : @@ -6456,15 +6413,12 @@ fi # Restore saved environment variables - 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 - + 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 # Now prepare to actually exec the command. exec_cmd="\$cmd$args" @@ -6821,9 +6775,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 @@ -6837,11 +6791,9 @@ -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 uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries + -static 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. From fedora-directory-commits at redhat.com Wed Jun 13 20:03:08 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Wed, 13 Jun 2007 16:03:08 -0400 Subject: [Fedora-directory-commits] adminserver/admserv/schema/ldif 01nsroot.ldif.tmpl, 1.1, 1.2 Message-ID: <200706132003.l5DK38lM025766@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/admserv/schema/ldif In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv25735 Modified Files: 01nsroot.ldif.tmpl Log Message: Removed an unnecessary entry. Index: 01nsroot.ldif.tmpl =================================================================== RCS file: /cvs/dirsec/adminserver/admserv/schema/ldif/01nsroot.ldif.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- 01nsroot.ldif.tmpl 13 Jun 2007 17:48:35 -0000 1.1 +++ 01nsroot.ldif.tmpl 13 Jun 2007 20:03:06 -0000 1.2 @@ -42,14 +42,6 @@ uid: %as_uid% userPassword: %as_passwd% -dn: ou=localdomain, o=NetscapeRoot -objectClass: top -objectClass: organizationalunit -objectClass: nsadmindomain -ou: localdomain -description: Standard branch for configuration information -nsAdminDomainName: localdomain - dn: ou=%domain%, o=NetscapeRoot objectClass: top objectClass: organizationalUnit From fedora-directory-commits at redhat.com Wed Jun 13 20:23:19 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:23:19 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client/theme - New directory Message-ID: <200706132023.l5DKNJSh031790@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client/theme In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31772/theme Log Message: Directory /cvs/dirsec/console/src/com/netscape/management/client/theme added to the repository From fedora-directory-commits at redhat.com Wed Jun 13 20:23:48 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:23:48 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client/theme/images - New directory Message-ID: <200706132023.l5DKNmOV031812@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client/theme/images In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31797/images Log Message: Directory /cvs/dirsec/console/src/com/netscape/management/client/theme/images added to the repository From fedora-directory-commits at redhat.com Wed Jun 13 20:33:13 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:33:13 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client/theme theme.properties, NONE, 1.1 Message-ID: <200706132033.l5DKXDY8005203@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client/theme In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5061/src/com/netscape/management/client/theme Added Files: theme.properties Log Message: 244051 - move brand-specifics to a new jar --- NEW FILE theme.properties --- # BEGIN COPYRIGHT BLOCK # Copyright (C) 2007 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 # console-title=Fedora Management Console console-useragent=Fedora-Management-Console login-title=Fedora Management Console Login banner-console=Fedora Management Console 1.0.3 defaultAbout-dialogTitle=Fedora Management Console 1.0.3 defaultAbout-productLogo=com/netscape/management/client/themed/images/logo32.gif defaultAbout-productLicense=Fedora is a trademark of Red Hat, Inc. in the United States and other countries and is used by permission. CertInstallTypePage-defaultServerName=Fedora Server CertInstallTypePage-defaultSIE=Fedora Server Instance From fedora-directory-commits at redhat.com Wed Jun 13 20:33:13 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:33:13 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client/theme/images ConsoleBanner.gif, NONE, 1.1 OldServer.gif, NONE, 1.1 logo16.gif, NONE, 1.1 logo32.gif, NONE, 1.1 Message-ID: <200706132033.l5DKXDfI005208@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client/theme/images In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5061/src/com/netscape/management/client/theme/images Added Files: ConsoleBanner.gif OldServer.gif logo16.gif logo32.gif Log Message: 244051 - move brand-specifics to a new jar From fedora-directory-commits at redhat.com Wed Jun 13 20:33:13 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:33:13 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client/ug PickerEditorResource.properties, 1.1.1.1, 1.2 Message-ID: <200706132033.l5DKXDFl005222@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client/ug In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5061/src/com/netscape/management/client/ug Modified Files: PickerEditorResource.properties Log Message: 244051 - move brand-specifics to a new jar Index: PickerEditorResource.properties =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/ug/PickerEditorResource.properties,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- PickerEditorResource.properties 18 Jul 2005 00:34:21 -0000 1.1.1.1 +++ PickerEditorResource.properties 13 Jun 2007 20:33:11 -0000 1.2 @@ -377,7 +377,7 @@ CALPage-displayName=Licenses CALPage-ID=Licenses CALPage-Title=To facilitate tracking of all Client Access Licenses (CAL), please indicate whether -CALPage-Title2=this user has been granted a license for any of the following Fedora products. +CALPage-Title2=this user has been granted a license for any of the following products. CALPage-product=Products List CALPage-license=License From fedora-directory-commits at redhat.com Wed Jun 13 20:33:13 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:33:13 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client/topology TopologyInitializer.java, 1.1.1.1, 1.2 Message-ID: <200706132033.l5DKXDQc005215@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client/topology In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5061/src/com/netscape/management/client/topology Modified Files: TopologyInitializer.java Log Message: 244051 - move brand-specifics to a new jar Index: TopologyInitializer.java =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/topology/TopologyInitializer.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- TopologyInitializer.java 18 Jul 2005 00:34:19 -0000 1.1.1.1 +++ TopologyInitializer.java 13 Jun 2007 20:33:11 -0000 1.2 @@ -62,9 +62,9 @@ consoleInfo = info; - setFrameTitle("Fedora Management Console"); // not localized because it is product name - setMinimizedImage( new RemoteImage("com/netscape/management/client/images/logo16.gif").getImage()); - setBannerImage( new RemoteImage("com/netscape/management/client/images/ConsoleBanner.gif").getImage()); + setFrameTitle(new ResourceSet("com.netscape.management.client.console.console").getString("console", "title")); // not localized because it is product name + setMinimizedImage( new RemoteImage("com/netscape/management/client/theme/images/logo16.gif").getImage()); + setBannerImage( new RemoteImage("com/netscape/management/client/theme/images/ConsoleBanner.gif").getImage()); uip = new UIPermissions(LDAPUtil.getAdminGlobalParameterEntry()); uip.addPermission(PERMID_UGTAB, getPermString("UGTabName"), getPermString("UGTabDesc")); From fedora-directory-commits at redhat.com Wed Jun 13 20:33:10 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:33:10 -0400 Subject: [Fedora-directory-commits] console build.properties, 1.9, 1.10 build.xml, 1.12, 1.13 startconsole, 1.5, 1.6 Message-ID: <200706132033.l5DKXeiO005227@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5061 Modified Files: build.properties build.xml startconsole Log Message: 244051 - move brand-specifics to a new jar Index: build.properties =================================================================== RCS file: /cvs/dirsec/console/build.properties,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- build.properties 29 Sep 2006 17:17:19 -0000 1.9 +++ build.properties 13 Jun 2007 20:33:08 -0000 1.10 @@ -39,3 +39,7 @@ base.core=${console.brand}-base base.name=${base.core}-${console.dotversion} base.gen.name=${base.core}-${console.dotgenversion} + +theme.core=${console.brand}-theme +theme.name=${theme.core}-${console.dotversion} +theme.gen.name=${theme.core}-${console.dotgenversion} Index: build.xml =================================================================== RCS file: /cvs/dirsec/console/build.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- build.xml 24 Mar 2006 19:05:16 -0000 1.12 +++ build.xml 13 Jun 2007 20:33:08 -0000 1.13 @@ -213,6 +213,12 @@ + + + + + + @@ -255,6 +261,7 @@ + @@ -266,6 +273,9 @@ + + + Index: startconsole =================================================================== RCS file: /cvs/dirsec/console/startconsole,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- startconsole 29 Nov 2005 18:36:50 -0000 1.5 +++ startconsole 13 Jun 2007 20:33:08 -0000 1.6 @@ -26,7 +26,8 @@ exit 1 fi +THEME_JAR=/usr/share/java/fedora-theme-1.0.3_en.jar # # Launch the Console # -java -ms8m -mx64m -cp /usr/share/java/jss3.jar:/usr/share/java/ldapjdk.jar:/usr/share/java/fedora-base-1.0.jar:/usr/share/java/fedora-mcc-1.0.jar:/usr/share/java/fedora-mcc-1.0_en.jar:/usr/share/java/fedora-nmclf-1.0.jar:/usr/share/java/fedora-nmclf-1.0_en.jar -Djava.library.path=/usr/lib -Djava.util.prefs.systemRoot="$HOME/.fedora-console" -Djava.util.prefs.userRoot="$HOME/.fedora-console" com.netscape.management.client.console.Console $* +java -ms8m -mx64m -cp /usr/share/java/jss3.jar:/usr/share/java/ldapjdk.jar:/usr/share/java/fedora-base-1.0.3.jar:/usr/share/java/fedora-mcc-1.0.3.jar:/usr/share/java/fedora-mcc-1.0.3_en.jar:/usr/share/java/fedora-nmclf-1.0.3.jar:/usr/share/java/fedora-nmclf-1.0.3_en.jar:$THEME_JAR -Djava.library.path=/usr/lib -Djava.util.prefs.systemRoot="$HOME/.fedora-console" -Djava.util.prefs.userRoot="$HOME/.fedora-console" com.netscape.management.client.console.Console $* From fedora-directory-commits at redhat.com Wed Jun 13 20:33:10 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:33:10 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client default.properties, 1.5, 1.6 defaultLicense.properties, 1.5, 1.6 Message-ID: <200706132033.l5DKXfKM005231@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5061/src/com/netscape/management/client Modified Files: default.properties defaultLicense.properties Log Message: 244051 - move brand-specifics to a new jar Index: default.properties =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/default.properties,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- default.properties 29 Sep 2006 17:17:20 -0000 1.5 +++ default.properties 13 Jun 2007 20:33:08 -0000 1.6 @@ -123,5 +123,5 @@ fontTab-fontProfile=Font Profile fontTab-table_tt=Font table of screen elements and corresponding sample font -banner-console=Fedora Management Console 1.0.3 +#banner-console=Fedora Management Console 1.0.3 Index: defaultLicense.properties =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/defaultLicense.properties,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- defaultLicense.properties 29 Sep 2006 17:17:20 -0000 1.5 +++ defaultLicense.properties 13 Jun 2007 20:33:08 -0000 1.6 @@ -17,9 +17,9 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # END COPYRIGHT BLOCK # -defaultAbout-dialogTitle=Fedora Management Console 1.0.3 -defaultAbout-productLogo=com/netscape/management/client/images/logo32.gif +#defaultAbout-dialogTitle=Fedora Management Console 1.0.3 +#defaultAbout-productLogo=com/netscape/management/client/images/logo32.gif defaultAbout-productCopyright=Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.\nCopyright (C) 2005 Red Hat, Inc.\nAll rights reserved. -defaultAbout-productLicense=Fedora is a trademark of Red Hat, Inc. in the United States and other countries and is used by permission. +#defaultAbout-productLicense=Fedora is a trademark of Red Hat, Inc. in the United States and other countries and is used by permission. defaultAbout-vendorsList=sun defaultAbout-vendor-sun-license=Java is a trademark or registered trademark of Sun Microsystems, Inc in the United States and other countries.\n\nJavaScript is a trademark of Sun Microsystems, Inc. used under license for technology invented and implemented by Netscape. From fedora-directory-commits at redhat.com Wed Jun 13 20:33:11 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:33:11 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client/comm HttpChannel.java, 1.1.1.1, 1.2 HttpsChannel.java, 1.2, 1.3 Message-ID: <200706132033.l5DKXf39005235@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client/comm In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5061/src/com/netscape/management/client/comm Modified Files: HttpChannel.java HttpsChannel.java Log Message: 244051 - move brand-specifics to a new jar Index: HttpChannel.java =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/comm/HttpChannel.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- HttpChannel.java 18 Jul 2005 00:34:12 -0000 1.1.1.1 +++ HttpChannel.java 13 Jun 2007 20:33:08 -0000 1.2 @@ -38,6 +38,7 @@ import java.lang.reflect.Method; import java.io.UTFDataFormatException; +import com.netscape.management.client.util.*; import com.netscape.management.client.util.Debug; import com.netscape.management.client.util.IProgressListener; import com.netscape.management.client.util.Permissions; @@ -60,6 +61,8 @@ final static protected int defaultExpectedLineLength = 128; + public static ResourceSet _resource_theme = new ResourceSet("com.netscape.management.client.theme.theme"); + static protected int defaultBufferLength = 512; protected Thread thread = null; @@ -271,9 +274,11 @@ writeLine("Connection: Keep-Alive"); try { String consoleVersion = VersionInfo.getVersionNumber(); - writeLine("User-Agent: Fedora-Management-Console/" + consoleVersion); + writeLine("User-Agent: "+ + _resource_theme.getString("console","useragent")+ "/" + consoleVersion); } catch (Exception e) { - writeLine("User-Agent: Fedora-Management-Console/"); + writeLine("User-Agent:"+ + _resource_theme.getString("console","useragent")+ "/"); } writeLine("Accept-Language: " + language); Index: HttpsChannel.java =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/comm/HttpsChannel.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- HttpsChannel.java 8 Feb 2006 22:13:12 -0000 1.2 +++ HttpsChannel.java 13 Jun 2007 20:33:08 -0000 1.3 @@ -128,7 +128,7 @@ if (isWin && _frame == null) { _frame = new JFrame(); // Set the icon image so that login dialog will inherit it - _frame.setIconImage( new RemoteImage("com/netscape/management/client/images/logo16.gif").getImage()); + _frame.setIconImage( new RemoteImage("com/netscape/management/client/theme/images/logo16.gif").getImage()); } return _frame; } From fedora-directory-commits at redhat.com Wed Jun 13 20:33:11 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:33:11 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client/console Console.java, 1.7, 1.8 console.properties, 1.5, 1.6 Message-ID: <200706132033.l5DKXffW005239@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client/console In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5061/src/com/netscape/management/client/console Modified Files: Console.java console.properties Log Message: 244051 - move brand-specifics to a new jar Index: Console.java =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/console/Console.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Console.java 29 Sep 2006 17:17:25 -0000 1.7 +++ Console.java 13 Jun 2007 20:33:09 -0000 1.8 @@ -85,6 +85,7 @@ public static ConsoleInfo _info; public static String _consoleAdminURL; public static ResourceSet _resource = new ResourceSet("com.netscape.management.client.console.console"); + public static ResourceSet _resource_theme = new ResourceSet("com.netscape.management.client.theme.console"); // // private values @@ -527,7 +528,7 @@ _frame = new JFrame(); // Set the icon image so that login dialog will inherit it - _frame.setIconImage( new RemoteImage("com/netscape/management/client/images/logo16.gif").getImage()); + _frame.setIconImage( new RemoteImage("com/netscape/management/client/theme/images/logo16.gif").getImage()); ModalDialogUtil.setWindowLocation(_frame); @@ -1557,7 +1558,7 @@ } Debug.println(0, - "Fedora-Management-Console/" + + _resource_theme.getString("console","useragent")+"/" + _resource.getString("console","displayVersion") + " B" + VersionInfo.getBuildNumber()); Index: console.properties =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/console/console.properties,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- console.properties 29 Sep 2006 17:17:25 -0000 1.5 +++ console.properties 13 Jun 2007 20:33:09 -0000 1.6 @@ -17,14 +17,15 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # END COPYRIGHT BLOCK # -console-title=Fedora Management Console +#console-title=Fedora Management Console +#console-useragent=Fedora-Management-Console console-displayVersion=1.0.3 login-username=User ID: login-password=Password: login-url=Administration URL: -login-title=Fedora Management Console Login -login-copyright=Copyright (C) 2005 Fedora Project +#login-title=Fedora Management Console Login +login-copyright=Copyright (C) Red Hat, Inc. login-help=manual/en/console/help/login.htm login-passwordDialogTitle=Bind Password @@ -66,7 +67,7 @@ # Class loading dialog # -ClassLoadingDlg-text=New java class files are available. In order to have\nall the new features for the Fedora Management Console, you need to download the following class files.\nDo you want to do it now? +ClassLoadingDlg-text=New java class files are available. In order to have\nall the new features for the console, you need to download the following class files.\nDo you want to do it now? ClassLoadingDlg-title=Getting jar class # From fedora-directory-commits at redhat.com Wed Jun 13 20:33:11 2007 From: fedora-directory-commits at redhat.com (Christina Fu (cfu)) Date: Wed, 13 Jun 2007 16:33:11 -0400 Subject: [Fedora-directory-commits] console/src/com/netscape/management/client/security CertInstallTypePage.java, 1.1.1.1, 1.2 KeyCertUtility.java, 1.1.1.1, 1.2 KeyCertWizardResource.properties, 1.1.1.1, 1.2 Message-ID: <200706132033.l5DKXftH005244@cvs-int.fedora.redhat.com> Author: cfu Update of /cvs/dirsec/console/src/com/netscape/management/client/security In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5061/src/com/netscape/management/client/security Modified Files: CertInstallTypePage.java KeyCertUtility.java KeyCertWizardResource.properties Log Message: 244051 - move brand-specifics to a new jar Index: CertInstallTypePage.java =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/security/CertInstallTypePage.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- CertInstallTypePage.java 18 Jul 2005 00:34:16 -0000 1.1.1.1 +++ CertInstallTypePage.java 13 Jun 2007 20:33:09 -0000 1.2 @@ -31,12 +31,13 @@ JTextField forServer, certName; ResourceSet resource = KeyCertUtility.getResourceSet(); + ResourceSet resource_theme = KeyCertUtility.getResourceSetTheme(); public void pageShown() { IDataCollectionModel dataModel = getDataModel(); - forServer.setText((String)(dataModel.getValue("serverType", resource.getString("CertInstallTypePage", "defaultServerName"))) + + forServer.setText((String)(dataModel.getValue("serverType", resource_theme.getString("CertInstallTypePage", "defaultServerName"))) + " (" + - (String)(dataModel.getValue("sie", resource.getString("CertInstallTypePage", "defaultSIE"))) + + (String)(dataModel.getValue("sie", resource_theme.getString("CertInstallTypePage", "defaultSIE"))) + ")"); if (dataModel.getValue("certtype").equals(Integer.toString(CertInstallWizard.CA))) { Index: KeyCertUtility.java =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/security/KeyCertUtility.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- KeyCertUtility.java 18 Jul 2005 00:34:17 -0000 1.1.1.1 +++ KeyCertUtility.java 13 Jun 2007 20:33:09 -0000 1.2 @@ -48,6 +48,16 @@ return _resource; } + static ResourceSet _resource_theme = null; + public static ResourceSet getResourceSetTheme() { + if (_resource_theme == null) { + _resource_theme = new ResourceSet("com.netscape.management.client.theme.theme"); + + } + + return _resource_theme; + } + static Help _help = null; public static Help getHelp() { if (_help == null) { Index: KeyCertWizardResource.properties =================================================================== RCS file: /cvs/dirsec/console/src/com/netscape/management/client/security/KeyCertWizardResource.properties,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- KeyCertWizardResource.properties 18 Jul 2005 00:34:17 -0000 1.1.1.1 +++ KeyCertWizardResource.properties 13 Jun 2007 20:33:09 -0000 1.2 @@ -30,7 +30,7 @@ CertMigrateAliasSelectionPage-help=admin CertMigrateAliasSelectionPage-title=Alias Selection -CertMigrateAliasSelectionPage-explain=The Fedora server contains one or more certificate aliases +CertMigrateAliasSelectionPage-explain=The server contains one or more certificate aliases CertMigrateAliasSelectionPage-selectLabel=Select the alias to import from: CertMigrateAliasSelectionPage-enterPwd=Enter the password for the certificiate database for the selected alias: CertMigrateAliasSelectionPage-nameLabel=Name @@ -158,8 +158,8 @@ CertInstallTypePage-thisServerLabel=Server Certificate CertInstallTypePage-certChainLabel =Certificate Chain CertInstallTypePage-caLabel=Trusted Certificate Authority -CertInstallTypePage-defaultServerName=Fedora Server -CertInstallTypePage-defaultSIE=Fedora Server Instance +#CertInstallTypePage-defaultServerName=Fedora Server +#CertInstallTypePage-defaultSIE=Fedora Server Instance # Cert Install Trust Page From fedora-directory-commits at redhat.com Fri Jun 15 17:02:32 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Fri, 15 Jun 2007 13:02:32 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/cm/newinst slapd.inf.in, NONE, 1.1 slapd.inf, 1.8, NONE Message-ID: <200706151702.l5FH2Wvx004147@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/ldapserver/ldap/cm/newinst In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29421/ldap/cm/newinst Added Files: slapd.inf.in Removed Files: slapd.inf Log Message: Resolves: 237356 Summary: Move DS Admin Code into Admin Server (Comment #62) Description: providing slapd.inf having the DS static info for the setup/config --- NEW FILE slapd.inf.in --- # # 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) 2007 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK # [General] Name=@capbrand@ Directory Suite Components=slapd [slapd] Name= @capbrand@ Directory Server InstanceNamePrefix= Directory Server NickName= slapd Version= @PACKAGE_VERSION@ Compatible= 1.0 BuildNumber= @BUILDNUM@ Expires= 0 Security= domestic Vendor= @vendor@ Description= @capbrand@ Directory Server ProductName=Directory Server IsDirLite=false PrePreInstall= dsktune PreInstall= ns-config PostInstall= bin/slapd/admin/bin/ns-update PreUninstall= bin/slapd/admin/bin/uninstall PostUninstall= Checked=True Mandatory=False IsLdap=True --- slapd.inf DELETED --- From fedora-directory-commits at redhat.com Fri Jun 15 17:02:31 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Fri, 15 Jun 2007 13:02:31 -0400 Subject: [Fedora-directory-commits] ldapserver Makefile.am, 1.42, 1.43 Makefile.in, 1.50, 1.51 aclocal.m4, 1.35, 1.36 configure, 1.46, 1.47 configure.ac, 1.30, 1.31 Message-ID: <200706151702.l5FH2VoL004139@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/ldapserver In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29421 Modified Files: Makefile.am Makefile.in aclocal.m4 configure configure.ac Log Message: Resolves: 237356 Summary: Move DS Admin Code into Admin Server (Comment #62) Description: providing slapd.inf having the DS static info for the setup/config Index: Makefile.am =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.am,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- Makefile.am 8 Jun 2007 23:19:16 -0000 1.42 +++ Makefile.am 15 Jun 2007 17:02:28 -0000 1.43 @@ -75,6 +75,7 @@ initdir = $(sysconfdir)@initdir@ instconfigdir = @instconfigdir@ perldir = $(libdir)@perldir@ +infdir = $(datadir)@infdir@ shared_lib_suffix = @shared_lib_suffix@ @@ -106,7 +107,7 @@ libpassthru-plugin.la libpresence-plugin.la \ libpwdstorage-plugin.la libreferint-plugin.la libreplication-plugin.la \ libretrocl-plugin.la libroles-plugin.la libstatechange-plugin.la libsyntax-plugin.la \ - libviews-plugin.la $(LIBPAM_PASSTHRU_PLUGIN) $(LIBDNA_PLUGIN) $(LIBBITWISE_PLUGIN) + libviews-plugin.la $(LIBPAM_PASSTHRU_PLUGIN) $(LIBDNA_PLUGIN) $(LIBBITWISE_PLUGIN) nodist_property_DATA = ns-slapd.properties @@ -216,6 +217,8 @@ init_SCRIPTS = wrappers/$(PACKAGE_NAME) +inf_DATA = ldap/cm/newinst/slapd.inf + #//////////////////////////////////////////////////////////////// # # Server Strings @@ -1018,7 +1021,9 @@ -e 's, at ECHO_C\@,$(ECHO_C),g' \ -e 's, at brand\@,$(brand),g' \ -e 's, at capbrand\@,$(capbrand),g' \ + -e 's, at vendor\@,$(vendor),g' \ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + -e 's, at BUILDNUM\@,$(BUILDNUM),g' \ -e 's, at perldir\@,$(perldir),g' \ -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' else @@ -1049,7 +1054,9 @@ -e 's, at ECHO_C\@,$(ECHO_C),g' \ -e 's, at brand\@,$(brand),g' \ -e 's, at capbrand\@,$(capbrand),g' \ + -e 's, at vendor\@,$(vendor),g' \ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + -e 's, at BUILDNUM\@,$(BUILDNUM),g' \ -e 's, at perldir\@,$(perldir),g' \ -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' endif Index: Makefile.in =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.in,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- Makefile.in 11 Jun 2007 14:13:55 -0000 1.50 +++ Makefile.in 15 Jun 2007 17:02:28 -0000 1.51 @@ -96,8 +96,9 @@ "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(initdir)" "$(DESTDIR)$(perldir)" \ "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(configdir)" \ - "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" \ - "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)" + "$(DESTDIR)$(infdir)" "$(DESTDIR)$(propertydir)" \ + "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" \ + "$(DESTDIR)$(schemadir)" serverLTLIBRARIES_INSTALL = $(INSTALL) serverpluginLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(server_LTLIBRARIES) $(serverplugin_LTLIBRARIES) @@ -333,6 +334,10 @@ lib/libsi18n/libns_dshttpd_la-reshash.lo \ lib/libsi18n/libns_dshttpd_la-txtfile.lo $(am__objects_1) libns_dshttpd_la_OBJECTS = $(am_libns_dshttpd_la_OBJECTS) +libothercrypto_plugin_la_LIBADD = +am_libothercrypto_plugin_la_OBJECTS = ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo +libothercrypto_plugin_la_OBJECTS = \ + $(am_libothercrypto_plugin_la_OBJECTS) libpam_passthru_plugin_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am_libpam_passthru_plugin_la_OBJECTS = ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo \ ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptdebug.lo \ @@ -354,6 +359,9 @@ libpresence_plugin_la_LIBADD = am_libpresence_plugin_la_OBJECTS = ldap/servers/plugins/presence/libpresence_plugin_la-presence.lo libpresence_plugin_la_OBJECTS = $(am_libpresence_plugin_la_OBJECTS) +libpwderror_plugin_la_LIBADD = +am_libpwderror_plugin_la_OBJECTS = ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo +libpwderror_plugin_la_OBJECTS = $(am_libpwderror_plugin_la_OBJECTS) libpwdstorage_plugin_la_LIBADD = am_libpwdstorage_plugin_la_OBJECTS = ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo \ ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-crypt_pwd.lo \ @@ -554,6 +562,10 @@ am_libviews_plugin_la_OBJECTS = \ ldap/servers/plugins/views/libviews_plugin_la-views.lo libviews_plugin_la_OBJECTS = $(am_libviews_plugin_la_OBJECTS) +libxor_plugin_la_LIBADD = +am_libxor_plugin_la_OBJECTS = \ + ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo +libxor_plugin_la_OBJECTS = $(am_libxor_plugin_la_OBJECTS) binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) @@ -748,19 +760,21 @@ $(libdna_plugin_la_SOURCES) $(libds_admin_la_SOURCES) \ $(libhttp_client_plugin_la_SOURCES) \ $(libns_dshttpd_la_SOURCES) \ + $(libothercrypto_plugin_la_SOURCES) \ $(libpam_passthru_plugin_la_SOURCES) \ $(libpassthru_plugin_la_SOURCES) \ $(libpresence_plugin_la_SOURCES) \ + $(libpwderror_plugin_la_SOURCES) \ $(libpwdstorage_plugin_la_SOURCES) \ $(libreferint_plugin_la_SOURCES) \ $(libreplication_plugin_la_SOURCES) \ $(libretrocl_plugin_la_SOURCES) $(libroles_plugin_la_SOURCES) \ $(libslapd_la_SOURCES) $(libstatechange_plugin_la_SOURCES) \ $(libsyntax_plugin_la_SOURCES) $(libviews_plugin_la_SOURCES) \ - $(dbscan_bin_SOURCES) $(ds_newinst_bin_SOURCES) \ - $(dsktune_bin_SOURCES) $(infadd_bin_SOURCES) \ - $(ldap_agent_bin_SOURCES) $(ldclt_bin_SOURCES) \ - $(ldif_bin_SOURCES) $(makstrdb_SOURCES) \ + $(libxor_plugin_la_SOURCES) $(dbscan_bin_SOURCES) \ + $(ds_newinst_bin_SOURCES) $(dsktune_bin_SOURCES) \ + $(infadd_bin_SOURCES) $(ldap_agent_bin_SOURCES) \ + $(ldclt_bin_SOURCES) $(ldif_bin_SOURCES) $(makstrdb_SOURCES) \ $(migratecred_bin_SOURCES) $(mmldif_bin_SOURCES) \ $(ns_slapd_SOURCES) $(pwdhash_bin_SOURCES) \ $(rsearch_bin_SOURCES) @@ -774,29 +788,32 @@ $(libdna_plugin_la_SOURCES) $(libds_admin_la_SOURCES) \ $(libhttp_client_plugin_la_SOURCES) \ $(libns_dshttpd_la_SOURCES) \ + $(libothercrypto_plugin_la_SOURCES) \ $(libpam_passthru_plugin_la_SOURCES) \ $(libpassthru_plugin_la_SOURCES) \ $(libpresence_plugin_la_SOURCES) \ + $(libpwderror_plugin_la_SOURCES) \ $(libpwdstorage_plugin_la_SOURCES) \ $(libreferint_plugin_la_SOURCES) \ $(libreplication_plugin_la_SOURCES) \ $(libretrocl_plugin_la_SOURCES) $(libroles_plugin_la_SOURCES) \ $(libslapd_la_SOURCES) $(libstatechange_plugin_la_SOURCES) \ $(libsyntax_plugin_la_SOURCES) $(libviews_plugin_la_SOURCES) \ - $(dbscan_bin_SOURCES) $(ds_newinst_bin_SOURCES) \ - $(dsktune_bin_SOURCES) $(infadd_bin_SOURCES) \ - $(ldap_agent_bin_SOURCES) $(am__ldclt_bin_SOURCES_DIST) \ - $(ldif_bin_SOURCES) $(makstrdb_SOURCES) \ - $(migratecred_bin_SOURCES) $(mmldif_bin_SOURCES) \ - $(am__ns_slapd_SOURCES_DIST) $(pwdhash_bin_SOURCES) \ - $(rsearch_bin_SOURCES) + $(libxor_plugin_la_SOURCES) $(dbscan_bin_SOURCES) \ + $(ds_newinst_bin_SOURCES) $(dsktune_bin_SOURCES) \ + $(infadd_bin_SOURCES) $(ldap_agent_bin_SOURCES) \ + $(am__ldclt_bin_SOURCES_DIST) $(ldif_bin_SOURCES) \ + $(makstrdb_SOURCES) $(migratecred_bin_SOURCES) \ + $(mmldif_bin_SOURCES) $(am__ns_slapd_SOURCES_DIST) \ + $(pwdhash_bin_SOURCES) $(rsearch_bin_SOURCES) configDATA_INSTALL = $(INSTALL_DATA) +infDATA_INSTALL = $(INSTALL_DATA) nodist_propertyDATA_INSTALL = $(INSTALL_DATA) propertyDATA_INSTALL = $(INSTALL_DATA) sampledataDATA_INSTALL = $(INSTALL_DATA) schemaDATA_INSTALL = $(INSTALL_DATA) -DATA = $(config_DATA) $(nodist_property_DATA) $(property_DATA) \ - $(sampledata_DATA) $(schema_DATA) +DATA = $(config_DATA) $(inf_DATA) $(nodist_property_DATA) \ + $(property_DATA) $(sampledata_DATA) $(schema_DATA) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -874,7 +891,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SOLARIS_FALSE = @SOLARIS_FALSE@ @@ -937,6 +953,7 @@ icu_inc = @icu_inc@ icu_lib = @icu_lib@ includedir = @includedir@ +infdir = $(datadir)@infdir@ infodir = @infodir@ initdir = $(sysconfdir)@initdir@ install_sh = @install_sh@ @@ -1037,13 +1054,17 @@ @enable_pam_passthru_TRUE at LIBPAM_PASSTHRU_PLUGIN = libpam-passthru-plugin.la @enable_dna_TRUE at LIBDNA_PLUGIN = libdna-plugin.la @enable_bitwise_TRUE at LIBBITWISE_PLUGIN = libbitwise-plugin.la +LIBXOR_PLUGIN = libxor-plugin.la +LIBPWDERROR_PLUGIN = libpwderror-plugin.la +LIBOTHERCRYPTO_PLUGIN = libothercrypto-plugin.la serverplugin_LTLIBRARIES = libacl-plugin.la libattr-unique-plugin.la \ libback-ldbm.la libchainingdb-plugin.la libcos-plugin.la libdes-plugin.la \ libdistrib-plugin.la libhttp-client-plugin.la libcollation-plugin.la \ libpassthru-plugin.la libpresence-plugin.la \ libpwdstorage-plugin.la libreferint-plugin.la libreplication-plugin.la \ libretrocl-plugin.la libroles-plugin.la libstatechange-plugin.la libsyntax-plugin.la \ - libviews-plugin.la $(LIBPAM_PASSTHRU_PLUGIN) $(LIBDNA_PLUGIN) $(LIBBITWISE_PLUGIN) + libviews-plugin.la $(LIBPAM_PASSTHRU_PLUGIN) $(LIBDNA_PLUGIN) $(LIBBITWISE_PLUGIN) \ + $(LIBXOR_PLUGIN) $(LIBPWDERROR_PLUGIN) $(LIBOTHERCRYPTO_PLUGIN) nodist_property_DATA = ns-slapd.properties noinst_LIBRARIES = libavl.a libldaputil.a @@ -1148,6 +1169,7 @@ $(srcdir)/ldap/admin/src/scripts/template-migrateTo7 init_SCRIPTS = wrappers/$(PACKAGE_NAME) +inf_DATA = ldap/cm/newinst/slapd.inf #//////////////////////////////////////////////////////////////// # @@ -1729,6 +1751,27 @@ libbitwise_plugin_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) libbitwise_plugin_la_LDFLAGS = -avoid-version +#------------------------ +# libxor-plugin +#------------------------ +libxor_plugin_la_SOURCES = ldap/servers/plugins/xor/xorplugin.c +libxor_plugin_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) +libxor_plugin_la_LDFLAGS = -avoid-version + +#------------------------ +# libpwderror-plugin +#------------------------ +libpwderror_plugin_la_SOURCES = ldap/servers/plugins/pwderror/pwderror-plugin.c +libpwderror_plugin_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) +libpwderror_plugin_la_LDFLAGS = -avoid-version + +#------------------------ +# libothercrypto-plugin +#------------------------ +libothercrypto_plugin_la_SOURCES = ldap/servers/plugins/othercrypto/othercrypto.c +libothercrypto_plugin_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) +libothercrypto_plugin_la_LDFLAGS = -avoid-version + #//////////////////////////////////////////////////////////////// # # Programs @@ -1912,7 +1955,9 @@ @BUNDLE_FALSE@ -e 's, at ECHO_C\@,$(ECHO_C),g' \ @BUNDLE_FALSE@ -e 's, at brand\@,$(brand),g' \ @BUNDLE_FALSE@ -e 's, at capbrand\@,$(capbrand),g' \ + at BUNDLE_FALSE@ -e 's, at vendor\@,$(vendor),g' \ @BUNDLE_FALSE@ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + at BUNDLE_FALSE@ -e 's, at BUILDNUM\@,$(BUILDNUM),g' \ @BUNDLE_FALSE@ -e 's, at perldir\@,$(perldir),g' \ @BUNDLE_FALSE@ -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' @@ -1950,7 +1995,9 @@ @BUNDLE_TRUE@ -e 's, at ECHO_C\@,$(ECHO_C),g' \ @BUNDLE_TRUE@ -e 's, at brand\@,$(brand),g' \ @BUNDLE_TRUE@ -e 's, at capbrand\@,$(capbrand),g' \ + at BUNDLE_TRUE@ -e 's, at vendor\@,$(vendor),g' \ @BUNDLE_TRUE@ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ + at BUNDLE_TRUE@ -e 's, at BUILDNUM\@,$(BUILDNUM),g' \ @BUNDLE_TRUE@ -e 's, at perldir\@,$(perldir),g' \ @BUNDLE_TRUE@ -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' @@ -2766,6 +2813,17 @@ lib/ldaputil/$(DEPDIR)/$(am__dirstamp) libns-dshttpd.la: $(libns_dshttpd_la_OBJECTS) $(libns_dshttpd_la_DEPENDENCIES) $(CXXLINK) -rpath $(serverdir) $(libns_dshttpd_la_LDFLAGS) $(libns_dshttpd_la_OBJECTS) $(libns_dshttpd_la_LIBADD) $(LIBS) +ldap/servers/plugins/othercrypto/$(am__dirstamp): + @$(mkdir_p) ldap/servers/plugins/othercrypto + @: > ldap/servers/plugins/othercrypto/$(am__dirstamp) +ldap/servers/plugins/othercrypto/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) ldap/servers/plugins/othercrypto/$(DEPDIR) + @: > ldap/servers/plugins/othercrypto/$(DEPDIR)/$(am__dirstamp) +ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo: \ + ldap/servers/plugins/othercrypto/$(am__dirstamp) \ + ldap/servers/plugins/othercrypto/$(DEPDIR)/$(am__dirstamp) +libothercrypto-plugin.la: $(libothercrypto_plugin_la_OBJECTS) $(libothercrypto_plugin_la_DEPENDENCIES) + $(LINK) -rpath $(serverplugindir) $(libothercrypto_plugin_la_LDFLAGS) $(libothercrypto_plugin_la_OBJECTS) $(libothercrypto_plugin_la_LIBADD) $(LIBS) ldap/servers/plugins/pam_passthru/$(am__dirstamp): @$(mkdir_p) ldap/servers/plugins/pam_passthru @: > ldap/servers/plugins/pam_passthru/$(am__dirstamp) @@ -2823,6 +2881,17 @@ ldap/servers/plugins/presence/$(DEPDIR)/$(am__dirstamp) libpresence-plugin.la: $(libpresence_plugin_la_OBJECTS) $(libpresence_plugin_la_DEPENDENCIES) $(LINK) -rpath $(serverplugindir) $(libpresence_plugin_la_LDFLAGS) $(libpresence_plugin_la_OBJECTS) $(libpresence_plugin_la_LIBADD) $(LIBS) +ldap/servers/plugins/pwderror/$(am__dirstamp): + @$(mkdir_p) ldap/servers/plugins/pwderror + @: > ldap/servers/plugins/pwderror/$(am__dirstamp) +ldap/servers/plugins/pwderror/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) ldap/servers/plugins/pwderror/$(DEPDIR) + @: > ldap/servers/plugins/pwderror/$(DEPDIR)/$(am__dirstamp) +ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo: \ + ldap/servers/plugins/pwderror/$(am__dirstamp) \ + ldap/servers/plugins/pwderror/$(DEPDIR)/$(am__dirstamp) +libpwderror-plugin.la: $(libpwderror_plugin_la_OBJECTS) $(libpwderror_plugin_la_DEPENDENCIES) + $(LINK) -rpath $(serverplugindir) $(libpwderror_plugin_la_LDFLAGS) $(libpwderror_plugin_la_OBJECTS) $(libpwderror_plugin_la_LIBADD) $(LIBS) ldap/servers/plugins/pwdstorage/$(am__dirstamp): @$(mkdir_p) ldap/servers/plugins/pwdstorage @: > ldap/servers/plugins/pwdstorage/$(am__dirstamp) @@ -3411,6 +3480,17 @@ ldap/servers/plugins/views/$(DEPDIR)/$(am__dirstamp) libviews-plugin.la: $(libviews_plugin_la_OBJECTS) $(libviews_plugin_la_DEPENDENCIES) $(LINK) -rpath $(serverplugindir) $(libviews_plugin_la_LDFLAGS) $(libviews_plugin_la_OBJECTS) $(libviews_plugin_la_LIBADD) $(LIBS) +ldap/servers/plugins/xor/$(am__dirstamp): + @$(mkdir_p) ldap/servers/plugins/xor + @: > ldap/servers/plugins/xor/$(am__dirstamp) +ldap/servers/plugins/xor/$(DEPDIR)/$(am__dirstamp): + @$(mkdir_p) ldap/servers/plugins/xor/$(DEPDIR) + @: > ldap/servers/plugins/xor/$(DEPDIR)/$(am__dirstamp) +ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo: \ + ldap/servers/plugins/xor/$(am__dirstamp) \ + ldap/servers/plugins/xor/$(DEPDIR)/$(am__dirstamp) +libxor-plugin.la: $(libxor_plugin_la_OBJECTS) $(libxor_plugin_la_DEPENDENCIES) + $(LINK) -rpath $(serverplugindir) $(libxor_plugin_la_LDFLAGS) $(libxor_plugin_la_OBJECTS) $(libxor_plugin_la_LIBADD) $(LIBS) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" @@ -3960,6 +4040,8 @@ -rm -f ldap/servers/plugins/http/libhttp_client_plugin_la-http_client.lo -rm -f ldap/servers/plugins/http/libhttp_client_plugin_la-http_impl.$(OBJEXT) -rm -f ldap/servers/plugins/http/libhttp_client_plugin_la-http_impl.lo + -rm -f ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.$(OBJEXT) + -rm -f ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo -rm -f ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.$(OBJEXT) -rm -f ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo -rm -f ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptdebug.$(OBJEXT) @@ -3982,6 +4064,8 @@ -rm -f ldap/servers/plugins/passthru/libpassthru_plugin_la-ptutil.lo -rm -f ldap/servers/plugins/presence/libpresence_plugin_la-presence.$(OBJEXT) -rm -f ldap/servers/plugins/presence/libpresence_plugin_la-presence.lo + -rm -f ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.$(OBJEXT) + -rm -f ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo -rm -f ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.$(OBJEXT) -rm -f ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo -rm -f ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-crypt_pwd.$(OBJEXT) @@ -4160,6 +4244,8 @@ -rm -f ldap/servers/plugins/uiduniq/libattr_unique_plugin_la-uid.lo -rm -f ldap/servers/plugins/views/libviews_plugin_la-views.$(OBJEXT) -rm -f ldap/servers/plugins/views/libviews_plugin_la-views.lo + -rm -f ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.$(OBJEXT) + -rm -f ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo -rm -f ldap/servers/slapd/back-ldbm/libback_ldbm_la-ancestorid.$(OBJEXT) -rm -f ldap/servers/slapd/back-ldbm/libback_ldbm_la-ancestorid.lo -rm -f ldap/servers/slapd/back-ldbm/libback_ldbm_la-archive.$(OBJEXT) @@ -4714,6 +4800,7 @@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/dna/$(DEPDIR)/libdna_plugin_la-dna.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/http/$(DEPDIR)/libhttp_client_plugin_la-http_client.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/http/$(DEPDIR)/libhttp_client_plugin_la-http_impl.Plo at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptdebug.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptimpl.Plo at am__quote@ @@ -4725,6 +4812,7 @@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/passthru/$(DEPDIR)/libpassthru_plugin_la-ptpreop.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/passthru/$(DEPDIR)/libpassthru_plugin_la-ptutil.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/presence/$(DEPDIR)/libpresence_plugin_la-presence.Plo at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-crypt_pwd.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-md5_pwd.Plo at am__quote@ @@ -4814,6 +4902,7 @@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/uiduniq/$(DEPDIR)/libattr_unique_plugin_la-7bit.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/uiduniq/$(DEPDIR)/libattr_unique_plugin_la-uid.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/views/$(DEPDIR)/libviews_plugin_la-views.Plo at am__quote@ + at AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/$(DEPDIR)/ldap_agent_bin-agtmmap.Po at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/$(DEPDIR)/libslapd_la-add.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/$(DEPDIR)/libslapd_la-agtmmap.Plo at am__quote@ @@ -6245,6 +6334,13 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libns_dshttpd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/ldaputil/libns_dshttpd_la-vtable.lo `test -f 'lib/ldaputil/vtable.c' || echo '$(srcdir)/'`lib/ldaputil/vtable.c +ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo: ldap/servers/plugins/othercrypto/othercrypto.c + at am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libothercrypto_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo -MD -MP -MF "ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Tpo" -c -o ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo `test -f 'ldap/servers/plugins/othercrypto/othercrypto.c' || echo '$(srcdir)/'`ldap/servers/plugins/othercrypto/othercrypto.c; \ + at am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Tpo" "ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Plo"; else rm -f "ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldap/servers/plugins/othercrypto/othercrypto.c' object='ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo' libtool=yes @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libothercrypto_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo `test -f 'ldap/servers/plugins/othercrypto/othercrypto.c' || echo '$(srcdir)/'`ldap/servers/plugins/othercrypto/othercrypto.c + ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo: ldap/servers/plugins/pam_passthru/pam_ptconfig.c @am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpam_passthru_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo -MD -MP -MF "ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Tpo" -c -o ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo `test -f 'ldap/servers/plugins/pam_passthru/pam_ptconfig.c' || echo '$(srcdir)/'`ldap/servers/plugins/pam_passthru/pam_ptconfig.c; \ @am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Tpo" "ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Plo"; else rm -f "ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Tpo"; exit 1; fi @@ -6322,6 +6418,13 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpresence_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/presence/libpresence_plugin_la-presence.lo `test -f 'ldap/servers/plugins/presence/presence.c' || echo '$(srcdir)/'`ldap/servers/plugins/presence/presence.c +ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo: ldap/servers/plugins/pwderror/pwderror-plugin.c + at am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpwderror_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo -MD -MP -MF "ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Tpo" -c -o ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo `test -f 'ldap/servers/plugins/pwderror/pwderror-plugin.c' || echo '$(srcdir)/'`ldap/servers/plugins/pwderror/pwderror-plugin.c; \ + at am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Tpo" "ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Plo"; else rm -f "ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldap/servers/plugins/pwderror/pwderror-plugin.c' object='ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo' libtool=yes @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpwderror_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo `test -f 'ldap/servers/plugins/pwderror/pwderror-plugin.c' || echo '$(srcdir)/'`ldap/servers/plugins/pwderror/pwderror-plugin.c + ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo: ldap/servers/plugins/pwdstorage/clear_pwd.c @am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpwdstorage_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo -MD -MP -MF "ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Tpo" -c -o ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo `test -f 'ldap/servers/plugins/pwdstorage/clear_pwd.c' || echo '$(srcdir)/'`ldap/servers/plugins/pwdstorage/clear_pwd.c; \ @am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Tpo" "ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Plo"; else rm -f "ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Tpo"; exit 1; fi @@ -7526,6 +7629,13 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libviews_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/views/libviews_plugin_la-views.lo `test -f 'ldap/servers/plugins/views/views.c' || echo '$(srcdir)/'`ldap/servers/plugins/views/views.c +ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo: ldap/servers/plugins/xor/xorplugin.c + at am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxor_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo -MD -MP -MF "ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Tpo" -c -o ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo `test -f 'ldap/servers/plugins/xor/xorplugin.c' || echo '$(srcdir)/'`ldap/servers/plugins/xor/xorplugin.c; \ + at am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Tpo" "ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Plo"; else rm -f "ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Tpo"; exit 1; fi + at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldap/servers/plugins/xor/xorplugin.c' object='ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo' libtool=yes @AMDEPBACKSLASH@ + at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxor_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo `test -f 'ldap/servers/plugins/xor/xorplugin.c' || echo '$(srcdir)/'`ldap/servers/plugins/xor/xorplugin.c + ldap/servers/slapd/tools/dbscan_bin-dbscan.o: ldap/servers/slapd/tools/dbscan.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbscan_bin_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/slapd/tools/dbscan_bin-dbscan.o -MD -MP -MF "ldap/servers/slapd/tools/$(DEPDIR)/dbscan_bin-dbscan.Tpo" -c -o ldap/servers/slapd/tools/dbscan_bin-dbscan.o `test -f 'ldap/servers/slapd/tools/dbscan.c' || echo '$(srcdir)/'`ldap/servers/slapd/tools/dbscan.c; \ @am__fastdepCC_TRUE@ then mv -f "ldap/servers/slapd/tools/$(DEPDIR)/dbscan_bin-dbscan.Tpo" "ldap/servers/slapd/tools/$(DEPDIR)/dbscan_bin-dbscan.Po"; else rm -f "ldap/servers/slapd/tools/$(DEPDIR)/dbscan_bin-dbscan.Tpo"; exit 1; fi @@ -8783,9 +8893,11 @@ -rm -rf ldap/servers/plugins/distrib/.libs ldap/servers/plugins/distrib/_libs -rm -rf ldap/servers/plugins/dna/.libs ldap/servers/plugins/dna/_libs -rm -rf ldap/servers/plugins/http/.libs ldap/servers/plugins/http/_libs + -rm -rf ldap/servers/plugins/othercrypto/.libs ldap/servers/plugins/othercrypto/_libs -rm -rf ldap/servers/plugins/pam_passthru/.libs ldap/servers/plugins/pam_passthru/_libs -rm -rf ldap/servers/plugins/passthru/.libs ldap/servers/plugins/passthru/_libs -rm -rf ldap/servers/plugins/presence/.libs ldap/servers/plugins/presence/_libs + -rm -rf ldap/servers/plugins/pwderror/.libs ldap/servers/plugins/pwderror/_libs -rm -rf ldap/servers/plugins/pwdstorage/.libs ldap/servers/plugins/pwdstorage/_libs -rm -rf ldap/servers/plugins/referint/.libs ldap/servers/plugins/referint/_libs -rm -rf ldap/servers/plugins/replication/.libs ldap/servers/plugins/replication/_libs @@ -8797,6 +8909,7 @@ -rm -rf ldap/servers/plugins/syntaxes/.libs ldap/servers/plugins/syntaxes/_libs -rm -rf ldap/servers/plugins/uiduniq/.libs ldap/servers/plugins/uiduniq/_libs -rm -rf ldap/servers/plugins/views/.libs ldap/servers/plugins/views/_libs + -rm -rf ldap/servers/plugins/xor/.libs ldap/servers/plugins/xor/_libs -rm -rf ldap/servers/slapd/.libs ldap/servers/slapd/_libs -rm -rf ldap/servers/slapd/back-ldbm/.libs ldap/servers/slapd/back-ldbm/_libs -rm -rf lib/base/.libs lib/base/_libs @@ -8825,6 +8938,23 @@ echo " rm -f '$(DESTDIR)$(configdir)/$$f'"; \ rm -f "$(DESTDIR)$(configdir)/$$f"; \ done +install-infDATA: $(inf_DATA) + @$(NORMAL_INSTALL) + test -z "$(infdir)" || $(mkdir_p) "$(DESTDIR)$(infdir)" + @list='$(inf_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(infDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(infdir)/$$f'"; \ + $(infDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(infdir)/$$f"; \ + done + +uninstall-infDATA: + @$(NORMAL_UNINSTALL) + @list='$(inf_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(infdir)/$$f'"; \ + rm -f "$(DESTDIR)$(infdir)/$$f"; \ + done install-nodist_propertyDATA: $(nodist_property_DATA) @$(NORMAL_INSTALL) test -z "$(propertydir)" || $(mkdir_p) "$(DESTDIR)$(propertydir)" @@ -9075,7 +9205,7 @@ all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) \ $(DATA) config.h installdirs: - for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)"; do \ + for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: $(BUILT_SOURCES) @@ -9122,12 +9252,16 @@ -rm -f ldap/servers/plugins/dna/$(am__dirstamp) -rm -f ldap/servers/plugins/http/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/http/$(am__dirstamp) + -rm -f ldap/servers/plugins/othercrypto/$(DEPDIR)/$(am__dirstamp) + -rm -f ldap/servers/plugins/othercrypto/$(am__dirstamp) -rm -f ldap/servers/plugins/pam_passthru/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/pam_passthru/$(am__dirstamp) -rm -f ldap/servers/plugins/passthru/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/passthru/$(am__dirstamp) -rm -f ldap/servers/plugins/presence/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/presence/$(am__dirstamp) + -rm -f ldap/servers/plugins/pwderror/$(DEPDIR)/$(am__dirstamp) + -rm -f ldap/servers/plugins/pwderror/$(am__dirstamp) -rm -f ldap/servers/plugins/pwdstorage/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/pwdstorage/$(am__dirstamp) -rm -f ldap/servers/plugins/referint/$(DEPDIR)/$(am__dirstamp) @@ -9150,6 +9284,8 @@ -rm -f ldap/servers/plugins/uiduniq/$(am__dirstamp) -rm -f ldap/servers/plugins/views/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/views/$(am__dirstamp) + -rm -f ldap/servers/plugins/xor/$(DEPDIR)/$(am__dirstamp) + -rm -f ldap/servers/plugins/xor/$(am__dirstamp) -rm -f ldap/servers/slapd/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/slapd/$(am__dirstamp) -rm -f ldap/servers/slapd/back-ldbm/$(DEPDIR)/$(am__dirstamp) @@ -9188,7 +9324,7 @@ distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ldap/admin/lib/$(DEPDIR) ldap/admin/src/$(DEPDIR) ldap/libraries/libavl/$(DEPDIR) ldap/servers/plugins/acl/$(DEPDIR) ldap/servers/plugins/bitwise/$(DEPDIR) ldap/servers/plugins/chainingdb/$(DEPDIR) ldap/servers/plugins/collation/$(DEPDIR) ldap/servers/plugins/cos/$(DEPDIR) ldap/servers/plugins/distrib/$(DEPDIR) ldap/servers/plugins/dna/$(DEPDIR) ldap/servers/plugins/http/$(DEPDIR) ldap/servers/plugins/pam_passthru/$(DEPDIR) ldap/servers/plugins/passthru/$(DEPDIR) ldap/servers/plugins/presence/$(DEPDIR) ldap/servers/plugins/pwdstorage/$(DEPDIR) ldap/servers/plugins/referint/$(DEPDIR) ldap/servers/plugins/replication/$(DEPDIR) ldap/servers/plugins/retrocl/$(DEPDIR) ldap/servers/plugins/rever/$(DEPDIR) ldap/servers/plugins/roles/$(DEPDIR) ldap/servers/plugins/shared/$(DEPDIR) ldap/servers/plugins/statechange/$(DEPDIR) ldap/servers/plugins/syntaxes/$(DEPDIR) ldap/servers/plugins/uiduniq/$(DEPDIR) ldap/servers/plugins/views/$(DEPDIR) ldap/servers/slapd/$(DEPDIR) ldap/se! rvers/slapd/back-ldbm/$(DEPDIR) ldap/servers/slapd/tools/$(DEPDIR) ldap/servers/slapd/tools/ldclt/$(DEPDIR) ldap/servers/slapd/tools/rsearch/$(DEPDIR) ldap/servers/snmp/$(DEPDIR) ldap/systools/$(DEPDIR) lib/base/$(DEPDIR) lib/ldaputil/$(DEPDIR) lib/libaccess/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) + -rm -rf ldap/admin/lib/$(DEPDIR) ldap/admin/src/$(DEPDIR) ldap/libraries/libavl/$(DEPDIR) ldap/servers/plugins/acl/$(DEPDIR) ldap/servers/plugins/bitwise/$(DEPDIR) ldap/servers/plugins/chainingdb/$(DEPDIR) ldap/servers/plugins/collation/$(DEPDIR) ldap/servers/plugins/cos/$(DEPDIR) ldap/servers/plugins/distrib/$(DEPDIR) ldap/servers/plugins/dna/$(DEPDIR) ldap/servers/plugins/http/$(DEPDIR) ldap/servers/plugins/othercrypto/$(DEPDIR) ldap/servers/plugins/pam_passthru/$(DEPDIR) ldap/servers/plugins/passthru/$(DEPDIR) ldap/servers/plugins/presence/$(DEPDIR) ldap/servers/plugins/pwderror/$(DEPDIR) ldap/servers/plugins/pwdstorage/$(DEPDIR) ldap/servers/plugins/referint/$(DEPDIR) ldap/servers/plugins/replication/$(DEPDIR) ldap/servers/plugins/retrocl/$(DEPDIR) ldap/servers/plugins/rever/$(DEPDIR) ldap/servers/plugins/roles/$(DEPDIR) ldap/servers/plugins/shared/$(DEPDIR) ldap/servers/plugins/statechange/$(DEPDIR) ldap/servers/plugins/syntaxes/$(DEPDIR) ldap/servers/plugins/uiduniq/! $(DEPDIR) ldap/servers/plugins/views/$(DEPDIR) ldap/servers/plugins/xor/$(DEPDIR) ldap/servers/slapd/$(DEPDIR) ldap/servers/slapd/back-ldbm/$(DEPDIR) ldap/servers/slapd/tools/$(DEPDIR) ldap/servers/slapd/tools/ldclt/$(DEPDIR) ldap/servers/slapd/tools/rsearch/$(DEPDIR) ldap/servers/snmp/$(DEPDIR) ldap/systools/$(DEPDIR) lib/base/$(DEPDIR) lib/ldaputil/$(DEPDIR) lib/libaccess/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-tags @@ -9203,9 +9339,10 @@ info-am: -install-data-am: install-configDATA install-initSCRIPTS \ - install-nodist_propertyDATA install-perlSCRIPTS \ - install-propertyDATA install-sampledataDATA install-schemaDATA \ +install-data-am: install-configDATA install-infDATA \ + install-initSCRIPTS install-nodist_propertyDATA \ + install-perlSCRIPTS install-propertyDATA \ + install-sampledataDATA install-schemaDATA \ install-serverLTLIBRARIES install-serverpluginLTLIBRARIES \ install-taskSCRIPTS @@ -9221,7 +9358,7 @@ maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ldap/admin/lib/$(DEPDIR) ldap/admin/src/$(DEPDIR) ldap/libraries/libavl/$(DEPDIR) ldap/servers/plugins/acl/$(DEPDIR) ldap/servers/plugins/bitwise/$(DEPDIR) ldap/servers/plugins/chainingdb/$(DEPDIR) ldap/servers/plugins/collation/$(DEPDIR) ldap/servers/plugins/cos/$(DEPDIR) ldap/servers/plugins/distrib/$(DEPDIR) ldap/servers/plugins/dna/$(DEPDIR) ldap/servers/plugins/http/$(DEPDIR) ldap/servers/plugins/pam_passthru/$(DEPDIR) ldap/servers/plugins/passthru/$(DEPDIR) ldap/servers/plugins/presence/$(DEPDIR) ldap/servers/plugins/pwdstorage/$(DEPDIR) ldap/servers/plugins/referint/$(DEPDIR) ldap/servers/plugins/replication/$(DEPDIR) ldap/servers/plugins/retrocl/$(DEPDIR) ldap/servers/plugins/rever/$(DEPDIR) ldap/servers/plugins/roles/$(DEPDIR) ldap/servers/plugins/shared/$(DEPDIR) ldap/servers/plugins/statechange/$(DEPDIR) ldap/servers/plugins/syntaxes/$(DEPDIR) ldap/servers/plugins/uiduniq/$(DEPDIR) ldap/servers/plugins/views/$(DEPDIR) ldap/servers/slapd/$(DEPDIR) ldap/se! rvers/slapd/back-ldbm/$(DEPDIR) ldap/servers/slapd/tools/$(DEPDIR) ldap/servers/slapd/tools/ldclt/$(DEPDIR) ldap/servers/slapd/tools/rsearch/$(DEPDIR) ldap/servers/snmp/$(DEPDIR) ldap/systools/$(DEPDIR) lib/base/$(DEPDIR) lib/ldaputil/$(DEPDIR) lib/libaccess/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) + -rm -rf ldap/admin/lib/$(DEPDIR) ldap/admin/src/$(DEPDIR) ldap/libraries/libavl/$(DEPDIR) ldap/servers/plugins/acl/$(DEPDIR) ldap/servers/plugins/bitwise/$(DEPDIR) ldap/servers/plugins/chainingdb/$(DEPDIR) ldap/servers/plugins/collation/$(DEPDIR) ldap/servers/plugins/cos/$(DEPDIR) ldap/servers/plugins/distrib/$(DEPDIR) ldap/servers/plugins/dna/$(DEPDIR) ldap/servers/plugins/http/$(DEPDIR) ldap/servers/plugins/othercrypto/$(DEPDIR) ldap/servers/plugins/pam_passthru/$(DEPDIR) ldap/servers/plugins/passthru/$(DEPDIR) ldap/servers/plugins/presence/$(DEPDIR) ldap/servers/plugins/pwderror/$(DEPDIR) ldap/servers/plugins/pwdstorage/$(DEPDIR) ldap/servers/plugins/referint/$(DEPDIR) ldap/servers/plugins/replication/$(DEPDIR) ldap/servers/plugins/retrocl/$(DEPDIR) ldap/servers/plugins/rever/$(DEPDIR) ldap/servers/plugins/roles/$(DEPDIR) ldap/servers/plugins/shared/$(DEPDIR) ldap/servers/plugins/statechange/$(DEPDIR) ldap/servers/plugins/syntaxes/$(DEPDIR) ldap/servers/plugins/uiduniq/! $(DEPDIR) ldap/servers/plugins/views/$(DEPDIR) ldap/servers/plugins/xor/$(DEPDIR) ldap/servers/slapd/$(DEPDIR) ldap/servers/slapd/back-ldbm/$(DEPDIR) ldap/servers/slapd/tools/$(DEPDIR) ldap/servers/slapd/tools/ldclt/$(DEPDIR) ldap/servers/slapd/tools/rsearch/$(DEPDIR) ldap/servers/snmp/$(DEPDIR) ldap/systools/$(DEPDIR) lib/base/$(DEPDIR) lib/ldaputil/$(DEPDIR) lib/libaccess/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -9239,12 +9376,12 @@ ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ - uninstall-configDATA uninstall-info-am uninstall-initSCRIPTS \ - uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ - uninstall-propertyDATA uninstall-sampledataDATA \ - uninstall-sbinPROGRAMS uninstall-schemaDATA \ - uninstall-serverLTLIBRARIES uninstall-serverpluginLTLIBRARIES \ - uninstall-taskSCRIPTS + uninstall-configDATA uninstall-infDATA uninstall-info-am \ + uninstall-initSCRIPTS uninstall-nodist_propertyDATA \ + uninstall-perlSCRIPTS uninstall-propertyDATA \ + uninstall-sampledataDATA uninstall-sbinPROGRAMS \ + uninstall-schemaDATA uninstall-serverLTLIBRARIES \ + uninstall-serverpluginLTLIBRARIES uninstall-taskSCRIPTS .PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool \ @@ -9257,22 +9394,22 @@ dvi-am html html-am info info-am install install-am \ install-binPROGRAMS install-binSCRIPTS install-configDATA \ install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-initSCRIPTS install-man \ - install-nodist_propertyDATA install-perlSCRIPTS \ - install-propertyDATA install-sampledataDATA \ - install-sbinPROGRAMS install-schemaDATA \ + install-infDATA install-info install-info-am \ + install-initSCRIPTS install-man install-nodist_propertyDATA \ + install-perlSCRIPTS install-propertyDATA \ + install-sampledataDATA install-sbinPROGRAMS install-schemaDATA \ install-serverLTLIBRARIES install-serverpluginLTLIBRARIES \ install-strip install-taskSCRIPTS 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-binPROGRAMS uninstall-binSCRIPTS \ - uninstall-configDATA uninstall-info-am uninstall-initSCRIPTS \ - uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ - uninstall-propertyDATA uninstall-sampledataDATA \ - uninstall-sbinPROGRAMS uninstall-schemaDATA \ - uninstall-serverLTLIBRARIES uninstall-serverpluginLTLIBRARIES \ - uninstall-taskSCRIPTS + uninstall-configDATA uninstall-infDATA uninstall-info-am \ + uninstall-initSCRIPTS uninstall-nodist_propertyDATA \ + uninstall-perlSCRIPTS uninstall-propertyDATA \ + uninstall-sampledataDATA uninstall-sbinPROGRAMS \ + uninstall-schemaDATA uninstall-serverLTLIBRARIES \ + uninstall-serverpluginLTLIBRARIES uninstall-taskSCRIPTS dirver.h: Makefile Index: aclocal.m4 =================================================================== RCS file: /cvs/dirsec/ldapserver/aclocal.m4,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- aclocal.m4 11 Jun 2007 14:13:54 -0000 1.35 +++ aclocal.m4 15 Jun 2007 17:02:29 -0000 1.36 @@ -1578,27 +1578,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -4305,9 +4288,6 @@ # Is the compiler the GNU C compiler? with_gcc=$_LT_AC_TAGVAR(GCC, $1) -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -4441,11 +4421,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_[]_LT_AC_TAGVAR(predep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_[]_LT_AC_TAGVAR(postdep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) # Dependencies to place before the objects being linked to create a # shared library. @@ -4457,7 +4437,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -4537,7 +4517,7 @@ link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -6373,7 +6353,6 @@ 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 @@ -6406,7 +6385,6 @@ done ]) SED=$lt_cv_path_SED -AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) Index: configure =================================================================== RCS file: /cvs/dirsec/ldapserver/configure,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- configure 11 Jun 2007 14:13:55 -0000 1.46 +++ configure 15 Jun 2007 17:02:29 -0000 1.47 @@ -465,7 +465,7 @@ #endif" 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 debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir shared_lib_suffix HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS' +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 debug_defs BUNDLE_TRUE BUNDLE_FALSE enable_pam_passthru_TRUE enable_pam_passthru_FALSE enable_dna_TRUE enable_dna_FALSE enable_ldapi_TRUE enable_ldapi_FALSE enable_bitwise_TRUE enable_bitwise_FALSE configdir sampledatadir propertydir schemadir serverdir serverplugindir scripttemplatedir perldir infdir instconfigdir WINNT_TRUE WINNT_FALSE LIBSOCKET LIBNSL LIBDL LIBCSTD LIBCRUN initdir shared_lib_suffix HPUX_TRUE HPUX_FALSE SOLARIS_TRUE SOLARIS_FALSE PKG_CONFIG ICU_CONFIG NETSNMP_CONFIG nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir ldapsdk_bindir db_inc db_incdir db_lib db_libdir db_bindir db_libver sasl_inc sasl_lib sasl_libdir svrcore_inc svrcore_lib icu_lib icu_inc icu_bin netsnmp_inc netsnmp_lib netsnmp_libdir netsnmp_link brand capbrand vendor LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -3836,7 +3836,6 @@ 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 @@ -3871,7 +3870,6 @@ fi SED=$lt_cv_path_SED - echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6 @@ -4312,7 +4310,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4315 "configure"' > conftest.$ac_ext + echo '#line 4313 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5447,7 +5445,7 @@ # Provide some information about the compiler. -echo "$as_me:5450:" \ +echo "$as_me:5448:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 @@ -6510,11 +6508,11 @@ -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:6513: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6511: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6517: \$? = $ac_status" >&5 + echo "$as_me:6515: \$? = $ac_status" >&5 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 other than the usual output. @@ -6778,11 +6776,11 @@ -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:6781: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6779: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6785: \$? = $ac_status" >&5 + echo "$as_me:6783: \$? = $ac_status" >&5 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 other than the usual output. @@ -6882,11 +6880,11 @@ -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:6885: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6883: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6889: \$? = $ac_status" >&5 + echo "$as_me:6887: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8347,31 +8345,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 8354 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -9248,7 +9225,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:11668: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11698: \$? = $ac_status" >&5 + echo "$as_me:11672: \$? = $ac_status" >&5 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 other than the usual output. @@ -11795,11 +11769,11 @@ -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:11798: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11772: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11802: \$? = $ac_status" >&5 + echo "$as_me:11776: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -12327,31 +12301,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 12334 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -12735,9 +12688,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -12871,11 +12821,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. @@ -12887,7 +12837,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_CXX | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -12967,7 +12917,7 @@ link_all_deplibs=$link_all_deplibs_CXX # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -13389,11 +13339,11 @@ -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:13392: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13342: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13396: \$? = $ac_status" >&5 + echo "$as_me:13346: \$? = $ac_status" >&5 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 other than the usual output. @@ -13493,11 +13443,11 @@ -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:13496: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13446: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13500: \$? = $ac_status" >&5 + echo "$as_me:13450: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14938,31 +14888,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 14945 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -15346,9 +15275,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -15482,11 +15408,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. @@ -15498,7 +15424,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_F77 | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -15578,7 +15504,7 @@ link_all_deplibs=$link_all_deplibs_F77 # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -15720,11 +15646,11 @@ -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:15723: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15649: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15727: \$? = $ac_status" >&5 + echo "$as_me:15653: \$? = $ac_status" >&5 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 other than the usual output. @@ -15988,11 +15914,11 @@ -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:15991: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15917: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15995: \$? = $ac_status" >&5 + echo "$as_me:15921: \$? = $ac_status" >&5 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 other than the usual output. @@ -16092,11 +16018,11 @@ -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:16095: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16021: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16099: \$? = $ac_status" >&5 + echo "$as_me:16025: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17557,31 +17483,10 @@ # before this can be enabled. hardcode_into_libs=yes - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '#line 17564 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -17965,9 +17870,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -18101,11 +18003,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. @@ -18117,7 +18019,7 @@ # The library search path used internally by the compiler when linking # a shared library. -compiler_lib_search_path=\`echo $lt_compiler_lib_search_path_GCJ | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -18197,7 +18099,7 @@ link_all_deplibs=$link_all_deplibs_GCJ # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -18449,9 +18351,6 @@ # Is the compiler the GNU C compiler? with_gcc=$GCC_RC -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - # An ERE matcher. EGREP=$lt_EGREP @@ -18585,11 +18484,11 @@ # Dependencies to place before the objects being linked to create a # shared library. -predep_objects=\`echo $lt_predep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +predep_objects=$lt_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. -postdep_objects=\`echo $lt_postdep_objects_RC | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` +postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. @@ -18601,7 +18500,7 @@ # The library search path used internally by the compiler when linking # a shared library. -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"\` +compiler_lib_search_path=$lt_compiler_lib_search_path_RC # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method @@ -18681,7 +18580,7 @@ link_all_deplibs=$link_all_deplibs_RC # Compile-time system search path for libraries -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"\` +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec @@ -23157,6 +23056,8 @@ serverdir= # relative to libdir serverplugindir=/plugins + # relative to datadir + infdir=/inf else if test "$with_fhs" = "yes"; then ac_default_prefix=/usr @@ -23173,6 +23074,8 @@ serverdir=/$PACKAGE_NAME # relative to libdir serverplugindir=/$PACKAGE_NAME/plugins + # relative to datadir + infdir=/$PACKAGE_NAME/inf fi # Shared paths for all layouts @@ -23194,6 +23097,7 @@ + # check for --with-instconfigdir echo "$as_me:$LINENO: checking for --with-instconfigdir" >&5 echo $ECHO_N "checking for --with-instconfigdir... $ECHO_C" >&6 @@ -25985,7 +25889,6 @@ s, at CCDEPMODE@,$CCDEPMODE,;t t s, at am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t s, at am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t -s, at SED@,$SED,;t t s, at EGREP@,$EGREP,;t t s, at LN_S@,$LN_S,;t t s, at ECHO@,$ECHO,;t t @@ -26019,6 +25922,7 @@ s, at serverplugindir@,$serverplugindir,;t t s, at scripttemplatedir@,$scripttemplatedir,;t t s, at perldir@,$perldir,;t t +s, at infdir@,$infdir,;t t s, at instconfigdir@,$instconfigdir,;t t s, at WINNT_TRUE@,$WINNT_TRUE,;t t s, at WINNT_FALSE@,$WINNT_FALSE,;t t Index: configure.ac =================================================================== RCS file: /cvs/dirsec/ldapserver/configure.ac,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- configure.ac 8 Jun 2007 20:36:52 -0000 1.30 +++ configure.ac 15 Jun 2007 17:02:29 -0000 1.31 @@ -163,6 +163,8 @@ serverdir= # relative to libdir serverplugindir=/plugins + # relative to datadir + infdir=/inf else if test "$with_fhs" = "yes"; then ac_default_prefix=/usr @@ -181,6 +183,8 @@ serverdir=/$PACKAGE_NAME # relative to libdir serverplugindir=/$PACKAGE_NAME/plugins + # relative to datadir + infdir=/$PACKAGE_NAME/inf fi # Shared paths for all layouts @@ -201,6 +205,7 @@ AC_SUBST(serverplugindir) AC_SUBST(scripttemplatedir) AC_SUBST(perldir) +AC_SUBST(infdir) # check for --with-instconfigdir AC_MSG_CHECKING(for --with-instconfigdir) From fedora-directory-commits at redhat.com Fri Jun 15 17:06:39 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Fri, 15 Jun 2007 13:06:39 -0400 Subject: [Fedora-directory-commits] adminserver/admserv/newinst/common setup.inf.in, NONE, 1.1 setup.inf, 1.6, NONE Message-ID: <200706151706.l5FH6dlq004273@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/admserv/newinst/common In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4249 Added Files: setup.inf.in Removed Files: setup.inf Log Message: Resolves: 237356 Summary: Move DS Admin Code into Admin Server (Comment #63) Description: providing setup.inf having the static server info for the setup/config --- NEW FILE setup.inf.in --- # BEGIN COPYRIGHT BLOCK # Copyright (C) 2001 Sun Microsystems, Inc. Used by permission. # Copyright (C) 2007 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 # # Sample Fedora Server Package Information File # # Components: lists the components to be installed as specified # in subsequent sections. If the section or the ComponentInfoFile # does note exist the setup program will ignore the component [General] Name = @capbrand@ Server Products Vendor = @capbrand@ Project Description = @capbrand@ Server Products Installation Version = @PACKAGE_VERSION@ Brand = @capbrand@ NormBrand = @brand@ --- setup.inf DELETED --- From fedora-directory-commits at redhat.com Fri Jun 15 17:10:13 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Fri, 15 Jun 2007 13:10:13 -0400 Subject: [Fedora-directory-commits] adminserver/wrappers - New directory Message-ID: <200706151710.l5FHADlm004396@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/wrappers In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4381/wrappers Log Message: Directory /cvs/dirsec/adminserver/wrappers added to the repository From fedora-directory-commits at redhat.com Fri Jun 15 17:13:04 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Fri, 15 Jun 2007 13:13:04 -0400 Subject: [Fedora-directory-commits] adminserver/wrappers initscript.in, NONE, 1.1 Message-ID: <200706151713.l5FHD4UE004961@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver/wrappers In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4913/wrappers Added Files: initscript.in Log Message: Resolves: #244325 Summary: init script for the Admin Server --- NEW FILE initscript.in --- #!/bin/sh # # @package_name@ This starts and stops @package_name@ # # chkconfig: - 21 79 # description: @package_name@ Admin Server # processname: @sbindir@/httpd # piddir: @localstatedir@/run/@PACKAGE_BASE_NAME@ # # Source function library. if [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions fi # Source networking configuration. if [ -f /etc/sysconfig/network ] ; then . /etc/sysconfig/network fi # Check that networking is up. if [ "${NETWORKING}" = "no" ] then echo "Networking is down" exit 0 fi # Solaris echo cannot use -n - linux echo by default cannot use \c echo_n() { echo @ECHO_N@ "$*@ECHO_C@" } # failure and success are not defined on some platforms type failure > /dev/null 2>&1 || { failure() { echo_n " FAILED" } } type success > /dev/null 2>&1 || { success() { echo_n " SUCCESS" } } # On Solaris /var/run is in tmpfs and gets wiped out upon reboot # we have to recreate the /var/run/@package_name@ directory # We also have to make sure that the directory is writable # by the directory server process # the argument to this function is the server instance directory, # which must have a dse.ldif file in it fix_pid_dir_ownership() { if [ -d $piddir ] ; then owner=`grep \^sysuser @instconfigdir@/admin-serv/adm.conf | awk '{print $2}'` dirowner=`ls -ld $piddir | awk '{print $3}'` dirgrp=`ls -ld $piddir | awk '{print $4}'` if [ "$owner" != "$dirowner" ]; then groups $owner | grep $dirgrp > /dev/null 2>&1 rc=$? if [ $rc -eq 0 ]; then chmod 770 $piddir else echo_n "$piddir is not writable for $owner" failure; echo exit 1 fi fi else mkdir -p $piddir owner=`grep \^nsslapd-localuser $1/dse.ldif | awk '{print $2}'` if [ -n "$owner" ] ; then chown $owner $piddir chmod 700 $piddir fi fi } start_script=@sbindir@/start-ds-admin restart_script=@sbindir@/restart-ds-admin stop_script=@sbindir@/stop-ds-admin exec=`grep "^HTTPD=" $start_script | awk -F= '{print $2}'` prog="@package_name@" # PID directory piddir="@localstatedir@/run/@PACKAGE_BASE_NAME@" # PID file pidfile=$piddir/admin-serv.pid [ -f $exec ] || exit 0 umask 077 start() { if [ ! -f $start_script ]; then echo_n "*** Error: $start_script does not exist" failure; echo exit 1 fi echo "Starting $prog: " # Start every slapd instance that isn't already running # the server creates pidfile and writes the pid to it when it is fully # started and available to serve clients server_running=0 if [ -f $pidfile ]; then pid=`cat $pidfile` if kill -0 $pid > /dev/null 2>&1 ; then echo_n " already running" success; echo server_running=1 else echo_n " not running, but pid file exists - attempt to start anyway..." rm -f $pidfile fi fi server_started=0 if [ $server_running -eq 0 ] ; then rm -f $pidfile fix_pid_dir_ownership $start_script if [ $? -eq 0 ]; then server_started=1 # well, perhaps not running, but started ok else failure; echo fi fi if [ $server_started -eq 1 ] ; then loop_counter=1 # wait for 10 minutes (600 times 1 seconds) max_count=600 while test $loop_counter -le $max_count ; do loop_counter=`expr $loop_counter + 1` if test ! -f $pidfile ; then sleep 1 else pid=`cat $pidfile` break fi done if kill -0 $pid > /dev/null 2>&1 && test -f $pidfile ; then success; echo else echo_n "*** Error: $prog failed to start" failure; echo fi fi } stop() { if [ ! -f $stop_script ]; then echo_n "$stop_script does not exist" failure; echo exit 1 fi echo "Shutting down $prog: " if [ -f $pidfile ]; then pid=`cat $pidfile` server_stopped=0 if kill -0 $pid > /dev/null 2>&1 ; then kill $pid if [ $? -eq 0 ]; then server_stopped=1 else failure; echo fi fi if [ $server_stopped -eq 1 ] ; then loop_counter=1 # wait for 10 minutes (600 times 1 second) max_count=600 while test $loop_counter -le $max_count; do loop_counter=`expr $loop_counter + 1` if kill -0 $pid > /dev/null 2>&1 ; then sleep 1 else if test -f $pidfile ; then rm -f $pidfile fi break fi done if test -f $pidfile ; then echo_n "*** Error: $prog failed to stop" failure; echo else success; echo rm -f $pidfile fi fi fi } restart() { stop start } status() { if [ -f $pidfile ]; then pid=`cat $pidfile` if kill -0 $pid > /dev/null 2>&1 ; then echo "$prog (pid $pid) is running..." else echo "$prog dead but pid file exists" fi else echo "$prog is stopped" fi } case "$1" in start|stop|restart|reload|status) $1 ;; condrestart) [ ! -f $lockfile ] || restart ;; *) echo Unknown command $1 echo "Usage: $0 {start|stop|status|restart|condrestart}" exit 2 esac From fedora-directory-commits at redhat.com Fri Jun 15 17:13:04 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Fri, 15 Jun 2007 13:13:04 -0400 Subject: [Fedora-directory-commits] adminserver Makefile.am, 1.8, 1.9 Makefile.in, 1.8, 1.9 configure, 1.7, 1.8 configure.ac, 1.5, 1.6 Message-ID: <200706151713.l5FHD4jI004954@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/adminserver In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4913 Modified Files: Makefile.am Makefile.in configure configure.ac Log Message: Resolves: #244325 Summary: init script for the Admin Server Index: Makefile.am =================================================================== RCS file: /cvs/dirsec/adminserver/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Makefile.am 13 Jun 2007 17:48:34 -0000 1.8 +++ Makefile.am 15 Jun 2007 17:13:02 -0000 1.9 @@ -119,6 +119,8 @@ SETUPUTIL_LIBS = @setuputil_lib@ -ldsinstall +init_SCRIPTS = wrappers/$(PACKAGE_NAME) + ldif_DATA = admserv/schema/ldif/00nsroot_backend.ldif.tmpl \ admserv/schema/ldif/01nsroot.ldif.tmpl \ admserv/schema/ldif/02globalpreferences.ldif.tmpl \ @@ -128,7 +130,7 @@ admserv/schema/ldif/21astasks.ldif.tmpl \ admserv/schema/ldif/22ascommands.ldif.tmpl -inf_DATA = admserv/newinst/src/admin.inf admserv/newinst/src/register_param.map +inf_DATA = admserv/newinst/src/admin.inf admserv/newinst/src/register_param.map admserv/newinst/common/setup.inf cgibin_PROGRAMS = mergeConfig admpw security ugdsconfig ReadLog start_config_ds \ config statpingserv viewdata dsconfig monreplication restartsrv \ @@ -357,8 +359,12 @@ # i.e. it literally copies in '${prefix}' rather than expanding it out - we want this instead: # ADMConfigDir = /etc/packagename fixupcmd = sed \ + -e 's, at ECHO_C\@,$(ECHO_C),g' \ + -e 's, at ECHO_N\@,$(ECHO_N),g' \ -e 's, at HTTPD\@,$(HTTPD),g' \ -e 's, at bindir\@,$(bindir),g' \ + -e 's, at sbindir\@,$(sbindir),g' \ + -e 's, at localstatedir\@,$(localstatedir),g' \ -e 's, at cgibindir\@,$(cgibindir),g' \ -e 's, at cmdbindir\@,$(cmdbindir),g' \ -e 's, at moddir\@,$(moddir),g' \ @@ -388,6 +394,7 @@ -e 's, at instancename\@,$(instancename),g' \ -e 's, at BUILD_NUM\@,$(BUILDNUM),g' \ -e 's, at NQBUILD_NUM\@,$(NQBUILDNUM),g' \ + -e 's, at package_name\@,$(PACKAGE_NAME),g' \ -e 's, at PACKAGE_BASE_NAME\@,$(PACKAGE_BASE_NAME),g' \ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ -e 's, at brand\@,$(brand),g' \ @@ -395,6 +402,8 @@ -e 's, at vendor\@,$(vendor),g' \ -e 's, at helpdir\@,$(helpdir),g' \ -e 's, at mimemagic\@,$(mimemagic),g' \ + -e 's, at initdir\@,$(initdir),g' \ + -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' \ -e 's, at perldir\@,$(perldir),g' # because the source may be either httpd.conf.in or httpd-2.2.conf.in @@ -405,3 +414,7 @@ % : %.in if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi $(fixupcmd) $< > $@ + +%/$(PACKAGE_NAME): %/initscript.in + if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi + $(fixupcmd) $^ > $@ Index: Makefile.in =================================================================== RCS file: /cvs/dirsec/adminserver/Makefile.in,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Makefile.in 13 Jun 2007 17:48:34 -0000 1.8 +++ Makefile.in 15 Jun 2007 17:13:02 -0000 1.9 @@ -103,11 +103,12 @@ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cgibindir)" \ "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" \ - "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(perldir)" \ - "$(DESTDIR)$(helpdir)" "$(DESTDIR)$(htmldir)" \ - "$(DESTDIR)$(icondir)" "$(DESTDIR)$(infdir)" \ - "$(DESTDIR)$(ldifdir)" "$(DESTDIR)$(configdir)" \ - "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)" + "$(DESTDIR)$(initdir)" "$(DESTDIR)$(cmdbindir)" \ + "$(DESTDIR)$(perldir)" "$(DESTDIR)$(helpdir)" \ + "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" \ + "$(DESTDIR)$(infdir)" "$(DESTDIR)$(ldifdir)" \ + "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" \ + "$(DESTDIR)$(propertydir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libds_admin_serv_la_LIBADD = @@ -266,10 +267,11 @@ binSCRIPT_INSTALL = $(INSTALL_SCRIPT) cgibinSCRIPT_INSTALL = $(INSTALL_SCRIPT) cmdbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) +initSCRIPT_INSTALL = $(INSTALL_SCRIPT) nodist_cmdbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) perlSCRIPT_INSTALL = $(INSTALL_SCRIPT) SCRIPTS = $(bin_SCRIPTS) $(cgibin_SCRIPTS) $(cmdbin_SCRIPTS) \ - $(nodist_cmdbin_SCRIPTS) $(perl_SCRIPTS) + $(init_SCRIPTS) $(nodist_cmdbin_SCRIPTS) $(perl_SCRIPTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I. depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -472,6 +474,7 @@ includedir = @includedir@ infdir = $(datadir)@infdir@ infodir = @infodir@ +initdir = $(sysconfdir)@initdir@ install_sh = @install_sh@ instancename = @instancename@ instconfigdir = @instconfigdir@ @@ -509,6 +512,7 @@ setuputil_inc = @setuputil_inc@ setuputil_lib = @setuputil_lib@ setuputil_libdir = @setuputil_libdir@ +shared_lib_suffix = @shared_lib_suffix@ sharedstatedir = @sharedstatedir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ @@ -551,7 +555,6 @@ @MOD_RESTARTD_TRUE at MOD_RESTARTD_SUB = mod_restartd SUBDIRS = $(MOD_ADMSERV_SUB) $(MOD_RESTARTD_SUB) helpdir = $(manualdir)/help -initdir = $(sysconfdir)@initdir@ configdir = $(instconfigdir)/$(instancename) # same as configdir for now securitydir = $(configdir) @@ -584,6 +587,7 @@ @nss_lib@ -lsmime3 -lssl3 -lnss3 @nspr_lib@ -lnspr4 -lplc4 SETUPUTIL_LIBS = @setuputil_lib@ -ldsinstall +init_SCRIPTS = wrappers/$(PACKAGE_NAME) ldif_DATA = admserv/schema/ldif/00nsroot_backend.ldif.tmpl \ admserv/schema/ldif/01nsroot.ldif.tmpl \ admserv/schema/ldif/02globalpreferences.ldif.tmpl \ @@ -593,7 +597,7 @@ admserv/schema/ldif/21astasks.ldif.tmpl \ admserv/schema/ldif/22ascommands.ldif.tmpl -inf_DATA = admserv/newinst/src/admin.inf admserv/newinst/src/register_param.map +inf_DATA = admserv/newinst/src/admin.inf admserv/newinst/src/register_param.map admserv/newinst/common/setup.inf bin_SCRIPTS = admserv/newinst/src/register_server.pl cgibin_SCRIPTS = admserv/cgi-src40/Cgi.pm nodist_cmdbin_SCRIPTS = admserv/cfgstuff/start-ds-admin admserv/cfgstuff/stop-ds-admin admserv/cfgstuff/restart-ds-admin @@ -773,8 +777,12 @@ # i.e. it literally copies in '${prefix}' rather than expanding it out - we want this instead: # ADMConfigDir = /etc/packagename fixupcmd = sed \ + -e 's, at ECHO_C\@,$(ECHO_C),g' \ + -e 's, at ECHO_N\@,$(ECHO_N),g' \ -e 's, at HTTPD\@,$(HTTPD),g' \ -e 's, at bindir\@,$(bindir),g' \ + -e 's, at sbindir\@,$(sbindir),g' \ + -e 's, at localstatedir\@,$(localstatedir),g' \ -e 's, at cgibindir\@,$(cgibindir),g' \ -e 's, at cmdbindir\@,$(cmdbindir),g' \ -e 's, at moddir\@,$(moddir),g' \ @@ -804,6 +812,7 @@ -e 's, at instancename\@,$(instancename),g' \ -e 's, at BUILD_NUM\@,$(BUILDNUM),g' \ -e 's, at NQBUILD_NUM\@,$(NQBUILDNUM),g' \ + -e 's, at package_name\@,$(PACKAGE_NAME),g' \ -e 's, at PACKAGE_BASE_NAME\@,$(PACKAGE_BASE_NAME),g' \ -e 's, at PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ -e 's, at brand\@,$(brand),g' \ @@ -811,6 +820,8 @@ -e 's, at vendor\@,$(vendor),g' \ -e 's, at helpdir\@,$(helpdir),g' \ -e 's, at mimemagic\@,$(mimemagic),g' \ + -e 's, at initdir\@,$(initdir),g' \ + -e 's, at shared_lib_suffix\@,$(shared_lib_suffix),g' \ -e 's, at perldir\@,$(perldir),g' all: config.h @@ -1376,6 +1387,25 @@ echo " rm -f '$(DESTDIR)$(cmdbindir)/$$f'"; \ rm -f "$(DESTDIR)$(cmdbindir)/$$f"; \ done +install-initSCRIPTS: $(init_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(initdir)" || $(mkdir_p) "$(DESTDIR)$(initdir)" + @list='$(init_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(initSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(initdir)/$$f'"; \ + $(initSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(initdir)/$$f"; \ + else :; fi; \ + done + +uninstall-initSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(init_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(initdir)/$$f'"; \ + rm -f "$(DESTDIR)$(initdir)/$$f"; \ + done install-nodist_cmdbinSCRIPTS: $(nodist_cmdbin_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(cmdbindir)" || $(mkdir_p) "$(DESTDIR)$(cmdbindir)" @@ -2704,7 +2734,7 @@ $(DATA) config.h installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(helpdir)" "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(ldifdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)"; do \ + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cgibindir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(cmdbindir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(helpdir)" "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(ldifdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(propertydir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: install-recursive @@ -2772,10 +2802,10 @@ install-data-am: install-cgibinPROGRAMS install-cgibinSCRIPTS \ install-cmdbinPROGRAMS install-cmdbinSCRIPTS \ install-dist_helpDATA install-dist_htmlDATA \ - install-dist_iconDATA install-infDATA install-ldifDATA \ - install-nodist_cmdbinSCRIPTS install-nodist_configDATA \ - install-nodist_propertyDATA install-perlSCRIPTS \ - install-propertyDATA + install-dist_iconDATA install-infDATA install-initSCRIPTS \ + install-ldifDATA install-nodist_cmdbinSCRIPTS \ + install-nodist_configDATA install-nodist_propertyDATA \ + install-perlSCRIPTS install-propertyDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook @@ -2811,10 +2841,11 @@ uninstall-cgibinSCRIPTS uninstall-cmdbinPROGRAMS \ uninstall-cmdbinSCRIPTS uninstall-dist_helpDATA \ uninstall-dist_htmlDATA uninstall-dist_iconDATA \ - uninstall-infDATA uninstall-info-am uninstall-ldifDATA \ - uninstall-libLTLIBRARIES uninstall-nodist_cmdbinSCRIPTS \ - uninstall-nodist_configDATA uninstall-nodist_propertyDATA \ - uninstall-perlSCRIPTS uninstall-propertyDATA + uninstall-infDATA uninstall-info-am uninstall-initSCRIPTS \ + uninstall-ldifDATA uninstall-libLTLIBRARIES \ + uninstall-nodist_cmdbinSCRIPTS uninstall-nodist_configDATA \ + uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ + uninstall-propertyDATA uninstall-info: uninstall-info-recursive @@ -2832,24 +2863,25 @@ install-cmdbinSCRIPTS install-data install-data-am \ install-data-hook install-dist_helpDATA install-dist_htmlDATA \ install-dist_iconDATA install-exec install-exec-am \ - install-infDATA install-info install-info-am install-ldifDATA \ - install-libLTLIBRARIES install-man \ - install-nodist_cmdbinSCRIPTS install-nodist_configDATA \ - install-nodist_propertyDATA install-perlSCRIPTS \ - install-propertyDATA install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am \ + install-infDATA install-info install-info-am \ + install-initSCRIPTS install-ldifDATA install-libLTLIBRARIES \ + install-man install-nodist_cmdbinSCRIPTS \ + install-nodist_configDATA install-nodist_propertyDATA \ + install-perlSCRIPTS install-propertyDATA install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ + pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-binSCRIPTS uninstall-cgibinPROGRAMS \ uninstall-cgibinSCRIPTS uninstall-cmdbinPROGRAMS \ uninstall-cmdbinSCRIPTS uninstall-dist_helpDATA \ uninstall-dist_htmlDATA uninstall-dist_iconDATA \ - uninstall-infDATA uninstall-info-am uninstall-ldifDATA \ - uninstall-libLTLIBRARIES uninstall-nodist_cmdbinSCRIPTS \ - uninstall-nodist_configDATA uninstall-nodist_propertyDATA \ - uninstall-perlSCRIPTS uninstall-propertyDATA + uninstall-infDATA uninstall-info-am uninstall-initSCRIPTS \ + uninstall-ldifDATA uninstall-libLTLIBRARIES \ + uninstall-nodist_cmdbinSCRIPTS uninstall-nodist_configDATA \ + uninstall-nodist_propertyDATA uninstall-perlSCRIPTS \ + uninstall-propertyDATA define NL \\n @@ -2890,6 +2922,10 @@ % : %.in if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi $(fixupcmd) $< > $@ + +%/$(PACKAGE_NAME): %/initscript.in + if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi + $(fixupcmd) $^ > $@ # 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: Index: configure =================================================================== RCS file: /cvs/dirsec/adminserver/configure,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- configure 13 Jun 2007 17:48:34 -0000 1.7 +++ configure 15 Jun 2007 17:13:02 -0000 1.8 @@ -468,7 +468,7 @@ ac_default_prefix=/opt/$PACKAGE_BASE_NAME ac_subdirs_all="$ac_subdirs_all mod_admserv" ac_subdirs_all="$ac_subdirs_all mod_restartd" -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 HTTPD APXS PKG_CONFIG ICU_CONFIG nsspcache instconfigdir PACKAGE_BASE_NAME nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir adminutil_inc adminutil_lib adminutil_libdir adminutil_ver setuputil_lib setuputil_libdir setuputil_inc setuputil_bin icu_lib icu_libdir icu_inc icu_bin curses_lib instancename cgibindir cmdbindir moddir modnssbindir propertydir htmldir icondir manualdir httpdconf mimemagic httpduser httpdgroup logdir piddir pidfile admservport ldifdir admmoddir nssmoddir infdir perldir brand capbrand vendor WINNT_TRUE WINNT_FALSE APACHE22_TRUE APACHE22_FALSE subdirs MOD_ADMSERV_TRUE MOD_ADMSERV_FALSE MOD_RESTARTD_TRUE MOD_RESTARTD_FALSE LTLIBOBJS' +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 initdir shared_lib_suffix HTTPD APXS PKG_CONFIG ICU_CONFIG nsspcache instconfigdir PACKAGE_BASE_NAME nspr_inc nspr_lib nspr_libdir nss_inc nss_lib nss_libdir ldapsdk_inc ldapsdk_lib ldapsdk_libdir adminutil_inc adminutil_lib adminutil_libdir adminutil_ver setuputil_lib setuputil_libdir setuputil_inc setuputil_bin icu_lib icu_libdir icu_inc icu_bin curses_lib instancename cgibindir cmdbindir moddir modnssbindir propertydir htmldir icondir manualdir httpdconf mimemagic httpduser httpdgroup logdir piddir pidfile admservport ldifdir admmoddir nssmoddir infdir perldir brand capbrand vendor WINNT_TRUE WINNT_FALSE APACHE22_TRUE APACHE22_FALSE subdirs MOD_ADMSERV_TRUE MOD_ADMSERV_FALSE MOD_RESTARTD_TRUE MOD_RESTARTD_FALSE LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -23195,6 +23195,25 @@ localstatedir='/var' fi +shared_lib_suffix=.so +initdir=/rc.d +case $host in + *-*-linux*) + initdir=/rc.d/init.d + ;; + ia64-hp-hpux*) + ;; + hppa*-hp-hpux*) + shared_lib_suffix=.sl + ;; + sparc-sun-solaris*) + initdir=/init.d + ;; + *) +esac + + + # Check for web server # BEGIN COPYRIGHT BLOCK # Copyright (C) 2006 Red Hat, Inc. @@ -24663,6 +24682,7 @@ + # write out paths for data/config files @@ -25507,6 +25527,8 @@ s, at ac_ct_F77@,$ac_ct_F77,;t t s, at LIBTOOL@,$LIBTOOL,;t t s, at LIBOBJS@,$LIBOBJS,;t t +s, at initdir@,$initdir,;t t +s, at shared_lib_suffix@,$shared_lib_suffix,;t t s, at HTTPD@,$HTTPD,;t t s, at APXS@,$APXS,;t t s, at PKG_CONFIG@,$PKG_CONFIG,;t t Index: configure.ac =================================================================== RCS file: /cvs/dirsec/adminserver/configure.ac,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- configure.ac 8 Jun 2007 22:49:18 -0000 1.5 +++ configure.ac 15 Jun 2007 17:13:02 -0000 1.6 @@ -80,6 +80,25 @@ localstatedir='/var' fi +shared_lib_suffix=.so +initdir=/rc.d +case $host in + *-*-linux*) + initdir=/rc.d/init.d + ;; + ia64-hp-hpux*) + ;; + hppa*-hp-hpux*) + shared_lib_suffix=.sl + ;; + sparc-sun-solaris*) + initdir=/init.d + ;; + *) +esac +AC_SUBST(initdir) +AC_SUBST(shared_lib_suffix) + # Check for web server m4_include(m4/httpd.m4) @@ -146,6 +165,7 @@ perldir=/$PACKAGE_BASE_NAME/perl # write out paths for binary components +AC_SUBST(PACKAGE_NAME) AC_SUBST(PACKAGE_BASE_NAME) AC_SUBST(nspr_inc) AC_SUBST(nspr_lib) From fedora-directory-commits at redhat.com Fri Jun 15 20:22:16 2007 From: fedora-directory-commits at redhat.com (Noriko Hosoi (nhosoi)) Date: Fri, 15 Jun 2007 16:22:16 -0400 Subject: [Fedora-directory-commits] ldapserver Makefile.in,1.51,1.52 Message-ID: <200706152022.l5FKMGZ4011895@cvs-int.fedora.redhat.com> Author: nhosoi Update of /cvs/dirsec/ldapserver In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11878 Modified Files: Makefile.in Log Message: Summary: Move DS Admin Code into Admin Server (Comment #62) Description: providing slapd.inf having the DS static info for the setup/config Index: Makefile.in =================================================================== RCS file: /cvs/dirsec/ldapserver/Makefile.in,v retrieving revision 1.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- Makefile.in 15 Jun 2007 17:02:28 -0000 1.51 +++ Makefile.in 15 Jun 2007 20:22:14 -0000 1.52 @@ -334,10 +334,6 @@ lib/libsi18n/libns_dshttpd_la-reshash.lo \ lib/libsi18n/libns_dshttpd_la-txtfile.lo $(am__objects_1) libns_dshttpd_la_OBJECTS = $(am_libns_dshttpd_la_OBJECTS) -libothercrypto_plugin_la_LIBADD = -am_libothercrypto_plugin_la_OBJECTS = ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo -libothercrypto_plugin_la_OBJECTS = \ - $(am_libothercrypto_plugin_la_OBJECTS) libpam_passthru_plugin_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am_libpam_passthru_plugin_la_OBJECTS = ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo \ ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptdebug.lo \ @@ -359,9 +355,6 @@ libpresence_plugin_la_LIBADD = am_libpresence_plugin_la_OBJECTS = ldap/servers/plugins/presence/libpresence_plugin_la-presence.lo libpresence_plugin_la_OBJECTS = $(am_libpresence_plugin_la_OBJECTS) -libpwderror_plugin_la_LIBADD = -am_libpwderror_plugin_la_OBJECTS = ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo -libpwderror_plugin_la_OBJECTS = $(am_libpwderror_plugin_la_OBJECTS) libpwdstorage_plugin_la_LIBADD = am_libpwdstorage_plugin_la_OBJECTS = ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo \ ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-crypt_pwd.lo \ @@ -562,10 +555,6 @@ am_libviews_plugin_la_OBJECTS = \ ldap/servers/plugins/views/libviews_plugin_la-views.lo libviews_plugin_la_OBJECTS = $(am_libviews_plugin_la_OBJECTS) -libxor_plugin_la_LIBADD = -am_libxor_plugin_la_OBJECTS = \ - ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo -libxor_plugin_la_OBJECTS = $(am_libxor_plugin_la_OBJECTS) binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) @@ -760,21 +749,19 @@ $(libdna_plugin_la_SOURCES) $(libds_admin_la_SOURCES) \ $(libhttp_client_plugin_la_SOURCES) \ $(libns_dshttpd_la_SOURCES) \ - $(libothercrypto_plugin_la_SOURCES) \ $(libpam_passthru_plugin_la_SOURCES) \ $(libpassthru_plugin_la_SOURCES) \ $(libpresence_plugin_la_SOURCES) \ - $(libpwderror_plugin_la_SOURCES) \ $(libpwdstorage_plugin_la_SOURCES) \ $(libreferint_plugin_la_SOURCES) \ $(libreplication_plugin_la_SOURCES) \ $(libretrocl_plugin_la_SOURCES) $(libroles_plugin_la_SOURCES) \ $(libslapd_la_SOURCES) $(libstatechange_plugin_la_SOURCES) \ $(libsyntax_plugin_la_SOURCES) $(libviews_plugin_la_SOURCES) \ - $(libxor_plugin_la_SOURCES) $(dbscan_bin_SOURCES) \ - $(ds_newinst_bin_SOURCES) $(dsktune_bin_SOURCES) \ - $(infadd_bin_SOURCES) $(ldap_agent_bin_SOURCES) \ - $(ldclt_bin_SOURCES) $(ldif_bin_SOURCES) $(makstrdb_SOURCES) \ + $(dbscan_bin_SOURCES) $(ds_newinst_bin_SOURCES) \ + $(dsktune_bin_SOURCES) $(infadd_bin_SOURCES) \ + $(ldap_agent_bin_SOURCES) $(ldclt_bin_SOURCES) \ + $(ldif_bin_SOURCES) $(makstrdb_SOURCES) \ $(migratecred_bin_SOURCES) $(mmldif_bin_SOURCES) \ $(ns_slapd_SOURCES) $(pwdhash_bin_SOURCES) \ $(rsearch_bin_SOURCES) @@ -788,24 +775,22 @@ $(libdna_plugin_la_SOURCES) $(libds_admin_la_SOURCES) \ $(libhttp_client_plugin_la_SOURCES) \ $(libns_dshttpd_la_SOURCES) \ - $(libothercrypto_plugin_la_SOURCES) \ $(libpam_passthru_plugin_la_SOURCES) \ $(libpassthru_plugin_la_SOURCES) \ $(libpresence_plugin_la_SOURCES) \ - $(libpwderror_plugin_la_SOURCES) \ $(libpwdstorage_plugin_la_SOURCES) \ $(libreferint_plugin_la_SOURCES) \ $(libreplication_plugin_la_SOURCES) \ $(libretrocl_plugin_la_SOURCES) $(libroles_plugin_la_SOURCES) \ $(libslapd_la_SOURCES) $(libstatechange_plugin_la_SOURCES) \ $(libsyntax_plugin_la_SOURCES) $(libviews_plugin_la_SOURCES) \ - $(libxor_plugin_la_SOURCES) $(dbscan_bin_SOURCES) \ - $(ds_newinst_bin_SOURCES) $(dsktune_bin_SOURCES) \ - $(infadd_bin_SOURCES) $(ldap_agent_bin_SOURCES) \ - $(am__ldclt_bin_SOURCES_DIST) $(ldif_bin_SOURCES) \ - $(makstrdb_SOURCES) $(migratecred_bin_SOURCES) \ - $(mmldif_bin_SOURCES) $(am__ns_slapd_SOURCES_DIST) \ - $(pwdhash_bin_SOURCES) $(rsearch_bin_SOURCES) + $(dbscan_bin_SOURCES) $(ds_newinst_bin_SOURCES) \ + $(dsktune_bin_SOURCES) $(infadd_bin_SOURCES) \ + $(ldap_agent_bin_SOURCES) $(am__ldclt_bin_SOURCES_DIST) \ + $(ldif_bin_SOURCES) $(makstrdb_SOURCES) \ + $(migratecred_bin_SOURCES) $(mmldif_bin_SOURCES) \ + $(am__ns_slapd_SOURCES_DIST) $(pwdhash_bin_SOURCES) \ + $(rsearch_bin_SOURCES) configDATA_INSTALL = $(INSTALL_DATA) infDATA_INSTALL = $(INSTALL_DATA) nodist_propertyDATA_INSTALL = $(INSTALL_DATA) @@ -1054,17 +1039,13 @@ @enable_pam_passthru_TRUE at LIBPAM_PASSTHRU_PLUGIN = libpam-passthru-plugin.la @enable_dna_TRUE at LIBDNA_PLUGIN = libdna-plugin.la @enable_bitwise_TRUE at LIBBITWISE_PLUGIN = libbitwise-plugin.la -LIBXOR_PLUGIN = libxor-plugin.la -LIBPWDERROR_PLUGIN = libpwderror-plugin.la -LIBOTHERCRYPTO_PLUGIN = libothercrypto-plugin.la serverplugin_LTLIBRARIES = libacl-plugin.la libattr-unique-plugin.la \ libback-ldbm.la libchainingdb-plugin.la libcos-plugin.la libdes-plugin.la \ libdistrib-plugin.la libhttp-client-plugin.la libcollation-plugin.la \ libpassthru-plugin.la libpresence-plugin.la \ libpwdstorage-plugin.la libreferint-plugin.la libreplication-plugin.la \ libretrocl-plugin.la libroles-plugin.la libstatechange-plugin.la libsyntax-plugin.la \ - libviews-plugin.la $(LIBPAM_PASSTHRU_PLUGIN) $(LIBDNA_PLUGIN) $(LIBBITWISE_PLUGIN) \ - $(LIBXOR_PLUGIN) $(LIBPWDERROR_PLUGIN) $(LIBOTHERCRYPTO_PLUGIN) + libviews-plugin.la $(LIBPAM_PASSTHRU_PLUGIN) $(LIBDNA_PLUGIN) $(LIBBITWISE_PLUGIN) nodist_property_DATA = ns-slapd.properties noinst_LIBRARIES = libavl.a libldaputil.a @@ -1751,27 +1732,6 @@ libbitwise_plugin_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) libbitwise_plugin_la_LDFLAGS = -avoid-version -#------------------------ -# libxor-plugin -#------------------------ -libxor_plugin_la_SOURCES = ldap/servers/plugins/xor/xorplugin.c -libxor_plugin_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) -libxor_plugin_la_LDFLAGS = -avoid-version - -#------------------------ -# libpwderror-plugin -#------------------------ -libpwderror_plugin_la_SOURCES = ldap/servers/plugins/pwderror/pwderror-plugin.c -libpwderror_plugin_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) -libpwderror_plugin_la_LDFLAGS = -avoid-version - -#------------------------ -# libothercrypto-plugin -#------------------------ -libothercrypto_plugin_la_SOURCES = ldap/servers/plugins/othercrypto/othercrypto.c -libothercrypto_plugin_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) -libothercrypto_plugin_la_LDFLAGS = -avoid-version - #//////////////////////////////////////////////////////////////// # # Programs @@ -2813,17 +2773,6 @@ lib/ldaputil/$(DEPDIR)/$(am__dirstamp) libns-dshttpd.la: $(libns_dshttpd_la_OBJECTS) $(libns_dshttpd_la_DEPENDENCIES) $(CXXLINK) -rpath $(serverdir) $(libns_dshttpd_la_LDFLAGS) $(libns_dshttpd_la_OBJECTS) $(libns_dshttpd_la_LIBADD) $(LIBS) -ldap/servers/plugins/othercrypto/$(am__dirstamp): - @$(mkdir_p) ldap/servers/plugins/othercrypto - @: > ldap/servers/plugins/othercrypto/$(am__dirstamp) -ldap/servers/plugins/othercrypto/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) ldap/servers/plugins/othercrypto/$(DEPDIR) - @: > ldap/servers/plugins/othercrypto/$(DEPDIR)/$(am__dirstamp) -ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo: \ - ldap/servers/plugins/othercrypto/$(am__dirstamp) \ - ldap/servers/plugins/othercrypto/$(DEPDIR)/$(am__dirstamp) -libothercrypto-plugin.la: $(libothercrypto_plugin_la_OBJECTS) $(libothercrypto_plugin_la_DEPENDENCIES) - $(LINK) -rpath $(serverplugindir) $(libothercrypto_plugin_la_LDFLAGS) $(libothercrypto_plugin_la_OBJECTS) $(libothercrypto_plugin_la_LIBADD) $(LIBS) ldap/servers/plugins/pam_passthru/$(am__dirstamp): @$(mkdir_p) ldap/servers/plugins/pam_passthru @: > ldap/servers/plugins/pam_passthru/$(am__dirstamp) @@ -2881,17 +2830,6 @@ ldap/servers/plugins/presence/$(DEPDIR)/$(am__dirstamp) libpresence-plugin.la: $(libpresence_plugin_la_OBJECTS) $(libpresence_plugin_la_DEPENDENCIES) $(LINK) -rpath $(serverplugindir) $(libpresence_plugin_la_LDFLAGS) $(libpresence_plugin_la_OBJECTS) $(libpresence_plugin_la_LIBADD) $(LIBS) -ldap/servers/plugins/pwderror/$(am__dirstamp): - @$(mkdir_p) ldap/servers/plugins/pwderror - @: > ldap/servers/plugins/pwderror/$(am__dirstamp) -ldap/servers/plugins/pwderror/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) ldap/servers/plugins/pwderror/$(DEPDIR) - @: > ldap/servers/plugins/pwderror/$(DEPDIR)/$(am__dirstamp) -ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo: \ - ldap/servers/plugins/pwderror/$(am__dirstamp) \ - ldap/servers/plugins/pwderror/$(DEPDIR)/$(am__dirstamp) -libpwderror-plugin.la: $(libpwderror_plugin_la_OBJECTS) $(libpwderror_plugin_la_DEPENDENCIES) - $(LINK) -rpath $(serverplugindir) $(libpwderror_plugin_la_LDFLAGS) $(libpwderror_plugin_la_OBJECTS) $(libpwderror_plugin_la_LIBADD) $(LIBS) ldap/servers/plugins/pwdstorage/$(am__dirstamp): @$(mkdir_p) ldap/servers/plugins/pwdstorage @: > ldap/servers/plugins/pwdstorage/$(am__dirstamp) @@ -3480,17 +3418,6 @@ ldap/servers/plugins/views/$(DEPDIR)/$(am__dirstamp) libviews-plugin.la: $(libviews_plugin_la_OBJECTS) $(libviews_plugin_la_DEPENDENCIES) $(LINK) -rpath $(serverplugindir) $(libviews_plugin_la_LDFLAGS) $(libviews_plugin_la_OBJECTS) $(libviews_plugin_la_LIBADD) $(LIBS) -ldap/servers/plugins/xor/$(am__dirstamp): - @$(mkdir_p) ldap/servers/plugins/xor - @: > ldap/servers/plugins/xor/$(am__dirstamp) -ldap/servers/plugins/xor/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) ldap/servers/plugins/xor/$(DEPDIR) - @: > ldap/servers/plugins/xor/$(DEPDIR)/$(am__dirstamp) -ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo: \ - ldap/servers/plugins/xor/$(am__dirstamp) \ - ldap/servers/plugins/xor/$(DEPDIR)/$(am__dirstamp) -libxor-plugin.la: $(libxor_plugin_la_OBJECTS) $(libxor_plugin_la_DEPENDENCIES) - $(LINK) -rpath $(serverplugindir) $(libxor_plugin_la_LDFLAGS) $(libxor_plugin_la_OBJECTS) $(libxor_plugin_la_LIBADD) $(LIBS) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" @@ -4040,8 +3967,6 @@ -rm -f ldap/servers/plugins/http/libhttp_client_plugin_la-http_client.lo -rm -f ldap/servers/plugins/http/libhttp_client_plugin_la-http_impl.$(OBJEXT) -rm -f ldap/servers/plugins/http/libhttp_client_plugin_la-http_impl.lo - -rm -f ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.$(OBJEXT) - -rm -f ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo -rm -f ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.$(OBJEXT) -rm -f ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo -rm -f ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptdebug.$(OBJEXT) @@ -4064,8 +3989,6 @@ -rm -f ldap/servers/plugins/passthru/libpassthru_plugin_la-ptutil.lo -rm -f ldap/servers/plugins/presence/libpresence_plugin_la-presence.$(OBJEXT) -rm -f ldap/servers/plugins/presence/libpresence_plugin_la-presence.lo - -rm -f ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.$(OBJEXT) - -rm -f ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo -rm -f ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.$(OBJEXT) -rm -f ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo -rm -f ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-crypt_pwd.$(OBJEXT) @@ -4244,8 +4167,6 @@ -rm -f ldap/servers/plugins/uiduniq/libattr_unique_plugin_la-uid.lo -rm -f ldap/servers/plugins/views/libviews_plugin_la-views.$(OBJEXT) -rm -f ldap/servers/plugins/views/libviews_plugin_la-views.lo - -rm -f ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.$(OBJEXT) - -rm -f ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo -rm -f ldap/servers/slapd/back-ldbm/libback_ldbm_la-ancestorid.$(OBJEXT) -rm -f ldap/servers/slapd/back-ldbm/libback_ldbm_la-ancestorid.lo -rm -f ldap/servers/slapd/back-ldbm/libback_ldbm_la-archive.$(OBJEXT) @@ -4800,7 +4721,6 @@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/dna/$(DEPDIR)/libdna_plugin_la-dna.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/http/$(DEPDIR)/libhttp_client_plugin_la-http_client.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/http/$(DEPDIR)/libhttp_client_plugin_la-http_impl.Plo at am__quote@ - at AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptdebug.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptimpl.Plo at am__quote@ @@ -4812,7 +4732,6 @@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/passthru/$(DEPDIR)/libpassthru_plugin_la-ptpreop.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/passthru/$(DEPDIR)/libpassthru_plugin_la-ptutil.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/presence/$(DEPDIR)/libpresence_plugin_la-presence.Plo at am__quote@ - at AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-crypt_pwd.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-md5_pwd.Plo at am__quote@ @@ -4902,7 +4821,6 @@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/uiduniq/$(DEPDIR)/libattr_unique_plugin_la-7bit.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/uiduniq/$(DEPDIR)/libattr_unique_plugin_la-uid.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/views/$(DEPDIR)/libviews_plugin_la-views.Plo at am__quote@ - at AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/$(DEPDIR)/ldap_agent_bin-agtmmap.Po at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/$(DEPDIR)/libslapd_la-add.Plo at am__quote@ @AMDEP_TRUE@@am__include@ @am__quote at ldap/servers/slapd/$(DEPDIR)/libslapd_la-agtmmap.Plo at am__quote@ @@ -6334,13 +6252,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libns_dshttpd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib/ldaputil/libns_dshttpd_la-vtable.lo `test -f 'lib/ldaputil/vtable.c' || echo '$(srcdir)/'`lib/ldaputil/vtable.c -ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo: ldap/servers/plugins/othercrypto/othercrypto.c - at am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libothercrypto_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo -MD -MP -MF "ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Tpo" -c -o ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo `test -f 'ldap/servers/plugins/othercrypto/othercrypto.c' || echo '$(srcdir)/'`ldap/servers/plugins/othercrypto/othercrypto.c; \ - at am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Tpo" "ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Plo"; else rm -f "ldap/servers/plugins/othercrypto/$(DEPDIR)/libothercrypto_plugin_la-othercrypto.Tpo"; exit 1; fi - at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldap/servers/plugins/othercrypto/othercrypto.c' object='ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo' libtool=yes @AMDEPBACKSLASH@ - at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libothercrypto_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/othercrypto/libothercrypto_plugin_la-othercrypto.lo `test -f 'ldap/servers/plugins/othercrypto/othercrypto.c' || echo '$(srcdir)/'`ldap/servers/plugins/othercrypto/othercrypto.c - ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo: ldap/servers/plugins/pam_passthru/pam_ptconfig.c @am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpam_passthru_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo -MD -MP -MF "ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Tpo" -c -o ldap/servers/plugins/pam_passthru/libpam_passthru_plugin_la-pam_ptconfig.lo `test -f 'ldap/servers/plugins/pam_passthru/pam_ptconfig.c' || echo '$(srcdir)/'`ldap/servers/plugins/pam_passthru/pam_ptconfig.c; \ @am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Tpo" "ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Plo"; else rm -f "ldap/servers/plugins/pam_passthru/$(DEPDIR)/libpam_passthru_plugin_la-pam_ptconfig.Tpo"; exit 1; fi @@ -6418,13 +6329,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpresence_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/presence/libpresence_plugin_la-presence.lo `test -f 'ldap/servers/plugins/presence/presence.c' || echo '$(srcdir)/'`ldap/servers/plugins/presence/presence.c -ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo: ldap/servers/plugins/pwderror/pwderror-plugin.c - at am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpwderror_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo -MD -MP -MF "ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Tpo" -c -o ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo `test -f 'ldap/servers/plugins/pwderror/pwderror-plugin.c' || echo '$(srcdir)/'`ldap/servers/plugins/pwderror/pwderror-plugin.c; \ - at am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Tpo" "ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Plo"; else rm -f "ldap/servers/plugins/pwderror/$(DEPDIR)/libpwderror_plugin_la-pwderror-plugin.Tpo"; exit 1; fi - at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldap/servers/plugins/pwderror/pwderror-plugin.c' object='ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo' libtool=yes @AMDEPBACKSLASH@ - at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpwderror_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/pwderror/libpwderror_plugin_la-pwderror-plugin.lo `test -f 'ldap/servers/plugins/pwderror/pwderror-plugin.c' || echo '$(srcdir)/'`ldap/servers/plugins/pwderror/pwderror-plugin.c - ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo: ldap/servers/plugins/pwdstorage/clear_pwd.c @am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpwdstorage_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo -MD -MP -MF "ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Tpo" -c -o ldap/servers/plugins/pwdstorage/libpwdstorage_plugin_la-clear_pwd.lo `test -f 'ldap/servers/plugins/pwdstorage/clear_pwd.c' || echo '$(srcdir)/'`ldap/servers/plugins/pwdstorage/clear_pwd.c; \ @am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Tpo" "ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Plo"; else rm -f "ldap/servers/plugins/pwdstorage/$(DEPDIR)/libpwdstorage_plugin_la-clear_pwd.Tpo"; exit 1; fi @@ -7629,13 +7533,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libviews_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/views/libviews_plugin_la-views.lo `test -f 'ldap/servers/plugins/views/views.c' || echo '$(srcdir)/'`ldap/servers/plugins/views/views.c -ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo: ldap/servers/plugins/xor/xorplugin.c - at am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxor_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo -MD -MP -MF "ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Tpo" -c -o ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo `test -f 'ldap/servers/plugins/xor/xorplugin.c' || echo '$(srcdir)/'`ldap/servers/plugins/xor/xorplugin.c; \ - at am__fastdepCC_TRUE@ then mv -f "ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Tpo" "ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Plo"; else rm -f "ldap/servers/plugins/xor/$(DEPDIR)/libxor_plugin_la-xorplugin.Tpo"; exit 1; fi - at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldap/servers/plugins/xor/xorplugin.c' object='ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo' libtool=yes @AMDEPBACKSLASH@ - at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - at am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxor_plugin_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ldap/servers/plugins/xor/libxor_plugin_la-xorplugin.lo `test -f 'ldap/servers/plugins/xor/xorplugin.c' || echo '$(srcdir)/'`ldap/servers/plugins/xor/xorplugin.c - ldap/servers/slapd/tools/dbscan_bin-dbscan.o: ldap/servers/slapd/tools/dbscan.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dbscan_bin_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ldap/servers/slapd/tools/dbscan_bin-dbscan.o -MD -MP -MF "ldap/servers/slapd/tools/$(DEPDIR)/dbscan_bin-dbscan.Tpo" -c -o ldap/servers/slapd/tools/dbscan_bin-dbscan.o `test -f 'ldap/servers/slapd/tools/dbscan.c' || echo '$(srcdir)/'`ldap/servers/slapd/tools/dbscan.c; \ @am__fastdepCC_TRUE@ then mv -f "ldap/servers/slapd/tools/$(DEPDIR)/dbscan_bin-dbscan.Tpo" "ldap/servers/slapd/tools/$(DEPDIR)/dbscan_bin-dbscan.Po"; else rm -f "ldap/servers/slapd/tools/$(DEPDIR)/dbscan_bin-dbscan.Tpo"; exit 1; fi @@ -8893,11 +8790,9 @@ -rm -rf ldap/servers/plugins/distrib/.libs ldap/servers/plugins/distrib/_libs -rm -rf ldap/servers/plugins/dna/.libs ldap/servers/plugins/dna/_libs -rm -rf ldap/servers/plugins/http/.libs ldap/servers/plugins/http/_libs - -rm -rf ldap/servers/plugins/othercrypto/.libs ldap/servers/plugins/othercrypto/_libs -rm -rf ldap/servers/plugins/pam_passthru/.libs ldap/servers/plugins/pam_passthru/_libs -rm -rf ldap/servers/plugins/passthru/.libs ldap/servers/plugins/passthru/_libs -rm -rf ldap/servers/plugins/presence/.libs ldap/servers/plugins/presence/_libs - -rm -rf ldap/servers/plugins/pwderror/.libs ldap/servers/plugins/pwderror/_libs -rm -rf ldap/servers/plugins/pwdstorage/.libs ldap/servers/plugins/pwdstorage/_libs -rm -rf ldap/servers/plugins/referint/.libs ldap/servers/plugins/referint/_libs -rm -rf ldap/servers/plugins/replication/.libs ldap/servers/plugins/replication/_libs @@ -8909,7 +8804,6 @@ -rm -rf ldap/servers/plugins/syntaxes/.libs ldap/servers/plugins/syntaxes/_libs -rm -rf ldap/servers/plugins/uiduniq/.libs ldap/servers/plugins/uiduniq/_libs -rm -rf ldap/servers/plugins/views/.libs ldap/servers/plugins/views/_libs - -rm -rf ldap/servers/plugins/xor/.libs ldap/servers/plugins/xor/_libs -rm -rf ldap/servers/slapd/.libs ldap/servers/slapd/_libs -rm -rf ldap/servers/slapd/back-ldbm/.libs ldap/servers/slapd/back-ldbm/_libs -rm -rf lib/base/.libs lib/base/_libs @@ -9252,16 +9146,12 @@ -rm -f ldap/servers/plugins/dna/$(am__dirstamp) -rm -f ldap/servers/plugins/http/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/http/$(am__dirstamp) - -rm -f ldap/servers/plugins/othercrypto/$(DEPDIR)/$(am__dirstamp) - -rm -f ldap/servers/plugins/othercrypto/$(am__dirstamp) -rm -f ldap/servers/plugins/pam_passthru/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/pam_passthru/$(am__dirstamp) -rm -f ldap/servers/plugins/passthru/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/passthru/$(am__dirstamp) -rm -f ldap/servers/plugins/presence/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/presence/$(am__dirstamp) - -rm -f ldap/servers/plugins/pwderror/$(DEPDIR)/$(am__dirstamp) - -rm -f ldap/servers/plugins/pwderror/$(am__dirstamp) -rm -f ldap/servers/plugins/pwdstorage/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/pwdstorage/$(am__dirstamp) -rm -f ldap/servers/plugins/referint/$(DEPDIR)/$(am__dirstamp) @@ -9284,8 +9174,6 @@ -rm -f ldap/servers/plugins/uiduniq/$(am__dirstamp) -rm -f ldap/servers/plugins/views/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/plugins/views/$(am__dirstamp) - -rm -f ldap/servers/plugins/xor/$(DEPDIR)/$(am__dirstamp) - -rm -f ldap/servers/plugins/xor/$(am__dirstamp) -rm -f ldap/servers/slapd/$(DEPDIR)/$(am__dirstamp) -rm -f ldap/servers/slapd/$(am__dirstamp) -rm -f ldap/servers/slapd/back-ldbm/$(DEPDIR)/$(am__dirstamp) @@ -9324,7 +9212,7 @@ distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ldap/admin/lib/$(DEPDIR) ldap/admin/src/$(DEPDIR) ldap/libraries/libavl/$(DEPDIR) ldap/servers/plugins/acl/$(DEPDIR) ldap/servers/plugins/bitwise/$(DEPDIR) ldap/servers/plugins/chainingdb/$(DEPDIR) ldap/servers/plugins/collation/$(DEPDIR) ldap/servers/plugins/cos/$(DEPDIR) ldap/servers/plugins/distrib/$(DEPDIR) ldap/servers/plugins/dna/$(DEPDIR) ldap/servers/plugins/http/$(DEPDIR) ldap/servers/plugins/othercrypto/$(DEPDIR) ldap/servers/plugins/pam_passthru/$(DEPDIR) ldap/servers/plugins/passthru/$(DEPDIR) ldap/servers/plugins/presence/$(DEPDIR) ldap/servers/plugins/pwderror/$(DEPDIR) ldap/servers/plugins/pwdstorage/$(DEPDIR) ldap/servers/plugins/referint/$(DEPDIR) ldap/servers/plugins/replication/$(DEPDIR) ldap/servers/plugins/retrocl/$(DEPDIR) ldap/servers/plugins/rever/$(DEPDIR) ldap/servers/plugins/roles/$(DEPDIR) ldap/servers/plugins/shared/$(DEPDIR) ldap/servers/plugins/statechange/$(DEPDIR) ldap/servers/plugins/syntaxes/$(DEPDIR) ldap/servers/plugins/uiduniq/! $(DEPDIR) ldap/servers/plugins/views/$(DEPDIR) ldap/servers/plugins/xor/$(DEPDIR) ldap/servers/slapd/$(DEPDIR) ldap/servers/slapd/back-ldbm/$(DEPDIR) ldap/servers/slapd/tools/$(DEPDIR) ldap/servers/slapd/tools/ldclt/$(DEPDIR) ldap/servers/slapd/tools/rsearch/$(DEPDIR) ldap/servers/snmp/$(DEPDIR) ldap/systools/$(DEPDIR) lib/base/$(DEPDIR) lib/ldaputil/$(DEPDIR) lib/libaccess/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) + -rm -rf ldap/admin/lib/$(DEPDIR) ldap/admin/src/$(DEPDIR) ldap/libraries/libavl/$(DEPDIR) ldap/servers/plugins/acl/$(DEPDIR) ldap/servers/plugins/bitwise/$(DEPDIR) ldap/servers/plugins/chainingdb/$(DEPDIR) ldap/servers/plugins/collation/$(DEPDIR) ldap/servers/plugins/cos/$(DEPDIR) ldap/servers/plugins/distrib/$(DEPDIR) ldap/servers/plugins/dna/$(DEPDIR) ldap/servers/plugins/http/$(DEPDIR) ldap/servers/plugins/pam_passthru/$(DEPDIR) ldap/servers/plugins/passthru/$(DEPDIR) ldap/servers/plugins/presence/$(DEPDIR) ldap/servers/plugins/pwdstorage/$(DEPDIR) ldap/servers/plugins/referint/$(DEPDIR) ldap/servers/plugins/replication/$(DEPDIR) ldap/servers/plugins/retrocl/$(DEPDIR) ldap/servers/plugins/rever/$(DEPDIR) ldap/servers/plugins/roles/$(DEPDIR) ldap/servers/plugins/shared/$(DEPDIR) ldap/servers/plugins/statechange/$(DEPDIR) ldap/servers/plugins/syntaxes/$(DEPDIR) ldap/servers/plugins/uiduniq/$(DEPDIR) ldap/servers/plugins/views/$(DEPDIR) ldap/servers/slapd/$(DEPDIR) ldap/se! rvers/slapd/back-ldbm/$(DEPDIR) ldap/servers/slapd/tools/$(DEPDIR) ldap/servers/slapd/tools/ldclt/$(DEPDIR) ldap/servers/slapd/tools/rsearch/$(DEPDIR) ldap/servers/snmp/$(DEPDIR) ldap/systools/$(DEPDIR) lib/base/$(DEPDIR) lib/ldaputil/$(DEPDIR) lib/libaccess/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-tags @@ -9358,7 +9246,7 @@ maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ldap/admin/lib/$(DEPDIR) ldap/admin/src/$(DEPDIR) ldap/libraries/libavl/$(DEPDIR) ldap/servers/plugins/acl/$(DEPDIR) ldap/servers/plugins/bitwise/$(DEPDIR) ldap/servers/plugins/chainingdb/$(DEPDIR) ldap/servers/plugins/collation/$(DEPDIR) ldap/servers/plugins/cos/$(DEPDIR) ldap/servers/plugins/distrib/$(DEPDIR) ldap/servers/plugins/dna/$(DEPDIR) ldap/servers/plugins/http/$(DEPDIR) ldap/servers/plugins/othercrypto/$(DEPDIR) ldap/servers/plugins/pam_passthru/$(DEPDIR) ldap/servers/plugins/passthru/$(DEPDIR) ldap/servers/plugins/presence/$(DEPDIR) ldap/servers/plugins/pwderror/$(DEPDIR) ldap/servers/plugins/pwdstorage/$(DEPDIR) ldap/servers/plugins/referint/$(DEPDIR) ldap/servers/plugins/replication/$(DEPDIR) ldap/servers/plugins/retrocl/$(DEPDIR) ldap/servers/plugins/rever/$(DEPDIR) ldap/servers/plugins/roles/$(DEPDIR) ldap/servers/plugins/shared/$(DEPDIR) ldap/servers/plugins/statechange/$(DEPDIR) ldap/servers/plugins/syntaxes/$(DEPDIR) ldap/servers/plugins/uiduniq/! $(DEPDIR) ldap/servers/plugins/views/$(DEPDIR) ldap/servers/plugins/xor/$(DEPDIR) ldap/servers/slapd/$(DEPDIR) ldap/servers/slapd/back-ldbm/$(DEPDIR) ldap/servers/slapd/tools/$(DEPDIR) ldap/servers/slapd/tools/ldclt/$(DEPDIR) ldap/servers/slapd/tools/rsearch/$(DEPDIR) ldap/servers/snmp/$(DEPDIR) ldap/systools/$(DEPDIR) lib/base/$(DEPDIR) lib/ldaputil/$(DEPDIR) lib/libaccess/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) + -rm -rf ldap/admin/lib/$(DEPDIR) ldap/admin/src/$(DEPDIR) ldap/libraries/libavl/$(DEPDIR) ldap/servers/plugins/acl/$(DEPDIR) ldap/servers/plugins/bitwise/$(DEPDIR) ldap/servers/plugins/chainingdb/$(DEPDIR) ldap/servers/plugins/collation/$(DEPDIR) ldap/servers/plugins/cos/$(DEPDIR) ldap/servers/plugins/distrib/$(DEPDIR) ldap/servers/plugins/dna/$(DEPDIR) ldap/servers/plugins/http/$(DEPDIR) ldap/servers/plugins/pam_passthru/$(DEPDIR) ldap/servers/plugins/passthru/$(DEPDIR) ldap/servers/plugins/presence/$(DEPDIR) ldap/servers/plugins/pwdstorage/$(DEPDIR) ldap/servers/plugins/referint/$(DEPDIR) ldap/servers/plugins/replication/$(DEPDIR) ldap/servers/plugins/retrocl/$(DEPDIR) ldap/servers/plugins/rever/$(DEPDIR) ldap/servers/plugins/roles/$(DEPDIR) ldap/servers/plugins/shared/$(DEPDIR) ldap/servers/plugins/statechange/$(DEPDIR) ldap/servers/plugins/syntaxes/$(DEPDIR) ldap/servers/plugins/uiduniq/$(DEPDIR) ldap/servers/plugins/views/$(DEPDIR) ldap/servers/slapd/$(DEPDIR) ldap/se! rvers/slapd/back-ldbm/$(DEPDIR) ldap/servers/slapd/tools/$(DEPDIR) ldap/servers/slapd/tools/ldclt/$(DEPDIR) ldap/servers/slapd/tools/rsearch/$(DEPDIR) ldap/servers/snmp/$(DEPDIR) ldap/systools/$(DEPDIR) lib/base/$(DEPDIR) lib/ldaputil/$(DEPDIR) lib/libaccess/$(DEPDIR) lib/libadmin/$(DEPDIR) lib/libsi18n/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic From fedora-directory-commits at redhat.com Fri Jun 15 22:11:17 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Fri, 15 Jun 2007 18:11:17 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/admin/src create_instance.c, 1.58, 1.59 ds_newinst.pl.in, 1.7, 1.8 Message-ID: <200706152211.l5FMBHBI005495@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver/ldap/admin/src In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5442/ldapserver/ldap/admin/src Modified Files: create_instance.c ds_newinst.pl.in Log Message: Resolves: bug 237356 Description: Move DS Admin Code into Admin Server Reviewed by: nhosoi (Thanks!) Fix Description: 1) Since we moved the o=NetscapeRoot code out of cfg_sspt.c, we no longer need to create the suffix and backend in create_instance.c 2) Added code to enable/disable dialogs e.g. for dialogs that can change the flow conditionally 3) Added code to allow the user to backup to the first prompt on a dialog, for dialogs with many prompts 4) Allow continuation lines in Resource files, instead of having to have embedded \n chars. This allows easier editing and layout. 5) Added an addSuffix function 6) Moved the register_servers.pl code from admin server into DS Util.pm and made it a little more general purpose. Platforms tested: RHEL4 Index: create_instance.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/create_instance.c,v retrieving revision 1.58 retrieving revision 1.59 diff -u -r1.58 -r1.59 --- create_instance.c 7 Jun 2007 22:40:14 -0000 1.58 +++ create_instance.c 15 Jun 2007 22:11:15 -0000 1.59 @@ -3404,12 +3404,6 @@ fprintf(f, "cn: tasks\n"); fprintf(f, "\n"); - /* Entries for the ldbm instances and mapping tree */ - if ( cf->netscaperoot && !cf->use_existing_config_ds) - { - suffix_gen_conf(f, cf->netscaperoot, "NetscapeRoot"); - } - if (!cf->use_existing_user_ds) { suffix_gen_conf(f, cf->suffix, "userRoot"); Index: ds_newinst.pl.in =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/ds_newinst.pl.in,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ds_newinst.pl.in 7 Jun 2007 22:40:14 -0000 1.7 +++ ds_newinst.pl.in 15 Jun 2007 22:11:15 -0000 1.8 @@ -189,7 +189,7 @@ # process command line arguments for (@ARGV) { - if (/^(\w+).(\w+)=(.*)$/) { # e.g. section.param=value + if (/^(\w+)\.(\w+)=(.*)$/) { # e.g. section.param=value $table{$1}->{$2} = $3; } else { # file? readInfFile($_); From fedora-directory-commits at redhat.com Fri Jun 15 22:11:18 2007 From: fedora-directory-commits at redhat.com (Richard Allen Megginson (rmeggins)) Date: Fri, 15 Jun 2007 18:11:18 -0400 Subject: [Fedora-directory-commits] ldapserver/ldap/admin/src/scripts Dialog.pm, 1.2, 1.3 DialogManager.pm, 1.1, 1.2 Resource.pm, 1.2, 1.3 Setup.pm.in, 1.2, 1.3 Util.pm, 1.1, 1.2 setup-ds.res.in, 1.2, 1.3 Message-ID: <200706152211.l5FMBIeu005503@cvs-int.fedora.redhat.com> Author: rmeggins Update of /cvs/dirsec/ldapserver/ldap/admin/src/scripts In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5442/ldapserver/ldap/admin/src/scripts Modified Files: Dialog.pm DialogManager.pm Resource.pm Setup.pm.in Util.pm setup-ds.res.in Log Message: Resolves: bug 237356 Description: Move DS Admin Code into Admin Server Reviewed by: nhosoi (Thanks!) Fix Description: 1) Since we moved the o=NetscapeRoot code out of cfg_sspt.c, we no longer need to create the suffix and backend in create_instance.c 2) Added code to enable/disable dialogs e.g. for dialogs that can change the flow conditionally 3) Added code to allow the user to backup to the first prompt on a dialog, for dialogs with many prompts 4) Allow continuation lines in Resource files, instead of having to have embedded \n chars. This allows easier editing and layout. 5) Added an addSuffix function 6) Moved the register_servers.pl code from admin server into DS Util.pm and made it a little more general purpose. Platforms tested: RHEL4 Index: Dialog.pm =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/Dialog.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Dialog.pm 12 Jun 2007 21:08:20 -0000 1.2 +++ Dialog.pm 15 Jun 2007 22:11:15 -0000 1.3 @@ -106,6 +106,21 @@ return $self->{type} <= $self->{"manager"}->{type}; } +sub isEnabled { + my $self = shift; + return !defined($self->{disabled}); +} + +sub enable { + my $self = shift; + delete $self->{disabled}; +} + +sub disable { + my $self = shift; + $self->{disabled} = 1; +} + # each prompt looks like this: # [ 'resource key', is pwd, hide ] # The resource key is the string key of the resource @@ -135,7 +150,7 @@ my $prompt = $prompts[$index]; my $defaultans = $self->{defaultAns}($self, $index); my $ans; - if ($self->isDisplayed() && !$promtpt->[2]) { + if ($self->isDisplayed() && !$prompt->[2]) { $ans = $self->{manager}->showPrompt($prompt->[0], $defaultans, $prompt->[1]); } else { $ans = $defaultans; @@ -155,12 +170,14 @@ # NOTE: user cannot BACK from prompt to prompt - BACK # always means BACK to the previous dialog $resp = $self->{handleResp}($self, $ans, $index); - if ($resp == $DialogManager::SAME) { + if (($resp == $DialogManager::SAME) or ($resp == $DialogManager::FIRST)) { if (!$self->isDisplayed()) { $self->{manager}->alert('dialog_use_different_type'); $resp = $DialogManager::ERR; - } else { + } elsif ($resp == $DialogManager::SAME) { $index--; # reprompt + } else { + $index = -1; # reshow first prompt on dialog } } elsif ($resp == $DialogManager::ERR) { last; Index: DialogManager.pm =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/DialogManager.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DialogManager.pm 8 Jun 2007 01:09:16 -0000 1.1 +++ DialogManager.pm 15 Jun 2007 22:11:15 -0000 1.2 @@ -46,10 +46,11 @@ use SetupLog; # Dialog responses -$BACK = -1; -$SAME = 0; -$NEXT = 1; -$ERR = 2; +$FIRST = -2; # go back to first prompt on a dialog +$BACK = -1; # go back to previous dialog +$SAME = 0; # reshow the same prompt or dialog +$NEXT = 1; # go to the next dialog +$ERR = 2; # fatal error # The DialogManager controls the flow of the dialogs and contains context shared # among all of the dialogs (resources, logs, current setup type, etc.) @@ -199,18 +200,20 @@ while (!$done) { my $dialog = $self->{dialogs}->[$index]; - my $resp = $NEXT; - $resp = $dialog->run(); - if ($resp == $BACK) { - $incr = -1; - } elsif ($resp == $NEXT) { - $incr = 1; - } elsif ($resp == $SAME) { - $incr = 0; - } else { - $self->handleError($resp); - $done = 1; - $rc = 1; + if ($dialog->isEnabled()) { + my $resp = $NEXT; + $resp = $dialog->run(); + if ($resp == $BACK) { + $incr = -1; + } elsif ($resp == $NEXT) { + $incr = 1; + } elsif (($resp == $SAME) or ($resp == $FIRST)) { + $incr = 0; + } else { + $self->handleError($resp); + $done = 1; + $rc = 1; + } } $index += $incr; if ($index < 0) { Index: Resource.pm =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/Resource.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Resource.pm 8 Jun 2007 20:36:53 -0000 1.2 +++ Resource.pm 15 Jun 2007 22:11:15 -0000 1.3 @@ -74,19 +74,45 @@ } for my $filename (@{$self->{filenames}}) { + my $incontinuation = 0; + my $curkey; open RES, $filename or die "Error: could not open resource file $filename: $!"; while () { - next if (/^\s*$/); # skip blank lines - next if (/^\s*\#/); # skip comment lines + my $iscontinuation; + chop; # trim trailing newline + if (/^\s*$/) { # skip blank/empty lines + $incontinuation = 0; + next; + } + if (/^\s*\#/) { # skip comment lines + $incontinuation = 0; + next; + } # read name = value pairs like this # bol whitespace* name whitespace* '=' whitespace* value eol # the value will include any trailing whitespace - if (/^\s*(.*?)\s*=\s*(.*?)$/) { - $self->{res}->{$1} = $2; + if (/\\$/) { + chop; + $iscontinuation = 1; + } + if ($incontinuation) { + $self->{res}->{$curkey} .= "\n" . $_; + } elsif (/^\s*(.*?)\s*=\s*(.*?)$/) { # replace \n with real newline - $self->{res}->{$1} =~ s/\\n/\n/g; + if ($curkey) { + $self->{res}->{$curkey} =~ s/\\n/\n/g; + } + $curkey = $1; + $self->{res}->{$curkey} = $2; + } + if ($iscontinuation) { # if line ends with a backslash, continue the data on the next line + $incontinuation = 1; + } else { + $incontinuation = 0; } } + # replace \n with real newline + $self->{res}->{$curkey} =~ s/\\n/\n/g; close RES; } } Index: Setup.pm.in =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/Setup.pm.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Setup.pm.in 12 Jun 2007 21:08:20 -0000 1.2 +++ Setup.pm.in 15 Jun 2007 22:11:15 -0000 1.3 @@ -147,7 +147,7 @@ # arguments override those passed in via an inf file - this # allows the reuse of .inf files with some parameters overridden for (@ARGV) { - if (/^(\w+).(\w+)=(.*)$/) { # e.g. section.param=value + if (/^(\w+)\.(\w+)=(.*)$/) { # e.g. section.param=value $self->{inf}->{$1}->{$2} = $3; } else { # error print STDERR "Error: unknown command line option $_\n"; @@ -202,6 +202,21 @@ exit 1; } +# get a list of the directory servers in configdir +sub getDirServers { + my $self = shift; + if (!$self->{dirservers}) { + $self->{dirservers} = []; + for my $dir (glob("$self->{configdir}/slapd-*")) { + if (-d $dir) { + push @{$self->{dirservers}}, $dir; + } + } + } + return @{$self->{dirservers}}; +} + + ############################################################################# # Mandatory TRUE return value. # Index: Util.pm =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/src/scripts/Util.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Util.pm 8 Jun 2007 01:09:16 -0000 1.1 +++ Util.pm 15 Jun 2007 22:11:15 -0000 1.2 @@ -37,10 +37,18 @@ # package Util; + +use Mozilla::LDAP::Conn; +use Mozilla::LDAP::Utils qw(normalizeDN); +use Mozilla::LDAP::API; # Direct access to C API +use Mozilla::LDAP::LDIF; + require Exporter; @ISA = qw(Exporter); - at EXPORT = qw(portAvailable getAvailablePort isValidDN); - at EXPORT_OK = qw(portAvailable getAvailablePort isValidDN); + at EXPORT = qw(portAvailable getAvailablePort isValidDN addSuffix getMappedEntries + process_maptbl check_and_add_entry getMappedEntries); + at EXPORT_OK = qw(portAvailable getAvailablePort isValidDN addSuffix getMappedEntries + process_maptbl check_and_add_entry getMappedEntries); use strict; @@ -79,4 +87,526 @@ return ($dn =~ /^[0-9a-zA-Z_-]+=.*$/); } +sub debug { + print @_, "\n"; +} + +# delete the subtree starting from the passed entry +sub delete_all +{ + my ($conn, $bentry) = @_; + my $sentry = $conn->search($bentry->{dn}, + "subtree", "(objectclass=*)", 0, ("dn")); + my @mystack = (); + while ($sentry) { + push @mystack, $sentry->getDN(); + $sentry = $conn->nextEntry(); + } + # reverse order + my $dn = pop @mystack; + while ($dn) { + $conn->delete($dn); + my $rc = $conn->getErrorCode(); + if ( $rc != 0 ) { + $conn->printError(); + print "ERROR: unable to delete entry $dn, error code: $rc\n"; + return 1; + } + $dn = pop @mystack; + } + return 0; +} + +my %ignorelist = ( + "modifytimestamp", "modifyTimestamp", + "createtimestamp", "createTimestamp", + "installationtimestamp", "installationTimestamp", + "creatorsname", "creatorsName", + "modifiersname", "modifiersName", + "numsubordinates", "numSubordinates" +); + +my %speciallist = ( + "uniquemember", 1 +); + +# compare 2 entries +# return 0 if they match 100% (exception: %ignorelist). +# return 1 if they match except %speciallist. +# return -1 if they do not match. +sub comp_entries +{ + my ($e0, $e1) = @_; + my $rc = 0; + foreach my $akey ( keys %{$e0} ) + { + next if ( $ignorelist{lc($akey)} ); + my $aval0 = $e0->{$akey}; + my $aval1 = $e1->{$akey}; + my $amin; + my $amax; + my $a0max = $#{$aval0}; + my $a1max = $#{$aval1}; + if ( $a0max != $a1max ) + { + if ( $speciallist{lc($akey)} ) + { + $rc = 1; + if ( $a0max < $a1max ) + { + $amin = $a0max; + $amax = $a1max; + } + else + { + $amin = $a1max; + $amax = $a0max; + } + } + else + { + $rc = -1; + return $rc; + } + } + my @sval0 = sort { $a cmp $b } @{$aval0}; + my @sval1 = sort { $a cmp $b } @{$aval1}; + for ( my $i = 0; $i <= $amin; $i++ ) + { + my $isspecial = -1; + if ( $sval0[$i] ne $sval1[$i] ) + { + if ( 0 > $isspecial ) + { + $isspecial = $speciallist{lc($akey)}; + } + if ( $isspecial ) + { + $rc = 1; + } + else + { + $rc = -1; + return $rc; + } + } + } + } + return $rc; +} + +# if the entry does not exist on the server, add the entry. +# otherwise, do nothing +# you can use this as the callback to getMappedEntries, so +# that for each entry in the ldif file being processed, you +# can call this subroutine to add or update the entry +# use like this: +# getMappedEntries($mapper, \@ldiffiles, \&check_and_add_entry, +# [$conn, $fresh, $verbose]); +# where $conn is a perldap Conn +# $fresh if true will update the entry if it exists +# $verbose prints out more info +sub check_and_add_entry +{ + my ($context, $aentry) = @_; + my $conn = $context->[0]; + my $fresh = $context->[1]; + my $verbose = $context->[2]; + my $sentry = $conn->search($aentry->{dn}, "base", "(objectclass=*)"); + do + { + my $needtoadd = 1; + my $needtomod = 0; + my $rval = -1; + if ( $sentry && !$fresh ) + { + $rval = comp_entries( $sentry, $aentry ); + } + if ( 0 == $rval && !$fresh ) + { + # the identical entry exists on the configuration DS. + # no need to add the entry. + $needtoadd = 0; + goto out; + } + elsif ( (1 == $rval) && !$fresh ) + { + $needtoadd = 0; + $needtomod = 1; + } + elsif ( $sentry && $sentry->{dn} ) + { + # $fresh || $rval == -1 + # an entry having the same DN exists, but the attributes do not + # match. remove the entry and the subtree underneath. + if ( $verbose ) + { + print "Deleting an entry dn: $sentry->{dn} ...\n"; + } + $rval = delete_all($conn, $sentry); + if ( 0 != $rval ) + { + return 0; + } + } + + if ( 1 == $needtoadd ) + { + $conn->add($aentry); + my $rc = $conn->getErrorCode(); + if ( $rc != 0 ) + { + print "ERROR: adding an entry $aentry->{dn} failed, error code: $rc\n"; + print "[entry]\n"; + $aentry->printLDIF(); + $conn->close(); + return 0; + } +# if ( $verbose ) +# { +# print "Entry $aentry->{dn} is added\n"; +# } + } + elsif ( 1 == $needtomod ) # $sentry exists + { + foreach my $attr ( keys %speciallist ) + { + foreach my $nval ( @{$aentry->{$attr}} ) + { + $sentry->addValue( $attr, $nval ); + } + } + $conn->update($sentry); + my $rc = $conn->getErrorCode(); + if ( $rc != 0 ) + { + print "ERROR: updating an entry $sentry->{dn} failed, error code: $rc\n"; + print "[entry]\n"; + $aentry->printLDIF(); + $conn->close(); + return 0; + } + } + if ( $sentry ) + { + $sentry = $conn->nextEntry(); # supposed to have no more entries + } + } until ( !$sentry ); +out: + return 1; +} + +# the default callback used with getMappedEntries +# just adds the given entry to the given list +sub cbaddent { + my $list = shift; + my $ent = shift; + push @{$list}, $ent; + return 1; +} + +# given a mapper and a list of LDIF files, produce a list of +# perldap Entry objects which have had their tokens subst-ed +# with values from the mapper +# An optional callback can be supplied. Each entry will be +# given to this callback. The callback should return a list +# of localizable errors. If no callback is supplied, the +# entries will be returned in a list. +# Arguments: +# mapper - a hash ref - the keys are the tokens to replace +# and the values are the replacements +# ldiffiles - an array ref - the list of LDIF files to +# operate on +# callback (optional) - a code ref - a ref to a subroutine +# that will be called with each entry - see below +# context (optional) - this will be passed as the first +# argument to your given callback - see below +# errs (optional) - an array ref - This is how errors +# are returned to the caller - see below +# Callback: +# The callback sub will be called for each entry after +# the entry has been converted. The callback will be +# called with the given context as the first argument +# and the Mozilla::LDAP::Entry as the second argument, +# and an errs array ref as the third argument. The +# callback should return true to continue processing, +# or false if a fatal error was encountered that should +# abort processing of any further. +# Errors: +# This function should return an array of errors in the +# format described below, for use with Resource::getText(). +# If the callback returns any errors +# Return: +# The return value is a list of entries. +# Example usage: +# sub handle_entries { +# my $context = shift; +# my $entry = shift; +# .... do something with entry .... +# .... if $context is Mozilla::LDAP::Conn, $conn->add($entry); ... +# .... report errors .... +# if ($fatalerror) { +# return 0; +# } else { +# return 1; +# } +# } +# $mapper = {foo => 'bar', baz => 'biff'}; +# @ldiffiles = ('foo.ldif', 'bar.ldif', ..., 'biff.ldif'); +# $conn = new Mozilla::LDAP::Conn(...); +# @entries = getMappedEntries($mapper, \@ldiffiles, \&handle_entries, $conn); +# Note that this will return 0 entries since a callback was used. +# The simpler example is this: +# @entries = getMappedEntries($mapper, \@ldiffiles); +# +sub getMappedEntries { + my $mapper = shift; + my $ldiffiles = shift; + my $callback = shift || \&cbaddent; # default - just add entry to @entries + my @entries = (); + my $context = shift || \@entries; + my $error; + + if (!ref($ldiffiles)) { + $ldiffiles = [ $ldiffiles ]; + } + + foreach my $ldiffile (@{$ldiffiles}) { + open(MYLDIF, "< $ldiffile") or die "Can't open $ldiffile : $!"; + my $in = new Mozilla::LDAP::LDIF(*MYLDIF); + debug("Processing $ldiffile ..."); + ENTRY: while (my $entry = Mozilla::LDAP::LDIF::readOneEntry($in)) { + # first, fix the DN + my $dn = $entry->getDN(); + my $origdn = $dn; + while ( $dn =~ /%([\w_-]+)%/ ) { + if (exists($mapper->{$1})) { + $dn =~ s{%([\w_-]+)%}{$mapper->{$1}}ge; + } else { + print "ERROR: \"$origdn\" mapped to \"$dn\".\n"; + print "The LDIF file $ldiffile contains a token $1 for which there is no mapper.\n"; + print "Please check $ldiffile and your mapper to make sure all tokens are handled correctly.\n"; + $error = 1; + last ENTRY; + } + } + $entry->setDN($dn); + # next, fix all of the values in all of the attributes + foreach my $attr (keys %{$entry}) { + my @newvalues = (); + foreach my $value ($entry->getValues($attr)) { + # Need to repeat to handle nested subst + my $origvalue = $value; + while ( $value =~ /%([\w