Index: src/krb5-auth-dialog.c
===================================================================
RCS file: /cvs/gnome/krb5-auth-dialog/src/krb5-auth-dialog.c,v
retrieving revision 1.27
diff -u -d -p -U10 -r1.27 krb5-auth-dialog.c
--- src/krb5-auth-dialog.c 18 Mar 2006 00:21:08 -0000 1.27
+++ src/krb5-auth-dialog.c 24 Jul 2006 14:52:49 -0000
@@ -277,20 +277,21 @@ auth_dialog_prompter (krb5_context ctx,
password = gtk_entry_get_text (GTK_ENTRY (entry));
password_len = strlen (password);
errcode = 0;
break;
case GTK_RESPONSE_CANCEL:
canceled = TRUE;
break;
case GTK_RESPONSE_DELETE_EVENT:
break;
default:
+ g_warning ("Unknown Response: %d", response);
g_assert_not_reached ();
}
g_source_remove (source_id);
prompts[i].reply->data = (char *) password;
prompts[i].reply->length = password_len;
}
/* Reset this, so we know the next time we get a TRUE value, it is accurate. */
@@ -368,21 +369,25 @@ credentials_expiring (gpointer *data)
gboolean give_up;
gboolean renewable;
if (credentials_expiring_real (&renewable) && is_online) {
give_up = canceled && (creds_expiry == canceled_creds_expiry);
if (!give_up) {
do {
retval = grab_credentials (renewable);
give_up = canceled &&
(creds_expiry == canceled_creds_expiry);
- } while ((retval != 0) && !give_up);
+ } while ((retval != 0) &&
+ (retval != KRB5_REALM_CANT_RESOLVE) &&
+ (retval != KRB5_KDC_UNREACH) &&
+ invalid_password &&
+ !give_up);
}
}
return TRUE;
}
static void
set_options_using_creds(krb5_context context,
krb5_creds *creds,
krb5_get_init_creds_opt *opts)