Lines Matching refs:lc

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