From b4629f1e79ddfbefd68e7c2e88478873e67319fb Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sun, 14 Dec 2003 14:08:15 +0000 Subject: [PATCH] fix previous commits --- servers/slapd/saslauthz.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) 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; }