]> git.sur5r.net Git - openldap/blobdiff - libraries/liblutil/passwd.c
Update build tools based upon OPENLDAP_AC work
[openldap] / libraries / liblutil / passwd.c
index 940eafd88b4206a60c0992f162765eb198741170..8f6fda6129ccbed43d772e5d594980255de2cfa3 100644 (file)
@@ -303,10 +303,15 @@ lutil_passwd(
        }
 
 #ifdef SLAPD_CLEARTEXT
+       /* Do we think there is a scheme specifier here that we
+        * 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 ))
+               return 1;
        if( is_allowed_scheme("{CLEARTEXT}", schemes ) ) {
-               return (( passwd->bv_len == cred->bv_len ) &&
-                               ( passwd->bv_val[0] != '{' /*'}'*/ ))
-                       ? memcmp( passwd->bv_val, cred->bv_val, passwd->bv_len )
+               return ( passwd->bv_len == cred->bv_len ) ?
+                       memcmp( passwd->bv_val, cred->bv_val, passwd->bv_len )
                        : 1;
        }
 #endif