From: Howard Chu Date: Sat, 27 Apr 2002 03:44:23 +0000 (+0000) Subject: Fix check for "anonymous" in sasl_getdn X-Git-Tag: OPENLDAP_REL_ENG_2_MP~145 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=cef9fcf78b3bbf3c913a508c628fd02509477671;p=openldap Fix check for "anonymous" in sasl_getdn --- 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 ) {