diff options
author | Alexandra Ellwood <lxs@mit.edu> | 2008-10-02 17:38:36 +0000 |
---|---|---|
committer | Alexandra Ellwood <lxs@mit.edu> | 2008-10-02 17:38:36 +0000 |
commit | a9b51cea161acb118428631eb5a3828bb1f8047a (patch) | |
tree | dc94ace3783a9b0ba4211df601eb1d29b0b55703 /src/kim/lib/kim_credential.c | |
parent | 347cfa63fa8d3097d540fa84146e020e06c9a91c (diff) | |
download | krb5-a9b51cea161acb118428631eb5a3828bb1f8047a.tar.gz krb5-a9b51cea161acb118428631eb5a3828bb1f8047a.tar.xz krb5-a9b51cea161acb118428631eb5a3828bb1f8047a.zip |
Support for change password checkbox in enter and select
identity ui elements.
ticket: 6055
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20812 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kim/lib/kim_credential.c')
-rw-r--r-- | src/kim/lib/kim_credential.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/kim/lib/kim_credential.c b/src/kim/lib/kim_credential.c index 443269891..3dd17af84 100644 --- a/src/kim/lib/kim_credential.c +++ b/src/kim/lib/kim_credential.c @@ -254,8 +254,25 @@ kim_error kim_credential_create_new_with_password (kim_credential *out_credentia if (identity) { done_with_identity = 1; - } else { - err = kim_ui_enter_identity (&context, options, &identity); + + } else while (!err && !identity) { + kim_boolean user_wants_change_password = 0; + + err = kim_ui_enter_identity (&context, options, + &identity, + &user_wants_change_password); + + if (!err && user_wants_change_password) { + err = kim_identity_change_password_common (identity, 1, + &context, + NULL); + + /* reenter enter_identity so just forget this identity + * even if we got an error */ + if (err == KIM_USER_CANCELED_ERR) { err = KIM_NO_ERROR; } + kim_identity_free (&identity); + } + } if (!err) { |