From: Pierangelo Masarati Date: Sun, 14 Dec 2003 14:08:15 +0000 (+0000) Subject: fix previous commits X-Git-Tag: OPENLDAP_REL_ENG_2_1_MP~190 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b4629f1e79ddfbefd68e7c2e88478873e67319fb;p=openldap fix previous commits --- diff --git a/servers/slapd/saslauthz.c b/servers/slapd/saslauthz.c index 8eb69e8318..b5d1d7b38c 100644 --- a/servers/slapd/saslauthz.c +++ b/servers/slapd/saslauthz.c @@ -109,7 +109,10 @@ int slap_parse_user( struct berval *id, struct berval *user, u = id->bv_val[ 0 ]; - assert( u == 'u' || u == 'U' ); + if ( u != 'u' && u != 'U' ) { + /* called with something other than u: */ + return LDAP_PROTOCOL_ERROR; + } /* uauthzid form: * u[.mech[/realm]]:user @@ -159,12 +162,11 @@ int slap_parse_user( struct berval *id, struct berval *user, realm->bv_val -= 2; } - if ( user->bv_val > id->bv_val + 2 ) { - user->bv_val -= 2; - user->bv_len += 2; - user->bv_val[ 0 ] = u; - user->bv_val[ 1 ] = ':'; - } + /* leave "u:" before user */ + user->bv_val -= 2; + user->bv_len += 2; + user->bv_val[ 0 ] = u; + user->bv_val[ 1 ] = ':'; return LDAP_SUCCESS; }