Fixed slapd include handling (ITS#5276)
Fixed slapd non-atomic signal variables (ITS#5248)
Fixed slapd-ldif delete (ITS#5265)
+ Fixed slapd overlay ordering when moving to slapd.d (ITS#5284)
Fixed test047 to skip if rwm is not available (ITS#5292)
Build Environment
Fixed libldap_r threaded library linking (ITS#4982)
static ServerID *sid_list;
+typedef struct voidList {
+ struct voidList *vl_next;
+ void *vl_ptr;
+} voidList;
+
typedef struct ADlist {
struct ADlist *al_next;
AttributeDescription *al_desc;
slap_overinst *on;
Entry *oe;
int j;
-
- for (j=0,on=oi->oi_list; on; j++,on=on->on_next) {
+ voidList *vl, *v0 = NULL;
+
+ /* overlays are in LIFO order, must reverse stack */
+ for (on=oi->oi_list; on; on=on->on_next) {
+ vl = ch_malloc( sizeof( voidList ));
+ vl->vl_next = v0;
+ v0 = vl;
+ vl->vl_ptr = on;
+ }
+ for (j=0; vl; j++,vl=v0) {
+ on = vl->vl_ptr;
+ v0 = vl->vl_next;
+ ch_free( vl );
if ( on->on_bi.bi_db_config && !on->on_bi.bi_cf_ocs ) {
Debug( LDAP_DEBUG_ANY,
"WARNING: No dynamic config support for overlay %s.\n",