From 86acd7eb202217162eb1f0ba3a1377501a157739 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Mon, 11 Jun 2001 21:08:49 +0000 Subject: [PATCH] unifdef -ULDAP_UFN --- clients/fax500/rp500.c | 14 - clients/ud/find.c | 44 --- include/ldap.h | 51 ---- libraries/libldap/Makefile.in | 4 +- libraries/libldap/ldap-int.h | 3 - libraries/libldap/test.c | 36 --- libraries/libldap/ufn.c | 502 -------------------------------- libraries/libldap_r/Makefile.in | 4 +- 8 files changed, 4 insertions(+), 654 deletions(-) delete mode 100644 libraries/libldap/ufn.c diff --git a/clients/fax500/rp500.c b/clients/fax500/rp500.c index 058091d410..40cd2c000d 100644 --- a/clients/fax500/rp500.c +++ b/clients/fax500/rp500.c @@ -129,20 +129,6 @@ main( int argc, char **argv ) } result = NULL; -#ifdef LDAP_UFN - if ( strchr( key, ',' ) != NULL ) { - int ld_deref = LDAP_DEREF_FINDING; - ldap_set_option(ld, LDAP_OPT_DEREF, &ld_deref); - if ( (rc = ldap_ufn_search_s( ld, key, attrs, 0, &result )) - != LDAP_SUCCESS && rc != LDAP_SIZELIMIT_EXCEEDED && - rc != LDAP_TIMELIMIT_EXCEEDED ) - { - ldap_perror( ld, "ldap_ufn_search_s" ); - exit( -1 ); - } - matches = ldap_count_entries( ld, result ); - } else -#endif { for ( fi = ldap_getfirstfilter( filtd, "rp500", key ); fi != NULL; fi = ldap_getnextfilter( filtd ) ) { diff --git a/clients/ud/find.c b/clients/ud/find.c index 75166b85f2..890ff431ce 100644 --- a/clients/ud/find.c +++ b/clients/ud/find.c @@ -199,50 +199,6 @@ find( char *who, int quiet ) search_attrs[k] = NULL; } -#if LDAP_UFN - /* - * If the user-supplied name has any commas in it, we - * assume that it is a UFN, and do everything right - * here. If we don't find it, treat it as NOT a UFN. - */ - if (strchr(who, ',') != NULL) { - int savederef, deref; -#ifdef DEBUG - if (debug & D_FIND) - printf("\"%s\" appears to be a UFN\n", who); -#endif - ldap_get_option(ld, LDAP_OPT_DEREF, &savederef); - deref = LDAP_DEREF_FINDING; - ldap_set_option(ld, LDAP_OPT_DEREF, &deref); - - if ((rc = ldap_ufn_search_s(ld, who, search_attrs, FALSE, &res)) != - LDAP_SUCCESS && rc != LDAP_SIZELIMIT_EXCEEDED && - rc != LDAP_TIMELIMIT_EXCEEDED) { - ldap_perror(ld, "ldap_ufn_search_s"); - ldap_set_option(ld, LDAP_OPT_DEREF, &savederef); - return(NULL); - } - if ((matches = ldap_count_entries(ld, res)) < 0) { - ldap_perror(ld, "ldap_count_entries"); - ldap_set_option(ld, LDAP_OPT_DEREF, &savederef); - return(NULL); - } else if (matches == 1) { - dn = ldap_get_dn(ld, ldap_first_entry(ld, res)); - rc = ldap_search_s(ld, dn, LDAP_SCOPE_BASE, NULL, read_attrs, FALSE, &res); - ldap_memfree(dn); - if (rc != LDAP_SUCCESS) { - ldap_perror(ld, "ldap_search_s"); - return(NULL); - } - ldap_set_option(ld, LDAP_OPT_DEREF, &savederef); - return(res); - } else if (matches > 1 ) { - return disambiguate( res, matches, read_attrs, who ); - } - ldap_set_option(ld, LDAP_OPT_DEREF, &savederef); - } -#endif - /* * Old users of the MTS *USERDIRECTORY will likely wrap the name * in quotes. Not only is this unnecessary, but it also won't work. diff --git a/include/ldap.h b/include/ldap.h index 2d72a1e192..f8d661ae80 100644 --- a/include/ldap.h +++ b/include/ldap.h @@ -1322,57 +1322,6 @@ ldap_search_st LDAP_P(( /* deprecated */ struct timeval *timeout, LDAPMessage **res )); -#ifdef LDAP_UFN -/* - * in ufn.c - * (deprecated) - */ -LDAP_F( int ) -ldap_ufn_search_c LDAP_P(( /* deprecated */ - LDAP *ld, - LDAP_CONST char *ufn, - char **attrs, - int attrsonly, - LDAPMessage **res, - int (*cancelproc)( void *cl ), - void *cancelparm )); - -LDAP_F( int ) -ldap_ufn_search_ct LDAP_P(( /* deprecated */ - LDAP *ld, - LDAP_CONST char *ufn, - char **attrs, - int attrsonly, - LDAPMessage **res, - int (*cancelproc)( void *cl ), - void *cancelparm, - char *tag1, - char *tag2, - char *tag3 )); - -LDAP_F( int ) -ldap_ufn_search_s LDAP_P(( /* deprecated */ - LDAP *ld, - LDAP_CONST char *ufn, - char **attrs, - int attrsonly, - LDAPMessage **res )); - -LDAP_F( LDAPFiltDesc *) -ldap_ufn_setfilter LDAP_P(( /* deprecated */ - LDAP *ld, - LDAP_CONST char *fname )); - -LDAP_F( void ) -ldap_ufn_setprefix LDAP_P(( /* deprecated */ - LDAP *ld, - LDAP_CONST char *prefix )); - -LDAP_F( int ) -ldap_ufn_timeout LDAP_P(( /* deprecated */ - void *tvparam )); -#endif - /* * in unbind.c */ diff --git a/libraries/libldap/Makefile.in b/libraries/libldap/Makefile.in index 12a01a71d8..731d3adb15 100644 --- a/libraries/libldap/Makefile.in +++ b/libraries/libldap/Makefile.in @@ -11,7 +11,7 @@ PROGRAMS = apitest ltest ttest SRCS = bind.c open.c result.c error.c compare.c search.c \ controls.c messages.c references.c extended.c cyrus.c \ - modify.c add.c modrdn.c delete.c abandon.c ufn.c cache.c \ + modify.c add.c modrdn.c delete.c abandon.c cache.c \ getfilter.c sasl.c sbind.c kbind.c unbind.c friendly.c \ free.c disptmpl.c srchpref.c dsparse.c tmplout.c sort.c \ getdn.c getentry.c getattr.c getvalues.c addentry.c \ @@ -21,7 +21,7 @@ SRCS = bind.c open.c result.c error.c compare.c search.c \ utf-8.c utf-8-conv.c OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \ controls.lo messages.lo references.lo extended.lo cyrus.lo \ - modify.lo add.lo modrdn.lo delete.lo abandon.lo ufn.lo cache.lo \ + modify.lo add.lo modrdn.lo delete.lo abandon.lo cache.lo \ getfilter.lo sasl.lo sbind.lo kbind.lo unbind.lo friendly.lo \ free.lo disptmpl.lo srchpref.lo dsparse.lo tmplout.lo sort.lo \ getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo \ diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h index f51346ae7f..a3e13b3d00 100644 --- a/libraries/libldap/ldap-int.h +++ b/libraries/libldap/ldap-int.h @@ -277,9 +277,6 @@ struct ldap { unsigned short ld_lberoptions; - LDAPFiltDesc *ld_filtd; /* from getfilter for ufn searches */ - char *ld_ufnprefix; /* for incomplete ufn's */ - ber_int_t ld_errno; char *ld_error; char *ld_matched; diff --git a/libraries/libldap/test.c b/libraries/libldap/test.c index c4f0ba5dfe..c21f88c9bf 100644 --- a/libraries/libldap/test.c +++ b/libraries/libldap/test.c @@ -599,39 +599,6 @@ main( int argc, char **argv ) timeout.tv_sec = atoi( line ); break; -#ifdef LDAP_UFN - case 'U': /* set ufn search prefix */ - getline( line, sizeof(line), stdin, "ufn prefix? " ); - ldap_ufn_setprefix( ld, line ); - break; - - case 'u': /* user friendly search w/optional timeout */ - getline( dn, sizeof(dn), stdin, "ufn? " ); - strcat( dn, dnsuffix ); - types = get_list( "attrs to return? " ); - getline( line, sizeof(line), stdin, - "attrsonly (0=attrs&values, 1=attrs only)? " ); - attrsonly = atoi( line ); - - if ( command2 == 't' ) { - id = ldap_ufn_search_c( ld, dn, types, - attrsonly, &res, ldap_ufn_timeout, - &timeout ); - } else { - id = ldap_ufn_search_s( ld, dn, types, - attrsonly, &res ); - } - if ( res == NULL ) - ldap_perror( ld, "ldap_ufn_search" ); - else { - printf( "\nresult: err %d\n", id ); - handle_result( ld, res ); - res = NULL; - } - free_list( types ); - break; -#endif - case 'l': /* URL search */ getline( line, sizeof(line), stdin, "attrsonly (0=attrs&values, 1=attrs only)? " ); @@ -767,9 +734,6 @@ main( int argc, char **argv ) printf( " [B]ind async [c]ompare [l]URL search\n" ); printf( " [modi]fy [modr]dn [rem]ove\n" ); printf( " [res]ult [s]earch [q]uit/unbind\n\n" ); -#ifdef LDAP_UFN - printf( " [u]fn search [ut]fn search with timeout [U]fn prefix\n" ); -#endif printf( " [d]ebug [e]nable cache set ms[g]id\n" ); printf( " d[n]suffix [t]imeout [v]ersion\n" ); printf( " [?]help [o]ptions [O]cache options\n" ); diff --git a/libraries/libldap/ufn.c b/libraries/libldap/ufn.c deleted file mode 100644 index 30c068d1b3..0000000000 --- a/libraries/libldap/ufn.c +++ /dev/null @@ -1,502 +0,0 @@ -/* $OpenLDAP$ */ -/* - * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. - * COPYING RESTRICTIONS APPLY, see COPYRIGHT file - */ -/* Portions - * Copyright (c) 1990 Regents of the University of Michigan. - * All rights reserved. - * - * ufn.c - */ - -#include "portable.h" - -#ifdef LDAP_UFN - -#include - -#include - -#include -#include -#include - -#include "ldap-int.h" -#include "ldap_defaults.h" - -typedef int (*cancelptype) LDAP_P(( void *cancelparm )); - -/* local functions */ -static int ldap_ufn_search_ctx LDAP_P(( LDAP *ld, char **ufncomp, int ncomp, - char *prefix, char **attrs, int attrsonly, LDAPMessage **res, - cancelptype cancelproc, void *cancelparm, char *tag1, char *tag2, - char *tag3 )); -static LDAPMessage *ldap_msg_merge LDAP_P(( LDAP *ld, LDAPMessage *a, LDAPMessage *b )); -static LDAPMessage *ldap_ufn_expand LDAP_P(( LDAP *ld, cancelptype cancelproc, - void *cancelparm, char **dns, char *filter, int scope, - char **attrs, int aonly, int *err )); - -/* - * ldap_ufn_search_ctx - do user friendly searching; provide cancel feature; - * specify ldapfilter.conf tags for each phase of search - * - * ld LDAP descriptor - * ufncomp the exploded user friendly name to look for - * ncomp number of elements in ufncomp - * prefix where to start searching - * attrs list of attribute types to return for matches - * attrsonly 1 => attributes only 0 => attributes and values - * res will contain the result of the search - * cancelproc routine that returns non-zero if operation should be - * cancelled. This can be a null function pointer. If - * it is not 0, the routine will be called periodically. - * cancelparm void * that is passed to cancelproc - * tag[123] the ldapfilter.conf tag that will be used in phases - * 1, 2, and 3 of the search, respectively - * - * Example: - * char *attrs[] = { "mail", "title", 0 }; - * char *ufncomp[] = { "howes", "umich", "us", 0 } - * LDAPMessage *res; - * error = ldap_ufn_search_ctx( ld, ufncomp, 3, NULL, attrs, attrsonly, - * &res, acancelproc, along, "ufn first", - * "ufn intermediate", "ufn last" ); - */ - -static int -ldap_ufn_search_ctx( LDAP *ld, char **ufncomp, int ncomp, char *prefix, - char **attrs, int attrsonly, LDAPMessage **res, cancelptype cancelproc, - void *cancelparm, char *tag1, char *tag2, char *tag3 ) -{ - char *dn, *ftag = NULL; - char **dns = NULL; - int max, i, err, scope = 0, phase, tries; - LDAPFiltInfo *fi; - LDAPMessage *tmpcand; - LDAPMessage *candidates; - static char *objattrs[] = { "objectClass", NULL }; - - /* - * look up ufn components from most to least significant. - * there are 3 phases. - * phase 1 search the root for orgs or countries - * phase 2 search for orgs - * phase 3 search for a person - * in phases 1 and 2, we are building a list of candidate DNs, - * below which we will search for the final component of the ufn. - * for each component we try the filters listed in the - * filterconfig file, first one-level (except the last compoment), - * then subtree. if any of them produce any results, we go on to - * the next component. - */ - - *res = NULL; - candidates = NULL; - phase = 1; - for ( ncomp--; ncomp != -1; ncomp-- ) { - if ( *ufncomp[ncomp] == '"' ) { - char *quote; - - if ( (quote = strrchr( ufncomp[ncomp], '"' )) != NULL ) - *quote = '\0'; - AC_MEMCPY( ufncomp[ncomp], ufncomp[ncomp] + 1, - strlen( ufncomp[ncomp] + 1 ) + 1 ); - } - if ( ncomp == 0 ) - phase = 3; - - switch ( phase ) { - case 1: - ftag = tag1; - scope = LDAP_SCOPE_ONELEVEL; - break; - case 2: - ftag = tag2; - scope = LDAP_SCOPE_ONELEVEL; - break; - case 3: - ftag = tag3; - scope = LDAP_SCOPE_SUBTREE; - break; - } - - /* - * construct an array of DN's to search below from the - * list of candidates. - */ - - if ( candidates == NULL ) { - if ( prefix != NULL ) { - if ( (dns = (char **) LDAP_MALLOC( sizeof(char *) - * 2 )) == NULL ) { - return( ld->ld_errno = LDAP_NO_MEMORY ); - } - dns[0] = LDAP_STRDUP( prefix ); - dns[1] = NULL; - } else { - dns = NULL; - } - } else { - i = 0, max = 0; - for ( tmpcand = candidates; tmpcand != NULL && - tmpcand->lm_msgtype != LDAP_RES_SEARCH_RESULT; - tmpcand = tmpcand->lm_chain ) - { - if ( (dn = ldap_get_dn( ld, tmpcand )) == NULL ) - continue; - - if ( dns == NULL ) { - if ( (dns = (char **) LDAP_MALLOC( - sizeof(char *) * 8 )) == NULL ) { - ld->ld_errno = LDAP_NO_MEMORY; - return( LDAP_NO_MEMORY ); - } - max = 8; - } else if ( i >= max ) { - if ( (dns = (char **) LDAP_REALLOC( dns, - sizeof(char *) * 2 * max )) - == NULL ) - { - ld->ld_errno = LDAP_NO_MEMORY; - return( LDAP_NO_MEMORY ); - } - max *= 2; - } - dns[i++] = dn; - dns[i] = NULL; - } - ldap_msgfree( candidates ); - candidates = NULL; - } - tries = 0; - tryagain: - tries++; - for ( fi = ldap_getfirstfilter( ld->ld_filtd, ftag, - ufncomp[ncomp] ); fi != NULL; - fi = ldap_getnextfilter( ld->ld_filtd ) ) - { - if ( (candidates = ldap_ufn_expand( ld, cancelproc, - cancelparm, dns, fi->lfi_filter, scope, - phase == 3 ? attrs : objattrs, - phase == 3 ? attrsonly : 1, &err )) != NULL ) - { - break; - } - - if ( err == -1 || err == LDAP_USER_CANCELLED ) { - if ( dns != NULL ) { - LDAP_VFREE( dns ); - dns = NULL; - } - return( err ); - } - } - - if ( candidates == NULL ) { - if ( tries < 2 && phase != 3 ) { - scope = LDAP_SCOPE_SUBTREE; - goto tryagain; - } else { - if ( dns != NULL ) { - LDAP_VFREE( dns ); - dns = NULL; - } - return( err ); - } - } - - /* go on to the next component */ - if ( phase == 1 ) - phase++; - if ( dns != NULL ) { - LDAP_VFREE( dns ); - dns = NULL; - } - } - *res = candidates; - - return( err ); -} - -int -ldap_ufn_search_ct( - LDAP *ld, LDAP_CONST char *ufn, char **attrs, int attrsonly, - LDAPMessage **res, cancelptype cancelproc, void *cancelparm, - char *tag1, char *tag2, char *tag3 ) -{ - char **ufncomp, **prefixcomp; - char *pbuf; - int ncomp, pcomp, i, err = 0; - - /* initialize the getfilter stuff if it's not already */ - if ( ld->ld_filtd == NULL && ldap_ufn_setfilter( ld, FILTERFILE ) - == NULL ) { - return( ld->ld_errno = LDAP_LOCAL_ERROR ); - } - - /* call ldap_explode_dn() to break the ufn into its components */ - if ( (ufncomp = ldap_explode_dn( ufn, 0 )) == NULL ) - return( ld->ld_errno = LDAP_LOCAL_ERROR ); - for ( ncomp = 0; ufncomp[ncomp] != NULL; ncomp++ ) - ; /* NULL */ - - /* more than two components => try it fully qualified first */ - if ( ncomp > 2 || ld->ld_ufnprefix == NULL ) { - err = ldap_ufn_search_ctx( ld, ufncomp, ncomp, NULL, attrs, - attrsonly, res, cancelproc, cancelparm, tag1, tag2, tag3 ); - - if ( ldap_count_entries( ld, *res ) > 0 ) { - LDAP_VFREE( ufncomp ); - return( err ); - } else { - ldap_msgfree( *res ); - *res = NULL; - } - } - - if ( ld->ld_ufnprefix == NULL ) { - LDAP_VFREE( ufncomp ); - return( err ); - } - - /* if that failed, or < 2 components, use the prefix */ - if ( (prefixcomp = ldap_explode_dn( ld->ld_ufnprefix, 0 )) == NULL ) { - LDAP_VFREE( ufncomp ); - return( ld->ld_errno = LDAP_LOCAL_ERROR ); - } - for ( pcomp = 0; prefixcomp[pcomp] != NULL; pcomp++ ) - ; /* NULL */ - if ( (pbuf = (char *) LDAP_MALLOC( strlen( ld->ld_ufnprefix ) + 1 )) - == NULL ) { - LDAP_VFREE( ufncomp ); - LDAP_VFREE( prefixcomp ); - return( ld->ld_errno = LDAP_NO_MEMORY ); - } - - for ( i = 0; i < pcomp; i++ ) { - int j; - - *pbuf = '\0'; - for ( j = i; j < pcomp; j++ ) { - strcat( pbuf, prefixcomp[j] ); - if ( j + 1 < pcomp ) - strcat( pbuf, "," ); - } - err = ldap_ufn_search_ctx( ld, ufncomp, ncomp, pbuf, attrs, - attrsonly, res, cancelproc, cancelparm, tag1, tag2, tag3 ); - - if ( ldap_count_entries( ld, *res ) > 0 ) { - break; - } else { - ldap_msgfree( *res ); - *res = NULL; - } - } - - LDAP_VFREE( ufncomp ); - LDAP_VFREE( prefixcomp ); - LDAP_FREE( pbuf ); - - return( err ); -} - -/* - * same as ldap_ufn_search_ct, except without the ability to specify - * ldapfilter.conf tags. - */ -int -ldap_ufn_search_c( - LDAP *ld, LDAP_CONST char *ufn, char **attrs, int attrsonly, - LDAPMessage **res, cancelptype cancelproc, void *cancelparm ) -{ - return( ldap_ufn_search_ct( ld, ufn, attrs, attrsonly, res, cancelproc, - cancelparm, "ufn first", "ufn intermediate", "ufn last" ) ); -} - -/* - * same as ldap_ufn_search_c without the cancel function - */ -int -ldap_ufn_search_s( - LDAP *ld, LDAP_CONST char *ufn, char **attrs, int attrsonly, - LDAPMessage **res ) -{ - struct timeval tv; - - tv.tv_sec = ld->ld_timelimit; - - return( ldap_ufn_search_ct( ld, ufn, attrs, attrsonly, res, - ld->ld_timelimit ? ldap_ufn_timeout : NULL, - ld->ld_timelimit ? (void *) &tv : NULL, - "ufn first", "ufn intermediate", "ufn last" ) ); -} - - -/* - * ldap_msg_merge - merge two ldap search result chains. the more - * serious of the two error result codes is kept. - */ - -static LDAPMessage * -ldap_msg_merge( LDAP *ld, LDAPMessage *a, LDAPMessage *b ) -{ - LDAPMessage *end, *aprev, *aend, *bprev, *bend; - - if ( a == NULL ) - return( b ); - - if ( b == NULL ) - return( a ); - - /* find the ends of the a and b chains */ - aprev = NULL; - for ( aend = a; aend->lm_chain != NULL; aend = aend->lm_chain ) - aprev = aend; - bprev = NULL; - for ( bend = b; bend->lm_chain != NULL; bend = bend->lm_chain ) - bprev = bend; - - /* keep result a */ - if ( ldap_result2error( ld, aend, 0 ) != LDAP_SUCCESS ) { - /* remove result b */ - ldap_msgfree( bend ); - if ( bprev != NULL ) - bprev->lm_chain = NULL; - else - b = NULL; - end = aend; - if ( aprev != NULL ) - aprev->lm_chain = NULL; - else - a = NULL; - /* keep result b */ - } else { - /* remove result a */ - ldap_msgfree( aend ); - if ( aprev != NULL ) - aprev->lm_chain = NULL; - else - a = NULL; - end = bend; - if ( bprev != NULL ) - bprev->lm_chain = NULL; - else - b = NULL; - } - - if ( (a == NULL && b == NULL) || (a == NULL && bprev == NULL) || - (b == NULL && aprev == NULL) ) - return( end ); - - if ( a == NULL ) { - bprev->lm_chain = end; - return( b ); - } else if ( b == NULL ) { - aprev->lm_chain = end; - return( a ); - } else { - bprev->lm_chain = end; - aprev->lm_chain = b; - return( a ); - } -} - -static LDAPMessage * -ldap_ufn_expand( LDAP *ld, cancelptype cancelproc, void *cancelparm, - char **dns, char *filter, int scope, char **attrs, int aonly, - int *err ) -{ - LDAPMessage *tmpcand, *tmpres; - char *dn; - int i, msgid; - struct timeval tv; - - /* search for this component below the current candidates */ - tmpcand = NULL; - i = 0; - do { - if ( dns != NULL ) - dn = dns[i]; - else - dn = ""; - - if (( msgid = ldap_search( ld, dn, scope, filter, attrs, - aonly )) == -1 ) { - ldap_msgfree( tmpcand ); - *err = ld->ld_errno; - return( NULL ); - } - - tv.tv_sec = 0; - tv.tv_usec = 100000; /* 1/10 of a second */ - - do { - *err = ldap_result( ld, msgid, 1, &tv, &tmpres ); - if ( *err == 0 && cancelproc != 0 && - (*cancelproc)( cancelparm ) != 0 ) { - ldap_abandon( ld, msgid ); - *err = LDAP_USER_CANCELLED; - ld->ld_errno = LDAP_USER_CANCELLED; - } - } while ( *err == 0 ); - - if ( *err == LDAP_USER_CANCELLED || *err < 0 || - ( *err = ldap_result2error( ld, tmpres, 0 )) == -1 ) { - ldap_msgfree( tmpcand ); - return( NULL ); - } - - tmpcand = ldap_msg_merge( ld, tmpcand, tmpres ); - - i++; - } while ( dns != NULL && dns[i] != NULL ); - - if ( ldap_count_entries( ld, tmpcand ) > 0 ) { - return( tmpcand ); - } else { - ldap_msgfree( tmpcand ); - return( NULL ); - } -} - -/* - * ldap_ufn_setfilter - set the filter config file used in ufn searching - */ - -LDAPFiltDesc * -ldap_ufn_setfilter( LDAP *ld, LDAP_CONST char *fname ) -{ - if ( ld->ld_filtd != NULL ) - ldap_getfilter_free( ld->ld_filtd ); - - return( ld->ld_filtd = ldap_init_getfilter( fname ) ); -} - -void -ldap_ufn_setprefix( LDAP *ld, LDAP_CONST char *prefix ) -{ - if ( ld->ld_ufnprefix != NULL ) - LDAP_FREE( ld->ld_ufnprefix ); - - ld->ld_ufnprefix = prefix == NULL - ? NULL : LDAP_STRDUP( prefix ); -} - -int -ldap_ufn_timeout( void *tvparam ) -{ - struct timeval *tv; - - tv = (struct timeval *)tvparam; - - if ( tv->tv_sec != 0 ) { - tv->tv_usec = tv->tv_sec * 1000000; /* sec => micro sec */ - tv->tv_sec = 0; - } - tv->tv_usec -= 100000; /* 1/10 of a second */ - - return( tv->tv_usec <= 0 ? 1 : 0 ); -} - -#endif diff --git a/libraries/libldap_r/Makefile.in b/libraries/libldap_r/Makefile.in index 82321679c5..c45eb367f5 100644 --- a/libraries/libldap_r/Makefile.in +++ b/libraries/libldap_r/Makefile.in @@ -12,7 +12,7 @@ PROGRAMS = apitest ltest ttest XXDIR = $(srcdir)/../libldap XXSRCS = apitest.c test.c tmpltest.c extended.c \ bind.c controls.c open.c result.c error.c compare.c search.c \ - modify.c add.c modrdn.c delete.c abandon.c ufn.c cache.c cyrus.c \ + modify.c add.c modrdn.c delete.c abandon.c cache.c cyrus.c \ getfilter.c sasl.c sbind.c kbind.c unbind.c friendly.c \ free.c disptmpl.c srchpref.c dsparse.c tmplout.c sort.c \ getdn.c getentry.c getattr.c getvalues.c addentry.c \ @@ -28,7 +28,7 @@ OBJS = threads.lo rdwr.lo tpool.lo \ thr_pth.lo thr_stub.lo \ extended.lo \ bind.lo controls.lo open.lo result.lo error.lo compare.lo search.lo \ - modify.lo add.lo modrdn.lo delete.lo abandon.lo ufn.lo cache.lo cyrus.lo \ + modify.lo add.lo modrdn.lo delete.lo abandon.lo cache.lo cyrus.lo \ getfilter.lo sasl.lo sbind.lo kbind.lo unbind.lo friendly.lo \ free.lo disptmpl.lo srchpref.lo dsparse.lo tmplout.lo sort.lo \ getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo \ -- 2.39.5