mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-26 17:49:59 -05:00
ITS#4021: add new {CLEARTEXT} kludge as bv_len=0 kludge no
longer works well.
This commit is contained in:
parent
63e843d200
commit
9449c5709e
4 changed files with 11 additions and 3 deletions
|
|
@ -73,6 +73,10 @@ static lutil_cryptfunc lutil_crypt;
|
|||
lutil_cryptfunc *lutil_cryptptr = lutil_crypt;
|
||||
#endif
|
||||
|
||||
/* KLUDGE:
|
||||
* chk_fn is NULL iff name is {CLEARTEXT}
|
||||
* otherwise, things will break
|
||||
*/
|
||||
struct pw_scheme {
|
||||
struct berval name;
|
||||
LUTIL_PASSWD_CHK_FUNC *chk_fn;
|
||||
|
|
@ -147,7 +151,7 @@ static const struct pw_scheme pw_schemes_default[] =
|
|||
|
||||
#ifdef SLAPD_CLEARTEXT
|
||||
/* pseudo scheme */
|
||||
{ {0, "{CLEARTEXT}"}, NULL, hash_clear },
|
||||
{ BER_BVC("{CLEARTEXT}"), NULL, hash_clear },
|
||||
#endif
|
||||
|
||||
{ BER_BVNULL, NULL, NULL }
|
||||
|
|
@ -306,7 +310,9 @@ lutil_passwd(
|
|||
*/
|
||||
if (( passwd->bv_val[0] == '{' ) &&
|
||||
( strchr( passwd->bv_val, '}' ) > passwd->bv_val+1 ))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if( is_allowed_scheme("{CLEARTEXT}", schemes ) ) {
|
||||
return ( passwd->bv_len == cred->bv_len ) ?
|
||||
memcmp( passwd->bv_val, cred->bv_val, passwd->bv_len )
|
||||
|
|
|
|||
|
|
@ -1379,7 +1379,7 @@ config_passwd_hash(ConfigArgs *c) {
|
|||
}
|
||||
for(i = 1; i < c->argc; i++) {
|
||||
if(!lutil_passwd_scheme(c->argv[i])) {
|
||||
sprintf( c->msg, "<%s> schema not available", c->argv[0] );
|
||||
sprintf( c->msg, "<%s> scheme not available", c->argv[0] );
|
||||
Debug(LDAP_DEBUG_ANY, "%s: %s (%s)\n",
|
||||
c->log, c->msg, c->argv[i]);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -68,7 +68,9 @@ int passwd_extop(
|
|||
return LDAP_STRONG_AUTH_REQUIRED;
|
||||
}
|
||||
|
||||
qpw->rs_old.bv_len = 0;
|
||||
qpw->rs_old.bv_val = NULL;
|
||||
qpw->rs_new.bv_len = 0;
|
||||
qpw->rs_new.bv_val = NULL;
|
||||
qpw->rs_mods = NULL;
|
||||
qpw->rs_modtail = NULL;
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ fi
|
|||
|
||||
echo "Logging end state with ldapsearch..."
|
||||
echo "" >> $TESTOUT
|
||||
echo "++ Initial search" >> $TESTOUT
|
||||
echo "++ End search" >> $TESTOUT
|
||||
$LDAPSEARCH -h $LOCALHOST -p $PORT1 \
|
||||
-D "$MANAGERDN" -w $PASSWD \
|
||||
-b "$BASEDN" \
|
||||
|
|
|
|||
Loading…
Reference in a new issue