]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#8957 - Fix ASYNC TLS
authorQuanah Gibson-Mount <quanah@openldap.org>
Thu, 31 Jan 2019 02:33:17 +0000 (02:33 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 31 Jan 2019 23:43:35 +0000 (23:43 +0000)
Fix ASYNC TLS by correctly handling a return code of -2 in addition to 0

libraries/libldap/open.c

index 67a9353f917f9e6fa40eb049e9612a504a75def1..5d70678d69362b5fa6bdbc20c0cd5df9b1641c71 100644 (file)
@@ -440,7 +440,7 @@ ldap_int_open_connection(
 #endif
 
 #ifdef HAVE_TLS
-       if (rc == 0 && ( ld->ld_options.ldo_tls_mode == LDAP_OPT_X_TLS_HARD ||
+       if ((rc == 0 || rc == -2) && ( ld->ld_options.ldo_tls_mode == LDAP_OPT_X_TLS_HARD ||
                strcmp( srv->lud_scheme, "ldaps" ) == 0 ))
        {
                ++conn->lconn_refcnt;   /* avoid premature free */