]> git.sur5r.net Git - openldap/commitdiff
Misc bug fixes from DEVEL
authorKurt Zeilenga <kurt@openldap.org>
Fri, 13 Apr 2001 00:02:18 +0000 (00:02 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 13 Apr 2001 00:02:18 +0000 (00:02 +0000)
CHANGES
libraries/libldap/schema.c
libraries/libldap/url.c
servers/slapd/back-ldbm/search.c

diff --git a/CHANGES b/CHANGES
index 4ff12aa916f8d0aee8bf80e7645d28ced81a7d71..4221f1be5b9af1fca2d0c7194804375301aa2c56 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -10,11 +10,12 @@ OpenLDAP 2.0.8 Release Engineering
        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
index e220456481d4b53222c10495e74c2e11309d2516..10951ca1ac5f32d69b709c67609cb4be47fd1b04 100644 (file)
@@ -120,6 +120,10 @@ append_to_safe_string(safe_string * ss, char * s)
        /* 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 */
index bc12e22719d997586822c174924d2e966a30cba4..adc08c9b48951ee2fc7f9791ce58b00064f1ef8d 100644 (file)
@@ -221,7 +221,7 @@ ldap_url_parse_ext( LDAP_CONST char *url_in, LDAPURLDesc **ludpp )
        const char *url_tmp;
        char *url;
 
-       if( url_in == NULL && ludpp == NULL ) {
+       if( url_in == NULL || ludpp == NULL ) {
                return LDAP_URL_ERR_PARAM;
        }
 
@@ -526,7 +526,6 @@ ldap_url_parse_ext( LDAP_CONST char *url_in, LDAPURLDesc **ludpp )
 
        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;
index 26ea7bf9e9477a6c1fa4a352cb19ba0bf7ebdb48..12b670b3b34449e27bade6820374a65561ed8fbc 100644 (file)
@@ -72,6 +72,8 @@ ldbm_back_search(
                /* 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 );
@@ -91,6 +93,7 @@ ldbm_back_search(
                                : NULL;
 
                        cache_return_entry_r( &li->li_cache, matched );
+
                } else {
                        refs = default_referral;
                }