Commit aeade1fb authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Sync changes from yesterday

parent 3db7f7f6
......@@ -19,11 +19,16 @@ OpenLDAP 2.3.7 Release
Fixed slaptest cn=config segfault (ITS#3961)
Fixed slaptools logging issue (ITS#3937)
Fixed slaptools fails after db clean (ITS#3970)
Fixed slaptools reject unsupported -w (ITS#3939)
Fixed libldap global_opt failure
Fixed libldap schema handling
Fixed libldap secprops parsing (ITS#3955)
Fixed libldap_r tpool (ITS#3925)
Updated liblutil password scheme check
Updated libldap schema to allow OID macros in syntaxes
Removed lint
Documentation
Updated misc. man pages
Build Environment
Updated build tools (ITS#3928)
Fixed tests diff -u usage (ITS#3969)
......
......@@ -25,8 +25,11 @@ is used to add entries specified in LDAP Directory Interchange Format
database.
It opens the given database determined by the database number or
suffix and adds entries corresponding to the provided LDIF to
the database. The LDIF input is read from standard input or
the specified file.
the database.
Subordinate databases glued with
.BR slapo-glue (5)
are also updated.
The LDIF input is read from standard input or the specified file.
.LP
As
.B slapadd
......
......@@ -27,6 +27,9 @@ database.
It opens the given database determined by the database number or
suffix and writes the corresponding LDIF to standard output or
the specified file.
Subordinate databases glued with
.BR slapo-glue (5)
are also output.
.LP
The LDIF generated by this tool is suitable for use with
.BR slapadd (8).
......
......@@ -24,6 +24,9 @@ indices based upon the current contents of a database.
It opens the given database determined by the database number or
suffix and updates the indices for all values of all attributes
of all entries.
Subordinate databases glued with
.BR slapo-glue (5)
are also re-indexed.
.SH OPTIONS
.TP
.B \-v
......
......@@ -29,12 +29,12 @@
#ifndef LDAP_THREAD_HAVE_TPOOL
enum ldap_int_thread_pool_state {
typedef enum ldap_int_thread_pool_state_e {
LDAP_INT_THREAD_POOL_RUNNING,
LDAP_INT_THREAD_POOL_FINISHING,
LDAP_INT_THREAD_POOL_STOPPING,
LDAP_INT_THREAD_POOL_PAUSING
};
} ldap_int_thread_pool_state_t;
typedef struct ldap_int_thread_key_s {
void *ltk_key;
......@@ -79,7 +79,7 @@ struct ldap_int_thread_pool_s {
LDAP_STAILQ_HEAD(tcq, ldap_int_thread_ctx_s) ltp_pending_list;
LDAP_SLIST_HEAD(tcl, ldap_int_thread_ctx_s) ltp_free_list;
LDAP_SLIST_HEAD(tclq, ldap_int_thread_ctx_s) ltp_active_list;
long ltp_state;
ldap_int_thread_pool_state_t ltp_state;
long ltp_max_count;
long ltp_max_pending;
long ltp_pending_count;
......@@ -193,7 +193,7 @@ ldap_pvt_thread_pool_init (
return(0);
}
#define TID_HASH(tid, hash) do { int i; \
#define TID_HASH(tid, hash) do { unsigned i; \
unsigned char *ptr = (unsigned char *)&(tid); \
for (i=0, hash=0; i<sizeof(tid); i++) hash += ptr[i]; } while(0)
......@@ -469,8 +469,11 @@ ldap_int_thread_pool_wrapper (
* check timer, leave thread (break;)
*/
if (pool->ltp_state == LDAP_INT_THREAD_POOL_RUNNING)
if (pool->ltp_state == LDAP_INT_THREAD_POOL_RUNNING
|| pool->ltp_state == LDAP_INT_THREAD_POOL_PAUSING)
{
ldap_pvt_thread_cond_wait(&pool->ltp_cond, &pool->ltp_mutex);
}
continue;
}
......@@ -540,7 +543,7 @@ ldap_pvt_thread_pool_pause (
ldap_pvt_thread_mutex_lock(&pool->ltp_mutex);
/* If someone else has already requested a pause, we have to wait */
if (pool->ltp_state == LDAP_INT_THREAD_POOL_PAUSING) {
while (pool->ltp_state == LDAP_INT_THREAD_POOL_PAUSING) {
pool->ltp_pending_count++;
pool->ltp_active_count--;
ldap_pvt_thread_cond_wait(&pool->ltp_cond, &pool->ltp_mutex);
......
......@@ -237,7 +237,7 @@ slapacl( int argc, char **argv )
if ( !be->be_entry_open ||
!be->be_entry_close ||
!be->be_dn2id_get ||
!be->be_entry_get )
!be->be_id2entry_get )
{
fprintf( stderr, "%s: target database "
"doesn't support necessary operations; "
......
......@@ -74,7 +74,11 @@ slapadd( int argc, char **argv )
if( !be->be_entry_open ||
!be->be_entry_close ||
!be->be_entry_put )
!be->be_entry_put ||
(update_ctxcsn &&
(!be->be_dn2id_get ||
!be->be_id2entry_get ||
!be->be_entry_modify)) )
{
fprintf( stderr, "%s: database doesn't support necessary operations.\n",
progname );
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment