Lines Matching refs:ld

46 ldap_unbind( LDAP *ld )
50 return( ldap_ld_free( ld, 1 ));
55 ldap_ld_free( LDAP *ld, int close )
62 LOCK_LDAP(ld);
64 if ( ld->ld_sb.sb_naddr == 0 ) {
66 for ( lr = ld->ld_requests; lr != NULL; lr = nextlr ) {
68 free_request( ld, lr );
72 while ( ld->ld_conns != NULL ) {
73 free_connection( ld, ld->ld_conns, 1, close );
78 for ( i = 0; i < ld->ld_sb.sb_naddr; ++i ) {
79 free( ld->ld_sb.sb_addrs[ i ] );
81 free( ld->ld_sb.sb_addrs );
82 free( ld->ld_sb.sb_fromaddr );
84 if (ld->ld_sb.sb_ssl){
85 SSL_delete(ld->ld_sb.sb_ssl);
87 ld->ld_sb.sb_ssl = NULL;
88 ld->ld_sb.sb_ssl_tls = 0;
92 if (ld->ld_sb.sb_ber.ber_buf) {
93 free(ld->ld_sb.sb_ber.ber_buf);
94 ld->ld_sb.sb_ber.ber_buf = NULL;
98 LOCK_RESPONSE(ld);
100 for ( lm = ld->ld_responses; lm != NULL; lm = next ) {
106 UNLOCK_RESPONSE(ld);
110 if ( ld->ld_cache != NULL )
111 ldap_destroy_cache( ld );
113 if ( ld->ld_error != NULL )
114 free( ld->ld_error );
115 if ( ld->ld_matched != NULL )
116 free( ld->ld_matched );
117 if ( ld->ld_host != NULL )
118 free( ld->ld_host );
119 if ( ld->ld_ufnprefix != NULL )
120 free( ld->ld_ufnprefix );
121 if ( ld->ld_filtd != NULL )
122 ldap_getfilter_free( ld->ld_filtd );
123 if ( ld->ld_abandoned != NULL )
124 free( ld->ld_abandoned );
126 if ( ld->ld_selectinfo != NULL )
127 free_select_info( ld->ld_selectinfo );
129 if ( ld->ld_defhost != NULL )
130 free( ld->ld_defhost );
133 if (ld->ld_ssl_key != NULL)
134 free(ld->ld_ssl_key);
143 if (ld->ld_attrbuffer[i] != NULL) {
144 free(ld->ld_attrbuffer[i]);
145 ld->ld_attrbuffer[i] = NULL;
149 if (ld->ld_srvctrls != NULL)
150 ldap_controls_free(ld->ld_srvctrls);
151 if (ld->ld_cltctrls != NULL)
152 ldap_controls_free(ld->ld_cltctrls);
155 UNLOCK_LDAP(ld);
157 if (ld->ld_lockcount != 0)
161 free( (char *) ld );
167 ldap_unbind_s( LDAP *ld )
169 return( ldap_ld_free( ld, 1 ));
174 send_unbind( LDAP *ld, Sockbuf *sb )
179 LOCK_LDAP(ld);
184 if ( (ber = alloc_ber_with_options( ld )) == NULLBER ) {
186 UNLOCK_LDAP(ld);
188 return( ld->ld_errno );
192 if ( ber_printf( ber, "{itn}", ++ld->ld_msgid,
194 ld->ld_errno = LDAP_ENCODING_ERROR;
197 UNLOCK_LDAP(ld);
199 return( ld->ld_errno );
204 ld->ld_errno = LDAP_SERVER_DOWN;
207 UNLOCK_LDAP(ld);
209 return( ld->ld_errno );
213 UNLOCK_LDAP(ld);