Lines Matching refs:lc

63 static void use_connection( LDAP *ld, LDAPConn *lc );
169 *parentreq, LDAPServer *srvlist, LDAPConn *lc, int bind ) in send_server_request() argument
186 if ( lc == NULL ) { 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()
212 if ( lc == NULL || lc->lconn_status != LDAP_CONNST_CONNECTED ) { in send_server_request()
226 use_connection( ld, lc ); in send_server_request()
230 free_connection( ld, lc, 0, 0 ); in send_server_request()
241 lr->lr_conn = lc; in send_server_request()
259 if ( ber_flush( lc->lconn_sb, ber, 0 ) != 0 ) { in send_server_request()
266 mark_select_write( ld, lc->lconn_sb ); in send_server_request()
271 free_connection( ld, lc, 0, 0 ); in send_server_request()
287 mark_select_read( ld, lc->lconn_sb ); in send_server_request()
302 LDAPConn *lc; in new_connection() local
310 if (( lc = (LDAPConn *)calloc( 1, sizeof( LDAPConn ))) == NULL || in new_connection()
313 if ( lc != NULL ) { in new_connection()
314 free( (char *)lc ); 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()
331 &lc->lconn_krbinstance, 0 ) != -1 ) { in new_connection()
339 free( (char *)lc->lconn_sb ); in new_connection()
341 free( (char *)lc ); in new_connection()
354 lc->lconn_server = srv; in new_connection()
357 lc->lconn_status = LDAP_CONNST_CONNECTED; in new_connection()
358 lc->lconn_next = ld->ld_conns; in new_connection()
359 ld->ld_conns = lc; in new_connection()
391 ld->ld_defconn = lc; in new_connection()
392 ++lc->lconn_refcnt; /* avoid premature free */ in new_connection()
398 --lc->lconn_refcnt; in new_connection()
408 free_connection( ld, lc, 1, 0 ); in new_connection()
409 lc = NULL; in new_connection()
417 return( lc ); in new_connection()
428 LDAPConn *lc; in find_connection() local
434 for ( lc = ld->ld_conns; lc != NULL; lc = lc->lconn_next ) { in find_connection()
436 if ( lc->lconn_server->lsrv_host != NULL && in find_connection()
438 ls->lsrv_host, lc->lconn_server->lsrv_host ) == 0 in find_connection()
439 && ls->lsrv_port == lc->lconn_server->lsrv_port ) { in find_connection()
443 return( lc ); in find_connection()
460 use_connection( LDAP *ld, LDAPConn *lc ) in use_connection() argument
462 ++lc->lconn_refcnt; in use_connection()
463 lc->lconn_lastused = time( 0 ); in use_connection()
468 free_connection( LDAP *ld, LDAPConn *lc, int force, int unbind ) in free_connection() argument
474 if ( force || --lc->lconn_refcnt <= 0 ) { in free_connection()
475 if ( lc->lconn_status == LDAP_CONNST_CONNECTED ) { in free_connection()
476 mark_select_clear( ld, lc->lconn_sb ); in free_connection()
478 send_unbind( ld, lc->lconn_sb ); in free_connection()
480 close_ldap_connection( lc->lconn_sb ); in free_connection()
481 if ( lc->lconn_sb->sb_ber.ber_buf != NULL ) { in free_connection()
482 free( lc->lconn_sb->sb_ber.ber_buf ); in free_connection()
483 lc->lconn_sb->sb_ber.ber_buf = NULL; in free_connection()
489 if ( tmplc == lc ) { in free_connection()
498 free_servers( lc->lconn_server ); in free_connection()
499 if ( lc->lconn_krbinstance != NULL ) { in free_connection()
500 free( lc->lconn_krbinstance ); in free_connection()
502 if ( lc->lconn_sb != &ld->ld_sb ) { in free_connection()
503 free( (char *)lc->lconn_sb ); in free_connection()
505 free( lc ); in free_connection()
509 lc->lconn_lastused = time( 0 ); in free_connection()
511 lc->lconn_refcnt, 0, 0 ); in free_connection()
520 LDAPConn *lc; in dump_connection() local
523 for ( lc = lconns; lc != NULL; lc = lc->lconn_next ) { in dump_connection()
524 if ( lc->lconn_server != NULL ) { in dump_connection()
526 ( lc->lconn_server->lsrv_host == NULL ) ? "(null)" in dump_connection()
527 : lc->lconn_server->lsrv_host, in dump_connection()
528 lc->lconn_server->lsrv_port, ( lc->lconn_sb == in dump_connection()
531 fprintf( stderr, " refcnt: %d status: %s\n", lc->lconn_refcnt, in dump_connection()
532 ( lc->lconn_status == LDAP_CONNST_NEEDSOCKET ) ? in dump_connection()
533 "NeedSocket" : ( lc->lconn_status == in dump_connection()
536 ctime( &lc->lconn_lastused )); in dump_connection()