Fixed back-dnssrv referral all but search op crasher bug (ITS#3642)
Fixed back-ldbm shutdown hang (ITS#3648)
Fixed back-meta memory leak (ITS#3669)
+ Fixed back-monitor attribute normalization bug (ITS#3659)
Removed broken libldap fast synchronous search result processing
Build Environment
Added improved configure logging
for ( j = 0; bi->bi_controls[ j ]; j++ ) {
bv.bv_val = bi->bi_controls[ j ];
bv.bv_len = strlen( bv.bv_val );
- attr_merge_one( e, slap_schema.si_ad_supportedControl, &bv, NULL );
+ attr_merge_one( e, slap_schema.si_ad_supportedControl, &bv, &bv );
}
}
bv.bv_val = "0";
bv.bv_len = 1;
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
e->e_private = ( void * )mp;
bv.bv_val = "0";
bv.bv_len = 1;
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
e->e_private = ( void * )mp;
bv.bv_val = buf;
bv.bv_len = strlen( buf );
- attr_merge_one( e, mi->mi_ad_monitoredInfo, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitoredInfo, &bv, &bv );
/* connection number */
snprintf( buf, sizeof( buf ), "%ld", c->c_connid );
bv.bv_val = buf;
bv.bv_len = strlen( buf );
- attr_merge_one( e, mi->mi_ad_monitorConnectionNumber, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitorConnectionNumber, &bv, &bv );
/* authz DN */
attr_merge_one( e, mi->mi_ad_monitorConnectionAuthzDN,
/* local address */
attr_merge_one( e, mi->mi_ad_monitorConnectionLocalAddress,
- &c->c_sock_name, NULL );
+ &c->c_sock_name, &c->c_sock_name );
/* peer address */
attr_merge_one( e, mi->mi_ad_monitorConnectionPeerAddress,
- &c->c_peer_name, NULL );
+ &c->c_peer_name, &c->c_peer_name );
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
e->e_private = ( void * )mp;
}
}
- attr_merge( e, mi->mi_ad_description, desc, NULL );
+ attr_merge_normalize( e, mi->mi_ad_description, desc, NULL );
monitor_cache_release( mi, e );
return( -1 );
}
- attr_merge_one( e_op, mi->mi_ad_monitorOpInitiated, &bv_zero, NULL );
- attr_merge_one( e_op, mi->mi_ad_monitorOpCompleted, &bv_zero, NULL );
+ attr_merge_one( e_op, mi->mi_ad_monitorOpInitiated, &bv_zero, &bv_zero );
+ attr_merge_one( e_op, mi->mi_ad_monitorOpCompleted, &bv_zero, &bv_zero );
e_tmp = NULL;
bv.bv_val = "0";
bv.bv_len = 1;
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
e->e_private = ( void * )mp;
bv.bv_val = "0";
bv.bv_len = 1;
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
e->e_private = ( void * )mp;
bv.bv_val = "0";
bv.bv_len = 1;
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
e->e_private = ( void * )mp;
bv.bv_val = "0";
bv.bv_len = 1;
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
e->e_private = ( void * )mp;
bv.bv_val = "0";
bv.bv_len = 1;
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
e->e_private = ( void * )mp;
bv.bv_val = "0";
bv.bv_len = 1;
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
e->e_private = ( void * )mp;