summaryrefslogtreecommitdiffstats
path: root/src/kim/lib/kim_selection_hints.c
diff options
context:
space:
mode:
authorAlexandra Ellwood <lxs@mit.edu>2008-10-02 17:38:36 +0000
committerAlexandra Ellwood <lxs@mit.edu>2008-10-02 17:38:36 +0000
commita9b51cea161acb118428631eb5a3828bb1f8047a (patch)
treedc94ace3783a9b0ba4211df601eb1d29b0b55703 /src/kim/lib/kim_selection_hints.c
parent347cfa63fa8d3097d540fa84146e020e06c9a91c (diff)
downloadkrb5-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_selection_hints.c')
-rw-r--r--src/kim/lib/kim_selection_hints.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/kim/lib/kim_selection_hints.c b/src/kim/lib/kim_selection_hints.c
index c9d5df16d..90a0173f1 100644
--- a/src/kim/lib/kim_selection_hints.c
+++ b/src/kim/lib/kim_selection_hints.c
@@ -469,10 +469,25 @@ kim_error kim_selection_hints_get_identity (kim_selection_hints in_selection_hi
err = kim_ui_init (&context);
- if (!err) {
+ while (!err && !identity) {
+ kim_boolean user_wants_change_password = 0;
+
err = kim_ui_select_identity (&context,
in_selection_hints,
- &identity);
+ &identity,
+ &user_wants_change_password);
+
+ if (!err && user_wants_change_password) {
+ err = kim_identity_change_password_common (identity, 1,
+ &context,
+ NULL);
+
+ /* reenter select_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 (context.initialized) {