Preserve old slap_passwd_hash() signature, add slap_passwd_hash_type()

This commit is contained in:
Howard Chu 2004-03-15 20:58:41 +00:00
parent 0c9b308781
commit db52f51943
2 changed files with 27 additions and 13 deletions

View File

@ -168,7 +168,7 @@ int passwd_extop(
}
ml->sml_values = ch_malloc( (nhash+1)*sizeof(struct berval) );
for ( i=0; hashes[i]; i++ ) {
slap_passwd_hash( hashes[i], &qpw->rs_new, &hash, &rs->sr_text );
slap_passwd_hash_type( &qpw->rs_new, &hash, hashes[i], &rs->sr_text );
if ( hash.bv_len == 0 ) {
if ( !rs->sr_text ) {
rs->sr_text = "password hash failed";
@ -187,7 +187,7 @@ int passwd_extop(
ml = ch_malloc( sizeof(Modifications) );
ml->sml_values = ch_malloc( (nhash+1)*sizeof(struct berval) );
for ( i=0; hashes[i]; i++ ) {
slap_passwd_hash( hashes[i], &qpw->rs_old, &hash, &rs->sr_text );
slap_passwd_hash_type( &qpw->rs_old, &hash, hashes[i], &rs->sr_text );
if ( hash.bv_len == 0 ) {
if ( !rs->sr_text ) {
rs->sr_text = "password hash failed";
@ -473,23 +473,16 @@ slap_passwd_generate( struct berval *pass )
}
void
slap_passwd_hash(
char *hash,
slap_passwd_hash_type(
struct berval * cred,
struct berval * new,
char *hash,
const char **text )
{
new->bv_len = 0;
new->bv_val = NULL;
if ( !hash ) {
if ( default_passwd_hash ) {
hash = default_passwd_hash[0];
}
if ( !hash ) {
hash = (char *)defhash[0];
}
}
assert( hash );
#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD )
ldap_pvt_thread_mutex_lock( &passwd_mutex );
@ -502,3 +495,19 @@ slap_passwd_hash(
#endif
}
void
slap_passwd_hash(
struct berval * cred,
struct berval * new,
const char **text )
{
char *hash;
if ( default_passwd_hash ) {
hash = default_passwd_hash[0];
}
if ( !hash ) {
hash = (char *)defhash[0];
}
slap_passwd_hash_type( cred, new, hash, text );
}

View File

@ -864,11 +864,16 @@ LDAP_SLAPD_F (int) slap_passwd_check(
LDAP_SLAPD_F (void) slap_passwd_generate( struct berval * );
LDAP_SLAPD_F (void) slap_passwd_hash(
char *type,
struct berval *cred,
struct berval *hash,
const char **text );
LDAP_SLAPD_F (void) slap_passwd_hash_type(
struct berval *cred,
struct berval *hash,
char *htype,
const char **text );
LDAP_SLAPD_F (struct berval *) slap_passwd_return(
struct berval *cred );