Lines Matching refs:ld
62 static LDAPConn *find_connection( LDAP *ld, LDAPServer *srv, int any );
63 static void use_connection( LDAP *ld, LDAPConn *lc );
74 static LDAPServer *dn2servers( LDAP *ld, char *dn );
82 alloc_ber_with_options( LDAP *ld ) in alloc_ber_with_options() argument
86 if (( ber = ber_alloc_t( ld->ld_lberoptions )) == NULLBER ) { in alloc_ber_with_options()
87 ld->ld_errno = LDAP_NO_MEMORY; in alloc_ber_with_options()
90 set_ber_options( ld, ber ); in alloc_ber_with_options()
99 set_ber_options( LDAP *ld, BerElement *ber ) in set_ber_options() argument
101 ber->ber_options = ld->ld_lberoptions; in set_ber_options()
103 if (( ld->ld_lberoptions & LBER_TRANSLATE_STRINGS ) != 0 ) { in set_ber_options()
105 ld->ld_lber_encode_translate_proc, in set_ber_options()
106 ld->ld_lber_decode_translate_proc ); in set_ber_options()
113 send_initial_request( LDAP *ld, unsigned int msgtype, char *dn, in send_initial_request() argument
120 LOCK_LDAP(ld); in send_initial_request()
125 if (( ld->ld_options & LDAP_OPT_DNS ) != 0 && ldap_is_dns_dn( dn )) { in send_initial_request()
126 if (( servers = dn2servers( ld, dn )) == NULL ) { in send_initial_request()
129 UNLOCK_LDAP(ld); in send_initial_request()
160 UNLOCK_LDAP(ld); in send_initial_request()
162 rv = send_server_request( ld, ber, ld->ld_msgid, NULL, servers, in send_initial_request()
168 send_server_request( LDAP *ld, BerElement *ber, int msgid, LDAPRequest in send_server_request() argument
175 LOCK_LDAP(ld); in send_server_request()
179 ld->ld_errno = LDAP_SUCCESS; /* optimistic */ in send_server_request()
188 …if (ld->ld_defconn == NULL){ /* Not connected yet on the default connection, ie init was called n… in send_server_request()
189 if ((err = open_default_ldap_connection(ld)) != LDAP_SUCCESS){ in send_server_request()
190 ld->ld_errno = err; in send_server_request()
196 UNLOCK_LDAP(ld); in send_server_request()
202 lc = ld->ld_defconn; in send_server_request()
204 if (( lc = find_connection( ld, srvlist, 1 )) == in send_server_request()
206 lc = new_connection( ld, &srvlist, 0, 1, bind ); in send_server_request()
214 if ( ld->ld_errno == LDAP_SUCCESS ) { in send_server_request()
215 ld->ld_errno = LDAP_SERVER_DOWN; in send_server_request()
221 UNLOCK_LDAP(ld); in send_server_request()
226 use_connection( ld, lc ); in send_server_request()
229 ld->ld_errno = LDAP_NO_MEMORY; in send_server_request()
230 free_connection( ld, lc, 0, 0 ); in send_server_request()
233 UNLOCK_LDAP(ld); in send_server_request()
253 if (( lr->lr_next = ld->ld_requests ) != NULL ) { in send_server_request()
256 ld->ld_requests = lr; in send_server_request()
266 mark_select_write( ld, lc->lconn_sb ); in send_server_request()
269 ld->ld_errno = LDAP_SERVER_DOWN; in send_server_request()
270 free_request( ld, lr ); in send_server_request()
271 free_connection( ld, lc, 0, 0 ); in send_server_request()
273 UNLOCK_LDAP(ld); in send_server_request()
287 mark_select_read( ld, lc->lconn_sb ); in send_server_request()
290 ld->ld_errno = LDAP_SUCCESS; in send_server_request()
292 UNLOCK_LDAP(ld); in send_server_request()
299 new_connection( LDAP *ld, LDAPServer **srvlistp, int use_ldsb, in new_connection() argument
316 ld->ld_errno = LDAP_NO_MEMORY; in new_connection()
321 LOCK_LDAP(ld); in new_connection()
323 lc->lconn_sb = ( use_ldsb ) ? &ld->ld_sb : sb; in new_connection()
329 if ( open_ldap_connection( ld, lc->lconn_sb, in new_connection()
342 ld->ld_errno = LDAP_SERVER_DOWN; in new_connection()
344 UNLOCK_LDAP(ld); in new_connection()
358 lc->lconn_next = ld->ld_conns; in new_connection()
359 ld->ld_conns = lc; in new_connection()
372 if ( ld->ld_version == LDAP_VERSION3 && ld->ld_rebindproc == NULL){ in new_connection()
376 if ( ld->ld_rebindproc == NULL ) { in new_connection()
380 if (( err = (*ld->ld_rebindproc)( ld, &binddn, &passwd, in new_connection()
381 &authmethod, 0, ld->ld_rebind_extra_arg )) == LDAP_SUCCESS ) { in new_connection()
384 ld->ld_errno = err; in new_connection()
390 savedefconn = ld->ld_defconn; in new_connection()
391 ld->ld_defconn = lc; in new_connection()
394 if ( ldap_bind_s( ld, binddn, passwd, authmethod ) != in new_connection()
399 ld->ld_defconn = savedefconn; in new_connection()
403 (*ld->ld_rebindproc)( ld, &binddn, &passwd, in new_connection()
404 &authmethod, 1, ld->ld_rebind_extra_arg ); in new_connection()
408 free_connection( ld, lc, 1, 0 ); in new_connection()
415 UNLOCK_LDAP(ld); in new_connection()
422 find_connection( LDAP *ld, LDAPServer *srv, int any ) in find_connection() argument
432 LOCK_LDAP(ld); in find_connection()
434 for ( lc = ld->ld_conns; lc != NULL; lc = lc->lconn_next ) { in find_connection()
441 UNLOCK_LDAP(ld); in find_connection()
452 UNLOCK_LDAP(ld); in find_connection()
460 use_connection( LDAP *ld, LDAPConn *lc ) in use_connection() argument
468 free_connection( LDAP *ld, LDAPConn *lc, int force, int unbind ) in free_connection() argument
476 mark_select_clear( ld, lc->lconn_sb ); in free_connection()
478 send_unbind( ld, lc->lconn_sb ); in free_connection()
487 for ( tmplc = ld->ld_conns; tmplc != NULL; in free_connection()
491 ld->ld_conns = tmplc->lconn_next; in free_connection()
502 if ( lc->lconn_sb != &ld->ld_sb ) { in free_connection()
518 dump_connection( LDAP *ld, LDAPConn *lconns, int all ) in dump_connection() argument
529 &ld->ld_sb ) ? " (default)" : "" ); in dump_connection()
545 dump_requests_and_responses( LDAP *ld ) in dump_requests_and_responses() argument
551 if (( lr = ld->ld_requests ) == NULL ) { in dump_requests_and_responses()
567 LOCK_RESPONSE(ld); in dump_requests_and_responses()
569 if (( lm = ld->ld_responses ) == NULLMSG ) { in dump_requests_and_responses()
585 UNLOCK_RESPONSE(ld); in dump_requests_and_responses()
592 free_request( LDAP *ld, LDAPRequest *lr ) in free_request() argument
606 free_request( ld, tmplr ); in free_request()
611 ld->ld_requests = lr->lr_next; in free_request()
677 nsldapi_connection_lost_nolock( LDAP *ld, Sockbuf *sb ) in nsldapi_connection_lost_nolock() argument
687 for ( lr = ld->ld_requests; lr != NULL; lr = lr->lr_next ) { in nsldapi_connection_lost_nolock()
700 dn2servers( LDAP *ld, char *dn ) /* dn can also be a domain.... */ in dn2servers() argument
713 ld->ld_errno = LDAP_NO_MEMORY; in dn2servers()
774 ld->ld_errno = LDAP_SERVER_DOWN; in dn2servers()