Fixed back-passwd nbase bug (ITS#941)
Fixed back-shell unbind response bug
Fixed back-ldbm oldSuperior bug (ITS#951)
+ Fixed back-ldbm modify password DN bug (ITS#1060)
Fixed libldap SASL GSSAPI interop bug (ITS#884)
Fixed libldap TLS/SASL crash bugs (ITS#889)
Updated libldap TLS seeding (ITS#948)
Updated libldap TLS certificate handling
- Updated libldap referral/reference handling (ITS#905)
+ Updated libldap referral/reference handling (ITS#905,1047)
Updated maildap
Updated ldaptcl
Updated client usage messages
/* We always make sure there is at least one position available */
if ( ss->pos + l >= ss->size-1 ) {
ss->size *= 2;
+ if ( ss->pos + l >= ss->size-1 ) {
+ ss->size = ss->pos + l + 1;
+ }
+
temp = LDAP_REALLOC(ss->val, ss->size);
if ( !temp ) {
/* Trouble, out of memory */
const char *url_tmp;
char *url;
- if( url_in == NULL && ludpp == NULL ) {
+ if( url_in == NULL || ludpp == NULL ) {
return LDAP_URL_ERR_PARAM;
}
if( i == 0 ) {
/* must have 1 or more */
- ldap_charray_free( ludp->lud_exts );
LDAP_FREE( url );
ldap_free_urldesc( ludp );
return LDAP_URL_ERR_BADEXTS;
/* deref dn and get entry with reader lock */
e = deref_dn_r( be, nbase, &err, &matched, &text );
+ if( err == LDAP_NO_SUCH_OBJECT ) err = LDAP_REFERRAL;
+
} else {
/* get entry with reader lock */
e = dn2entry_r( be, nbase, &matched );
: NULL;
cache_return_entry_r( &li->li_cache, matched );
+
} else {
refs = default_referral;
}