/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2005 The OpenLDAP Foundation.
+ * Copyright 1998-2007 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
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;
#ifdef SLAPD_CLEARTEXT
/* pseudo scheme */
- { {0, "{CLEARTEXT}"}, NULL, hash_clear },
+ { BER_BVC("{CLEARTEXT}"), NULL, hash_clear },
#endif
{ BER_BVNULL, NULL, NULL }
* didn't recognize? Assume a scheme name is at least 1 character.
*/
if (( passwd->bv_val[0] == '{' ) &&
- ( strchr( passwd->bv_val, '}' ) > passwd->bv_val+1 ))
+ ( ber_bvchr( passwd, '}' ) > 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 )