summaryrefslogtreecommitdiffstats
path: root/src/kim/lib/kim_credential.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kim/lib/kim_credential.c')
-rw-r--r--src/kim/lib/kim_credential.c32
1 files changed, 11 insertions, 21 deletions
diff --git a/src/kim/lib/kim_credential.c b/src/kim/lib/kim_credential.c
index 6a997159e..c565f80cc 100644
--- a/src/kim/lib/kim_credential.c
+++ b/src/kim/lib/kim_credential.c
@@ -403,17 +403,12 @@ kim_error kim_credential_create_new_with_password (kim_credential *out_credentia
/* remember identity and options if the user wanted to */
kim_credential_remember_prefs (identity, options);
- } else {
- /* new creds failed, report error to user */
- kim_error terr = kim_ui_handle_kim_error (&context, identity,
- kim_ui_error_type_authentication,
- err);
-
- if (prompt_count) {
- /* User was prompted and might have entered bad info
- * so let them try again. */
- err = terr;
- }
+ } else if (prompt_count) {
+ /* User was prompted and might have entered bad info
+ * so report error and try again. */
+ err = kim_ui_handle_kim_error (&context, identity,
+ kim_ui_error_type_authentication,
+ err);
}
if (free_creds) { krb5_free_cred_contents (credential->context, &creds); }
@@ -423,16 +418,11 @@ kim_error kim_credential_create_new_with_password (kim_credential *out_credentia
/* identity obtained or the user gave up */
done_with_identity = 1;
- } else {
- /* new creds failed, report error to user */
- kim_error terr = kim_ui_handle_kim_error (&context, identity,
- kim_ui_error_type_authentication,
- err);
-
- if (!in_identity) {
- /* User entered an identity so let them try again */
- err = terr;
- }
+ } else if (!in_identity) {
+ /* User entered an identity so report error and try again */
+ err = kim_ui_handle_kim_error (&context, identity,
+ kim_ui_error_type_authentication,
+ err);
}
if (identity != in_identity) { kim_identity_free (&identity); }