X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap%2Ftest.c;h=77aca1e03602d455d2acb9aa59b06404b67a7543;hb=2b0819c4a9209784f762ec154ce4721038522a8a;hp=f32fe6954bd3308f407e5a1befcc4cb54b7755af;hpb=a26cef7fc89d8ec84552edf6c07af88844651b47;p=openldap diff --git a/libraries/libldap/test.c b/libraries/libldap/test.c index f32fe6954b..77aca1e036 100644 --- a/libraries/libldap/test.c +++ b/libraries/libldap/test.c @@ -229,12 +229,17 @@ get_modlist( char *prompt1, char *prompt2, char *prompt3 ) static int -bind_prompt( LDAP *ld, LDAP_CONST char *url, int request, ber_int_t msgid) +bind_prompt( LDAP *ld, + LDAP_CONST char *url, + ber_tag_t request, ber_int_t msgid, + void *params ) { static char dn[256], passwd[256]; - char *dnp; int authmethod; + printf("rebind for request=%d msgid=%ld url=%s\n", + request, (long) msgid, url ); + #ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND getline( dn, sizeof(dn), stdin, "re-bind method (0->simple, 1->krbv41, 2->krbv42, 3->krbv41&2)? " ); @@ -265,7 +270,7 @@ int main( int argc, char **argv ) { LDAP *ld = NULL; - int i, c, port, cldapflg, errflg, method, id, msgtype; + int i, c, port, errflg, method, id, msgtype; char line[256], command1, command2, command3; char passwd[64], dn[256], rdn[64], attr[64], value[256]; char filter[256], *host, **types; @@ -282,18 +287,10 @@ main( int argc, char **argv ) host = NULL; port = LDAP_PORT; dnsuffix = ""; - cldapflg = errflg = 0; + errflg = 0; - while (( c = getopt( argc, argv, "uh:d:s:p:t:T:" )) != -1 ) { + while (( c = getopt( argc, argv, "h:d:s:p:t:T:" )) != -1 ) { switch( c ) { - case 'u': -#ifdef LDAP_CONNECTIONLESS - cldapflg++; -#else /* LDAP_CONNECTIONLESS */ - printf( "Compile with -DLDAP_CONNECTIONLESS for UDP support\n" ); -#endif /* LDAP_CONNECTIONLESS */ - break; - case 'd': #ifdef LDAP_DEBUG ldap_debug = atoi( optarg ); @@ -321,12 +318,12 @@ main( int argc, char **argv ) case 't': /* copy ber's to given file */ copyfname = strdup( optarg ); - copyoptions = LBER_TO_FILE; +/* copyoptions = LBER_TO_FILE; */ break; case 'T': /* only output ber's to given file */ copyfname = strdup( optarg ); - copyoptions = (LBER_TO_FILE | LBER_TO_FILE_ONLY); +/* copyoptions = (LBER_TO_FILE | LBER_TO_FILE_ONLY); */ break; default: @@ -344,30 +341,23 @@ main( int argc, char **argv ) exit( EXIT_FAILURE ); } - printf( "%s( %s, %d )\n", - cldapflg ? "cldap_open" : "ldap_init", + printf( "ldap_init( %s, %d )\n", host == NULL ? "(null)" : host, port ); - if ( cldapflg ) { -#ifdef LDAP_CONNECTIONLESS - ld = cldap_open( host, port ); -#endif /* LDAP_CONNECTIONLESS */ - } else { - ld = ldap_init( host, port ); - } + ld = ldap_init( host, port ); if ( ld == NULL ) { - perror( cldapflg ? "cldap_open" : "ldap_init" ); + perror( "ldap_init" ); exit( EXIT_FAILURE ); } if ( copyfname != NULL ) { - if ( (ld->ld_sb.sb_fd = open( copyfname, O_WRONLY | O_CREAT, + if ( ( ld->ld_sb->sb_fd = open( copyfname, O_WRONLY | O_CREAT, 0600 )) == -1 ) { perror( copyfname ); exit ( EXIT_FAILURE ); } - ld->ld_sb.sb_options = copyoptions; + ld->ld_sb->sb_options = copyoptions; } bound = 0; @@ -539,14 +529,7 @@ main( int argc, char **argv ) break; case 'q': /* quit */ -#ifdef LDAP_CONNECTIONLESS - if ( cldapflg ) - cldap_close( ld ); -#endif /* LDAP_CONNECTIONLESS */ - - if ( !cldapflg ) { - ldap_unbind( ld ); - } + ldap_unbind( ld ); exit( EXIT_SUCCESS ); break; @@ -605,28 +588,12 @@ main( int argc, char **argv ) "attrsonly (0=attrs&values, 1=attrs only)? " ); attrsonly = atoi( line ); - if ( cldapflg ) { -#ifdef LDAP_CONNECTIONLESS - getline( line, sizeof(line), stdin, - "Requestor DN (for logging)? " ); - if ( cldap_search_s( ld, dn, scope, filter, types, - attrsonly, &res, line ) != 0 ) { - ldap_perror( ld, "cldap_search_s" ); - } else { - printf( "\nresult: msgid %d\n", - res->lm_msgid ); - handle_result( ld, res ); - res = NULL; - } -#endif /* LDAP_CONNECTIONLESS */ - } else { if (( id = ldap_search( ld, dn, scope, filter, types, attrsonly )) == -1 ) { ldap_perror( ld, "ldap_search" ); } else { printf( "Search initiated with id %d\n", id ); } - } free_list( types ); break; @@ -635,37 +602,6 @@ main( int argc, char **argv ) timeout.tv_sec = atoi( line ); break; - 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; - case 'l': /* URL search */ getline( line, sizeof(line), stdin, "attrsonly (0=attrs&values, 1=attrs only)? " ); @@ -761,33 +697,6 @@ main( int argc, char **argv ) LDAP_BOOL_ZERO(&ld->ld_options); -#ifdef STR_TRANSLATION - getline( line, sizeof(line), stdin, - "Automatic translation of T.61 strings (0=no, 1=yes)?" ); - if ( atoi( line ) == 0 ) { - ld->ld_lberoptions &= ~LBER_TRANSLATE_STRINGS; - } else { - ld->ld_lberoptions |= LBER_TRANSLATE_STRINGS; -#ifdef LDAP_CHARSET_8859 - getline( line, sizeof(line), stdin, - "Translate to/from ISO-8859 (0=no, 1=yes?" ); - if ( atoi( line ) != 0 ) { - ldap_set_string_translators( ld, - ldap_8859_to_t61, - ldap_t61_to_8859 ); - } -#endif /* LDAP_CHARSET_8859 */ - } -#endif /* STR_TRANSLATION */ - -#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_DNS - getline( line, sizeof(line), stdin, - "Use DN & DNS to determine where to send requests (0=no, 1=yes)?" ); - if ( atoi( line ) != 0 ) { - LDAP_BOOL_SET(&ld->ld_options, LDAP_BOOL_DNS); - } -#endif /* LDAP_API_FEATURE_X_OPENLDAP_V2_DNS */ - getline( line, sizeof(line), stdin, "Recognize and chase referrals (0=no, 1=yes)?" ); if ( atoi( line ) != 0 ) { @@ -795,7 +704,7 @@ main( int argc, char **argv ) getline( line, sizeof(line), stdin, "Prompt for bind credentials when chasing referrals (0=no, 1=yes)?" ); if ( atoi( line ) != 0 ) { - ldap_set_rebind_proc( ld, bind_prompt ); + ldap_set_rebind_proc( ld, bind_prompt, NULL ); } } break; @@ -828,12 +737,11 @@ 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" ); - printf( " [u]fn search [ut]fn search with timeout\n" ); printf( " [d]ebug [e]nable cache set ms[g]id\n" ); printf( " d[n]suffix [t]imeout [v]ersion\n" ); - printf( " [U]fn prefix [x]uncache entry [X]uncache request\n" ); printf( " [?]help [o]ptions [O]cache options\n" ); printf( " [E]xplode dn [p]arse LDAP URL\n" ); + printf( " [x]uncache entry [X]uncache request\n" ); break; default: