From 6468475655506bfbe19ad30e03cd82d0e18ee263 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Sat, 1 Nov 1997 00:41:08 +0000 Subject: [PATCH] Use _kadm5_set_keys(). git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3725 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/kadm5/chpass_s.c | 24 +----------------------- lib/kadm5/create_s.c | 20 +++++++------------- 2 files changed, 8 insertions(+), 36 deletions(-) diff --git a/lib/kadm5/chpass_s.c b/lib/kadm5/chpass_s.c index 749db6b1d..1f8117342 100644 --- a/lib/kadm5/chpass_s.c +++ b/lib/kadm5/chpass_s.c @@ -55,29 +55,7 @@ kadm5_s_chpass_principal(void *server_handle, ret = context->db->fetch(context->context, context->db, &ent); if(ret == HDB_ERR_NOENTRY) goto out; - { - int i; - krb5_data salt; - Key *key; - krb5_get_salt(princ, &salt); - for(i = 0; i < ent.keys.len; i++){ - key = &ent.keys.val[i]; - if(key->salt && key->salt->type == hdb_pw_salt && - key->salt->salt.length != 0){ - /* zap old salt, but not v4 salts */ - free_Salt(key->salt); - key->salt = NULL; - } - krb5_free_keyblock(context->context, &key->key); - ret = krb5_string_to_key(password, - key->salt ? &key->salt->salt : &salt, - key->key.keytype, - &key->key); - if(ret) - break; - } - krb5_data_free(&salt); - } + ret = _kadm5_set_keys(context, &ent, password); if(ret) goto out2; ret = _kadm5_set_modifier(context, &ent); diff --git a/lib/kadm5/create_s.c b/lib/kadm5/create_s.c index aac94cbf6..e5734ec14 100644 --- a/lib/kadm5/create_s.c +++ b/lib/kadm5/create_s.c @@ -83,19 +83,13 @@ kadm5_s_create_principal(void *server_handle, ret = _kadm5_setup_entry(&ent, princ, mask); - { - krb5_data salt; - ent.keys.len = 1; - ent.keys.val = malloc(ent.keys.len * sizeof(*ent.keys.val)); - ent.keys.val[0].mkvno = 0; - ret = krb5_get_salt (ent.principal, &salt); - krb5_string_to_key(password, - &salt, - KEYTYPE_DES, - &ent.keys.val[0].key); - krb5_data_free(&salt); - ent.keys.val[0].salt = NULL; - } + /* XXX this should be fixed */ + ent.keys.len = 2; + ent.keys.val = calloc(ent.keys.len, sizeof(*ent.keys.val)); + ent.keys.val[0].key.keytype = KEYTYPE_DES; + ent.keys.val[1].key.keytype = KEYTYPE_DES; + + ret = _kadm5_set_keys(context, &ent, password); ent.created_by.time = time(NULL); ret = krb5_copy_principal(context->context, context->caller,