diff options
| author | Tom Yu <tlyu@mit.edu> | 1998-12-05 04:12:35 +0000 |
|---|---|---|
| committer | Tom Yu <tlyu@mit.edu> | 1998-12-05 04:12:35 +0000 |
| commit | 7608ae2dba727550a44acce1c306046d67a048de (patch) | |
| tree | 31d3a903851e6f4827b5df02cc45e4f3960f4470 /src | |
| parent | 76540e7ffa010351d43e2717aaf755863284c807 (diff) | |
| download | krb5-7608ae2dba727550a44acce1c306046d67a048de.tar.gz krb5-7608ae2dba727550a44acce1c306046d67a048de.tar.xz krb5-7608ae2dba727550a44acce1c306046d67a048de.zip | |
* svr_principal.c (kadm5_create_principal): Modify to call
create_principal_3.
(kadm5_create_principal_3): New function including flag to keep
old keys and optional explicit keysalt_tuples.
(kadm5_chpass_principal): Modify to call chpass_principal_3.
(kadm5_chpass_principal_3): New function including flag to keep
old keys and optional explicit keysalt_tuples.
(kadm5_randkey_principal): Modify to call randkey_principal_3.
(kadm5_randkey_principal_3): New function including flag to keep
old keys and optional explicit keysalt_tuples.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11063 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/kadm5/srv/ChangeLog | 13 | ||||
| -rw-r--r-- | src/lib/kadm5/srv/svr_principal.c | 52 |
2 files changed, 57 insertions, 8 deletions
diff --git a/src/lib/kadm5/srv/ChangeLog b/src/lib/kadm5/srv/ChangeLog index 8dff61102..54894eccc 100644 --- a/src/lib/kadm5/srv/ChangeLog +++ b/src/lib/kadm5/srv/ChangeLog @@ -1,3 +1,16 @@ +Fri Dec 4 23:10:32 1998 Tom Yu <tlyu@mit.edu> + + * svr_principal.c (kadm5_create_principal): Modify to call + create_principal_3. + (kadm5_create_principal_3): New function including flag to keep + old keys and optional explicit keysalt_tuples. + (kadm5_chpass_principal): Modify to call chpass_principal_3. + (kadm5_chpass_principal_3): New function including flag to keep + old keys and optional explicit keysalt_tuples. + (kadm5_randkey_principal): Modify to call randkey_principal_3. + (kadm5_randkey_principal_3): New function including flag to keep + old keys and optional explicit keysalt_tuples. + Tue Nov 17 18:20:48 1998 Tom Yu <tlyu@mit.edu> * svr_principal.c (kadm5_create_principal): diff --git a/src/lib/kadm5/srv/svr_principal.c b/src/lib/kadm5/srv/svr_principal.c index 315d74613..5e15bb8f2 100644 --- a/src/lib/kadm5/srv/svr_principal.c +++ b/src/lib/kadm5/srv/svr_principal.c @@ -104,6 +104,17 @@ kadm5_create_principal(void *server_handle, kadm5_principal_ent_t entry, long mask, char *password) { + return + kadm5_create_principal_3(server_handle, entry, mask, + FALSE, 0, NULL, password); +} +kadm5_ret_t +kadm5_create_principal_3(void *server_handle, + kadm5_principal_ent_t entry, long mask, + krb5_boolean keepold, + int n_ks_tuple, krb5_key_salt_tuple *ks_tuple, + char *password) +{ krb5_db_entry kdb; osa_princ_ent_rec adb; kadm5_policy_ent_rec polent; @@ -235,11 +246,11 @@ kadm5_create_principal(void *server_handle, /* initialize the keys */ if (ret = krb5_dbe_cpw(handle->context, &master_keyblock, - handle->params.keysalts, - handle->params.num_keysalts, + n_ks_tuple?ks_tuple:handle->params.keysalts, + n_ks_tuple?n_ks_tuple:handle->params.num_keysalts, password, (mask & KADM5_KVNO)?entry->kvno:1, - FALSE, &kdb)) { + keepold, &kdb)) { krb5_dbe_free_contents(handle->context, &kdb); if (mask & KADM5_POLICY) (void) kadm5_free_policy_ent(handle->lhandle, &polent); @@ -1012,6 +1023,17 @@ kadm5_ret_t kadm5_chpass_principal(void *server_handle, krb5_principal principal, char *password) { + return + kadm5_chpass_principal_3(server_handle, principal, FALSE, + 0, NULL, password); +} + +kadm5_ret_t +kadm5_chpass_principal_3(void *server_handle, + krb5_principal principal, krb5_boolean keepold, + int n_ks_tuple, krb5_key_salt_tuple *ks_tuple, + char *password) +{ krb5_int32 now; kadm5_policy_ent_rec pol; osa_princ_ent_rec adb; @@ -1052,10 +1074,10 @@ kadm5_chpass_principal(void *server_handle, goto done; if (ret = krb5_dbe_cpw(handle->context, &master_keyblock, - handle->params.keysalts, - handle->params.num_keysalts, + n_ks_tuple?ks_tuple:handle->params.keysalts, + n_ks_tuple?n_ks_tuple:handle->params.num_keysalts, password, 0 /* increment kvno */, - FALSE, &kdb)) + keepold, &kdb)) goto done; kdb.attributes &= ~KRB5_KDB_REQUIRES_PWCHANGE; @@ -1147,6 +1169,19 @@ kadm5_randkey_principal(void *server_handle, krb5_keyblock **keyblocks, int *n_keys) { + return + kadm5_randkey_principal_3(server_handle, principal, + FALSE, 0, NULL, + keyblocks, n_keys); +} +kadm5_ret_t +kadm5_randkey_principal_3(void *server_handle, + krb5_principal principal, + krb5_boolean keepold, + int n_ks_tuple, krb5_key_salt_tuple *ks_tuple, + krb5_keyblock **keyblocks, + int *n_keys) +{ krb5_db_entry kdb; osa_princ_ent_rec adb; krb5_int32 now; @@ -1172,8 +1207,9 @@ kadm5_randkey_principal(void *server_handle, return(ret); if (ret = krb5_dbe_crk(handle->context, &master_keyblock, - handle->params.keysalts, - handle->params.num_keysalts, FALSE, + n_ks_tuple?n_ks_tuple:handle->params.keysalts, + n_ks_tuple?ks_tuple:handle->params.num_keysalts, + keepold, &kdb)) goto done; |
