X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap%2Fcyrus.c;h=63eb7d1357cc207155ce66b5e29fbdeb759c75ff;hb=7887ef7e92a4b91d20814242322dfc33d3ebb0ee;hp=20589a5a6a274cf1891fb057acecd5e1be9bac33;hpb=c4f5497ac62e309b3aecf08897908d4f955351f5;p=openldap diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c index 20589a5a6a..63eb7d1357 100644 --- a/libraries/libldap/cyrus.c +++ b/libraries/libldap/cyrus.c @@ -1,15 +1,15 @@ /* $OpenLDAP$ */ /* - * Copyright 1999-2000 The OpenLDAP Foundation, All Rights Reserved. + * Copyright 1999-2002 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ #include "portable.h" -#include #include #include +#include #include #include #include @@ -161,7 +161,7 @@ sb_sasl_drop_packet ( Sockbuf_Buf *sec_buf_in, int debuglevel ) len = sec_buf_in->buf_ptr - sec_buf_in->buf_end; if ( len > 0 ) - memmove( sec_buf_in->buf_base, sec_buf_in->buf_base + + AC_MEMCPY( sec_buf_in->buf_base, sec_buf_in->buf_base + sec_buf_in->buf_end, len ); if ( len >= 4 ) { @@ -214,7 +214,7 @@ sb_sasl_read( Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t len) sbiod->sbiod_sb->sb_debug ); /* Grow the packet buffer if neccessary */ - if ( ( p->sec_buf_in.buf_size < ret ) && + if ( ( p->sec_buf_in.buf_size < (ber_len_t) ret ) && ber_pvt_sb_grow_buffer( &p->sec_buf_in, ret ) < 0 ) { errno = ENOMEM; @@ -398,7 +398,7 @@ ldap_int_sasl_open( sasl_conn_t *ctx; sasl_callback_t *session_callbacks = - ber_memcalloc( 2, sizeof( sasl_callback_t ) ); + LDAP_CALLOC( 2, sizeof( sasl_callback_t ) ); if( session_callbacks == NULL ) return LDAP_NO_MEMORY; @@ -419,6 +419,7 @@ ldap_int_sasl_open( rc = sasl_client_new( "ldap", host, session_callbacks, SASL_SECURITY_LAYER, &ctx ); + LDAP_FREE( session_callbacks ); if ( rc != SASL_OK ) { ld->ld_errno = sasl_err2ldap( rc ); @@ -663,6 +664,7 @@ ldap_int_sasl_bind( int ldap_int_sasl_external( LDAP *ld, + LDAPConn *conn, const char * authid, ber_len_t ssf ) { @@ -670,11 +672,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; @@ -1005,6 +1003,7 @@ ldap_int_sasl_bind( int ldap_int_sasl_external( LDAP *ld, + LDAPConn *conn, const char * authid, ber_len_t ssf ) { return LDAP_SUCCESS; }