msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-17 15:26-0400\n"
+"POT-Creation-Date: 2004-08-18 17:20-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "_Renew Ticket"
msgstr ""
-#: src/krb5-auth-dialog.c:70 src/krb5-auth-dialog.c:78
+#: src/krb5-auth-dialog.c:76 src/krb5-auth-dialog.c:84
msgid "Password:"
msgstr ""
+#: src/krb5-auth-dialog.c:96
+msgid "The password you entered is invalid"
+msgstr ""
+
+#: src/krb5-auth-dialog.c:101
+#, c-format
+msgid "Your credentials expire in %d minutes"
+msgstr ""
+
+#: src/krb5-auth-dialog.c:103
+msgid "Your credentials have expired"
+msgstr ""
+
#: src/dummy-strings.c:10
msgid "Can't read ticket file"
msgstr ""
msgstr ""
#. import_err.et:imp:IMPORT_GET_PARAMS
-#: src/dummy-strings.c:132
+#. kv5m_err.et:kv5m:KV5M_GSS_QUEUE
+#: src/dummy-strings.c:132 src/dummy-strings.c:385
msgid "$Id$"
msgstr ""
msgid "Bad magic number for GSSAPI QUEUE"
msgstr ""
-#. kv5m_err.et:kv5m:KV5M_GSS_QUEUE
-#: src/dummy-strings.c:385
-msgid "$Id$"
-msgstr ""
-
#. kdb5_err.et:kdb5:KRB5_KDB_RCSID
#. kadm_err.et:kadm:KADM_NO_VERI
#: src/dummy-strings.c:386 src/dummy-strings.c:532
#. chpass_util_strings.et:ovku:CHPASS_UTIL_WHILE_READING_PASSWORD
#: src/dummy-strings.c:512
msgid ""
-"$Header: /cvs/krbdev/krb5/src/lib/krb4/kadm_err.et,v 1.1 2002/11/27 03:09:34 "
-"tlyu Exp $"
+"$Header: /cvs/gnome/krb5-auth-dialog/src/dummy-strings.c,v 1.1 2004/08/17 "
+"19:29:03 jrb Exp $"
msgstr ""
#. kadm_err.et:kadm:KADM_RCSID
static krb5_context kcontext;
static krb5_principal kprincipal;
static char* defname = NULL;
+static gboolean invalid_password;
+static gint creds_expiry;
+
static int renew_credentials ();
{
GtkWidget *entry;
GtkWidget *label;
+ GtkWidget *wrong_label;
+ gchar *wrong_text;
+ gchar *wrong_markup;
if (prompt == NULL)
prompt = _("Password:");
label = glade_xml_get_widget (xml, "krb5_message_label");
gtk_label_set_text (GTK_LABEL (label), prompt);
- /* Only hide, and not destroy the dialog, so we can re-use it later. */
- g_signal_connect (dialog, "response",
- G_CALLBACK (gtk_widget_hide),
- dialog);
+ /* Add our extra message hints, if any */
+ if (invalid_password)
+ wrong_text = g_strdup (_("The password you entered is invalid"));
+ else
+ {
+ int minutes_left = (creds_expiry - time(0)) / 60;
+ if (minutes_left > 0)
+ wrong_text = g_strdup_printf (_("Your credentials expire in %d minutes"), minutes_left);
+ else
+ wrong_text = g_strdup (_("Your credentials have expired"));
+ }
+
+ wrong_label = glade_xml_get_widget (xml, "krb5_wrong_label");
+
+ if (wrong_label && wrong_text != NULL)
+ {
+ wrong_markup = g_strdup_printf ("<span size=\"smaller\" style=\"italic\">%s</span>", wrong_text);
+ gtk_label_set_markup (GTK_LABEL (wrong_label), wrong_markup);
+ g_free(wrong_text);
+ g_free(wrong_markup);
+ }
+ else
+ gtk_label_set_text (GTK_LABEL (wrong_label), "");
}
static krb5_error_code
default:
g_assert_not_reached ();
}
-
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. */
+ gtk_widget_hide (dialog);
+ invalid_password = FALSE;
+
return errcode;
}
krb5_flags flags;
krb5_error_code code;
int exit_status = 0;
+ int expiry;
gboolean retval = FALSE;
while (!(code = krb5_cc_next_cred(kcontext, cache, &cur, &my_creds)))
{
if (my_creds.times.endtime - time(0) < SECONDS_BEFORE_PROMPTING)
- retval = TRUE;
+ {
+ retval = TRUE;
+ creds_expiry = my_creds.times.endtime;
+ }
+
krb5_free_cred_contents(kcontext, &my_creds);
}
if (code == KRB5_CC_END)
if (retval == KRB5KRB_AP_ERR_BAD_INTEGRITY)
{
/* Invalid password, try again. */
+ invalid_password = TRUE;
return renew_credentials();
}
return retval;