ldap/servers
by Noriko Hosoi
ldap/servers/slapd/connection.c | 2 ++
ldap/servers/slapd/daemon.c | 3 ++-
ldap/servers/slapd/pagedresults.c | 4 ++--
3 files changed, 6 insertions(+), 3 deletions(-)
New commits:
commit 68d53e39a919560741e47668b8a46b59f4ced524
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Mon Jan 31 09:26:07 2011 -0800
Bug 668619 - slapd stops responding
https://bugzilla.redhat.com/show_bug.cgi?id=668619
Description: The server uses c_timelimit field in the connection
table element to check the staled Simple Paged Results request.
The field is supposed to be cleaned up when the staled Simple
Paged Results connection is disconnected. But the cleanup was
sometimes incomplete. It causes the following requests which
happens to acquire the same connection table element timed out.
This patch forces to clean up the c_timelimit every time the
connection table is acquired and renewed. Also, the timeout
check is done only for the Simple Paged Results connection.
diff --git a/ldap/servers/slapd/connection.c b/ldap/servers/slapd/connection.c
index 519546b..7b00a21 100644
--- a/ldap/servers/slapd/connection.c
+++ b/ldap/servers/slapd/connection.c
@@ -2721,6 +2721,8 @@ disconnect_server_nomutex( Connection *conn, PRUint64 opconnid, int opid, PRErro
if ( ( conn->c_sd != SLAPD_INVALID_SOCKET &&
conn->c_connid == opconnid ) && !(conn->c_flags & CONN_FLAG_CLOSING) ) {
+ pagedresults_cleanup(conn); /* In case the connection is on pagedresult */
+
/*
* PR_Close must be called before anything else is done because
* of NSPR problem on NT which requires that the socket on which
diff --git a/ldap/servers/slapd/daemon.c b/ldap/servers/slapd/daemon.c
index 0242902..6678269 100644
--- a/ldap/servers/slapd/daemon.c
+++ b/ldap/servers/slapd/daemon.c
@@ -1221,7 +1221,8 @@ setup_pr_read_pds(Connection_Table *ct, PRFileDesc **n_tcps, PRFileDesc **s_tcps
c->c_fdi = SLAPD_INVALID_SOCKET_INDEX;
}
}
- if (c->c_timelimit > 0) /* check timeout for PAGED RESULTS */
+ /* check timeout for PAGED RESULTS */
+ if (c->c_current_be && (c->c_timelimit > 0))
{
time_t ctime = current_time();
if (ctime > c->c_timelimit)
diff --git a/ldap/servers/slapd/pagedresults.c b/ldap/servers/slapd/pagedresults.c
index 47b3490..a1b0333 100644
--- a/ldap/servers/slapd/pagedresults.c
+++ b/ldap/servers/slapd/pagedresults.c
@@ -381,9 +381,9 @@ pagedresults_cleanup(Connection *conn)
conn->c_search_result_set = NULL;
}
conn->c_current_be = 0;
- conn->c_search_result_count = 0;
- conn->c_timelimit = 0;
rc = 1;
}
+ conn->c_search_result_count = 0;
+ conn->c_timelimit = 0;
return rc;
}
12 years, 10 months
ldap/servers
by Noriko Hosoi
ldap/servers/slapd/back-ldbm/ldbm_attrcrypt.c | 141 +++++++++++++++++++++-----
ldap/servers/slapd/proto-slap.h | 3
ldap/servers/slapd/security_wrappers.c | 36 +++++-
3 files changed, 151 insertions(+), 29 deletions(-)
New commits:
commit 57dcdf1d260ebad6ce419baa5e32e33e2ba9e815
Author: Noriko Hosoi <nhosoi(a)jiji.usersys.redhat.com>
Date: Thu Jan 27 11:53:39 2011 -0800
Bug 624547 - attrcrypt should query the given slot/token for
supported ciphers
https://bugzilla.redhat.com/show_bug.cgi?id=624547
Description:
1. To retrieve a certificate from an external token (i.e., not
"internal (software)"), "<token>:<cert_nickname> should have
been passed. The <token> part was missing.
2. The key to be used for encryption and decryption internally
needs to have ENCRYPT and DECRYPT attribute set, respectively.
The correct attributes were not set. Note: these attributes
are automatically set for the softoken in nss, but not for the
external token. This is why attrcrypt worked for the softoken,
but not for the external token. The attributes need to be set
when the key is generated as well as when the key is unwrapped.
3. Adding a code to check if the underlying system supports the
cipher or not before generating a key. If it is not supported,
it issues a message not to choose the cipher for the attrcrypt/
changelog encryption. If none of the ciphers are supported and
if attrcrypt/changelog encryption is enabled, the server fails
to start.
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_attrcrypt.c b/ldap/servers/slapd/back-ldbm/ldbm_attrcrypt.c
index 88d78fc..2b94107 100644
--- a/ldap/servers/slapd/back-ldbm/ldbm_attrcrypt.c
+++ b/ldap/servers/slapd/back-ldbm/ldbm_attrcrypt.c
@@ -55,9 +55,12 @@
#define ATTRCRYPT "attrcrypt"
-attrcrypt_cipher_entry attrcrypt_cipher_list[] = { {ATTRCRYPT_CIPHER_AES, "AES", CKM_AES_CBC_PAD, CKM_AES_CBC_PAD, CKM_AES_CBC_PAD, 128/8, 16} ,
- {ATTRCRYPT_CIPHER_DES3 , "3DES" , CKM_DES3_CBC_PAD, CKM_DES3_CBC_PAD, CKM_DES3_CBC_PAD, 112/8, 8},
- {0} };
+attrcrypt_cipher_entry attrcrypt_cipher_list[] =
+{
+ {ATTRCRYPT_CIPHER_AES, "AES", CKM_AES_CBC_PAD, CKM_AES_CBC_PAD, CKM_AES_CBC_PAD, 128/8, 16} ,
+ {ATTRCRYPT_CIPHER_DES3, "3DES", CKM_DES3_CBC_PAD, CKM_DES3_CBC_PAD, CKM_DES3_CBC_PAD, 112/8, 8},
+ {0}
+};
#define KEY_ATTRIBUTE_NAME "nsSymmetricKey"
@@ -143,13 +146,28 @@ attrcrypt_get_ssl_cert_name(char **cert_name)
{
char *config_entry_dn = "cn=RSA,cn=encryption,cn=config";
Slapi_Entry *config_entry = NULL;
+ char *personality = NULL;
+ char *token = NULL;
*cert_name = NULL;
getConfigEntry(config_entry_dn, &config_entry);
if (NULL == config_entry) {
return -1;
}
- *cert_name = slapi_entry_attr_get_charptr( config_entry, "nssslpersonalityssl" );
+ token = slapi_entry_attr_get_charptr( config_entry, "nsssltoken" );
+ personality =
+ slapi_entry_attr_get_charptr( config_entry, "nssslpersonalityssl" );
+ if (token && personality) {
+ if(!strcasecmp(token, "internal") ||
+ !strcasecmp(token, "internal (software)")) {
+ *cert_name = personality;
+ } else {
+ /* external PKCS #11 token - attach token name */
+ *cert_name = slapi_ch_smprintf("%s:%s", token, personality);
+ slapi_ch_free_string(&personality);
+ }
+ slapi_ch_free_string(&token);
+ }
freeConfigEntry(&config_entry);
return 0;
}
@@ -265,13 +283,31 @@ attrcrypt_unwrap_key(attrcrypt_cipher_state *acs, SECKEYPrivateKey *private_key,
int ret = 0;
CK_MECHANISM_TYPE wrap_mechanism = acs->ace->wrap_mechanism;
SECKEYPrivateKey *unwrapping_key = private_key;
- LDAPDebug(LDAP_DEBUG_TRACE,"-> attrcrypt_unwrap_key\n", 0, 0, 0);
- *unwrapped_symmetric_key = slapd_pk11_PubUnwrapSymKey(unwrapping_key, wrapped_symmetric_key, wrap_mechanism, CKA_UNWRAP, 0);
+
+ slapi_log_error(SLAPI_LOG_TRACE, ATTRCRYPT, "-> attrcrypt_unwrap_key\n");
+ /*
+ * NOTE: we are unwrapping one symmetric key with attribute both ENCRYPT
+ * and DECRYPT set. Some hardware token might have a problem with
+ * it. In such case, we need to generate 2 identiday keys, one for
+ * encryption and another for decription. When unwrapping them,
+ * set attribute ENCRYPT for the encryption key and DECRYPT for
+ * the decryption key.
+ */
+ *unwrapped_symmetric_key = slapd_pk11_PubUnwrapSymKeyWithFlagsPerm(
+ unwrapping_key,
+ wrapped_symmetric_key,
+ wrap_mechanism,
+ CKA_DECRYPT, 0,
+ CKF_ENCRYPT,
+ PR_FALSE);
if (NULL == *unwrapped_symmetric_key) {
ret = -1;
- LDAPDebug(LDAP_DEBUG_ANY,"attrcrypt_unwrap_key: failed to unwrap key for cipher %s\n", acs->ace->cipher_display_name, 0, 0);
+ slapi_log_error(SLAPI_LOG_FATAL, ATTRCRYPT,
+ "attrcrypt_unwrap_key: "
+ "failed to unwrap key for cipher %s\n",
+ acs->ace->cipher_display_name);
}
- LDAPDebug(LDAP_DEBUG_TRACE,"<- attrcrypt_unwrap_key\n", 0, 0, 0);
+ slapi_log_error(SLAPI_LOG_TRACE, ATTRCRYPT, "<- attrcrypt_unwrap_key\n");
return ret;
}
@@ -279,16 +315,44 @@ attrcrypt_unwrap_key(attrcrypt_cipher_state *acs, SECKEYPrivateKey *private_key,
static int
attrcrypt_generate_key(attrcrypt_cipher_state *acs,PK11SymKey **symmetric_key)
{
- int ret = -1;
+ int ret = 1;
PK11SymKey *new_symmetric_key = NULL;
+ slapi_log_error(SLAPI_LOG_TRACE, ATTRCRYPT, "-> attrcrypt_generate_key\n");
+ if (NULL == symmetric_key) {
+ LDAPDebug0Args(LDAP_DEBUG_ANY, "NULL symmetric_key\n");
+ goto bail;
+ }
*symmetric_key = NULL;
- LDAPDebug(LDAP_DEBUG_TRACE,"-> attrcrypt_generate_key\n", 0, 0, 0);
- new_symmetric_key = slapd_pk11_KeyGen(acs->slot, acs->ace->key_gen_mechanism, NULL, acs->ace->key_size, NULL);
+
+ if (!slapd_pk11_DoesMechanism(acs->slot, acs->ace->cipher_mechanism)) {
+ slapi_log_error(SLAPI_LOG_FATAL, ATTRCRYPT, "%s is not supported.\n",
+ acs->ace->cipher_display_name);
+ ret = -1;
+ goto bail;
+ }
+
+ /*
+ * NOTE: we are generating one symmetric key with attribute both ENCRYPT
+ * and DECRYPT set. Some hardware token might have a problem with
+ * it. In such case, we need to generate 2 identiday keys, one for
+ * encryption (with an attribute ENCRYPT set) and another for
+ * decription (DECRYPT set).
+ */
+ new_symmetric_key = slapd_pk11_TokenKeyGenWithFlags(acs->slot,
+ acs->ace->key_gen_mechanism,
+ 0 /*param*/,
+ acs->ace->key_size,
+ NULL /*keyid*/,
+ CKA_DECRYPT/*op*/,
+ CKF_ENCRYPT/*attr*/,
+ NULL);
if (new_symmetric_key) {
*symmetric_key = new_symmetric_key;
ret = 0;
}
- LDAPDebug(LDAP_DEBUG_TRACE,"<- attrcrypt_generate_key\n", 0, 0, 0);
+bail:
+ slapi_log_error(SLAPI_LOG_TRACE, ATTRCRYPT,
+ "<- attrcrypt_generate_key (%d)\n", ret);
return ret;
}
@@ -393,7 +457,7 @@ attrcrypt_cipher_init(ldbm_instance *li, attrcrypt_cipher_entry *ace, SECKEYPriv
{
int ret = 0;
PK11SymKey *symmetric_key = NULL;
- LDAPDebug(LDAP_DEBUG_TRACE,"-> attrcrypt_cipher_init\n", 0, 0, 0);
+ slapi_log_error(SLAPI_LOG_TRACE, ATTRCRYPT, "-> attrcrypt_cipher_init\n");
acs->cipher_lock = PR_NewLock();
/* Fill in some basic stuff */
acs->ace = ace;
@@ -416,11 +480,17 @@ attrcrypt_cipher_init(ldbm_instance *li, attrcrypt_cipher_entry *ace, SECKEYPriv
"No symmetric key found for cipher %s in backend %s, "
"attempting to create one...\n",
acs->cipher_display_name, li->inst_name);
- ret = attrcrypt_generate_key(acs,&symmetric_key);
+ ret = attrcrypt_generate_key(acs, &symmetric_key);
if (ret) {
- slapi_log_error(SLAPI_LOG_FATAL, ATTRCRYPT,
- "Failed to generate key for %s in attrcrypt_cipher_init\n",
+ slapi_log_error(SLAPI_LOG_FATAL, ATTRCRYPT, "Warning: "
+ "Failed to generate key for %s in attrcrypt_cipher_init\n",
acs->cipher_display_name);
+ if ((ret < 0) && li->attrcrypt_configured) {
+ slapi_log_error(SLAPI_LOG_FATAL, ATTRCRYPT,
+ "Cipher %s is not supported on the security device. "
+ "Do not configure attrcrypt with the cipher.\n",
+ ace->cipher_display_name);
+ }
}
if (symmetric_key) {
ret = attrcrypt_keymgmt_store_key(li,acs,public_key,symmetric_key);
@@ -450,7 +520,7 @@ attrcrypt_cipher_init(ldbm_instance *li, attrcrypt_cipher_entry *ace, SECKEYPriv
acs->key = symmetric_key;
}
error:
- LDAPDebug(LDAP_DEBUG_TRACE,"<- attrcrypt_cipher_init\n", 0, 0, 0);
+ slapi_log_error(SLAPI_LOG_TRACE, ATTRCRYPT, "<- attrcrypt_cipher_init\n");
return ret;
}
@@ -479,23 +549,38 @@ attrcrypt_init(ldbm_instance *li)
if (!ret) {
ret = attrcrypt_fetch_public_key(&public_key);
if (!ret) {
- for (ace = attrcrypt_cipher_list; ace && ace->cipher_number && !ret; ace++) {
+ int cipher_is_available = 0;
+ for (ace = attrcrypt_cipher_list;
+ ace && ace->cipher_number && !ret; ace++) {
/* Make a state object for this cipher */
attrcrypt_cipher_state *acs = (attrcrypt_cipher_state *) slapi_ch_calloc(sizeof(attrcrypt_cipher_state),1);
ret = attrcrypt_cipher_init(li, ace, private_key, public_key, acs);
if (ret) {
- LDAPDebug(LDAP_DEBUG_ANY,"Failed to initialize cipher %s in attrcrypt_init\n", ace->cipher_display_name, 0, 0);
- if (!li->attrcrypt_configured) {
+ slapi_ch_free((void **)&acs);
+ if (li->attrcrypt_configured) {
+ if ((ace+1)->cipher_number) {
+ /* this is not the last cipher */
+ ret = 0;
+ continue;
+ }
+ } else {
/* if not using attrcrypt, just return success */
ret = 0;
}
- slapi_ch_free((void **)&acs);
} else {
/* Since we succeeded, add the acs to the backend instance list */
attrcrypt_acs_list_add(li,acs);
- LDAPDebug(LDAP_DEBUG_TRACE,"Initialized cipher %s in attrcrypt_init\n", ace->cipher_display_name, 0, 0);
+ slapi_log_error(SLAPI_LOG_TRACE, ATTRCRYPT,
+ "Initialized cipher %s in attrcrypt_init\n",
+ ace->cipher_display_name);
+ cipher_is_available = 1; /* at least one is available */
}
}
+ if (!cipher_is_available) {
+ slapi_log_error(SLAPI_LOG_FATAL, ATTRCRYPT,
+ "All prepared ciphers are not available. "
+ "Please disable attribute encryption.\n");
+ }
}
slapd_pk11_DestroyPublicKey(public_key);
public_key = NULL;
@@ -986,7 +1071,9 @@ back_crypt_init(Slapi_Backend *be, const char *dn,
private_key, public_key, acs, dn);
if (ret) {
slapi_log_error(SLAPI_LOG_FATAL, ATTRCRYPT,
- "back_crypt_init: Failed to initialize cipher %s\n",
+ "back_crypt_init: Failed to initialize cipher %s."
+ "Please choose other cipher or disable changelog "
+ "encryption.\n",
ace->cipher_display_name);
slapi_ch_free((void **)&acs);
} else {
@@ -1180,6 +1267,12 @@ _back_crypt_cipher_init(Slapi_Backend *be,
slapi_log_error(SLAPI_LOG_FATAL, ATTRCRYPT,
"_back_crypt_cipher_init: Failed to generate key for %s\n",
acs->cipher_display_name);
+ if (ret < 0) {
+ slapi_log_error(SLAPI_LOG_FATAL, ATTRCRYPT,
+ "Cipher %s is not supported on the security device. "
+ "Do not configure changelog encryption with the cipher.\n",
+ ace->cipher_display_name);
+ }
}
if (symmetric_key) {
ret = _back_crypt_keymgmt_store_key(be, acs, public_key,
@@ -1529,7 +1622,7 @@ _back_crypt_crypto_op(attrcrypt_private *priv,
}
error:
if (sec_context) {
- PK11_DestroyContext(sec_context, PR_TRUE);
+ slapd_pk11_destroyContext(sec_context, PR_TRUE);
}
if (security_parameter) {
SECITEM_FreeItem(security_parameter, PR_TRUE);
diff --git a/ldap/servers/slapd/proto-slap.h b/ldap/servers/slapd/proto-slap.h
index fb852b5..dd7ec88 100644
--- a/ldap/servers/slapd/proto-slap.h
+++ b/ldap/servers/slapd/proto-slap.h
@@ -1017,6 +1017,9 @@ SECStatus slapd_pk11_DigestFinal(PK11Context *context, unsigned char *data,unsig
void slapd_SECITEM_FreeItem (SECItem *zap, PRBool freeit);
void slapd_pk11_DestroyPrivateKey(SECKEYPrivateKey *key);
void slapd_pk11_DestroyPublicKey(SECKEYPublicKey *key);
+PRBool slapd_pk11_DoesMechanism(PK11SlotInfo *slot, CK_MECHANISM_TYPE type);
+PK11SymKey *slapd_pk11_PubUnwrapSymKeyWithFlagsPerm(SECKEYPrivateKey *wrappingKey, SECItem *wrappedKey, CK_MECHANISM_TYPE target, CK_ATTRIBUTE_TYPE operation, int keySize, CK_FLAGS flags, PRBool isPerm);
+PK11SymKey *slapd_pk11_TokenKeyGenWithFlags(PK11SlotInfo *slot, CK_MECHANISM_TYPE type, SECItem *param, int keySize, SECItem *keyid, CK_FLAGS opFlags, PK11AttrFlags attrFlags, void *wincx);
/*
* start_tls_extop.c
diff --git a/ldap/servers/slapd/security_wrappers.c b/ldap/servers/slapd/security_wrappers.c
index 6cca6ce..33d512f 100644
--- a/ldap/servers/slapd/security_wrappers.c
+++ b/ldap/servers/slapd/security_wrappers.c
@@ -338,11 +338,6 @@ void slapd_pk11_FreeSymKey(PK11SymKey *key)
PK11_FreeSymKey(key);
}
-void slapd_pk11_DestroyContext(PK11Context *context, PRBool freeit)
-{
- PK11_DestroyContext(context,freeit);
-}
-
SECItem *slapd_pk11_ParamFromIV(CK_MECHANISM_TYPE type,SECItem *iv)
{
return PK11_ParamFromIV(type,iv);
@@ -383,3 +378,34 @@ void slapd_pk11_DestroyPublicKey(SECKEYPublicKey *key)
{
SECKEY_DestroyPublicKey(key);
}
+
+PRBool slapd_pk11_DoesMechanism(PK11SlotInfo *slot, CK_MECHANISM_TYPE type)
+{
+ return PK11_DoesMechanism(slot, type);
+}
+
+PK11SymKey *slapd_pk11_PubUnwrapSymKeyWithFlagsPerm(
+ SECKEYPrivateKey *wrappingKey,
+ SECItem *wrappedKey,
+ CK_MECHANISM_TYPE target,
+ CK_ATTRIBUTE_TYPE operation,
+ int keySize,
+ CK_FLAGS flags,
+ PRBool isPerm)
+{
+ return PK11_PubUnwrapSymKeyWithFlagsPerm(wrappingKey, wrappedKey, target,
+ operation, keySize, flags, isPerm);
+}
+
+PK11SymKey *slapd_pk11_TokenKeyGenWithFlags(PK11SlotInfo *slot,
+ CK_MECHANISM_TYPE type,
+ SECItem *param,
+ int keySize,
+ SECItem *keyid,
+ CK_FLAGS opFlags,
+ PK11AttrFlags attrFlags,
+ void *wincx)
+{
+ return PK11_TokenKeyGenWithFlags(slot, type, param, keySize, keyid,
+ opFlags, attrFlags, wincx);
+}
12 years, 10 months
ldap/servers
by Noriko Hosoi
ldap/servers/plugins/chainingdb/cb.h | 2
ldap/servers/plugins/chainingdb/cb_add.c | 76 ++++++++++-----
ldap/servers/plugins/chainingdb/cb_bind.c | 62 +++++++-----
ldap/servers/plugins/chainingdb/cb_compare.c | 55 +++++++----
ldap/servers/plugins/chainingdb/cb_conn_stateless.c | 71 +++++++++-----
ldap/servers/plugins/chainingdb/cb_delete.c | 80 ++++++++++------
ldap/servers/plugins/chainingdb/cb_modify.c | 74 ++++++++++----
ldap/servers/plugins/chainingdb/cb_modrdn.c | 82 ++++++++++------
ldap/servers/plugins/chainingdb/cb_search.c | 99 ++++++++++++++------
ldap/servers/slapd/pw.c | 4
10 files changed, 404 insertions(+), 201 deletions(-)
New commits:
commit 7ece306092df8db2c51aeb637d69771f5dc77d02
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Tue Jan 25 15:34:15 2011 -0800
Bug 646381 - Faulty password for nsmultiplexorcredentials does not give any error message in logs
https://bugzilla.redhat.com/show_bug.cgi?id=646381
Description: Chaning db plugin was terse not to reveal the config
error to end users as well as to prevent error log overflow by
every single error possibly caused by end users.
This patch returns this generic error text to end users:
ldap_add: Operations error (1)
additional info: database configuration error - \
please contact the system administrator
And more detailed messages are logged in the errors log. E.g.,
chaining database - Internal credentials decoding error;
password storage schemes do not match or encrypted password
is corrupted.
chaining database - cb_get_connection failed (49) Invalid credentials
Note: the messages are logged just once in the errors log.
diff --git a/ldap/servers/plugins/chainingdb/cb.h b/ldap/servers/plugins/chainingdb/cb.h
index d787c0c..80e991e 100644
--- a/ldap/servers/plugins/chainingdb/cb.h
+++ b/ldap/servers/plugins/chainingdb/cb.h
@@ -503,4 +503,6 @@ char* get_localhost_DNS();
/* this function is called when state of a backend changes */
void cb_be_state_change (void *handle, char *be_name, int old_be_state, int new_be_state);
+#define ENDUSERMSG "database configuration error - please contact the system administrator"
+
#endif
diff --git a/ldap/servers/plugins/chainingdb/cb_add.c b/ldap/servers/plugins/chainingdb/cb_add.c
index 720c48f..501865a 100644
--- a/ldap/servers/plugins/chainingdb/cb_add.c
+++ b/ldap/servers/plugins/chainingdb/cb_add.c
@@ -110,16 +110,24 @@ chaining_back_add ( Slapi_PBlock *pb )
}
/* Grab a connection handle */
- if ((rc = cb_get_connection(cb->pool,&ld,&cnx,NULL,&cnxerrbuf)) != LDAP_SUCCESS) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR,NULL,cnxerrbuf, 0, NULL);
- ldap_mods_free(mods,1);
- if (cnxerrbuf) {
- PR_smprintf_free(cnxerrbuf);
+ rc = cb_get_connection(cb->pool, &ld, &cnx, NULL, &cnxerrbuf);
+ if (LDAP_SUCCESS != rc) {
+ static int warned_get_conn = 0;
+ if (!warned_get_conn) {
+ slapi_log_error(SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "cb_get_connection failed (%d) %s\n",
+ rc, ldap_err2string(rc));
+ warned_get_conn = 1;
}
- /* ping the farm. If the farm is unreachable, we increment the counter */
- cb_ping_farm(cb,NULL,0);
+ cb_send_ldap_result(pb, LDAP_OPERATIONS_ERROR, NULL,
+ cnxerrbuf, 0, NULL);
+ ldap_mods_free(mods, 1);
+ slapi_ch_free_string(&cnxerrbuf);
+ /* ping the farm.
+ * If the farm is unreachable, we increment the counter */
+ cb_ping_farm(cb, NULL, 0);
- return -1;
+ return -1;
}
/* Control management */
@@ -149,12 +157,14 @@ chaining_back_add ( Slapi_PBlock *pb )
ldap_controls_free(ctrls);
if ( rc != LDAP_SUCCESS ) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "ldap_add_ext failed -- %s\n", ldap_err2string(rc) );
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
- ldap_err2string(rc), 0, NULL);
+ cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
+ ENDUSERMSG, 0, NULL );
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(rc));
ldap_mods_free(mods,1);
- return -1;
+ return -1;
}
/*
@@ -208,35 +218,53 @@ chaining_back_add ( Slapi_PBlock *pb )
parse_rc = ldap_parse_result( ld, res, &rc, &matched_msg,
&error_msg, &referrals, &serverctrls, 1 );
- if ( parse_rc != LDAP_SUCCESS ) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
- ldap_err2string(parse_rc), 0, NULL);
+ if ( parse_rc != LDAP_SUCCESS ) {
+ static int warned_parse_rc = 0;
+ if (!warned_parse_rc) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ ldap_err2string(parse_rc));
+ warned_parse_rc = 1;
+ }
+ cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
+ ENDUSERMSG, 0, NULL );
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(parse_rc));
ldap_mods_free(mods,1);
- slapi_ch_free((void **)&matched_msg);
+ slapi_ch_free((void **)&matched_msg);
slapi_ch_free((void **)&error_msg);
if (serverctrls)
- ldap_controls_free(serverctrls);
+ ldap_controls_free(serverctrls);
/* jarnou: free referrals */
- if (referrals)
- charray_free(referrals);
- return -1;
+ if (referrals)
+ charray_free(referrals);
+ return -1;
}
- if ( rc != LDAP_SUCCESS ) {
+ if ( rc != LDAP_SUCCESS ) {
struct berval ** refs = referrals2berval(referrals);
- cb_send_ldap_result( pb, rc, matched_msg, error_msg, 0, refs);
+ static int warned_rc = 0;
+ if (!warned_rc && error_msg) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ error_msg );
+ warned_rc = 1;
+ }
+ cb_send_ldap_result( pb, rc, matched_msg, ENDUSERMSG, 0, refs);
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(rc));
ldap_mods_free(mods,1);
slapi_ch_free((void **)&matched_msg);
- slapi_ch_free((void **)&error_msg);
+ slapi_ch_free((void **)&error_msg);
if (refs)
ber_bvecfree(refs);
if (referrals)
charray_free(referrals);
if (serverctrls)
- ldap_controls_free(serverctrls);
- return -1;
+ ldap_controls_free(serverctrls);
+ return -1;
}
ldap_mods_free(mods,1 );
diff --git a/ldap/servers/plugins/chainingdb/cb_bind.c b/ldap/servers/plugins/chainingdb/cb_bind.c
index 71d1ade..027791f 100644
--- a/ldap/servers/plugins/chainingdb/cb_bind.c
+++ b/ldap/servers/plugins/chainingdb/cb_bind.c
@@ -94,8 +94,8 @@ static int
cb_sasl_bind_once_s( cb_conn_pool *pool, char *dn, int method, char * mechanism,
struct berval *creds, LDAPControl **reqctrls,
char **matcheddnp, char **errmsgp, struct berval ***refurlsp,
- LDAPControl ***resctrlsp , int * status) {
-
+ LDAPControl ***resctrlsp , int * status )
+{
int rc, msgid;
char **referrals;
struct timeval timeout_copy, *timeout;
@@ -112,10 +112,18 @@ cb_sasl_bind_once_s( cb_conn_pool *pool, char *dn, int method, char * mechanism,
timeout_copy.tv_usec = pool->conn.bind_timeout.tv_usec;
PR_RWLock_Unlock(pool->rwl_config_lock);
- if (( rc = cb_get_connection( pool, &ld ,&cnx, NULL, &cnxerrbuf)) != LDAP_SUCCESS ) {
- *errmsgp=cnxerrbuf;
- goto release_and_return;
- }
+ rc = cb_get_connection(pool, &ld, &cnx, NULL, &cnxerrbuf);
+ if (LDAP_SUCCESS != rc) {
+ static int warned_get_conn = 0;
+ if (!warned_get_conn) {
+ slapi_log_error(SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "cb_get_connection failed (%d) %s\n",
+ rc, ldap_err2string(rc));
+ warned_get_conn = 1;
+ }
+ *errmsgp = cnxerrbuf;
+ goto release_and_return;
+ }
/* Send the bind operation (need to retry on LDAP_SERVER_DOWN) */
@@ -171,8 +179,15 @@ cb_sasl_bind_once_s( cb_conn_pool *pool, char *dn, int method, char * mechanism,
*errmsgp=slapi_ch_strdup(errmsgp2);
if ( LDAP_SUCCESS != rc ) {
- slapi_log_error( SLAPI_LOG_PLUGIN, CB_PLUGIN_SUBSYSTEM,
- "cb_sasl_bind_once_s failed (%s)\n",ldap_err2string(rc));
+ static int warned_bind_once = 0;
+ if (!warned_bind_once) {
+ slapi_log_error(SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "cb_sasl_bind_once_s failed (%s%s%s)\n",
+ matcheddnp?matcheddnp:"",
+ (matcheddnp&&(*matcheddnp!='\0'))?": ":"",
+ ldap_err2string(rc));
+ warned_bind_once = 1;
+ }
}
} else {
@@ -274,29 +289,30 @@ chainingdb_bind( Slapi_PBlock *pb ) {
bind_retry=cb->bind_retry;
PR_RWLock_Unlock(cb->rwl_config_lock);
- if ( LDAP_SUCCESS == (rc = cb_sasl_bind_s(pb, cb->bind_pool, bind_retry, dn,method,mechanism,
- creds,reqctrls,&matcheddn,&errmsg,&urls,&resctrls, &status))) {
- rc = status;
- allocated_errmsg = 1;
- } else
- if ( LDAP_USER_CANCELLED != rc ) {
- errmsg = ldap_err2string( rc );
+ rc = cb_sasl_bind_s(pb, cb->bind_pool, bind_retry, dn, method,
+ mechanism, creds, reqctrls, &matcheddn, &errmsg,
+ &urls, &resctrls, &status);
+ if ( LDAP_SUCCESS == rc ) {
+ rc = status;
+ allocated_errmsg = 1;
+ } else if ( LDAP_USER_CANCELLED != rc ) {
+ errmsg = ldap_err2string( rc );
if (rc == LDAP_TIMEOUT) {
- cb_ping_farm(cb,NULL,0);
+ cb_ping_farm(cb,NULL,0);
}
- rc = LDAP_OPERATIONS_ERROR;
+ rc = LDAP_OPERATIONS_ERROR;
}
- if ( rc != LDAP_USER_CANCELLED ) { /* not abandoned */
- if ( resctrls != NULL ) {
- slapi_pblock_set( pb, SLAPI_RESCONTROLS, resctrls );
+ if ( rc != LDAP_USER_CANCELLED ) { /* not abandoned */
+ if ( resctrls != NULL ) {
+ slapi_pblock_set( pb, SLAPI_RESCONTROLS, resctrls );
freectrls=0;
- }
+ }
if ( rc != LDAP_SUCCESS ) {
- cb_send_ldap_result( pb, rc, matcheddn, errmsg, 0, urls );
+ cb_send_ldap_result( pb, rc, matcheddn, errmsg, 0, urls );
}
- }
+ }
if ( urls != NULL ) {
cb_free_bervals( urls );
diff --git a/ldap/servers/plugins/chainingdb/cb_compare.c b/ldap/servers/plugins/chainingdb/cb_compare.c
index 57235fc..ccbc175 100644
--- a/ldap/servers/plugins/chainingdb/cb_compare.c
+++ b/ldap/servers/plugins/chainingdb/cb_compare.c
@@ -111,15 +111,22 @@ chaining_back_compare ( Slapi_PBlock *pb )
/*
* Grab a connection handle
*/
-
- if ((rc = cb_get_connection(cb->pool,&ld,&cnx,NULL,&cnxerrbuf)) != LDAP_SUCCESS) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL, cnxerrbuf, 0, NULL);
- if (cnxerrbuf) {
- PR_smprintf_free(cnxerrbuf);
- }
- /* ping the farm. If the farm is unreachable, we increment the counter */
- cb_ping_farm(cb,NULL,0);
- return 1;
+ rc = cb_get_connection(cb->pool, &ld, &cnx, NULL, &cnxerrbuf);
+ if (LDAP_SUCCESS != rc) {
+ static int warned_get_conn = 0;
+ if (!warned_get_conn) {
+ slapi_log_error(SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "cb_get_connection failed (%d) %s\n",
+ rc, ldap_err2string(rc));
+ warned_get_conn = 1;
+ }
+ cb_send_ldap_result(pb, LDAP_OPERATIONS_ERROR, NULL,
+ cnxerrbuf, 0, NULL);
+ slapi_ch_free_string(&cnxerrbuf);
+ /* ping the farm.
+ * If the farm is unreachable, we increment the counter */
+ cb_ping_farm(cb, NULL, 0);
+ return 1;
}
/*
@@ -195,20 +202,28 @@ chaining_back_compare ( Slapi_PBlock *pb )
default:
matched_msg=error_msg=NULL;
parse_rc = ldap_parse_result( ld, res, &rc, &matched_msg,
- &error_msg, &referrals, &serverctrls, 1 );
- if ( parse_rc != LDAP_SUCCESS ) {
-
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
- ldap_err2string(parse_rc), 0, NULL);
+ &error_msg, &referrals, &serverctrls, 1 );
+ if ( parse_rc != LDAP_SUCCESS ) {
+ static int warned_parse_rc = 0;
+ if (!warned_parse_rc) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ ldap_err2string(parse_rc));
+ warned_parse_rc = 1;
+ }
+ cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
+ ENDUSERMSG, 0, NULL );
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(parse_rc));
- slapi_ch_free((void **)&matched_msg);
- slapi_ch_free((void **)&error_msg);
+ slapi_ch_free((void **)&matched_msg);
+ slapi_ch_free((void **)&error_msg);
if (serverctrls)
- ldap_controls_free(serverctrls);
+ ldap_controls_free(serverctrls);
/* jarnou: free referrals */
- if (referrals)
- charray_free(referrals);
- return 1;
+ if (referrals)
+ charray_free(referrals);
+ return 1;
}
switch ( rc ) {
diff --git a/ldap/servers/plugins/chainingdb/cb_conn_stateless.c b/ldap/servers/plugins/chainingdb/cb_conn_stateless.c
index a3dfe36..d84d657 100644
--- a/ldap/servers/plugins/chainingdb/cb_conn_stateless.c
+++ b/ldap/servers/plugins/chainingdb/cb_conn_stateless.c
@@ -151,8 +151,13 @@ void cb_close_conn_pool(cb_conn_pool * pool) {
* NOTE : if maxtime NULL, use operation timeout
*/
-int cb_get_connection(cb_conn_pool * pool, LDAP ** lld, cb_outgoing_conn ** cc,struct timeval * maxtime, char **errmsg) {
-
+int
+cb_get_connection(cb_conn_pool * pool,
+ LDAP ** lld,
+ cb_outgoing_conn ** cc,
+ struct timeval * maxtime,
+ char **errmsg)
+{
int rc=LDAP_SUCCESS; /* optimistic */
cb_outgoing_conn *conn=NULL;
cb_outgoing_conn *connprev=NULL;
@@ -213,13 +218,17 @@ int cb_get_connection(cb_conn_pool * pool, LDAP ** lld, cb_outgoing_conn ** cc,s
/* For stupid admins */
if (maxconnections <=0) {
- slapi_log_error( SLAPI_LOG_PLUGIN, CB_PLUGIN_SUBSYSTEM,
- "<== cb_get_connection error (no connection available)\n");
+ static int warned_maxconn = 0;
+ if (!warned_maxconn) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "<== cb_get_connection error (no connection available)\n");
+ warned_maxconn = 1;
+ }
if ( errmsg ) {
- *errmsg = PR_smprintf(error1, "no connection available");
+ *errmsg = slapi_ch_smprintf("%s", ENDUSERMSG);
}
return LDAP_CONNECT_ERROR;
- }
+ }
if (maxtime) {
if (maxtime->tv_sec != 0) {
@@ -324,13 +333,17 @@ int cb_get_connection(cb_conn_pool * pool, LDAP ** lld, cb_outgoing_conn ** cc,s
*/
/* No need to lock. url can't be changed dynamically */
- if ((ld=slapi_ldap_init(hostname,port,secure,isMultiThread))== NULL) {
- if (cb_debug_on()) {
- slapi_log_error( SLAPI_LOG_PLUGIN, CB_PLUGIN_SUBSYSTEM,
- "Can't contact server <%s> port <%d>.\n", hostname, port);
+ ld = slapi_ldap_init(hostname, port, secure, isMultiThread);
+ if (NULL == ld) {
+ static int warned_init = 0;
+ if (!warned_init) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "Can't contact server <%s> port <%d>.\n",
+ hostname, port );
+ warned_init = 1;
}
if ( errmsg ) {
- *errmsg = PR_smprintf(error1,"unknown reason");
+ *errmsg = slapi_ch_smprintf("%s", ENDUSERMSG);
}
rc = LDAP_CONNECT_ERROR;
goto unlock_and_return;
@@ -363,11 +376,18 @@ int cb_get_connection(cb_conn_pool * pool, LDAP ** lld, cb_outgoing_conn ** cc,s
/* Pb occured in decryption: stop now, binding will fail */
if ( ret == -1 )
{
- if (cb_debug_on()) {
- slapi_log_error( SLAPI_LOG_PLUGIN, CB_PLUGIN_SUBSYSTEM,
- "Internal credentials decoding error\n.");
+ static int warned_pw = 0;
+ if (!warned_pw) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "Internal credentials decoding error; "
+ "password storage schemes do not match or "
+ "encrypted password is corrupted.\n");
+ warned_pw = 1;
+ }
+ if ( errmsg ) {
+ *errmsg = slapi_ch_smprintf("%s", ENDUSERMSG);
}
- rc = LDAP_LOCAL_ERROR;
+ rc = LDAP_INVALID_CREDENTIALS;
goto unlock_and_return;
}
@@ -378,26 +398,33 @@ int cb_get_connection(cb_conn_pool * pool, LDAP ** lld, cb_outgoing_conn ** cc,s
if ( ret == 0 ) slapi_ch_free_string(&plain); /* free plain only if it has been duplicated */
if ( rc == LDAP_TIMEOUT ) {
- if (cb_debug_on()) {
- slapi_log_error( SLAPI_LOG_PLUGIN, CB_PLUGIN_SUBSYSTEM,
- "Can't bind to server <%s> port <%d>. (%s)\n",
- hostname, port, "time-out expired");
+ static int warned_bind_timeout = 0;
+ if (!warned_bind_timeout) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "Can't bind to server <%s> port <%d>. (%s)\n",
+ hostname, port, "time-out expired");
+ warned_bind_timeout = 1;
+ }
+ if ( errmsg ) {
+ *errmsg = slapi_ch_smprintf("%s", ENDUSERMSG);
}
rc = LDAP_CONNECT_ERROR;
goto unlock_and_return;
} else if ( rc != LDAP_SUCCESS ) {
prerr=PR_GetError();
- if (cb_debug_on()) {
- slapi_log_error( SLAPI_LOG_PLUGIN, CB_PLUGIN_SUBSYSTEM,
+ static int warned_bind_err = 0;
+ if (!warned_bind_err) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
"Can't bind to server <%s> port <%d>. "
"(LDAP error %d - %s; "
SLAPI_COMPONENT_NAME_NSPR " error %d - %s)\n",
hostname, port, rc,
ldap_err2string(rc),
prerr, slapd_pr_strerror(prerr));
+ warned_bind_err = 1;
}
if ( errmsg ) {
- *errmsg = PR_smprintf(error2, ldap_err2string(rc));
+ *errmsg = slapi_ch_smprintf("%s", ENDUSERMSG);
}
rc = LDAP_CONNECT_ERROR;
goto unlock_and_return;
diff --git a/ldap/servers/plugins/chainingdb/cb_delete.c b/ldap/servers/plugins/chainingdb/cb_delete.c
index dcca630..992f606 100644
--- a/ldap/servers/plugins/chainingdb/cb_delete.c
+++ b/ldap/servers/plugins/chainingdb/cb_delete.c
@@ -105,15 +105,22 @@ chaining_back_delete ( Slapi_PBlock *pb )
/*
* Grab a connection handle
*/
-
- if ((rc = cb_get_connection(cb->pool,&ld,&cnx,NULL,&cnxerrbuf)) != LDAP_SUCCESS) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL, cnxerrbuf, 0, NULL);
- if (cnxerrbuf) {
- PR_smprintf_free(cnxerrbuf);
- }
- /* ping the farm. If the farm is unreachable, we increment the counter */
- cb_ping_farm(cb,NULL,0);
- return -1;
+ rc = cb_get_connection(cb->pool, &ld, &cnx, NULL, &cnxerrbuf);
+ if (LDAP_SUCCESS != rc) {
+ static int warned_get_conn = 0;
+ if (!warned_get_conn) {
+ slapi_log_error(SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "cb_get_connection failed (%d) %s\n",
+ rc, ldap_err2string(rc));
+ warned_get_conn = 1;
+ }
+ cb_send_ldap_result(pb, LDAP_OPERATIONS_ERROR, NULL,
+ cnxerrbuf, 0, NULL);
+ slapi_ch_free_string(&cnxerrbuf);
+ /* ping the farm.
+ * If the farm is unreachable, we increment the counter */
+ cb_ping_farm(cb, NULL, 0);
+ return -1;
}
/*
@@ -188,35 +195,52 @@ chaining_back_delete ( Slapi_PBlock *pb )
default:
matched_msg=error_msg=NULL;
parse_rc = ldap_parse_result( ld, res, &rc, &matched_msg,
- &error_msg, &referrals, &serverctrls, 1 );
- if ( parse_rc != LDAP_SUCCESS ) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
- ldap_err2string(parse_rc), 0, NULL);
+ &error_msg, &referrals, &serverctrls, 1 );
+ if ( parse_rc != LDAP_SUCCESS ) {
+ static int warned_parse_rc = 0;
+ if (!warned_parse_rc) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ ldap_err2string(parse_rc) );
+ warned_parse_rc = 1;
+ }
+ cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
+ ENDUSERMSG, 0, NULL );
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(parse_rc));
- slapi_ch_free((void **)&matched_msg);
- slapi_ch_free((void **)&error_msg);
- if (serverctrls)
- ldap_controls_free(serverctrls);
+ slapi_ch_free((void **)&matched_msg);
+ slapi_ch_free((void **)&error_msg);
+ if (serverctrls)
+ ldap_controls_free(serverctrls);
/* jarnou: free referrals */
- if (referrals)
- charray_free(referrals);
- return -1;
+ if (referrals)
+ charray_free(referrals);
+ return -1;
}
- if ( rc != LDAP_SUCCESS ) {
+ if ( rc != LDAP_SUCCESS ) {
struct berval ** refs = referrals2berval(referrals);
-
- cb_send_ldap_result( pb, rc, matched_msg, error_msg, 0, refs);
+ static int warned_rc = 0;
+ if (!warned_rc && error_msg) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ error_msg );
+ warned_rc = 1;
+ }
+ cb_send_ldap_result( pb, rc, matched_msg, ENDUSERMSG, 0, refs);
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(rc));
- slapi_ch_free((void **)&matched_msg);
- slapi_ch_free((void **)&error_msg);
+ slapi_ch_free((void **)&matched_msg);
+ slapi_ch_free((void **)&error_msg);
if (refs)
ber_bvecfree(refs);
if (referrals)
charray_free(referrals);
- if (serverctrls)
- ldap_controls_free(serverctrls);
- return -1;
+ if (serverctrls)
+ ldap_controls_free(serverctrls);
+ return -1;
}
cb_release_op_connection(cb->pool,ld,0);
diff --git a/ldap/servers/plugins/chainingdb/cb_modify.c b/ldap/servers/plugins/chainingdb/cb_modify.c
index 8b50f6e..f0b4e44 100644
--- a/ldap/servers/plugins/chainingdb/cb_modify.c
+++ b/ldap/servers/plugins/chainingdb/cb_modify.c
@@ -114,14 +114,22 @@ chaining_back_modify ( Slapi_PBlock *pb )
/* Grab a connection handle */
- if ((rc = cb_get_connection(cb->pool,&ld,&cnx,NULL,&cnxerrbuf)) != LDAP_SUCCESS) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL, cnxerrbuf, 0, NULL);
- if (cnxerrbuf) {
- PR_smprintf_free(cnxerrbuf);
- }
- /* ping the farm. If the farm is unreachable, we increment the counter */
- cb_ping_farm(cb,NULL,0);
- return -1;
+ rc = cb_get_connection(cb->pool, &ld, &cnx, NULL, &cnxerrbuf);
+ if (LDAP_SUCCESS != rc) {
+ static int warned_get_conn = 0;
+ if (!warned_get_conn) {
+ slapi_log_error(SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "cb_get_connection failed (%d) %s\n",
+ rc, ldap_err2string(rc));
+ warned_get_conn = 1;
+ }
+ cb_send_ldap_result(pb, LDAP_OPERATIONS_ERROR, NULL,
+ cnxerrbuf, 0, NULL);
+ slapi_ch_free_string(&cnxerrbuf);
+ /* ping the farm.
+ * If the farm is unreachable, we increment the counter */
+ cb_ping_farm(cb, NULL, 0);
+ return -1;
}
/* Control management */
@@ -197,34 +205,52 @@ chaining_back_modify ( Slapi_PBlock *pb )
matched_msg=error_msg=NULL;
serverctrls=NULL;
parse_rc = ldap_parse_result( ld, res, &rc, &matched_msg,
- &error_msg, &referrals, &serverctrls, 1 );
- if ( parse_rc != LDAP_SUCCESS ) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
- ldap_err2string(parse_rc), 0, NULL);
+ &error_msg, &referrals, &serverctrls, 1 );
+ if ( parse_rc != LDAP_SUCCESS ) {
+ static int warned_parse_rc = 0;
+ if (!warned_parse_rc) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ ldap_err2string(parse_rc));
+ warned_parse_rc = 1;
+ }
+ cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
+ ENDUSERMSG, 0, NULL );
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(parse_rc));
- slapi_ch_free((void **)&matched_msg);
- slapi_ch_free((void **)&error_msg);
+ slapi_ch_free((void **)&matched_msg);
+ slapi_ch_free((void **)&error_msg);
if (serverctrls)
- ldap_controls_free(serverctrls);
+ ldap_controls_free(serverctrls);
/* jarnou: free referrals */
- if (referrals)
- charray_free(referrals);
- return -1;
+ if (referrals)
+ charray_free(referrals);
+ return -1;
}
- if ( rc != LDAP_SUCCESS ) {
+ if ( rc != LDAP_SUCCESS ) {
struct berval ** refs = referrals2berval(referrals);
- cb_send_ldap_result( pb, rc, matched_msg, error_msg, 0, refs);
+ static int warned_rc = 0;
+ if (!warned_rc && error_msg) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ error_msg );
+ warned_rc = 1;
+ }
+ cb_send_ldap_result( pb, rc, matched_msg, ENDUSERMSG, 0, refs);
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(rc));
- slapi_ch_free((void **)&matched_msg);
- slapi_ch_free((void **)&error_msg);
+ slapi_ch_free((void **)&matched_msg);
+ slapi_ch_free((void **)&error_msg);
if (refs)
ber_bvecfree(refs);
if (referrals)
charray_free(referrals);
if (serverctrls)
- ldap_controls_free(serverctrls);
- return -1;
+ ldap_controls_free(serverctrls);
+ return -1;
}
cb_release_op_connection(cb->pool,ld,0);
diff --git a/ldap/servers/plugins/chainingdb/cb_modrdn.c b/ldap/servers/plugins/chainingdb/cb_modrdn.c
index aa0bcac..2efff02 100644
--- a/ldap/servers/plugins/chainingdb/cb_modrdn.c
+++ b/ldap/servers/plugins/chainingdb/cb_modrdn.c
@@ -139,15 +139,22 @@ chaining_back_modrdn ( Slapi_PBlock *pb )
/*
* Grab a connection handle
*/
-
- if ((rc = cb_get_connection(cb->pool,&ld,&cnx,NULL,&cnxerrbuf)) != LDAP_SUCCESS) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL, cnxerrbuf, 0, NULL);
- if (cnxerrbuf) {
- PR_smprintf_free(cnxerrbuf);
- }
- /* ping the farm. If the farm is unreachable, we increment the counter */
- cb_ping_farm(cb,NULL,0);
- return -1;
+ rc = cb_get_connection(cb->pool, &ld, &cnx, NULL, &cnxerrbuf);
+ if (LDAP_SUCCESS != rc) {
+ static int warned_get_conn = 0;
+ if (!warned_get_conn) {
+ slapi_log_error(SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "cb_get_connection failed (%d) %s\n",
+ rc, ldap_err2string(rc));
+ warned_get_conn = 1;
+ }
+ cb_send_ldap_result(pb, LDAP_OPERATIONS_ERROR, NULL,
+ cnxerrbuf, 0, NULL);
+ slapi_ch_free_string(&cnxerrbuf);
+ /* ping the farm.
+ * If the farm is unreachable, we increment the counter */
+ cb_ping_farm(cb, NULL, 0);
+ return -1;
}
/*
@@ -223,36 +230,53 @@ chaining_back_modrdn ( Slapi_PBlock *pb )
default:
matched_msg=error_msg=NULL;
parse_rc = ldap_parse_result( ld, res, &rc, &matched_msg,
- &error_msg, &referrals, &serverctrls, 1 );
-
- if ( parse_rc != LDAP_SUCCESS ) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
- ldap_err2string(parse_rc), 0, NULL);
+ &error_msg, &referrals, &serverctrls, 1 );
+
+ if ( parse_rc != LDAP_SUCCESS ) {
+ static int warned_parse_rc = 0;
+ if (!warned_parse_rc) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ ldap_err2string(parse_rc));
+ warned_parse_rc = 1;
+ }
+ cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
+ ENDUSERMSG, 0, NULL );
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(parse_rc));
- slapi_ch_free((void **)&matched_msg);
- slapi_ch_free((void **)&error_msg);
- if (serverctrls)
- ldap_controls_free(serverctrls);
+ slapi_ch_free((void **)&matched_msg);
+ slapi_ch_free((void **)&error_msg);
+ if (serverctrls)
+ ldap_controls_free(serverctrls);
/* jarnou: free referrals */
- if (referrals)
- charray_free(referrals);
- return -1;
+ if (referrals)
+ charray_free(referrals);
+ return -1;
}
- if ( rc != LDAP_SUCCESS ) {
+ if ( rc != LDAP_SUCCESS ) {
struct berval ** refs = referrals2berval(referrals);
-
- cb_send_ldap_result( pb, rc, matched_msg, error_msg, 0, refs);
+ static int warned_rc = 0;
+ if (!warned_rc && error_msg) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ error_msg );
+ warned_rc = 1;
+ }
+ cb_send_ldap_result( pb, rc, matched_msg, ENDUSERMSG, 0, refs);
cb_release_op_connection(cb->pool,ld,CB_LDAP_CONN_ERROR(rc));
- slapi_ch_free((void **)&matched_msg);
- slapi_ch_free((void **)&error_msg);
+ slapi_ch_free((void **)&matched_msg);
+ slapi_ch_free((void **)&error_msg);
if (refs)
ber_bvecfree(refs);
if (referrals)
charray_free(referrals);
- if (serverctrls)
- ldap_controls_free(serverctrls);
- return -1;
+ if (serverctrls)
+ ldap_controls_free(serverctrls);
+ return -1;
}
cb_release_op_connection(cb->pool,ld,0);
diff --git a/ldap/servers/plugins/chainingdb/cb_search.c b/ldap/servers/plugins/chainingdb/cb_search.c
index e2f2579..e5d56ff 100644
--- a/ldap/servers/plugins/chainingdb/cb_search.c
+++ b/ldap/servers/plugins/chainingdb/cb_search.c
@@ -214,18 +214,25 @@ chainingdb_build_candidate_list ( Slapi_PBlock *pb )
}
/* Grab a connection handle */
-
- if ( LDAP_SUCCESS != (rc = cb_get_connection(cb->pool,&ld,&cnx,&timeout,&cnxerrbuf))) {
- if (rc == LDAP_TIMELIMIT_EXCEEDED)
- cb_send_ldap_result( pb, rc, NULL,cnxerrbuf, 0, NULL);
- else
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,cnxerrbuf, 0, NULL);
-
- if (cnxerrbuf) {
- PR_smprintf_free(cnxerrbuf);
+ rc = cb_get_connection(cb->pool, &ld, &cnx, &timeout, &cnxerrbuf);
+ if (LDAP_SUCCESS != rc) {
+ static int warned_get_conn = 0;
+ if (!warned_get_conn) {
+ slapi_log_error(SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "cb_get_connection failed (%d) %s\n",
+ rc, ldap_err2string(rc));
+ warned_get_conn = 1;
+ }
+ if (rc == LDAP_TIMELIMIT_EXCEEDED) {
+ cb_send_ldap_result(pb, rc, NULL, cnxerrbuf, 0, NULL);
+ } else {
+ cb_send_ldap_result(pb, LDAP_OPERATIONS_ERROR, NULL,
+ cnxerrbuf, 0, NULL);
}
- /* ping the farm. If the farm is unreachable, we increment the counter */
- cb_ping_farm(cb,NULL,0);
+ slapi_ch_free_string(&cnxerrbuf);
+ /* ping the farm.
+ * If the farm is unreachable, we increment the counter */
+ cb_ping_farm(cb, NULL, 0);
return 1;
}
@@ -358,17 +365,34 @@ chainingdb_build_candidate_list ( Slapi_PBlock *pb )
error_msg=NULL;
referrals=NULL;
serverctrls=NULL;
- parse_rc=ldap_parse_result(ld,res,&rc,&matched_msg,
+ parse_rc=ldap_parse_result(ld,res,&rc,&matched_msg,
&error_msg,&referrals, &serverctrls, 0 );
- if ( parse_rc != LDAP_SUCCESS ) {
- cb_send_ldap_result(pb,parse_rc,
- matched_msg,error_msg,0,NULL);
+ if ( parse_rc != LDAP_SUCCESS ) {
+ static int warned_parse_rc = 0;
+ if (!warned_parse_rc && error_msg) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ error_msg );
+ warned_parse_rc = 1;
+ }
+ cb_send_ldap_result( pb, parse_rc, NULL,
+ ENDUSERMSG, 0, NULL );
rc=-1;
- } else
- if ( rc != LDAP_SUCCESS ) {
- slapi_ldap_get_lderrno( ctx->ld, &matched_msg, &error_msg );
- cb_send_ldap_result( pb, rc, matched_msg,
- error_msg,0,NULL);
+ } else if ( rc != LDAP_SUCCESS ) {
+ static int warned_rc = 0;
+ if (!warned_rc) {
+ slapi_ldap_get_lderrno( ctx->ld,
+ &matched_msg, &error_msg );
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ error_msg );
+ warned_rc = 1;
+ }
+ cb_send_ldap_result( pb, rc, NULL, ENDUSERMSG, 0, NULL);
/* BEWARE: matched_msg and error_msg points */
/* to ld fields. */
matched_msg=NULL;
@@ -689,25 +713,42 @@ chainingdb_next_search_entry ( Slapi_PBlock *pb )
case LDAP_RES_SEARCH_RESULT:
- /* Parse the final result received from the server. Note the last
- * argument is a non-zero value, which indicates that the
- * LDAPMessage structure will be freed when done.
+ /* Parse the final result received from the server. Note the last
+ * argument is a non-zero value, which indicates that the
+ * LDAPMessage structure will be freed when done.
*/
slapi_pblock_set( pb, SLAPI_SEARCH_RESULT_SET,NULL);
slapi_pblock_set( pb, SLAPI_SEARCH_RESULT_ENTRY,NULL);
- parse_rc = ldap_parse_result( ctx->ld, res,
+ parse_rc = ldap_parse_result( ctx->ld, res,
&rc,&matched_msg,&error_msg, &referrals, &serverctrls, 1 );
- if ( parse_rc != LDAP_SUCCESS ) {
- cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, matched_msg,
- ldap_err2string( parse_rc ), 0, NULL);
-
+ if ( parse_rc != LDAP_SUCCESS ) {
+ static int warned_parse_rc = 0;
+ if (!warned_parse_rc) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ ldap_err2string( parse_rc ));
+ warned_parse_rc = 1;
+ }
+ cb_send_ldap_result( pb, LDAP_OPERATIONS_ERROR, NULL,
+ ENDUSERMSG, 0, NULL );
retcode=-1;
} else
if ( rc != LDAP_SUCCESS ) {
+ static int warned_rc = 0;
slapi_ldap_get_lderrno( ctx->ld, &matched_msg, &error_msg );
- cb_send_ldap_result( pb, rc, matched_msg, NULL, 0, NULL);
+ if (!warned_rc) {
+ slapi_log_error( SLAPI_LOG_FATAL, CB_PLUGIN_SUBSYSTEM,
+ "%s%s%s\n",
+ matched_msg?matched_msg:"",
+ (matched_msg&&(*matched_msg!='\0'))?": ":"",
+ error_msg );
+ warned_rc = 1;
+ }
+ cb_send_ldap_result( pb, rc, matched_msg, ENDUSERMSG, 0, NULL );
/* BEWARE: Don't free matched_msg && error_msg */
/* Points to the ld fields */
diff --git a/ldap/servers/slapd/pw.c b/ldap/servers/slapd/pw.c
index 22f818e..bcef4ff 100644
--- a/ldap/servers/slapd/pw.c
+++ b/ldap/servers/slapd/pw.c
@@ -457,7 +457,7 @@ pw_rever_decode(char *cipher, char **plain, const char * attr_name)
if ( pwsp->pws_dec != NULL )
{
/* check that the prefix of the cipher is the same name
- as the schema name */
+ as the scheme name */
prefixOK = checkPrefix(cipher, pwsp->pws_name, &encrypt);
if ( prefixOK == -1 )
{
@@ -468,7 +468,7 @@ pw_rever_decode(char *cipher, char **plain, const char * attr_name)
}
else if ( prefixOK == 1 )
{
- /* schema names are different */
+ /* scheme names are different */
ret_code = -1;
goto free_and_return;
}
12 years, 10 months
Changes to 'refs/tags/389-ds-base-1.2.8.a1'
by Richard Allen Megginson
Changes since 389-ds-base-1.2.6.a1:
Endi S. Dewata (168):
Bug 545620 - Password cannot start with minus sign
Bug 538525 - Ability to create instance as non-root user
Bug 570542 - Root password cannot contain matching curly braces
Bug 470684 - Pam_passthru plugin doesn't verify account activation
Bug 573375 - MODRDN operation not logged
Bug 520151 - Error when modifying userPassword with proxy user
Bug 455489 - Address compiler warnings about strict-aliasing rules
Bug 566320 - RFE: add exception to removal of attributes in cn=config for aci
Bug 566043 - startpid file is only cleaned by initscript runs
Bug 584109 - Slapd crashes while parsing DNA configuration
Bug 542570 - Directory Server port number is not validated in the beginning.
Bug 145181 - Plugin target/bind subtrees only take 1 value.
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 619122 - fix coverify Defect Type: Resource leaks issues CID 11975 - 12053
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverify Defect Type: Resource leaks issues CID 12094 - 12136
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 628096 - spurious error message from /sbin/service when doing a stop on no instances
Bug 573889 - Migration does not remove deprecated schema
Bug 606545 - core schema should include numSubordinates
Bug 643979 - Strange byte sequence for attribute with no values (nsslapd-referral)
Endi Sukma Dewata (16):
Bug 630092 - Coverity #12117: Resource leaks issues
Bug 630092 - Coverity #15478: Resource leaks issues
Bug 630092 - Coverity #15479: Resource leaks issues
Bug 630092 - Coverity #15481: Resource leaks issues
Bug 630092 - Coverity #15482: Resource leaks issues
Bug 630092 - Coverity #15483: Resource leaks issues
Bug 630092 - Coverity #15484: Resource leaks issues
Bug 630092 - Coverity #15485: Resource leaks issues
Bug 630092 - Coverity #15487: Resource leaks issues
Bug 630092 - Coverity #15490: Resource leaks issues
Bug 630092 - Coverity #15497: Resource leaks issues
Bug 630092 - Coverity #11991: Resource leaks issues
Bug 630092 - Coverity #12000: Resource leaks issues
Bug 630092 - Coverity #12003: Resource leaks issues
Bug 630092 - Coverity #11985: Resource leaks issues
Bug 630092 - Coverity #11992,11993: Resource leaks issues
Nathan Kinder (124):
Bug 549554 - Trim single-valued attributes before sending to AD
Improve search for pcre header file
Bug 434735 - Allow SASL ANONYMOUS mech to work
Bug 570912 - Avoid selinux context conflict with httpd
Allow instance name to be parsed from start-slapd
Add managed entries plug-in
Bug 572355 - Label instance files and ports during upgrade.
Bug 578863 - Password modify extop needs to send referrals on replicas
Bug 584156 - Remove ldapi socket file during upgrade
Fix rsearch usage of name files for random filters
Bug 584497 - Allow DNA plugin to set same value on multiple attributes
Add replication session hooks
Correct function prototype for repl session hook
Bug 592389 - Set anonymous resource limits properly
Bug 601433 - Add man pages for start-dirsrv and related commands
Bug 604263 - Fix memory leak when password change is rejected
Bug 612242 - membership change on DS does not show on AD
Bug 613833 - Allow dirsrv_t to bind to rpc ports
Bug 594745 - Get rid of dirsrv_lib_t label
Bug 620927 - Allow multiple membership attributes in memberof plugin
Bug 612264 - ACI issue with (targetattr='userPassword')
Bug 630098 - fix coverity Defect Type: Code maintainability issues
Bug 630098 - fix coverity Defect Type: Code maintainability issues
Bug 630093 - (cov#15511) Don't use unintialized search_results in refint plugin
Bug 630093 - (cov#15518) Need to intialize fd in ldbm2ldif code
Bug 630096 - (cov#11778) check return value of ldap_parse_result
Bug 630096 - (cov#15446) check return value of ber_scanf()
Bug 630096 - (cov#15449,15450) Check return value of stat()
Bug 630096 - (cov#15448) Check return value of cache_replace()
Bug 630096 - (cov#15447) - Check return value of idl_append_extend()
Bug 630090 - (cov#11974) Remove unused ACL functions
Bug 630090 - (cov#15445) Fix illegal free in archive code
Bug 630094 - (cov#11818) Fix unreachable return in snmp subagent
Bug 630094 - (cov#15451) Get rid of unreachable free statements
Bug 630094 - (cov#15452) Remove NULL checking for op_string
Bug 630094 - (cov#15453) Eliminate NULL check for local_newentry
Bug 630094 - (cov#15454) Fix deadcode issue in mapping tree code
Bug 630094 - (cov#15455) Remove deadcode in attr_index_config()
Bug 630094 - (cov#15456) Remove NULL check for srdn in import code
Bug 630094 - (cov#15457) Remove deadcode in import code
Bug 630094 - (cov#15458) Fix deadcode issue in moddn code
Bug 630094 - (cov#15459) Remove NULL check for srdn in ldif2ldbm code
Bug 630094 - (cov#15520) Fix unreachable code issue if perfctrs code
Bug 630094 - (cov#15581) Add missing breaks in agt_mopen_stats()
Bug 690090 - (cov#11974) Remove additional unused ACL functions
Bug 630091 - (cov#15512) Fix usage of uninitialized bervals
Bug 630091 - (cov#15513) Fix usage of uninitialized bervals
Bug 630091 - (cov#15514) Initialize DBT in entryrdn_get_parent()
Bug 630091 - (cov#15515) Use of uninitialized array in index config code
Bug 630091 - (cov#15516,15517) Initialize pointers before attempting to free
Bug 630091 - (cov#15519) Initialize bervals in search_easter_egg()
Bug 630091 - (cov#15582) Free of uninitialized pointer in attr_index_config()
Bug 630097 - (cov#11933) Fix NULL dereference in schema code
Bug 630097 - (cov#11938) NULL dereference in mmldif
Bug 630097 - (cov#11946) NULL dereference in ResHashCreate()
Bug 630097 - (cov#11964) Remove dead code from libaccess
Bug 630097 - (cov#12143) NULL dereference in cos cache code
Bug 630097 - (cov#12148) NULL dereference in ruvInit()
Bug 630097 - (cov#12182,12183) NULL dereference in import code
Bug 630097 - (cov#15460) NULL deference in ACL URL code
Bug 630097 - (cov#15461) Remove unnecessary NULL check in DNA
Bug 630097 - (cov#15462) NULL dereference in mep_modrdn_post_op()
Bug 630097 - (cov#15463) Remove NULL check in referint plugin
Bug 630097 - (cov#15464) NULL dereference in repl code
Bug 630097 - (cov#15465) Null dereference in USN code
Bug 630097 - (cov#15473) NULL dereference in ResHashCreate()
Bug 630097 - (cov#15505) NULL dereference in memberOf code
Bug 630097 - (cov#15506) NULL dereference in dblayer code
Bug 630097 - (cov#15507,15508) NULL dereference in entryrdn code
Bug 630097 - (cov#15509) NULL dereference in idsktune
Bug 630097 - (cov#11938) NULL dereference in mmldif
Bug 630097 - (cov#15477) NULL dereference in ACL plug-in code
Bug 630091 - (cov#12209) Use of uninitialized pointer in libaccess
Bug 630092 - (cov#12116) Resource leak in ldclt code
Bug 630092 - (cov#12105) Resource leak in pwdscheme config code
Bug 630092 - (cov#12068) Resource leak in certmap code
Bug 630091 - (cov#11973) Array overrun in libaccess
Bug 522055 - Scope check for managed attribute fails
Bug 625335 - Self-write aci has permission to invalid attribute
Bug 631993 - Log authzid when proxy auth control is used
Cov #16300 - Unused variable in account policy plugin
Bug 544321 - remove-ds.pl should not throw error unlabelling port
Bug 555955 - Allow CoS values to be merged
Bug 643937 - Initialize replication version flags
Bug 305131 - Allow empty modify operation
Bug 619633 - Make attribute uniqueness obey requiredObjectClass
Bug 619623 - attr-unique-plugin ignores requiredObjectClass on modrdn operations
Bug 189985 - Improve attribute uniqueness error message
Bug 647932 - multiple memberOf configuration adding memberOf where there is no member
Bug 521088 - DNA should check ACLs before getting a value from the range
Bug 635009 - Add one-way AD sync capability
Bump VERSION.sh to 1.2.8.a1
Bug 648949 - Move selinux policy into base OS
Bug 648949 - Update configure
Roll back VERSION.sh for 1.2.7 release
Bug 625950 - hash nsslapd-rootpw changes in audit log
Bug 656392 - Remove calls to ber_err_print()
Bug 656515 - Allow Name and Optional UID syntax for grouping attributes
Bug 197886 - Avoid overflow of UUID generator
Bug 658312 - Allow mapped attribute types to be quoted
Bug 197886 - Initialize return value for UUID generation code
Bug 658309 - Process escaped characters in managed entry mappings
Bug 659456 - Incorrect usage of ber_printf() in winsync code
Bug 641944 - Don't normalize non-DN RDN values
Bug 658312 - Invalid free in Managed Entry plug-in
Bug 661792 - Valid managed entry config rejected
Bug 588791 - Allow anonymous rootDSE access only
Bug 606439 - Creating server instance with LDAPI takes too long
Bug 632670 - Chain-on-update logs managed-entries-plugin errors
Bug 621008 - parsing purge RUV from changelog at startup fails
Bug 663191 - Don't use $USER in DSCreate.pm
Bug 663597 - Memory leaks in normalization code
Bug 659131 - Incorrect RDN values added with multi-valued RDN
Bug 661102 - Rename of managed entries not handled correctly
Bug 193297 - Call pre-bind plug-ins for all SASL bind steps
Bug 201652 - LDAPv2 bind with expired password doesn't unbind correctly
Bug 470576 - Migration could do addition checks before commiting actions
Bug 481195 - Missing op type in log when password change required
Bug 509897 - Validate dnaScope to ensure it is a legal DN
Bug 505722 - Allow ntGroup to have mail attribute present
Bug 543633 - replication problems if supplier is killed under update load
Bug 671033 - range sharing between server breaks with SASL/GSSAPI auth
Bug 527912 - setup-ds.pl appears to hang when DNS is unreachable
Bug 252249 - Add pkg-config file for plug-in developers
Noriko Hosoi (198):
544089 - Referential Integrity Plugin does not take into account the attribute
557224 - subtree rename breaks the referential integrity plug-in
247413 - Incorrect error on multiple identical value add
559016 - Attempting to rename suffix returns inappropriate errors
555577 - Syntax validation fails for "ou=NetscapeRoot" tree
Undo - 555577 - Syntax validation fails for "ou=NetscapeRoot" tree
560827 - Admin Server templates: DistinguishName validation fails
548535 - memory leak in attrcrypt
563365 - Error handling problems in the backend functions
565664 - Incorrect parameter for CACHE_RETURN()
565987 - redhat-ds-base fails to build due to undefined struct
527848 - make sure db upgrade to 4.7 and later works correctly
539618 - Replication bulk import reports Invalid read/write
567370 - dncache: assertion failure in id2entry_delete
548115 - memory leak in schema reload
555970 - missing read lock in the combination of cos and nsview
539618 - Replication bulk import reports Invalid read/write
570667 - MMR: simultaneous total updates on the masters cause
Merge branch '547503'
Revert "Merge branch '547503'"
Bug 554573 - ACIs use bind DN from bind req rather than cert mapped DN from sasl/external
199923 - subtree search fails to find items under a db
570107 - The import of LDIFs with base-64 encoded DNs fails,
572649 - DS8.2 crashes on RHEL 4 (corresponding to bob, ber_2 test case)
573060 - DN normalizer: ESC HEX HEX is not normalized (
573896 - initializing subtree with invalid syntax crashes ns-slapd
515805 - Stop "initialize Database" crashes the server
548533 - memory leak in Repl_5_Inc_Protocol_new
Fixing a syntax error
Update to New DN Format
585905 - ACL with targattrfilters error crashes the server
574167 - An escaped space at the end of the RDN value is not
590931 - rhds81 import - hardcoded pages_limit for nsslapd-import-cache-autosize
591336 - Implementing upgrade DN format tool
593453 - Creating password policy with ns-newpolicy.pl on Replicated
593110 - backup-restore does not ALWAYS work
593899 - adding specific ACI causes very large mem allocate request
588867 - entryusn plugin fails on solaris
593899 - adding specific ACI causes very large mem allocate request
595893 - Base DN in SASL mapping is not normalized
511112 - Password history limited to 25 values
597375 - Deleting LDBM database causes backup/restore problem
574101 - MODRDN request never returns - possible deadlock
606920 - anonymous resource limit - nstimelimit -
605827 - In-place upgrade: upgrade dn format should not run in setup-ds-admin.pl
578296 - Attribute type entrydn needs to be added when subtree
609256 - Selinux: pwdhash fails if called via Admin Server CGI
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
609255 - fix coverity Defect Type: Memory - illegal accesses issues
616618 - 389 v1.2.5 accepts 2 identical entries with different DN formats
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
610281 - fix coverity Defect Type: Control flow issues
616608 - SIGBUS in RDN index reads on platforms with strict alignments
619595 - Upgrading sub suffix under non-normalized suffix disappears
513166 - Simple Paged result doesn't provide the server's estimate
621928 - Unable to enable replica (rdn problem?) on 1.2.6 rc6
Bug 194531 - db2bak is too noisy
Bug 622628 - fix coverity Defect Type: Integer handling issues
Bug 622628 - fix coverity Defect Type: Integer handling issues
Bug 622628 - fix coverity Defect Type: Integer handling issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 622903 - fix coverity Defect Type: Code maintainability issues
Bug 623118 - Simplepaged results going in infinite loop
Bug 614511 - fix coverity Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 619122 - fix coverity Defect Type: Resource leaks issues CID 11975 - 12051
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 617630 - fix coverity Defect Type: Resource leaks issues CID 12052 - 12093
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 616500 - fix coverity Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverity Defect Type: Resource leaks issues CID 12094 - 12136
Bug 616500 - fix coverity Defect Type: Resource leaks issues CID 12094 - 12136
Bug 614511 - fix coverify Defect Type: Null pointer dereferences issues 11846 - 11891
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892 - 11939
Bug 613056 - fix coverify Defect Type: Null pointer dereferences issues 11892
Bug 616500 - fix coverity Defect Type: Resource leaks issues
Bug 623507 - fix coverity Defect Type: Incorrect expression issues
Bug 623507 - fix coverity Defect Type: Incorrect expression issues
Bug 613056 - fix coverify Defect Type: Null pointer dereferences
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Bug 611790 - fix coverify Defect Type: Null pointer dereferences issues 11940 - 12166
Removed redundant code in agmt_new_from_entry
Bug 617630 - fix coverify Defect Type: Resource leaks issues CID 12052 - 12093
Bug 628300 - DN is not normalized in dn/entry cache when an entry is added, entrydn is not present in search results
Bug 531642 - EntryUSN: RFE: a configuration option to make entryusn "global"
Bug 627738 - The cn=monitor statistics entries for the dnentry cache do not change or change very rarely
DN normalizer should check the invalid type
Bug 627738 - The cn=monitor statistics entries for the dnentry cache
Bug 629710 - escape_string does not check '\<HEX><HEX>'
agmtlist_shutdown (repl5_agmtlist.c) had an illegal access defect.
Bug 633168 - Share backend dbEnv with the replication changelog
Bug 633168 - Share backend dbEnv with the replication changelog
Bug 631862 - crash - delete entries not in cache + referint
Bug 625014 - SubTree Renames: ModRDN operation fails and the server hangs if the entry is moved to "under" the same DN.
Bug 558099 - Enhancement request: Log more information about the search result being a paged one
Bug 635987 - Incorrect sub scope search result with
Bug 606920 - anonymous resource limit- nstimelimit -
Bug 635987 - Incorrect sub scope search result with ACL containing ldap:///self
Bug 639289 - Adding a new CN entry with UpperCase UTF-8 Character
Bug 640027 - Naming attribute with a special char sequence parsing bug
Bug 640854 - changelog db: _cl5WriteOperation: failed to
Bug 637852 - sasl_io_start_packet: failed - read only 3 bytes
Bug 586966 - Sample update script has syntax errors
Bug 586973 - Sample update ldif points to non-existent directory
Bug 602456 - Allow to add any cn=config attributes;
Bug 244229 - targetattr not verified against schema when setting an aci
Bug 643532 - Incorrect DNs sometimes returned on searches
Bug 592397 - Upgrade tool dn2rdn: it does not clean up
Bug 645061 - Upgrade: 06inetorgperson.ldif and 05rfc4524.ldif
Bug 629681 - Retro Changelog trimming does not behave as expected
Bug 644608 - RHDS 8.1->8.2 upgrade fails to properly migrate ACIs
Bug 644608 - RHDS 8.1->8.2 upgrade fails to properly migrate ACIs
Bug 644608 - RHDS 8.1->8.2 upgrade fails to properly migrate ACIs
Bug 638773 - permissions too loose on pid and lock files
Bug 491733 - dbtest crashes
Bug 329751 - "nested" filtered roles searches candidates more
Bug 567282 - server can not abandon searchRequest of "simple paged results"
Bug 572018 - Upgrading from 1.2.5 to 1.2.6.a2 deletes userRoot
Bug 651571 - When attrcrypt is on, entrydn is stored in the backend db
Bug 661918 - 389-ds MMR plugin's changelogdb path logic is incorrect
Bug 182507 - clear-password mod from replica is discarded before changelogged
Bug 602456 - Allow to add any cn=config attributes;
Bug 489379 - passwordExpirationTime in entry being added
Bug 663484 - Entry usn plugin fails to properly tag entries on initialization
Bug 664563 - GER: ger for non-present entry is not correct
Bug 653007 - db2ldif export of clear text passwords lacks storage scheme
Bug 667488 - Cannot recreate numsubordinates index with db2index
Bug 663752 - Cert renewal for attrcrypt and encchangelog
Bug 615100 - log rotationinfo always recreated at startup,
Bug 624442 - MMR: duplicate replica ID
Bug 669205 - db2bak: backed up changelog should include RUVs
Bug 616850 - ldapmodify failed to reject the replace operation
Bug 627993 - Inconsistent storage of password expiry times
Bug 627993 - Inconsistent storage of password expiry times
dn2rdn should respect the DB version info
Rich Megginson (136):
Net::LDAP password modify extop breaks; msgid in response is 0xFF
Clean up assert for entrydn
Bug 543080 - Bitwise plugin fails to return the exact matched entries for Bitwise search filter
Bug 537466 - nsslapd-distribution-plugin should not require plugin name to begin with "lib"
bump version to 1.2.6.a2
Do not use syntax plugins directly for filters, indexing
wrap new style matching rule plugins for use in old style indexing code
change extensible filter code to use new syntax function style mr funcs
change syntax plugins to register required matching rule plugins
crash looking up compat syntax; numeric string syntax using integer; make octet string ordering work correctly
fix memory leak in attr replace when replacement fails
fix dso linking issues found by fedora 13 linking
problems linking with -z defs
389 DS segfaults on libsyntax-plugin.so - part 1
389 DS segfaults on libsyntax-plugin.so - part 2
389 DS segfaults on libsyntax-plugin.so - part 3
Bug 460162 - FedoraDS "with-FHS" installs init.d StartupScript in wrong location on non-RHEL/Fedora OS
Bug 568196 - Install DS8.2 on Solaris fails
Bug 568196 - Install DS8.2 on Solaris fails - part 2
Bug 551198 - LDAPI: incorrect logging to access log
bump version to 1.2.6.a3
fix various memory leaks
Bug 551198 - LDAPI: incorrect logging to access log - part 2
Bug 554573 - ACIs use bind DN from bind req rather than cert mapped DN from sasl/external
cleanup build warnings
Bug 571514 - upgrade to 1.2.6 should upgrade 05rfc4523.ldif (cert schema)
Bug 570905 - postalAddress syntax should allow empty lines (should allow $$)
Add support for additional schema/matching rules included with 389
Bug 572677 - Memory leak in searches including GER control
Bug 571677 - Busy replica on consumers when directly deleting a replication conflict
Bug 576074 - search filters with parentheses fail
Bug 567429 - slapd didn't close connection and get into CLOSE_WAIT state
Bug 578167 - repl. of mod/replace deletes multi-valued attrs
Bug 561575 - setup-ds-admin fails to supply nsds5ReplicaName when configuring via ConfigFile
Bug 572162 - the string "|*" within a search filter on a non-indexed attribute returns all elements.
Bug 576644 - segfault while multimaster replication (paired node won't find deleted entries)
start of 1.2.6.a4
Bug 572018 - Upgrading from 1.2.5 to 1.2.6.a2 deletes userRoot
Fix too few args for format warning in acllas
Bug 586571 - DS Console shows escaped DNs
Bug 591685 - Server instances Fail to Start on Solaris due to Library Path and pcre
bump console version to 1.2.3
Repl Session API needs to check for NULL api before init
Bug 593392 - setup-ds-admin.pl -k creates world readable file
Bug 595874 - 99user.ldif getting overpopulated
bump version to 1.2.6.a5
bump version to 1.2.6.rc1
bump version to 1.2.6.rc2
bump version to 1.2.6.rc3
Bug 604453 - SASL Stress and Server crash: Program quits with the assertion failure in PR_Poll
Bug 604453 - SASL Stress and Server crash: Program quits with the assertion failure in PR_Poll
Bug 603942 - null deref in _ger_parse_control() for subjectdn
bump version to 1.2.6.rc4
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 602530 - coverity: op_shared_modify: compare pre, post and original entries before freeing them
Bug 602531 - coverity: op_shared_delete: compare preop entry and GLUE_PARENT_ENTRY before freeing them
Bug 609590 - fix coverity Defect Type: Memory - corruptions issues
Bug 610177 - fix coverity Defect Type: Uninitialized variables issues
Bug 610276 - fix coverity Defect Type: API usage errors issues
Bug 611850 - fix coverity Defect Type: Error handling issues
Bug 614242 - C99/ANSI C++ related compile errors on HP-UX
Bug 547503 - replication broken again, with 389 MMR replication and TCP errors
Bug 617013 - repl-monitor.pl use cpu upto 90%
fix build failures due to libtool problems
Bug 617629 - Missing aliases in new schema files
Bug 617862 - Replication: Unable to delete tombstone errors
bump version to 1.2.7.a1
Bug 610281 - fix coverity Defect Type: Control flow issues - daemon.c:write_function()
Bug 610281 - fix coverity Defect Type: Control flow issues - last repl init status
postalAddress syntax does not accept empty values
ger should support both "dn" and "distinguishedName"
openldap - ldap_url_parse_ext is not part of the public api
fix memleak in ldbm_config_read_instance_entries
Add -x option to ldap tools when using openldap
openldap - add support for missing controls, add ldif api, fix NSS usage
port client tools to use openldap API
use the mozldap versions of the proxy auth control create function
document slapi wrappers for openldap/mozldap functions that differ
fix some compiler warnings
use strcasecmp with ptype and type->bv_val
ber_printf 'o' cannot handle NULL bv_val
fix the url_parse logic when looking for a missing suffix DN
openldap ldapsearch uses -LLL to suppress # version: N
add ldaptool_opts for the non BUNDLE case in Makefile.am
openldap ldapsearch returns empty line at end of LDIF output
have to use LDAP_OPT_X_TLS_NEVER to defeat cert hostname checking
openldap_read_function needs to set EWOULDBLOCK if the buffer is empty
do not terminate unwrapped LDIF line with another newline
slapi_ldap_url_parse must handle multiple host:port in url
convert mozldap host list to openldap uri list
move the out pointer back if continuation lines were removed
check src < *out only; only check for \nspace if src < *out - 2
use slapi_ldap_url_parse in the acl code
do not un-null-terminate normalized DN until new url is constructed
implement slapi_ldap_explode_dn and slapi_ldap_explode_rdn
use slapi_pblock_set to set the ldap result code for the be postop plugins
pass the string copy to slapi_dn_normalize_original
bug 614511 - fix coverity null reference - revert macro aci $dn logic
fix compiler warnings - unused vars/funcs, invalid casts
use slapi_mods_init_passin/get_ldapmods_passout if modifying the smods
Have to explicitly set protocol version to 3
Only check modrdn ops for backend/suffix correctness if not the default backend
Bug 634561 - Server crushes when using Windows Sync Agreement
openldap ber_init will assert if the bv->bv_val is NULL
add the account policy plugin and related server code, schema, and config
fix pblock memory leak
do not register pre/post op plugins if disabled
add support for global inactivity limit
fix typos in Makefile.am, acctpolicy schema
bump version to 1.2.7.a2
remove extra format argument; use %lu for size_t printf format
Bug 644013 - uniqueness plugin segfault bug
bump version to 1.2.7.a3
bump to 1.2.7.a4
bump version to 1.2.7.a5
put replication config entries in separate file
bump version to 1.2.7.a6
bump version to 1.2.7.1
bump version to 1.2.7.2
bump version to 1.2.7.3
bump version to 1.2.7.4
Bug 515329 - Multiple mods in one operation can result in an inconsistent replica
bump version to 1.2.8.a1
Bug 642046 - Segfault when using SASL/GSSAPI multimaster replication, possible krb5_creds doublefree
Bug 624485 - setup dsktune check step should default to "yes" if no problems found
Bug 622907 - support piped passwords to perl-based maintenance commands
Bug 624485 - setup dsktune check step should default to "yes" if no problems found
Bug 576534 - Password displayed on console when entered in command-line utilities
root (1):
Bug 480787 - Autoconf parameter --with and --without
---
.gitignore | 1
Makefile.am | 154
Makefile.in | 4999 +
VERSION.sh | 5
aclocal.m4 | 6884 --
compile | 21
config.guess | 302
config.h.in | 15
config.sub | 232
configure |31793 ++++--------
configure.ac | 74
depcomp | 172
dirsrv.pc.in | 7
include/base/dbtbase.h | 2
include/base/lexer.h | 126
include/i18n.h | 115
include/ldaputil/ldaputil.h | 10
include/libaccess/aclerror.h | 1
include/libaccess/aclproto.h | 15
include/libaccess/aclstruct.h | 2
include/libaccess/dbtlibaccess.h | 3
include/public/nsacl/aclapi.h | 7
install-sh | 517
ldap/admin/src/scripts/10cleanupldapi.pl | 23
ldap/admin/src/scripts/50smd5pwdstorageplugin.ldif | 5
ldap/admin/src/scripts/60upgradeschemafiles.pl | 2
ldap/admin/src/scripts/80upgradednformat.pl | 206
ldap/admin/src/scripts/81changelog.pl | 29
ldap/admin/src/scripts/90subtreerename.pl | 6
ldap/admin/src/scripts/DSCreate.pm.in | 139
ldap/admin/src/scripts/DSDialogs.pm | 4
ldap/admin/src/scripts/DSMigration.pm.in | 32
ldap/admin/src/scripts/DSUpdate.pm.in | 12
ldap/admin/src/scripts/DSUtil.pm.in | 106
ldap/admin/src/scripts/DialogManager.pm | 241
ldap/admin/src/scripts/DialogManager.pm.in | 241
ldap/admin/src/scripts/Inf.pm | 53
ldap/admin/src/scripts/Migration.pm.in | 19
ldap/admin/src/scripts/Setup.pm.in | 19
ldap/admin/src/scripts/SetupDialogs.pm.in | 3
ldap/admin/src/scripts/exampleupdate.ldif | 2
ldap/admin/src/scripts/exampleupdate.sh | 10
ldap/admin/src/scripts/migrate-ds.pl.in | 13
ldap/admin/src/scripts/remove-ds.pl.in | 28
ldap/admin/src/scripts/repl-monitor.pl.in | 3
ldap/admin/src/scripts/restart-dirsrv.in | 25
ldap/admin/src/scripts/setup-ds.pl.in | 7
ldap/admin/src/scripts/setup-ds.res.in | 11
ldap/admin/src/scripts/start-dirsrv.in | 32
ldap/admin/src/scripts/stop-dirsrv.in | 27
ldap/admin/src/scripts/template-bak2db.in | 36
ldap/admin/src/scripts/template-bak2db.pl.in | 8
ldap/admin/src/scripts/template-db2bak.in | 40
ldap/admin/src/scripts/template-db2bak.pl.in | 8
ldap/admin/src/scripts/template-db2index.in | 2
ldap/admin/src/scripts/template-db2index.pl.in | 12
ldap/admin/src/scripts/template-db2ldif.in | 2
ldap/admin/src/scripts/template-db2ldif.pl.in | 8
ldap/admin/src/scripts/template-dbverify.in | 2
ldap/admin/src/scripts/template-dn2rdn.in | 2
ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in | 8
ldap/admin/src/scripts/template-fixup-memberof.pl.in | 8
ldap/admin/src/scripts/template-ldif2db.in | 2
ldap/admin/src/scripts/template-ldif2db.pl.in | 8
ldap/admin/src/scripts/template-ldif2ldap.in | 4
ldap/admin/src/scripts/template-monitor.in | 4
ldap/admin/src/scripts/template-ns-accountstatus.pl.in | 12
ldap/admin/src/scripts/template-ns-activate.pl.in | 12
ldap/admin/src/scripts/template-ns-inactivate.pl.in | 12
ldap/admin/src/scripts/template-ns-newpwpolicy.pl.in | 6
ldap/admin/src/scripts/template-restart-slapd.in | 2
ldap/admin/src/scripts/template-restoreconfig.in | 4
ldap/admin/src/scripts/template-saveconfig.in | 4
ldap/admin/src/scripts/template-schema-reload.pl.in | 8
ldap/admin/src/scripts/template-start-slapd.in | 3
ldap/admin/src/scripts/template-stop-slapd.in | 2
ldap/admin/src/scripts/template-suffix2instance.in | 4
ldap/admin/src/scripts/template-syntax-validate.pl.in | 8
ldap/admin/src/scripts/template-upgradedb.in | 4
ldap/admin/src/scripts/template-upgradednformat.in | 56
ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in | 8
ldap/admin/src/scripts/template-vlvindex.in | 4
ldap/admin/src/slapd.inf.in | 2
ldap/include/ldaplog.h | 32
ldap/ldif/50replication-plugins.ldif | 26
ldap/ldif/template-baseacis.ldif.in | 2
ldap/ldif/template-bitwise.ldif.in | 6
ldap/ldif/template-dse.ldif.in | 56
ldap/ldif/template-suffix-db.ldif.in | 1
ldap/schema/00core.ldif | 72
ldap/schema/01core389.ldif | 3
ldap/schema/02common.ldif | 8
ldap/schema/05rfc4523.ldif | 14
ldap/schema/05rfc4524.ldif | 30
ldap/schema/06inetorgperson.ldif | 5
ldap/schema/10mep-plugin.ldif | 104
ldap/schema/30ns-common.ldif | 4
ldap/schema/50ns-directory.ldif | 2
ldap/schema/60acctpolicy.ldif | 47
ldap/schema/60qmail.ldif | 4
ldap/servers/plugins/acctpolicy/acct_config.c | 143
ldap/servers/plugins/acctpolicy/acct_init.c | 191
ldap/servers/plugins/acctpolicy/acct_plugin.c | 314
ldap/servers/plugins/acctpolicy/acct_util.c | 257
ldap/servers/plugins/acctpolicy/acctpolicy.h | 81
ldap/servers/plugins/acctpolicy/sampleconfig.ldif | 40
ldap/servers/plugins/acctpolicy/samplepolicy.ldif | 27
ldap/servers/plugins/acl/acl.c | 105
ldap/servers/plugins/acl/acl.h | 15
ldap/servers/plugins/acl/acl_ext.c | 29
ldap/servers/plugins/acl/aclanom.c | 1
ldap/servers/plugins/acl/acleffectiverights.c | 111
ldap/servers/plugins/acl/aclgroup.c | 9
ldap/servers/plugins/acl/acllas.c | 379
ldap/servers/plugins/acl/acllist.c | 14
ldap/servers/plugins/acl/aclparse.c | 606
ldap/servers/plugins/acl/aclplugin.c | 27
ldap/servers/plugins/acl/aclproxy.c | 232
ldap/servers/plugins/acl/aclutil.c | 103
ldap/servers/plugins/bitwise/bitwise.c | 20
ldap/servers/plugins/chainingdb/cb_bind.c | 2
ldap/servers/plugins/chainingdb/cb_config.c | 13
ldap/servers/plugins/chainingdb/cb_controls.c | 12
ldap/servers/plugins/chainingdb/cb_init.c | 4
ldap/servers/plugins/chainingdb/cb_instance.c | 68
ldap/servers/plugins/chainingdb/cb_utils.c | 3
ldap/servers/plugins/collation/collate.c | 22
ldap/servers/plugins/cos/cos_cache.c | 258
ldap/servers/plugins/deref/deref.c | 8
ldap/servers/plugins/dna/dna.c | 608
ldap/servers/plugins/http/http_impl.c | 81
ldap/servers/plugins/linkedattrs/fixup_task.c | 4
ldap/servers/plugins/linkedattrs/linked_attrs.c | 17
ldap/servers/plugins/memberof/memberof.c | 449
ldap/servers/plugins/memberof/memberof.h | 6
ldap/servers/plugins/memberof/memberof_config.c | 231
ldap/servers/plugins/mep/mep.c | 2403
ldap/servers/plugins/mep/mep.h | 129
ldap/servers/plugins/pam_passthru/pam_ptimpl.c | 17
ldap/servers/plugins/passthru/ptconfig.c | 43
ldap/servers/plugins/pwdstorage/smd5_pwd.c | 9
ldap/servers/plugins/referint/referint.c | 700
ldap/servers/plugins/replication/cl5.h | 1
ldap/servers/plugins/replication/cl5_api.c | 2083
ldap/servers/plugins/replication/cl5_api.h | 92
ldap/servers/plugins/replication/cl5_clcache.c | 33
ldap/servers/plugins/replication/cl5_clcache.h | 2
ldap/servers/plugins/replication/cl5_config.c | 190
ldap/servers/plugins/replication/cl5_init.c | 2
ldap/servers/plugins/replication/cl_crypt.c | 203
ldap/servers/plugins/replication/cl_crypt.h | 53
ldap/servers/plugins/replication/legacy_consumer.c | 1
ldap/servers/plugins/replication/repl-session-plugin.h | 119
ldap/servers/plugins/replication/repl5.h | 45
ldap/servers/plugins/replication/repl5_agmt.c | 96
ldap/servers/plugins/replication/repl5_agmtlist.c | 11
ldap/servers/plugins/replication/repl5_connection.c | 119
ldap/servers/plugins/replication/repl5_inc_protocol.c | 27
ldap/servers/plugins/replication/repl5_init.c | 28
ldap/servers/plugins/replication/repl5_plugins.c | 53
ldap/servers/plugins/replication/repl5_prot_private.h | 4
ldap/servers/plugins/replication/repl5_protocol.c | 99
ldap/servers/plugins/replication/repl5_protocol_util.c | 506
ldap/servers/plugins/replication/repl5_replica.c | 206
ldap/servers/plugins/replication/repl5_replica_config.c | 351
ldap/servers/plugins/replication/repl5_ruv.c | 84
ldap/servers/plugins/replication/repl5_ruv.h | 2
ldap/servers/plugins/replication/repl5_tot_protocol.c | 28
ldap/servers/plugins/replication/repl5_total.c | 22
ldap/servers/plugins/replication/repl_compare.c | 1
ldap/servers/plugins/replication/repl_controls.c | 2
ldap/servers/plugins/replication/repl_extop.c | 262
ldap/servers/plugins/replication/repl_globals.c | 1
ldap/servers/plugins/replication/repl_init.c | 1
ldap/servers/plugins/replication/repl_objset.c | 9
ldap/servers/plugins/replication/repl_session_plugin.c | 188
ldap/servers/plugins/replication/repl_shared.h | 17
ldap/servers/plugins/replication/replutil.c | 26
ldap/servers/plugins/replication/test_repl_session_plugin.c | 335
ldap/servers/plugins/replication/urp.c | 1
ldap/servers/plugins/replication/windows_connection.c | 133
ldap/servers/plugins/replication/windows_inc_protocol.c | 52
ldap/servers/plugins/replication/windows_private.c | 112
ldap/servers/plugins/replication/windows_protocol_util.c | 270
ldap/servers/plugins/replication/windows_tot_protocol.c | 115
ldap/servers/plugins/replication/windowsrepl.h | 11
ldap/servers/plugins/replication/winsync-plugin.h | 2
ldap/servers/plugins/retrocl/retrocl.c | 3
ldap/servers/plugins/retrocl/retrocl.h | 2
ldap/servers/plugins/retrocl/retrocl_create.c | 13
ldap/servers/plugins/retrocl/retrocl_po.c | 11
ldap/servers/plugins/retrocl/retrocl_trim.c | 20
ldap/servers/plugins/rever/des.c | 72
ldap/servers/plugins/rever/rever.c | 8
ldap/servers/plugins/roles/roles_cache.c | 64
ldap/servers/plugins/schema_reload/schema_reload.c | 5
ldap/servers/plugins/shared/plugin-utils.h | 112
ldap/servers/plugins/shared/utils.c | 508
ldap/servers/plugins/statechange/statechange.c | 7
ldap/servers/plugins/syntaxes/bin.c | 142
ldap/servers/plugins/syntaxes/bitstring.c | 36
ldap/servers/plugins/syntaxes/ces.c | 140
ldap/servers/plugins/syntaxes/cis.c | 288
ldap/servers/plugins/syntaxes/dn.c | 42
ldap/servers/plugins/syntaxes/int.c | 64
ldap/servers/plugins/syntaxes/nameoptuid.c | 41
ldap/servers/plugins/syntaxes/numericstring.c | 118
ldap/servers/plugins/syntaxes/string.c | 198
ldap/servers/plugins/syntaxes/syntax.h | 59
ldap/servers/plugins/syntaxes/syntax_common.c | 117
ldap/servers/plugins/syntaxes/tel.c | 62
ldap/servers/plugins/syntaxes/validate.c | 17
ldap/servers/plugins/syntaxes/value.c | 116
ldap/servers/plugins/uiduniq/7bit.c | 7
ldap/servers/plugins/uiduniq/plugin-utils.h | 96
ldap/servers/plugins/uiduniq/uid.c | 181
ldap/servers/plugins/uiduniq/utils.c | 249
ldap/servers/plugins/usn/usn.c | 68
ldap/servers/plugins/usn/usn.h | 2
ldap/servers/plugins/usn/usn_cleanup.c | 13
ldap/servers/plugins/views/views.c | 6
ldap/servers/slapd/abandon.c | 7
ldap/servers/slapd/add.c | 118
ldap/servers/slapd/agtmmap.c | 56
ldap/servers/slapd/attr.c | 80
ldap/servers/slapd/attrlist.c | 7
ldap/servers/slapd/attrsyntax.c | 85
ldap/servers/slapd/auth.c | 73
ldap/servers/slapd/back-ldbm/ancestorid.c | 10
ldap/servers/slapd/back-ldbm/archive.c | 91
ldap/servers/slapd/back-ldbm/back-ldbm.h | 42
ldap/servers/slapd/back-ldbm/cache.c | 4
ldap/servers/slapd/back-ldbm/dbhelp.c | 12
ldap/servers/slapd/back-ldbm/dblayer.c | 1545
ldap/servers/slapd/back-ldbm/dblayer.h | 12
ldap/servers/slapd/back-ldbm/dbtest.c | 349
ldap/servers/slapd/back-ldbm/dbversion.c | 47
ldap/servers/slapd/back-ldbm/dn2entry.c | 12
ldap/servers/slapd/back-ldbm/filterindex.c | 98
ldap/servers/slapd/back-ldbm/findentry.c | 72
ldap/servers/slapd/back-ldbm/id2entry.c | 171
ldap/servers/slapd/back-ldbm/idl.c | 17
ldap/servers/slapd/back-ldbm/idl_new.c | 18
ldap/servers/slapd/back-ldbm/import-merge.c | 28
ldap/servers/slapd/back-ldbm/import-threads.c | 1240
ldap/servers/slapd/back-ldbm/import.c | 395
ldap/servers/slapd/back-ldbm/import.h | 20
ldap/servers/slapd/back-ldbm/index.c | 127
ldap/servers/slapd/back-ldbm/init.c | 10
ldap/servers/slapd/back-ldbm/instance.c | 31
ldap/servers/slapd/back-ldbm/ldbm_add.c | 142
ldap/servers/slapd/back-ldbm/ldbm_attr.c | 247
ldap/servers/slapd/back-ldbm/ldbm_attrcrypt.c | 854
ldap/servers/slapd/back-ldbm/ldbm_attrcrypt_config.c | 2
ldap/servers/slapd/back-ldbm/ldbm_config.c | 101
ldap/servers/slapd/back-ldbm/ldbm_delete.c | 121
ldap/servers/slapd/back-ldbm/ldbm_entryrdn.c | 523
ldap/servers/slapd/back-ldbm/ldbm_index_config.c | 106
ldap/servers/slapd/back-ldbm/ldbm_instance_config.c | 225
ldap/servers/slapd/back-ldbm/ldbm_modify.c | 100
ldap/servers/slapd/back-ldbm/ldbm_modrdn.c | 170
ldap/servers/slapd/back-ldbm/ldbm_search.c | 32
ldap/servers/slapd/back-ldbm/ldbm_usn.c | 74
ldap/servers/slapd/back-ldbm/ldif2ldbm.c | 600
ldap/servers/slapd/back-ldbm/matchrule.c | 26
ldap/servers/slapd/back-ldbm/misc.c | 287
ldap/servers/slapd/back-ldbm/monitor.c | 14
ldap/servers/slapd/back-ldbm/nextid.c | 17
ldap/servers/slapd/back-ldbm/perfctrs.c | 24
ldap/servers/slapd/back-ldbm/proto-back-ldbm.h | 33
ldap/servers/slapd/back-ldbm/sort.c | 12
ldap/servers/slapd/back-ldbm/start.c | 29
ldap/servers/slapd/back-ldbm/vlv.c | 206
ldap/servers/slapd/back-ldbm/vlv_srch.c | 6
ldap/servers/slapd/back-ldbm/vlv_srch.h | 3
ldap/servers/slapd/back-ldif/back-ldif.h | 2
ldap/servers/slapd/back-ldif/modrdn.c | 12
ldap/servers/slapd/backend.c | 64
ldap/servers/slapd/backend_manager.c | 8
ldap/servers/slapd/bind.c | 262
ldap/servers/slapd/charray.c | 6
ldap/servers/slapd/compare.c | 31
ldap/servers/slapd/configdse.c | 84
ldap/servers/slapd/connection.c | 155
ldap/servers/slapd/control.c | 7
ldap/servers/slapd/csn.c | 5
ldap/servers/slapd/csngen.c | 6
ldap/servers/slapd/daemon.c | 89
ldap/servers/slapd/delete.c | 82
ldap/servers/slapd/dn.c | 1113
ldap/servers/slapd/dse.c | 22
ldap/servers/slapd/dynalib.c | 29
ldap/servers/slapd/entry.c | 557
ldap/servers/slapd/entrywsi.c | 69
ldap/servers/slapd/eventq.c | 4
ldap/servers/slapd/extendop.c | 39
ldap/servers/slapd/factory.c | 1
ldap/servers/slapd/fe.h | 5
ldap/servers/slapd/fedse.c | 19
ldap/servers/slapd/filter.c | 2
ldap/servers/slapd/filter.h | 1
ldap/servers/slapd/filtercmp.c | 25
ldap/servers/slapd/filterentry.c | 27
ldap/servers/slapd/index_subsystem.c | 18
ldap/servers/slapd/ldaputil.c | 697
ldap/servers/slapd/lenstr.c | 6
ldap/servers/slapd/libglobs.c | 275
ldap/servers/slapd/libslapd.def | 1
ldap/servers/slapd/log.c | 28
ldap/servers/slapd/main.c | 258
ldap/servers/slapd/mapping_tree.c | 258
ldap/servers/slapd/match.c | 57
ldap/servers/slapd/modify.c | 277
ldap/servers/slapd/modrdn.c | 215
ldap/servers/slapd/modutil.c | 30
ldap/servers/slapd/opshared.c | 109
ldap/servers/slapd/pagedresults.c | 78
ldap/servers/slapd/passwd_extop.c | 97
ldap/servers/slapd/pblock.c | 279
ldap/servers/slapd/plugin.c | 197
ldap/servers/slapd/plugin_internal_op.c | 12
ldap/servers/slapd/plugin_mr.c | 472
ldap/servers/slapd/plugin_syntax.c | 352
ldap/servers/slapd/protect_db.c | 24
ldap/servers/slapd/protect_db.h | 7
ldap/servers/slapd/proto-slap.h | 45
ldap/servers/slapd/proxyauth.c | 247
ldap/servers/slapd/psearch.c | 1
ldap/servers/slapd/pw.c | 206
ldap/servers/slapd/pw_mgmt.c | 139
ldap/servers/slapd/rdn.c | 14
ldap/servers/slapd/regex.c | 3
ldap/servers/slapd/result.c | 24
ldap/servers/slapd/rootdse.c | 4
ldap/servers/slapd/sasl_io.c | 167
ldap/servers/slapd/sasl_map.c | 53
ldap/servers/slapd/saslbind.c | 126
ldap/servers/slapd/schema.c | 62
ldap/servers/slapd/search.c | 47
ldap/servers/slapd/slap.h | 95
ldap/servers/slapd/slapi-plugin-compat4.h | 6
ldap/servers/slapd/slapi-plugin.h | 471
ldap/servers/slapd/slapi-private.h | 30
ldap/servers/slapd/slapi_counter.c | 6
ldap/servers/slapd/snmp_collator.c | 3
ldap/servers/slapd/str2filter.c | 1
ldap/servers/slapd/task.c | 94
ldap/servers/slapd/test-plugins/testpostop.c | 1
ldap/servers/slapd/time.c | 85
ldap/servers/slapd/tools/dbscan.c | 72
ldap/servers/slapd/tools/ldclt/data.c | 50
ldap/servers/slapd/tools/ldclt/ldapfct.c | 150
ldap/servers/slapd/tools/ldclt/ldclt.c | 33
ldap/servers/slapd/tools/ldclt/ldclt.h | 2
ldap/servers/slapd/tools/ldclt/ldcltU.c | 24
ldap/servers/slapd/tools/ldclt/parser.c | 19
ldap/servers/slapd/tools/ldclt/scalab01.c | 49
ldap/servers/slapd/tools/ldif.c | 4
ldap/servers/slapd/tools/mmldif.c | 9
ldap/servers/slapd/tools/pwenc.c | 2
ldap/servers/slapd/tools/rsearch/addthread.c | 25
ldap/servers/slapd/tools/rsearch/searchthread.c | 62
ldap/servers/slapd/utf8compare.c | 2
ldap/servers/slapd/util.c | 162
ldap/servers/slapd/uuid.c | 6
ldap/servers/slapd/value.c | 26
ldap/servers/slapd/valueset.c | 68
ldap/servers/slapd/vattr.c | 69
ldap/servers/snmp/ldap-agent.c | 26
ldap/servers/snmp/main.c | 9
ldap/systools/idsktune.c | 65
lib/base/crit.cpp | 6
lib/base/ereport.cpp | 2
lib/base/lexer.cpp | 1015
lib/base/plist.cpp | 3
lib/base/util.cpp | 13
lib/ldaputil/cert.c | 4
lib/ldaputil/certmap.c | 409
lib/ldaputil/dbconf.c | 1
lib/ldaputil/utest/Makefile | 149
lib/ldaputil/utest/auth.cpp | 611
lib/ldaputil/utest/authtest | 138
lib/ldaputil/utest/certmap.conf | 68
lib/ldaputil/utest/dblist.conf | 47
lib/ldaputil/utest/example.c | 153
lib/ldaputil/utest/plugin.c | 152
lib/ldaputil/utest/plugin.h | 57
lib/ldaputil/utest/stubs.c | 144
lib/ldaputil/utest/stubs.cpp | 139
lib/ldaputil/utest/test.ref | 480
lib/ldaputil/vtable.c | 2
lib/libaccess/acl.tab.cpp | 21
lib/libaccess/aclcache.cpp | 105
lib/libaccess/aclflush.cpp | 1
lib/libaccess/aclpriv.h | 1
lib/libaccess/acltools.cpp | 1724
lib/libaccess/authdb.cpp | 112
lib/libaccess/lasdns.cpp | 7
lib/libaccess/lasip.cpp | 16
lib/libaccess/nseframe.cpp | 1
lib/libaccess/oneeval.cpp | 17
lib/libaccess/permhash.h | 11
lib/libaccess/register.cpp | 50
lib/libaccess/usrcache.cpp | 14
lib/libaccess/utest/.purify | 19
lib/libaccess/utest/Makefile | 147
lib/libaccess/utest/acl.dat | 44
lib/libaccess/utest/aclfile0 | 87
lib/libaccess/utest/aclfile1 | 43
lib/libaccess/utest/aclfile10 | 45
lib/libaccess/utest/aclfile11 | 43
lib/libaccess/utest/aclfile12 | 43
lib/libaccess/utest/aclfile13 | 43
lib/libaccess/utest/aclfile14 | 43
lib/libaccess/utest/aclfile15 | 43
lib/libaccess/utest/aclfile16 | 43
lib/libaccess/utest/aclfile17 | 43
lib/libaccess/utest/aclfile18 | 51
lib/libaccess/utest/aclfile19 | 46
lib/libaccess/utest/aclfile2 | 43
lib/libaccess/utest/aclfile3 | 43
lib/libaccess/utest/aclfile4 | 43
lib/libaccess/utest/aclfile5 | 43
lib/libaccess/utest/aclfile6 | 55
lib/libaccess/utest/aclfile7 | 43
lib/libaccess/utest/aclfile8 | 43
lib/libaccess/utest/aclfile9 | 43
lib/libaccess/utest/aclgrp0 | 42
lib/libaccess/utest/aclgrp1 | 42
lib/libaccess/utest/aclgrp2 | 42
lib/libaccess/utest/aclgrp3 | 42
lib/libaccess/utest/aclgrp4 | 42
lib/libaccess/utest/acltest.cpp | 794
lib/libaccess/utest/onetest.cpp | 77
lib/libaccess/utest/shexp.cpp | 331
lib/libaccess/utest/shexp.h | 168
lib/libaccess/utest/test.ref | 217
lib/libaccess/utest/testmain.cpp | 89
lib/libaccess/utest/twotest.cpp | 87
lib/libaccess/utest/ustubs.cpp | 331
lib/libadmin/error.c | 2
lib/libadmin/template.c | 2
lib/libadmin/util.c | 48
lib/libsi18n/coreres.c | 141
lib/libsi18n/coreres.h | 52
lib/libsi18n/getlang.c | 330
lib/libsi18n/getstrmem.c | 160
lib/libsi18n/getstrmem.h | 1
lib/libsi18n/getstrprop.c | 85
lib/libsi18n/makstrdb.c | 21
lib/libsi18n/propset.c | 442
lib/libsi18n/propset.h | 80
lib/libsi18n/reshash.c | 21
ltmain.sh | 8836 ++-
m4/db.m4 | 21
m4/fhs.m4 | 4
m4/icu.m4 | 25
m4/kerberos.m4 | 4
m4/mozldap.m4 | 38
m4/netsnmp.m4 | 15
m4/nspr.m4 | 17
m4/nss.m4 | 17
m4/openldap.m4 | 23
m4/pcre.m4 | 28
m4/sasl.m4 | 25
m4/selinux.m4 | 13
m4/svrcore.m4 | 41
man/man8/restart-dirsrv.8 | 50
man/man8/start-dirsrv.8 | 50
man/man8/stop-dirsrv.8 | 50
missing | 104
selinux/dirsrv.fc.in | 2
selinux/dirsrv.if | 41
selinux/dirsrv.te | 11
wrappers/initscript.in | 201
wrappers/migratecred.in | 2
wrappers/mmldif.in | 2
wrappers/pwdhash.in | 2
478 files changed, 50251 insertions(+), 52092 deletions(-)
---
12 years, 10 months
configure configure.ac ldap/admin Makefile.am Makefile.in
by Richard Allen Megginson
Makefile.am | 2
Makefile.in | 3
configure | 11
configure.ac | 10
ldap/admin/src/scripts/DialogManager.pm | 241 ------------
ldap/admin/src/scripts/DialogManager.pm.in | 241 ++++++++++++
ldap/admin/src/scripts/template-bak2db.pl.in | 4
ldap/admin/src/scripts/template-db2bak.pl.in | 4
ldap/admin/src/scripts/template-db2index.pl.in | 4
ldap/admin/src/scripts/template-db2ldif.pl.in | 4
ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in | 4
ldap/admin/src/scripts/template-fixup-memberof.pl.in | 4
ldap/admin/src/scripts/template-ldif2db.pl.in | 4
ldap/admin/src/scripts/template-ns-accountstatus.pl.in | 4
ldap/admin/src/scripts/template-ns-activate.pl.in | 4
ldap/admin/src/scripts/template-ns-inactivate.pl.in | 4
ldap/admin/src/scripts/template-schema-reload.pl.in | 4
ldap/admin/src/scripts/template-syntax-validate.pl.in | 4
ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in | 4
19 files changed, 293 insertions(+), 267 deletions(-)
New commits:
commit a7fe1a31f0dc5ab2182503c031cac9714c89db2d
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Mon Jan 24 12:53:21 2011 -0700
Bug 576534 - Password displayed on console when entered in command-line utilities
https://bugzilla.redhat.com/show_bug.cgi?id=576534
Resolves: bug 576534
Bug Description: Password displayed on console when entered in command-line utilities
Reviewed by: nhosoi (Thanks!)
Branch: master
Fix Description: Add a new configurable path - sttyexec - to configure.ac.
This is the absolute path and filename of the stty command to use with
the -echo and echo options to disable and enable tty echo for password
entry with perl scripts. By default it is set to /bin/stty but it can be
overridden on a per-platform basis in configure.ac. I had to move
DialogManager.pm to DialogManager.pm.in in order to replace the stty
command used there (which actually worked with just stty - not sure
why that worked but other perl scripts did not).
Platforms tested: RHEL6 x86_64
Flag Day: yes - file renamed - autoconf file changes
Doc impact: no
diff --git a/Makefile.am b/Makefile.am
index 5345225..0b7edaf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1390,6 +1390,7 @@ fixupcmd = sed \
-e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
-e 's,@with_selinux\@,@with_selinux@,g' \
-e 's,@perlexec\@,@perlexec@,g' \
+ -e 's,@sttyexec\@,@sttyexec@,g' \
-e 's,@initconfigdir\@,$(initconfigdir),g'\
-e 's,@updatedir\@,$(updatedir),g' \
-e 's,@ldaplib\@,$(ldaplib),g' \
@@ -1451,6 +1452,7 @@ fixupcmd = sed \
-e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
-e 's,@with_selinux\@,@with_selinux@,g' \
-e 's,@perlexec\@,@perlexec@,g' \
+ -e 's,@sttyexec\@,@sttyexec@,g' \
-e 's,@initconfigdir\@,$(initconfigdir),g' \
-e 's,@updatedir\@,$(updatedir),g' \
-e 's,@ldaplib\@,$(ldaplib),g' \
diff --git a/Makefile.in b/Makefile.in
index 39d400f..b559695 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1235,6 +1235,7 @@ serverincdir = $(includedir)@serverincdir@
serverplugindir = $(libdir)@serverplugindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
+sttyexec = @sttyexec@
svrcore_inc = @svrcore_inc@
svrcore_lib = @svrcore_lib@
sysconfdir = @sysconfdir@
@@ -2471,6 +2472,7 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_FALSE@ -e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
@BUNDLE_FALSE@ -e 's,@with_selinux\@,@with_selinux@,g' \
@BUNDLE_FALSE@ -e 's,@perlexec\@,@perlexec@,g' \
+@BUNDLE_FALSE@ -e 's,@sttyexec\@,@sttyexec@,g' \
@BUNDLE_FALSE@ -e 's,@initconfigdir\@,$(initconfigdir),g' \
@BUNDLE_FALSE@ -e 's,@updatedir\@,$(updatedir),g' \
@BUNDLE_FALSE@ -e 's,@ldaplib\@,$(ldaplib),g' \
@@ -2542,6 +2544,7 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_TRUE@ -e 's,@with_fhs_opt\@,@with_fhs_opt@,g' \
@BUNDLE_TRUE@ -e 's,@with_selinux\@,@with_selinux@,g' \
@BUNDLE_TRUE@ -e 's,@perlexec\@,@perlexec@,g' \
+@BUNDLE_TRUE@ -e 's,@sttyexec\@,@sttyexec@,g' \
@BUNDLE_TRUE@ -e 's,@initconfigdir\@,$(initconfigdir),g'\
@BUNDLE_TRUE@ -e 's,@updatedir\@,$(updatedir),g' \
@BUNDLE_TRUE@ -e 's,@ldaplib\@,$(ldaplib),g' \
diff --git a/configure b/configure
index 48e2e0f..6e679d1 100755
--- a/configure
+++ b/configure
@@ -669,6 +669,7 @@ SOLARIS_TRUE
HPUX_FALSE
HPUX_TRUE
initconfigdir
+sttyexec
perlexec
initdir
LIBCRUN
@@ -17060,6 +17061,15 @@ fi
# and HP-UX, /usr/bin/perl is 32 bit, so we cannot use
# those with our 64 bit compiled product.
perlexec='/usr/bin/env perl'
+# we use stty in perl scripts to disable password echo
+# this doesn't work unless the full absolute path of the
+# stty command is used e.g. system("stty -echo") does not
+# work but system("/bin/stty -echo") does work
+# since the path of stty may not be the same on all
+# platforms, we set the default here to /bin/stty and
+# allow that value to be overridden in the platform
+# specific section below
+sttyexec=/bin/stty
case $host in
*-*-linux*)
@@ -17288,6 +17298,7 @@ fi
+
# set default initconfigdir if not already set
# value will be set so as to be relative to $(sysconfdir)
if test -z "$initconfigdir" ; then
diff --git a/configure.ac b/configure.ac
index 286cf5f..f990895 100644
--- a/configure.ac
+++ b/configure.ac
@@ -357,6 +357,15 @@ AC_ARG_WITH(initddir,
# and HP-UX, /usr/bin/perl is 32 bit, so we cannot use
# those with our 64 bit compiled product.
perlexec='/usr/bin/env perl'
+# we use stty in perl scripts to disable password echo
+# this doesn't work unless the full absolute path of the
+# stty command is used e.g. system("stty -echo") does not
+# work but system("/bin/stty -echo") does work
+# since the path of stty may not be the same on all
+# platforms, we set the default here to /bin/stty and
+# allow that value to be overridden in the platform
+# specific section below
+sttyexec=/bin/stty
case $host in
*-*-linux*)
AC_DEFINE([XP_UNIX], [1], [UNIX])
@@ -467,6 +476,7 @@ if test -n "$with_initddir" ; then
fi
AC_SUBST(initdir)
AC_SUBST(perlexec)
+AC_SUBST(sttyexec)
# set default initconfigdir if not already set
# value will be set so as to be relative to $(sysconfdir)
diff --git a/ldap/admin/src/scripts/DialogManager.pm b/ldap/admin/src/scripts/DialogManager.pm
deleted file mode 100644
index a9f493b..0000000
--- a/ldap/admin/src/scripts/DialogManager.pm
+++ /dev/null
@@ -1,241 +0,0 @@
-# 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
-$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.)
-# 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;
- }
-}
-
-sub resetDialog {
- my $self = shift;
- @{$self->{dialogs}} = ();
-}
-
-# see if the user answered with the special BACK answer
-sub isBack {
- my $self = shift;
- my $ans = shift;
-
- if (!$ans) {
- return 0;
- }
-
- # the word "back"
- if ($ans =~ /^\s*back\s*$/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 = <STDIN>;
- # 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];
- if ($dialog->isEnabled()) {
- my $resp = $NEXT;
- $resp = $dialog->run($incr);
- 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 = 0;
- } elsif ($index >= @{$self->{dialogs}}) {
- $done = 1;
- }
- }
-
- return $rc;
-}
-
-#############################################################################
-# Mandatory TRUE return value.
-#
-1;
diff --git a/ldap/admin/src/scripts/DialogManager.pm.in b/ldap/admin/src/scripts/DialogManager.pm.in
new file mode 100644
index 0000000..9c07f31
--- /dev/null
+++ b/ldap/admin/src/scripts/DialogManager.pm.in
@@ -0,0 +1,241 @@
+# 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
+$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.)
+# 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;
+ }
+}
+
+sub resetDialog {
+ my $self = shift;
+ @{$self->{dialogs}} = ();
+}
+
+# see if the user answered with the special BACK answer
+sub isBack {
+ my $self = shift;
+ my $ans = shift;
+
+ if (!$ans) {
+ return 0;
+ }
+
+ # the word "back"
+ if ($ans =~ /^\s*back\s*$/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("@sttyexec@ -echo");
+ }
+ # read the answer
+ my $ans = <STDIN>;
+ # if we are prompting for a password, enable console echo
+ if ($ispwd) {
+ system("@sttyexec@ 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];
+ if ($dialog->isEnabled()) {
+ my $resp = $NEXT;
+ $resp = $dialog->run($incr);
+ 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 = 0;
+ } elsif ($index >= @{$self->{dialogs}}) {
+ $done = 1;
+ }
+ }
+
+ return $rc;
+}
+
+#############################################################################
+# Mandatory TRUE return value.
+#
+1;
diff --git a/ldap/admin/src/scripts/template-bak2db.pl.in b/ldap/admin/src/scripts/template-bak2db.pl.in
index 96bfd16..4cd51ab 100644
--- a/ldap/admin/src/scripts/template-bak2db.pl.in
+++ b/ldap/admin/src/scripts/template-bak2db.pl.in
@@ -93,11 +93,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-db2bak.pl.in b/ldap/admin/src/scripts/template-db2bak.pl.in
index 27f9f30..b443f0b 100644
--- a/ldap/admin/src/scripts/template-db2bak.pl.in
+++ b/ldap/admin/src/scripts/template-db2bak.pl.in
@@ -90,11 +90,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-db2index.pl.in b/ldap/admin/src/scripts/template-db2index.pl.in
index 91101a1..eb58957 100644
--- a/ldap/admin/src/scripts/template-db2index.pl.in
+++ b/ldap/admin/src/scripts/template-db2index.pl.in
@@ -129,11 +129,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-db2ldif.pl.in b/ldap/admin/src/scripts/template-db2ldif.pl.in
index f3148ff..2db6421 100644
--- a/ldap/admin/src/scripts/template-db2ldif.pl.in
+++ b/ldap/admin/src/scripts/template-db2ldif.pl.in
@@ -181,11 +181,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in b/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in
index 17ca9f7..1745f80 100644
--- a/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in
+++ b/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in
@@ -111,11 +111,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-fixup-memberof.pl.in b/ldap/admin/src/scripts/template-fixup-memberof.pl.in
index 5dff5f7..547379f 100644
--- a/ldap/admin/src/scripts/template-fixup-memberof.pl.in
+++ b/ldap/admin/src/scripts/template-fixup-memberof.pl.in
@@ -120,11 +120,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-ldif2db.pl.in b/ldap/admin/src/scripts/template-ldif2db.pl.in
index b4d2c83..da6073b 100644
--- a/ldap/admin/src/scripts/template-ldif2db.pl.in
+++ b/ldap/admin/src/scripts/template-ldif2db.pl.in
@@ -169,11 +169,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-ns-accountstatus.pl.in b/ldap/admin/src/scripts/template-ns-accountstatus.pl.in
index 0b4deeb..7769ce2 100644
--- a/ldap/admin/src/scripts/template-ns-accountstatus.pl.in
+++ b/ldap/admin/src/scripts/template-ns-accountstatus.pl.in
@@ -465,11 +465,11 @@ if ($pwfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$rootpw = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($rootpw); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-ns-activate.pl.in b/ldap/admin/src/scripts/template-ns-activate.pl.in
index 0b4deeb..7769ce2 100644
--- a/ldap/admin/src/scripts/template-ns-activate.pl.in
+++ b/ldap/admin/src/scripts/template-ns-activate.pl.in
@@ -465,11 +465,11 @@ if ($pwfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$rootpw = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($rootpw); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-ns-inactivate.pl.in b/ldap/admin/src/scripts/template-ns-inactivate.pl.in
index 0b4deeb..7769ce2 100644
--- a/ldap/admin/src/scripts/template-ns-inactivate.pl.in
+++ b/ldap/admin/src/scripts/template-ns-inactivate.pl.in
@@ -465,11 +465,11 @@ if ($pwfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$rootpw = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($rootpw); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-schema-reload.pl.in b/ldap/admin/src/scripts/template-schema-reload.pl.in
index 7cac483..364c2b0 100644
--- a/ldap/admin/src/scripts/template-schema-reload.pl.in
+++ b/ldap/admin/src/scripts/template-schema-reload.pl.in
@@ -110,11 +110,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-syntax-validate.pl.in b/ldap/admin/src/scripts/template-syntax-validate.pl.in
index 401ec87..b5fb796 100644
--- a/ldap/admin/src/scripts/template-syntax-validate.pl.in
+++ b/ldap/admin/src/scripts/template-syntax-validate.pl.in
@@ -120,11 +120,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in b/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in
index 7ad6ca2..53e4cea 100644
--- a/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in
+++ b/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in
@@ -124,11 +124,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo") if -t STDIN;
+ system("@sttyexec@ -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo") if -t STDIN;
+ system("@sttyexec@ echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
12 years, 10 months
configure configure.ac dirsrv.pc.in Makefile.am Makefile.in
by Nathan Kinder
Makefile.am | 29 +++++++++++-
Makefile.in | 142 ++++++++++++++++++++++++++++++++++++++++++++---------------
configure | 6 ++
configure.ac | 5 ++
dirsrv.pc.in | 7 ++
5 files changed, 153 insertions(+), 36 deletions(-)
New commits:
commit c9839b343cbee562868da11e26d35d446423e622
Author: Nathan Kinder <nkinder(a)redhat.com>
Date: Mon Jan 24 11:10:32 2011 -0800
Bug 252249 - Add pkg-config file for plug-in developers
This adds a pkg-config file to aid plug-in developers. With this
new file, one can determine the cflags and library locations to
link with by simply using pkg-config.
diff --git a/Makefile.am b/Makefile.am
index bd3c64e..5345225 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -46,8 +46,12 @@ NSPR_LINK = @nspr_lib@ -lplc4 -lplds4 -lnspr4
NSS_LINK = @nss_lib@ -lssl3 -lnss3
if OPENLDAP
LDAPSDK_LINK = @openldap_lib@ -lldap_r@ol_libver@ -lldap@ol_libver@ -lldif@ol_libver@ -llber@ol_libver@
+ldaplib = openldap
+ldaplib_defs = -DUSE_OPENLDAP
else
LDAPSDK_LINK = @ldapsdk_lib@ -lssldap60 -lprldap60 -lldap60 -lldif60
+ldaplib = mozldap
+ldaplib_defs =
endif
DB_LINK = @db_lib@ -ldb-@db_libver@
SASL_LINK = @sasl_lib@ -lsasl2
@@ -135,6 +139,8 @@ perldir = $(libdir)@perldir@
infdir = $(datadir)@infdir@
mibdir = $(datadir)@mibdir@
updatedir = $(datadir)@updatedir@
+pkgconfigdir = $(libdir)/pkgconfig
+serverincdir = $(includedir)@serverincdir@
defaultuser=@defaultuser@
defaultgroup=@defaultgroup@
@@ -384,6 +390,15 @@ mib_DATA = ldap/servers/snmp/RFC-1215.txt \
ldap/servers/snmp/RFC1155-SMI.txt \
ldap/servers/snmp/SNMPv2-SMI.txt
+pkgconfig_DATA = $(PACKAGE_NAME).pc
+
+#------------------------
+# header files
+#------------------------
+serverinc_HEADERS = ldap/servers/plugins/replication/repl-session-plugin.h \
+ ldap/servers/slapd/slapi-plugin.h \
+ ldap/servers/plugins/replication/winsync-plugin.h
+
#------------------------
# man pages
#------------------------
@@ -1340,6 +1355,7 @@ fixupcmd = sed \
-e 's,@datadir\@,$(datadir),g' \
-e 's,@schemadir\@,$(schemadir),g' \
-e 's,@serverdir\@,$(serverdir),g' \
+ -e 's,@serverincdir\@,$(serverincdir),g' \
-e 's,@serverplugindir\@,$(serverplugindir),g' \
-e 's,@taskdir\@,$(taskdir),g' \
-e 's,@configdir\@,$(configdir),g' \
@@ -1375,7 +1391,9 @@ fixupcmd = sed \
-e 's,@with_selinux\@,@with_selinux@,g' \
-e 's,@perlexec\@,@perlexec@,g' \
-e 's,@initconfigdir\@,$(initconfigdir),g'\
- -e 's,@updatedir\@,$(updatedir),g'
+ -e 's,@updatedir\@,$(updatedir),g' \
+ -e 's,@ldaplib\@,$(ldaplib),g' \
+ -e 's,@ldaplib_defs\@,$(ldaplib_defs),g'
else
fixupcmd = sed \
-e 's,@bindir\@,$(bindir),g' \
@@ -1398,6 +1416,7 @@ fixupcmd = sed \
-e 's,@datadir\@,$(datadir),g' \
-e 's,@schemadir\@,$(schemadir),g' \
-e 's,@serverdir\@,$(serverdir),g' \
+ -e 's,@serverincdir\@,$(serverincdir),g' \
-e 's,@serverplugindir\@,$(serverplugindir),g' \
-e 's,@taskdir\@,$(taskdir),g' \
-e 's,@configdir\@,$(configdir),g' \
@@ -1433,7 +1452,9 @@ fixupcmd = sed \
-e 's,@with_selinux\@,@with_selinux@,g' \
-e 's,@perlexec\@,@perlexec@,g' \
-e 's,@initconfigdir\@,$(initconfigdir),g' \
- -e 's,@updatedir\@,$(updatedir),g'
+ -e 's,@updatedir\@,$(updatedir),g' \
+ -e 's,@ldaplib\@,$(ldaplib),g' \
+ -e 's,@ldaplib_defs\@,$(ldaplib_defs),g'
endif
%: %.in
@@ -1448,6 +1469,10 @@ endif
if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
$(fixupcmd) $^ > $@
+%/$(PACKAGE_NAME).pc: %/dirsrv.pc.in
+ if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
+ $(fixupcmd) $^ > $@
+
%/$(PACKAGE_NAME)-snmp: %/ldap-agent-initscript.in
if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
$(fixupcmd) $^ > $@
diff --git a/Makefile.in b/Makefile.in
index e2e1f39..39d400f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -19,6 +19,7 @@
+
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
@@ -49,9 +50,10 @@ noinst_PROGRAMS = makstrdb$(EXEEXT)
@SOLARIS_TRUE@am__append_3 = ldap/servers/slapd/tools/ldclt/opCheck.c
subdir = .
DIST_COMMON = $(am__configure_deps) $(dist_man_MANS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/config.h.in $(top_srcdir)/configure compile \
- config.guess config.sub depcomp install-sh ltmain.sh missing
+ $(serverinc_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(top_srcdir)/configure compile config.guess config.sub \
+ depcomp install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -119,8 +121,9 @@ am__installdirs = "$(DESTDIR)$(serverdir)" \
"$(DESTDIR)$(configdir)" "$(DESTDIR)$(infdir)" \
"$(DESTDIR)$(initconfigdir)" "$(DESTDIR)$(mibdir)" \
"$(DESTDIR)$(propertydir)" "$(DESTDIR)$(perldir)" \
- "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" \
- "$(DESTDIR)$(schemadir)" "$(DESTDIR)$(updatedir)"
+ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(propertydir)" \
+ "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)" \
+ "$(DESTDIR)$(updatedir)" "$(DESTDIR)$(serverincdir)"
LTLIBRARIES = $(server_LTLIBRARIES) $(serverplugin_LTLIBRARIES)
am__DEPENDENCIES_1 =
libacctpolicy_plugin_la_DEPENDENCIES = libslapd.la \
@@ -1023,8 +1026,10 @@ man8dir = $(mandir)/man8
NROFF = nroff
MANS = $(dist_man_MANS)
DATA = $(config_DATA) $(inf_DATA) $(initconfig_DATA) $(mib_DATA) \
- $(nodist_property_DATA) $(perl_DATA) $(property_DATA) \
- $(sampledata_DATA) $(schema_DATA) $(update_DATA)
+ $(nodist_property_DATA) $(perl_DATA) $(pkgconfig_DATA) \
+ $(property_DATA) $(sampledata_DATA) $(schema_DATA) \
+ $(update_DATA)
+HEADERS = $(serverinc_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -1226,6 +1231,7 @@ sbindir = @sbindir@
schemadir = $(sysconfdir)@schemadir@
scripttemplatedir = @scripttemplatedir@
serverdir = $(libdir)@serverdir@
+serverincdir = $(includedir)@serverincdir@
serverplugindir = $(libdir)@serverplugindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -1288,6 +1294,10 @@ NSPR_LINK = @nspr_lib@ -lplc4 -lplds4 -lnspr4
NSS_LINK = @nss_lib@ -lssl3 -lnss3
@OPENLDAP_FALSE@LDAPSDK_LINK = @ldapsdk_lib@ -lssldap60 -lprldap60 -lldap60 -lldif60
@OPENLDAP_TRUE@LDAPSDK_LINK = @openldap_lib@ -lldap_r@ol_libver@ -lldap@ol_libver@ -lldif@ol_libver@ -llber@ol_libver@
+@OPENLDAP_FALSE@ldaplib = mozldap
+@OPENLDAP_TRUE@ldaplib = openldap
+@OPENLDAP_FALSE@ldaplib_defs =
+@OPENLDAP_TRUE@ldaplib_defs = -DUSE_OPENLDAP
DB_LINK = @db_lib@ -ldb-@db_libver@
SASL_LINK = @sasl_lib@ -lsasl2
SVRCORE_LINK = @svrcore_lib@ -lsvrcore
@@ -1337,6 +1347,7 @@ CLEANFILES = dberrstrs.h ns-slapd.properties \
ldap/ldif/template-state.ldif ldap/ldif/template-suffix-db.ldif
taskdir = $(datadir)@scripttemplatedir@
+pkgconfigdir = $(libdir)/pkgconfig
server_LTLIBRARIES = libslapd.la libns-dshttpd.la
# this is how to add optional plugins
@@ -1554,6 +1565,15 @@ mib_DATA = ldap/servers/snmp/RFC-1215.txt \
ldap/servers/snmp/RFC1155-SMI.txt \
ldap/servers/snmp/SNMPv2-SMI.txt
+pkgconfig_DATA = $(PACKAGE_NAME).pc
+
+#------------------------
+# header files
+#------------------------
+serverinc_HEADERS = ldap/servers/plugins/replication/repl-session-plugin.h \
+ ldap/servers/slapd/slapi-plugin.h \
+ ldap/servers/plugins/replication/winsync-plugin.h
+
#------------------------
# man pages
@@ -2416,6 +2436,7 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_FALSE@ -e 's,@datadir\@,$(datadir),g' \
@BUNDLE_FALSE@ -e 's,@schemadir\@,$(schemadir),g' \
@BUNDLE_FALSE@ -e 's,@serverdir\@,$(serverdir),g' \
+@BUNDLE_FALSE@ -e 's,@serverincdir\@,$(serverincdir),g' \
@BUNDLE_FALSE@ -e 's,@serverplugindir\@,$(serverplugindir),g' \
@BUNDLE_FALSE@ -e 's,@taskdir\@,$(taskdir),g' \
@BUNDLE_FALSE@ -e 's,@configdir\@,$(configdir),g' \
@@ -2451,7 +2472,9 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_FALSE@ -e 's,@with_selinux\@,@with_selinux@,g' \
@BUNDLE_FALSE@ -e 's,@perlexec\@,@perlexec@,g' \
@BUNDLE_FALSE@ -e 's,@initconfigdir\@,$(initconfigdir),g' \
-@BUNDLE_FALSE@ -e 's,@updatedir\@,$(updatedir),g'
+@BUNDLE_FALSE@ -e 's,@updatedir\@,$(updatedir),g' \
+@BUNDLE_FALSE@ -e 's,@ldaplib\@,$(ldaplib),g' \
+@BUNDLE_FALSE@ -e 's,@ldaplib_defs\@,$(ldaplib_defs),g'
# these are for the config files and scripts that we need to generate and replace
@@ -2484,6 +2507,7 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_TRUE@ -e 's,@datadir\@,$(datadir),g' \
@BUNDLE_TRUE@ -e 's,@schemadir\@,$(schemadir),g' \
@BUNDLE_TRUE@ -e 's,@serverdir\@,$(serverdir),g' \
+@BUNDLE_TRUE@ -e 's,@serverincdir\@,$(serverincdir),g' \
@BUNDLE_TRUE@ -e 's,@serverplugindir\@,$(serverplugindir),g' \
@BUNDLE_TRUE@ -e 's,@taskdir\@,$(taskdir),g' \
@BUNDLE_TRUE@ -e 's,@configdir\@,$(configdir),g' \
@@ -2519,7 +2543,9 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBS
@BUNDLE_TRUE@ -e 's,@with_selinux\@,@with_selinux@,g' \
@BUNDLE_TRUE@ -e 's,@perlexec\@,@perlexec@,g' \
@BUNDLE_TRUE@ -e 's,@initconfigdir\@,$(initconfigdir),g'\
-@BUNDLE_TRUE@ -e 's,@updatedir\@,$(updatedir),g'
+@BUNDLE_TRUE@ -e 's,@updatedir\@,$(updatedir),g' \
+@BUNDLE_TRUE@ -e 's,@ldaplib\@,$(ldaplib),g' \
+@BUNDLE_TRUE@ -e 's,@ldaplib_defs\@,$(ldaplib_defs),g'
all: $(BUILT_SOURCES) config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -9858,6 +9884,26 @@ uninstall-perlDATA:
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(perldir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(perldir)" && rm -f $$files
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
install-propertyDATA: $(property_DATA)
@$(NORMAL_INSTALL)
test -z "$(propertydir)" || $(MKDIR_P) "$(DESTDIR)$(propertydir)"
@@ -9938,6 +9984,26 @@ uninstall-updateDATA:
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(updatedir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(updatedir)" && rm -f $$files
+install-serverincHEADERS: $(serverinc_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(serverincdir)" || $(MKDIR_P) "$(DESTDIR)$(serverincdir)"
+ @list='$(serverinc_HEADERS)'; test -n "$(serverincdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(serverincdir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(serverincdir)" || exit $$?; \
+ done
+
+uninstall-serverincHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(serverinc_HEADERS)'; test -n "$(serverincdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(serverincdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(serverincdir)" && rm -f $$files
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -10154,9 +10220,9 @@ check-am: all-am
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) \
- $(MANS) $(DATA) config.h
+ $(MANS) $(DATA) $(HEADERS) config.h
installdirs:
- for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(updatedir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(initconfigdir)" "$(DESTDIR)$(mibdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)" "$(DESTDIR)$(updatedir)"; do \
+ for dir in "$(DESTDIR)$(serverdir)" "$(DESTDIR)$(serverplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(taskdir)" "$(DESTDIR)$(updatedir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(infdir)" "$(DESTDIR)$(initconfigdir)" "$(DESTDIR)$(mibdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(perldir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(propertydir)" "$(DESTDIR)$(sampledatadir)" "$(DESTDIR)$(schemadir)" "$(DESTDIR)$(updatedir)" "$(DESTDIR)$(serverincdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: $(BUILT_SOURCES)
@@ -10298,9 +10364,11 @@ info-am:
install-data-am: install-configDATA install-infDATA \
install-initSCRIPTS install-initconfigDATA install-man \
install-mibDATA install-nodist_propertyDATA install-perlDATA \
- install-propertyDATA install-sampledataDATA install-schemaDATA \
- install-serverLTLIBRARIES install-serverpluginLTLIBRARIES \
- install-taskSCRIPTS install-updateDATA install-updateSCRIPTS
+ install-pkgconfigDATA install-propertyDATA \
+ install-sampledataDATA install-schemaDATA \
+ install-serverLTLIBRARIES install-serverincHEADERS \
+ install-serverpluginLTLIBRARIES install-taskSCRIPTS \
+ install-updateDATA install-updateSCRIPTS
install-dvi: install-dvi-am
@@ -10353,9 +10421,10 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-configDATA uninstall-infDATA uninstall-initSCRIPTS \
uninstall-initconfigDATA uninstall-man uninstall-mibDATA \
uninstall-nodist_propertyDATA uninstall-perlDATA \
- uninstall-propertyDATA uninstall-sampledataDATA \
- uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS \
- uninstall-schemaDATA uninstall-serverLTLIBRARIES \
+ uninstall-pkgconfigDATA uninstall-propertyDATA \
+ uninstall-sampledataDATA uninstall-sbinPROGRAMS \
+ uninstall-sbinSCRIPTS uninstall-schemaDATA \
+ uninstall-serverLTLIBRARIES uninstall-serverincHEADERS \
uninstall-serverpluginLTLIBRARIES uninstall-taskSCRIPTS \
uninstall-updateDATA uninstall-updateSCRIPTS
@@ -10379,25 +10448,26 @@ uninstall-man: uninstall-man1 uninstall-man8
install-initSCRIPTS install-initconfigDATA install-man \
install-man1 install-man8 install-mibDATA \
install-nodist_propertyDATA install-pdf install-pdf-am \
- install-perlDATA install-propertyDATA install-ps install-ps-am \
- install-sampledataDATA install-sbinPROGRAMS \
- install-sbinSCRIPTS install-schemaDATA \
- install-serverLTLIBRARIES install-serverpluginLTLIBRARIES \
- install-strip install-taskSCRIPTS install-updateDATA \
- install-updateSCRIPTS 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-infDATA uninstall-initSCRIPTS \
- uninstall-initconfigDATA uninstall-man uninstall-man1 \
- uninstall-man8 uninstall-mibDATA uninstall-nodist_propertyDATA \
- uninstall-perlDATA uninstall-propertyDATA \
+ install-perlDATA install-pkgconfigDATA install-propertyDATA \
+ install-ps install-ps-am install-sampledataDATA \
+ install-sbinPROGRAMS install-sbinSCRIPTS install-schemaDATA \
+ install-serverLTLIBRARIES install-serverincHEADERS \
+ install-serverpluginLTLIBRARIES install-strip \
+ install-taskSCRIPTS install-updateDATA install-updateSCRIPTS \
+ 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-infDATA \
+ uninstall-initSCRIPTS uninstall-initconfigDATA uninstall-man \
+ uninstall-man1 uninstall-man8 uninstall-mibDATA \
+ uninstall-nodist_propertyDATA uninstall-perlDATA \
+ uninstall-pkgconfigDATA uninstall-propertyDATA \
uninstall-sampledataDATA uninstall-sbinPROGRAMS \
uninstall-sbinSCRIPTS uninstall-schemaDATA \
- uninstall-serverLTLIBRARIES uninstall-serverpluginLTLIBRARIES \
- uninstall-taskSCRIPTS uninstall-updateDATA \
- uninstall-updateSCRIPTS
+ uninstall-serverLTLIBRARIES uninstall-serverincHEADERS \
+ uninstall-serverpluginLTLIBRARIES uninstall-taskSCRIPTS \
+ uninstall-updateDATA uninstall-updateSCRIPTS
clean-local:
@@ -10430,6 +10500,10 @@ ns-slapd.properties: makstrdb
if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
$(fixupcmd) $^ > $@
+%/$(PACKAGE_NAME).pc: %/dirsrv.pc.in
+ if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
+ $(fixupcmd) $^ > $@
+
%/$(PACKAGE_NAME)-snmp: %/ldap-agent-initscript.in
if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
$(fixupcmd) $^ > $@
diff --git a/configure b/configure
index 7c4f112..48e2e0f 100755
--- a/configure
+++ b/configure
@@ -689,6 +689,7 @@ infdir
perldir
scripttemplatedir
serverplugindir
+serverincdir
serverdir
schemadir
propertydir
@@ -16918,6 +16919,8 @@ if test "$with_fhs_opt" = "yes"; then
updatedir=/updates
# relative to libdir
serverdir=
+ # relative to includedir
+ serverincdir=
# relative to libdir
serverplugindir=/plugins
# relative to datadir
@@ -16944,6 +16947,8 @@ else
updatedir=/$PACKAGE_NAME/updates
# relative to libdir
serverdir=/$PACKAGE_NAME
+ # relative to includedir
+ serverincdir=/$PACKAGE_NAME
# relative to libdir
serverplugindir=/$PACKAGE_NAME/plugins
# relative to datadir
@@ -16988,6 +16993,7 @@ defaultgroup=nobody
+
# check for --with-instconfigdir
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-instconfigdir" >&5
$as_echo_n "checking for --with-instconfigdir... " >&6; }
diff --git a/configure.ac b/configure.ac
index c5bf8f3..286cf5f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -232,6 +232,8 @@ if test "$with_fhs_opt" = "yes"; then
updatedir=/updates
# relative to libdir
serverdir=
+ # relative to includedir
+ serverincdir=
# relative to libdir
serverplugindir=/plugins
# relative to datadir
@@ -260,6 +262,8 @@ else
updatedir=/$PACKAGE_NAME/updates
# relative to libdir
serverdir=/$PACKAGE_NAME
+ # relative to includedir
+ serverincdir=/$PACKAGE_NAME
# relative to libdir
serverplugindir=/$PACKAGE_NAME/plugins
# relative to datadir
@@ -293,6 +297,7 @@ AC_SUBST(sampledatadir)
AC_SUBST(propertydir)
AC_SUBST(schemadir)
AC_SUBST(serverdir)
+AC_SUBST(serverincdir)
AC_SUBST(serverplugindir)
AC_SUBST(scripttemplatedir)
AC_SUBST(perldir)
diff --git a/dirsrv.pc.in b/dirsrv.pc.in
new file mode 100644
index 0000000..e190eef
--- /dev/null
+++ b/dirsrv.pc.in
@@ -0,0 +1,7 @@
+ldaplib=@ldaplib@
+
+Name: dirsrv
+Description: 389 Directory Server
+Version: @PACKAGE_VERSION@
+Libs: -L@serverdir@ -lslapd
+Cflags: @ldaplib_defs@ -I@serverincdir@
12 years, 10 months
ldap/systools
by Richard Allen Megginson
ldap/systools/idsktune.c | 48 +++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 46 insertions(+), 2 deletions(-)
New commits:
commit 9f1160ce0732809b540a98549e21b9e64bcbae04
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Mon Jan 24 09:12:22 2011 -0700
Bug 624485 - setup dsktune check step should default to "yes" if no problems found
https://bugzilla.redhat.com/show_bug.cgi?id=624485
Resolves: bug 624485
Bug Description: setup dsktune check step should default to "yes" if no problems found
Reviewed by: ???
Branch: master
Fix Description: Additional change - if warnings are reported, exit 1 instead
of 0, and print a message telling the user to review the warnings printed by
the program. This will have the effect of making setup default to No if
warnings are reported.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
diff --git a/ldap/systools/idsktune.c b/ldap/systools/idsktune.c
index 40f1cf5..2382259 100644
--- a/ldap/systools/idsktune.c
+++ b/ldap/systools/idsktune.c
@@ -223,6 +223,7 @@ int flag_mproc = 0;
int tcp_max_listen = 0;
int flag_nonroot = 0;
int flag_carrier = 0;
+int flag_warnings = 0;
int conn_thread = 1;
int maxconn = 0;
@@ -649,6 +650,7 @@ int sun_check_kern_arch(char *a,char *b)
printf("%s: The kernel architecture is %s. " VENDOR " products are optimized\nfor the UltraSPARC architecture and will exhibit poorer performance on earlier\nmachines.\n\n","WARNING",b);
if (flag_html) printf("</P>\n");
flag_arch_bad = 1;
+ flag_warnings++;
}
return 0;
}
@@ -748,6 +750,7 @@ int sun_check_kern_ver(char *a,char *b)
"mid-1998 are lacking many tuning fixes, uprading is strongly recommended.\n\n","WARNING",pp,rp);
pw = 1;
flag_os_bad = 1;
+ flag_warnings++;
}
}
@@ -845,6 +848,7 @@ int sun_check_etcsystem(void)
printf("NOTICE : priority_paging is set to 0 in /etc/system.\n\n");
} else {
printf("WARNING: priority_paging is not set to 1 in /etc/system. See Sun FAQ 2833.\n\n");
+ flag_warnings++;
}
}
@@ -1051,6 +1055,7 @@ int check_tcpmaxlisten(char *a,char *b)
} else if (tcp_max_listen < 65536) {
printf("%s: The kernel has a configured limit of %d for the maximum listen\nbacklog queue size. Setting a value larger than this with ndd will not have\nan effect.\n","WARNING",tcp_max_listen);
+ flag_warnings++;
if (flag_mproc == 0) {
printf("The value can be raised by adding the following line to the file\n/etc/init.d/inetinit:\n");
@@ -1125,6 +1130,7 @@ linux_check_release(void)
if (fgets(osl,128,fp) == NULL) {
printf("WARNING: Cannot determine the kernel number.\n");
pclose(fp);
+ flag_warnings++;
goto done;
}
pclose(fp);
@@ -1353,6 +1359,7 @@ static void gen_tests (void)
iii_patches[i].intel ? "(Intel)" : "");
if (flag_html) printf("</P>\n");
pur++;
+ flag_warnings++;
}
} /* for */
@@ -1465,6 +1472,7 @@ static void gen_tests (void)
printf("%s: %dMB of physical memory is available on the system. %dMB is recommended for best performance on large production system.\n\n",
"WARNING",
phys_mb,mem_rec);
+ flag_warnings++;
} else if (flag_debug) {
printf("DEBUG : Memory size %d\n",phys_mb);
}
@@ -1527,6 +1535,7 @@ static void gen_tests (void)
if (flag_html) printf("<P>\n");
if (flag_quick == 0) {
printf("WARNING: This program should be run by the superuser to collect kernel\ninformation on the overriding maximum backlog queue size and IP tuning.\n\n");
+ flag_warnings++;
}
flag_nonroot = 1;
if (flag_html) printf("</P>\n");
@@ -1621,6 +1630,7 @@ int tru64_check_tcbhashsize(char *a,char *b)
if (strcmp(b,"unknown attribute") == 0) {
printf("WARNING: TCP tuning parameters are missing.\n\n");
+ flag_warnings++;
return 0;
}
i = atoi(b);
@@ -1628,6 +1638,7 @@ int tru64_check_tcbhashsize(char *a,char *b)
if (i < 32) {
printf("WARNING: The inet tuning parameter tcbhashsize is set too low (%d),\nand should be raised to between 512 and 1024.\n\n",i);
flag_tru64_tuning_needed = 1;
+ flag_warnings++;
} else if (i < 512) {
printf("NOTICE : The inet tuning parameter tcbhashsize is set too low (%d),\nand should be raised to between 512 and 1024.\n\n",i);
flag_tru64_tuning_needed = 1;
@@ -1644,6 +1655,7 @@ int tru64_check_present_smp(char *a,char *b)
printf("WARNING: If this is a multiprocessor system, additional tuning patches need\nto be installed, as sysconfig -q inet tuning parameter %s is missing.\n",
a);
printf("NOTICE : If this is a uniprocessor system, the above warning can be ignored.\n\n");
+ flag_warnings++;
} else {
if (flag_debug) printf("DEBUG : %s %s\n", a, b);
}
@@ -1657,6 +1669,7 @@ int tru64_check_msl(char *a,char *b)
if (strcmp(b,"unknown attribute") == 0) {
printf("WARNING: TCP tuning parameters are missing.\n\n");
+ flag_warnings++;
return 0;
}
i = atoi(b);
@@ -1709,6 +1722,7 @@ int tru64_check_threads(char *a,char *b)
if (i < 512) {
printf("WARNING: The proc tuning parameter max-threads-per-user should be raised from\n%d to at least 512.\n\n",i);
flag_tru64_tuning_needed = 1;
+ flag_warnings++;
} else {
if (flag_debug) printf("DEBUG : %s %s\n",a,b);
}
@@ -1754,6 +1768,7 @@ static void sysconfig_tests (void)
} else if (iv < 878) {
printf("WARNING: Tru64 UNIX versions prior to 4.0D require a patch to provide \noptimal Internet performance.\n\n");
flag_tru64_40b = 1;
+ flag_warnings++;
} else {
if (flag_debug) printf("DEBUG : Digital UNIX %s %s\n",
u.release,u.version);
@@ -1914,6 +1929,7 @@ static void hp_check_index(char *index_path, char *desc, int yr, int mo)
else
{
printf("WARNING: Bad formatted date: %s\n", datep);
+ flag_warnings++;
}
}
}
@@ -1935,6 +1951,7 @@ static void hp_check_qpk()
if (access(HP_PATCH_DIR,X_OK) == -1) {
printf("\nWARNING : Only the superuser can check which patches are installed. You must\nrun dsktune as root to ensure the necessary patches are present. If required\npatches are not present, the server may not function correctly.\n\n");
+ flag_warnings++;
return;
}
@@ -1959,6 +1976,7 @@ static void hp_check_qpk()
if (access(fbuf, R_OK) == -1)
{
printf("WARNING : Patch info file %s does not exist or not readable.\n\n", fbuf);
+ flag_warnings++;
}
else
{
@@ -1983,6 +2001,7 @@ static void hp_pthreads_tests(void)
if (_SYSTEM_SUPPORTS_LP64OS(cpu64) == 0) {
printf("WARNING: This system does not support 64 bit operating systems.\n\n");
+ flag_warnings++;
} else {
if (flag_debug) printf("DEBUG : _SC_HW_32_64_CAPABLE 0x%lx\n",cpu64);
}
@@ -1993,6 +2012,7 @@ static void hp_pthreads_tests(void)
printf("WARNING: only %lu threads are available in a process.\n", tmax);
printf("NOTICE : use kmtune or sam Kernel Configuration Parameters to change max_thread_proc\n");
printf("and nkthreads as needed.\n\n");
+ flag_warnings++;
} else {
if (flag_debug) printf("DEBUG : HP-UX max threads %lu\n", tmax);
}
@@ -2006,6 +2026,7 @@ static void hp_pthreads_tests(void)
if (omax < 120) {
printf("WARNING: only %lu files can be opened at once in a process.\n",omax);
printf("NOTICE : use kmtune or sam Kernel Configuration Parameters to change maxfiles.\n");
+ flag_warnings++;
} else {
if (flag_debug) printf("DEBUG : HP-UX maxfiles %ld\n", omax);
}
@@ -2097,12 +2118,17 @@ static void ndd_tests (void)
printf("NDD_VALUE[10]=%d\n\n", 30000);
if (flag_html) printf("</PRE><P>\n");
#endif
- if (flag_carrier) flag_os_bad = 1;
+ if (flag_carrier) {
+ flag_os_bad = 1;
+ } else {
+ flag_warnings++;
+ }
} else if (ndd_tcp_time_wait_interval < 10000) {
if (flag_html) printf("<P>\n");
printf("WARNING: The %s is set to %ld milliseconds. Values below\n30000 may cause problems.\n\n",
name_tcp_time_wait_interval, ndd_tcp_time_wait_interval);
if (flag_html) printf("</P>\n");
+ flag_warnings++;
} else {
if (flag_debug) {
printf("DEBUG : %s %ld\n", name_tcp_time_wait_interval, ndd_tcp_time_wait_interval);
@@ -2143,6 +2169,7 @@ static void ndd_tests (void)
if (flag_html) printf("</P>\n");
printf("\n");
+ flag_warnings++;
}
if (tcp_max_listen && ndd_tcp_conn_req_max_q0 > tcp_max_listen) {
@@ -2200,6 +2227,7 @@ static void ndd_tests (void)
if (tcp_max_listen && ndd_tcp_conn_req_max_q > tcp_max_listen) {
printf("WARNING: %s (value %ld) is larger than the kernel will allow.\n\n", NAME_TCP_CONN_REQ_MAX_Q, ndd_tcp_conn_req_max_q);
+ flag_warnings++;
}
if (flag_html) printf("</P><P>\n");
@@ -2234,6 +2262,7 @@ static void ndd_tests (void)
printf("WARNING: There may be a bug in Solaris 2.5.1 which causes infinite\nretransmission when the %s (%ld s) is set. As there is\nno known fix, upgrading to Solaris 2.6 or later is recommended.\n\n",
NAME_TCP_KEEPALIVE_INTERVAL, ndd_tcp_keepalive_interval/1000);
if (flag_html) printf("</P><P>\n");
+ flag_warnings++;
} else {
if (ndd_tcp_keepalive_interval < 60000) {
if (flag_html) printf("</P><P>\n");
@@ -2459,6 +2488,7 @@ static void ndd_tests (void)
if (ndd_get_tcp("net.inet.tcp.delayed_ack",&ndd_tcp_deferred_ack_interval) == 0) {
if (ndd_tcp_deferred_ack_interval > 0) {
printf("WARNING: net.inet.tcp.delayed_ack is currently set. This will\ncause FreeBSD to insert artificial delays in the LDAP protocol. It should\nbe reduced during load testing.\n");
+ flag_warnings++;
} else {
if (flag_debug) printf("DEBUG : ndd /dev/tcp tcp_deferred_ack_interval %ld\n", ndd_tcp_deferred_ack_interval);
}
@@ -2473,7 +2503,11 @@ static void ndd_tests (void)
printf("%s: tcp_deferred_ack_interval is currently %ld milliseconds. This will\ncause the operating system to insert artificial delays in the LDAP protocol. It should\nbe reduced during load testing.\n",
flag_carrier ? "ERROR " : "WARNING",
ndd_tcp_deferred_ack_interval);
- if (flag_carrier) flag_os_bad = 1;
+ if (flag_carrier) {
+ flag_os_bad = 1;
+ } else {
+ flag_warnings++;
+ }
#ifdef NAME_NDD_CFG_FILE
printf("An entry similar to the following can be\nadded to the %s file:\n", NAME_NDD_CFG_FILE);
if (flag_html) printf("</P><PRE>\n");
@@ -2736,10 +2770,12 @@ static int check_fs_options(char *reqdir,char mntbuf[MAXPATHLEN])
} else {
printf("WARNING: largefiles option is not present on mount of %s, \nalthough it is present on other file systems. Files on the %s\nfile system will be limited to 2GB in size.\n\n", mntbuf, mntbuf);
}
+ flag_warnings++;
}
} else {
if (any_found == 0) {
printf("WARNING: no file system mounted with largefiles option.\n\n");
+ flag_warnings++;
}
}
#endif
@@ -2913,6 +2949,7 @@ static void check_mem_size(int ro,char *rn)
printf("WARNING: processes are limited by %s to %ld MB in size.\n",
rn, m_mb);
m_change_needed = 1;
+ flag_warnings++;
}
if (m_change_needed) {
@@ -2941,6 +2978,7 @@ static void limits_tests(void)
flag_os_bad = 1;
} else {
printf("WARNING: There are only %ld file descriptors (hard limit) available, which\nlimit the number of simultaneous connections. ",r.rlim_max);
+ flag_warnings++;
}
#if defined(__sun)
@@ -2975,6 +3013,7 @@ static void limits_tests(void)
flag_os_bad = 1;
} else {
printf("WARNING: There are only %ld file descriptors (soft limit) available, which\nlimit the number of simultaneous connections. ",r.rlim_cur);
+ flag_warnings++;
}
#if defined(__sun) || defined(__hpux)
@@ -3337,6 +3376,11 @@ int main(int argc,char *argv[])
printf("ERROR : The above errors MUST be corrected before proceeding.\n\n");
if (flag_html) printf("</P>\n");
exit(1);
+ } else if (flag_warnings) {
+ if (flag_html) printf("<P>\n");
+ printf("WARNING : The warning messages above should be reviewed before proceeding.\n\n");
+ if (flag_html) printf("</P>\n");
+ exit(1);
}
exit(0);
12 years, 10 months
ldap/admin
by Richard Allen Megginson
ldap/admin/src/scripts/template-bak2db.pl.in | 4 ++--
ldap/admin/src/scripts/template-db2bak.pl.in | 4 ++--
ldap/admin/src/scripts/template-db2index.pl.in | 4 ++--
ldap/admin/src/scripts/template-db2ldif.pl.in | 4 ++--
ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in | 4 ++--
ldap/admin/src/scripts/template-fixup-memberof.pl.in | 4 ++--
ldap/admin/src/scripts/template-ldif2db.pl.in | 4 ++--
ldap/admin/src/scripts/template-ns-accountstatus.pl.in | 4 ++--
ldap/admin/src/scripts/template-ns-activate.pl.in | 4 ++--
ldap/admin/src/scripts/template-ns-inactivate.pl.in | 4 ++--
ldap/admin/src/scripts/template-schema-reload.pl.in | 4 ++--
ldap/admin/src/scripts/template-syntax-validate.pl.in | 4 ++--
ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in | 4 ++--
13 files changed, 26 insertions(+), 26 deletions(-)
New commits:
commit 07d9cb2b67b32d321ebfca0a4f1e57791c5bf411
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Mon Jan 24 08:37:52 2011 -0700
Bug 622907 - support piped passwords to perl-based maintenance commands
https://bugzilla.redhat.com/show_bug.cgi?id=622907
Resolves: bug 622907
Bug Description: support piped passwords to perl-based maintenance commands
Author: ulf.weltman(a)hp.com
Reviewed by: rmeggins
Branch: master
Fix Description: Use -t STDIN to check if the terminal is a tty
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
diff --git a/ldap/admin/src/scripts/template-bak2db.pl.in b/ldap/admin/src/scripts/template-bak2db.pl.in
index 78a20d3..96bfd16 100644
--- a/ldap/admin/src/scripts/template-bak2db.pl.in
+++ b/ldap/admin/src/scripts/template-bak2db.pl.in
@@ -93,11 +93,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-db2bak.pl.in b/ldap/admin/src/scripts/template-db2bak.pl.in
index 5fac9a7..27f9f30 100644
--- a/ldap/admin/src/scripts/template-db2bak.pl.in
+++ b/ldap/admin/src/scripts/template-db2bak.pl.in
@@ -90,11 +90,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-db2index.pl.in b/ldap/admin/src/scripts/template-db2index.pl.in
index 6229cb4..91101a1 100644
--- a/ldap/admin/src/scripts/template-db2index.pl.in
+++ b/ldap/admin/src/scripts/template-db2index.pl.in
@@ -129,11 +129,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-db2ldif.pl.in b/ldap/admin/src/scripts/template-db2ldif.pl.in
index 2a3c3f7..f3148ff 100644
--- a/ldap/admin/src/scripts/template-db2ldif.pl.in
+++ b/ldap/admin/src/scripts/template-db2ldif.pl.in
@@ -181,11 +181,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in b/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in
index acdf29b..17ca9f7 100644
--- a/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in
+++ b/ldap/admin/src/scripts/template-fixup-linkedattrs.pl.in
@@ -111,11 +111,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-fixup-memberof.pl.in b/ldap/admin/src/scripts/template-fixup-memberof.pl.in
index de7a6ba..5dff5f7 100644
--- a/ldap/admin/src/scripts/template-fixup-memberof.pl.in
+++ b/ldap/admin/src/scripts/template-fixup-memberof.pl.in
@@ -120,11 +120,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-ldif2db.pl.in b/ldap/admin/src/scripts/template-ldif2db.pl.in
index 1ead21e..b4d2c83 100644
--- a/ldap/admin/src/scripts/template-ldif2db.pl.in
+++ b/ldap/admin/src/scripts/template-ldif2db.pl.in
@@ -169,11 +169,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-ns-accountstatus.pl.in b/ldap/admin/src/scripts/template-ns-accountstatus.pl.in
index 2712d09..0b4deeb 100644
--- a/ldap/admin/src/scripts/template-ns-accountstatus.pl.in
+++ b/ldap/admin/src/scripts/template-ns-accountstatus.pl.in
@@ -465,11 +465,11 @@ if ($pwfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$rootpw = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($rootpw); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-ns-activate.pl.in b/ldap/admin/src/scripts/template-ns-activate.pl.in
index 2712d09..0b4deeb 100644
--- a/ldap/admin/src/scripts/template-ns-activate.pl.in
+++ b/ldap/admin/src/scripts/template-ns-activate.pl.in
@@ -465,11 +465,11 @@ if ($pwfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$rootpw = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($rootpw); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-ns-inactivate.pl.in b/ldap/admin/src/scripts/template-ns-inactivate.pl.in
index 2712d09..0b4deeb 100644
--- a/ldap/admin/src/scripts/template-ns-inactivate.pl.in
+++ b/ldap/admin/src/scripts/template-ns-inactivate.pl.in
@@ -465,11 +465,11 @@ if ($pwfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$rootpw = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($rootpw); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-schema-reload.pl.in b/ldap/admin/src/scripts/template-schema-reload.pl.in
index 37071b4..7cac483 100644
--- a/ldap/admin/src/scripts/template-schema-reload.pl.in
+++ b/ldap/admin/src/scripts/template-schema-reload.pl.in
@@ -110,11 +110,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-syntax-validate.pl.in b/ldap/admin/src/scripts/template-syntax-validate.pl.in
index d8fc878..401ec87 100644
--- a/ldap/admin/src/scripts/template-syntax-validate.pl.in
+++ b/ldap/admin/src/scripts/template-syntax-validate.pl.in
@@ -120,11 +120,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
diff --git a/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in b/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in
index 0b54917..7ad6ca2 100644
--- a/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in
+++ b/ldap/admin/src/scripts/template-usn-tombstone-cleanup.pl.in
@@ -124,11 +124,11 @@ if ($passwdfile ne ""){
# Read the password from terminal
print "Bind Password: ";
# Disable console echo
- system("stty -echo");
+ system("stty -echo") if -t STDIN;
# read the answer
$passwd = <STDIN>;
# Enable console echo
- system("stty echo");
+ system("stty echo") if -t STDIN;
print "\n";
chop($passwd); # trim trailing newline
}
12 years, 10 months
esc/win32 build.sh,1.15,1.16
by Jack Magne
Author: jmagne
Update of /cvs/dirsec/esc/win32
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv14423
Modified Files:
build.sh
Log Message:
Fix typo.
Index: build.sh
===================================================================
RCS file: /cvs/dirsec/esc/win32/build.sh,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- build.sh 22 Jan 2011 04:29:55 -0000 1.15
+++ build.sh 22 Jan 2011 04:35:32 -0000 1.16
@@ -295,7 +295,7 @@
if [ X$USE_64 == X1 ];
then
- echo "Don't get XUL SDK for 64 bits.
+ echo "Don't get XUL SDK for 64 bits."
return 0
fi
12 years, 10 months
esc/win32 build.sh,1.14,1.15
by Jack Magne
Author: jmagne
Update of /cvs/dirsec/esc/win32
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv14291
Modified Files:
build.sh
Log Message:
Don't get xul sdk for 64 bits.
Index: build.sh
===================================================================
RCS file: /cvs/dirsec/esc/win32/build.sh,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- build.sh 22 Jan 2011 04:27:58 -0000 1.14
+++ build.sh 22 Jan 2011 04:29:55 -0000 1.15
@@ -293,6 +293,12 @@
function obtainXULSDK {
+ if [ X$USE_64 == X1 ];
+ then
+ echo "Don't get XUL SDK for 64 bits.
+ return 0
+ fi
+
if [ -d ${XUL_SDK_DIR} ];
then
echo "XUL SDK already obtained."
12 years, 10 months