/* $OpenLDAP$ */
/*
- * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file
*/
/* Portions
return ldap_ld_free( ld, 1, sctrls, cctrls );
}
+int
+ldap_unbind_ext_s(
+ LDAP *ld,
+ LDAPControl **sctrls,
+ LDAPControl **cctrls )
+{
+ return ldap_unbind_ext( ld, sctrls, cctrls );
+}
+
int
ldap_unbind( LDAP *ld )
{
int err = LDAP_SUCCESS;
LDAPRequest *lr, *nextlr;
- if ( ld->ld_cldapnaddr == 0 ) {
/* free LDAP structure and outstanding requests/responses */
for ( lr = ld->ld_requests; lr != NULL; lr = nextlr ) {
nextlr = lr->lr_next;
while ( ld->ld_conns != NULL ) {
ldap_free_connection( ld, ld->ld_conns, 1, close );
}
- } else {
- int i;
-
- for ( i = 0; i < ld->ld_cldapnaddr; ++i ) {
- LDAP_FREE( ld->ld_cldapaddrs[ i ] );
- }
- LDAP_FREE( ld->ld_cldapaddrs );
- }
for ( lm = ld->ld_responses; lm != NULL; lm = next ) {
next = lm->lm_next;
ld->ld_selectinfo = NULL;
}
- if ( ld->ld_options.ldo_defbase != NULL ) {
- LDAP_FREE( ld->ld_options.ldo_defbase );
- ld->ld_options.ldo_defbase = NULL;
- }
-
- if ( ld->ld_options.ldo_defhost != NULL ) {
- LDAP_FREE( ld->ld_options.ldo_defhost );
- ld->ld_options.ldo_defhost = NULL;
+ if ( ld->ld_options.ldo_defludp != NULL ) {
+ ldap_free_urllist( ld->ld_options.ldo_defludp );
+ ld->ld_options.ldo_defludp = NULL;
}
if ( ld->ld_options.ldo_tm_api != NULL ) {
ld->ld_options.ldo_tm_net = NULL;
}
- ber_pvt_sb_destroy( &(ld->ld_sb) );
+ ber_sockbuf_free( ld->ld_sb );
LDAP_FREE( (char *) ld );
return ld->ld_errno;
}
- if ( ber_printf( ber, /*{*/ "}", LDAP_REQ_UNBIND ) == -1 ) {
+ if ( ber_printf( ber, /*{*/ "N}", LDAP_REQ_UNBIND ) == -1 ) {
ld->ld_errno = LDAP_ENCODING_ERROR;
ber_free( ber, 1 );
return( ld->ld_errno );