From 553d80cedd34fd6f97c0c6e486400862a44ee7f2 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Sun, 9 Sep 2001 03:42:26 +0000 Subject: [PATCH] Blindly fix TLS/SASL external interaction. --- libraries/libldap/cyrus.c | 7 ++----- libraries/libldap/ldap-int.h | 3 ++- libraries/libldap/tls.c | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c index 20589a5a6a..f813404fc7 100644 --- a/libraries/libldap/cyrus.c +++ b/libraries/libldap/cyrus.c @@ -663,6 +663,7 @@ ldap_int_sasl_bind( int ldap_int_sasl_external( LDAP *ld, + LDAPConn *conn, const char * authid, ber_len_t ssf ) { @@ -670,11 +671,7 @@ ldap_int_sasl_external( sasl_conn_t *ctx; sasl_external_properties_t extprops; - if( ld->ld_defconn == NULL ) { - return LDAP_LOCAL_ERROR; - } - - ctx = ld->ld_defconn->lconn_sasl_ctx; + ctx = conn->lconn_sasl_ctx; if ( ctx == NULL ) { return LDAP_LOCAL_ERROR; diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h index 80a66c5ae9..70e0417a7d 100644 --- a/libraries/libldap/ldap-int.h +++ b/libraries/libldap/ldap-int.h @@ -529,7 +529,8 @@ LDAP_F (int) ldap_int_sasl_open LDAP_P(( LDAP_F (int) ldap_int_sasl_close LDAP_P(( LDAP *ld, LDAPConn *conn )); LDAP_F (int) ldap_int_sasl_external LDAP_P(( - LDAP *ld, const char* authid, ber_len_t ssf )); + LDAP *ld, LDAPConn *conn, + const char* authid, ber_len_t ssf )); LDAP_F (int) ldap_int_sasl_get_option LDAP_P(( LDAP *ld, int option, void *arg )); diff --git a/libraries/libldap/tls.c b/libraries/libldap/tls.c index 653caa3ee8..237708ab0d 100644 --- a/libraries/libldap/tls.c +++ b/libraries/libldap/tls.c @@ -1046,7 +1046,7 @@ int ldap_int_tls_start ( LDAP *ld, LDAPConn *conn, LDAPURLDesc *srv ) { Sockbuf *sb = conn->lconn_sb; - void *ctx = ld->ld_defconn->lconn_tls_ctx; + /* void *ctx = ld->ld_defconn->lconn_tls_ctx; */ char *host; void *ssl; @@ -1090,7 +1090,7 @@ ldap_int_tls_start ( LDAP *ld, LDAPConn *conn, LDAPURLDesc *srv ) ssf = ldap_pvt_tls_get_strength( ssl ); authid = ldap_pvt_tls_get_peer( ssl ); - (void) ldap_int_sasl_external( ld, authid, ssf ); + (void) ldap_int_sasl_external( ld, conn, authid, ssf ); } return LDAP_SUCCESS;