]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9305 libldap: don't mask ld_errno if set during connect failure
authorHoward Chu <hyc@openldap.org>
Fri, 5 Dec 2025 10:33:13 +0000 (10:33 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Tue, 9 Dec 2025 15:06:05 +0000 (15:06 +0000)
libraries/libldap/open.c
libraries/libldap/request.c

index 6dad331ecd0241c2f44b2d4e02d08e7975270b7a..c504a0df140182d4761781c908292f2783b786ba 100644 (file)
@@ -43,7 +43,8 @@ int ldap_open_defconn( LDAP *ld )
                &ld->ld_options.ldo_defludp, 1, 1, NULL, 0, 0 );
 
        if( ld->ld_defconn == NULL ) {
-               ld->ld_errno = LDAP_SERVER_DOWN;
+               if ( !ld->ld_errno )
+                       ld->ld_errno = LDAP_SERVER_DOWN;
                return -1;
        }
 
index 6bc22a65b25a652b46a95428f7b4ed0d7ea24eef..9d8adc77ffbda77d6a0c5875c686653a0436ff1c 100644 (file)
@@ -509,7 +509,8 @@ ldap_new_connection( LDAP *ld, LDAPURLDesc **srvlist, int use_ldsb,
                                ber_sockbuf_free( lc->lconn_sb );
                        }
                        LDAP_FREE( (char *)lc );
-                       ld->ld_errno = LDAP_SERVER_DOWN;
+                       if ( !ld->ld_errno )
+                               ld->ld_errno = LDAP_SERVER_DOWN;
                        return( NULL );
                }