From cef9fcf78b3bbf3c913a508c628fd02509477671 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sat, 27 Apr 2002 03:44:23 +0000 Subject: [PATCH] Fix check for "anonymous" in sasl_getdn --- servers/slapd/sasl.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/servers/slapd/sasl.c b/servers/slapd/sasl.c index a6bcb45099..af5e3484e7 100644 --- a/servers/slapd/sasl.c +++ b/servers/slapd/sasl.c @@ -161,15 +161,19 @@ int slap_sasl_getdn( Connection *conn, char *id, int len, dn->bv_val = NULL; dn->bv_len = 0; - /* Blatantly anonymous ID */ - if( id && - ( id[sizeof( "anonymous" )-1] == '\0' - || id[sizeof( "anonymous" )-1] == '@' ) && - !strncasecmp( id, "anonymous", sizeof( "anonymous" )-1) ) { - return( LDAP_SUCCESS ); + if ( id ) { + if ( len == 0 ) len = strlen( id ); + + /* Blatantly anonymous ID */ + if ( len == sizeof("anonymous") - 1 && + !strcasecmp( id, "anonymous" ) ) { + return( LDAP_SUCCESS ); + } + } else { + len = 0; } + ctx = conn->c_sasl_context; - if ( len == 0 ) len = strlen( id ); /* An authcID needs to be converted to authzID form */ if( flags & FLAG_GETDN_AUTHCID ) { -- 2.39.5