diff --git a/clients/tools/ldapwhoami.c b/clients/tools/ldapwhoami.c index ea312c61b2266f0d5659e339916a74df879e389f..93beeb22107fed33ec50abb88d27b5d37210f795 100644 --- a/clients/tools/ldapwhoami.c +++ b/clients/tools/ldapwhoami.c @@ -111,8 +111,7 @@ main( int argc, char *argv[] ) int rc; LDAP *ld = NULL; char *matcheddn = NULL, *text = NULL, **refs = NULL; - char *retoid = NULL; - struct berval *retdata = NULL; + struct berval *authzid = NULL; int id, code = 0; LDAPMessage *res; LDAPControl **ctrls = NULL; @@ -182,19 +181,20 @@ main( int argc, char *argv[] ) goto skip; } - rc = ldap_parse_extended_result( ld, res, &retoid, &retdata, 1 ); + rc = ldap_parse_whoami( ld, res, &authzid ); + ldap_msgfree(res); if( rc != LDAP_SUCCESS ) { - tool_perror( "ldap_parse_extended_result", rc, NULL, NULL, NULL, NULL ); + tool_perror( "ldap_parse_whoami", rc, NULL, NULL, NULL, NULL ); rc = EXIT_FAILURE; goto skip; } - if( retdata != NULL ) { - if( retdata->bv_len == 0 ) { + if( authzid != NULL ) { + if( authzid->bv_len == 0 ) { printf(_("anonymous\n") ); } else { - printf("%s\n", retdata->bv_val ); + printf("%s\n", authzid->bv_val ); } } @@ -228,8 +228,7 @@ skip: ber_memfree( text ); ber_memfree( matcheddn ); ber_memvfree( (void **) refs ); - ber_memfree( retoid ); - ber_bvfree( retdata ); + ber_bvfree( authzid ); /* disconnect from server */ tool_unbind( ld );