[gtk+/gtk-3-14] Prevent empty password request popup for kerberos
- From: Marek Kašík <mkasik src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-3-14] Prevent empty password request popup for kerberos
- Date: Mon, 9 Mar 2015 15:06:39 +0000 (UTC)
commit 378823ba4bf51d38c93c0189ac648d85e436e845
Author: Andre Heinecke <aheinecke intevation de>
Date: Thu Feb 5 11:14:01 2015 +0100
Prevent empty password request popup for kerberos
If auth_info_required is only set to "negotiate" the
request password dialog is shown anyway for each print
job without any input fields. As the request_password
dialog only handles username, password and domain.
https://bugzilla.gnome.org/show_bug.cgi?id=669008
modules/printbackends/cups/gtkprintbackendcups.c | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
---
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c
b/modules/printbackends/cups/gtkprintbackendcups.c
index dfb8497..b9782c5 100644
--- a/modules/printbackends/cups/gtkprintbackendcups.c
+++ b/modules/printbackends/cups/gtkprintbackendcups.c
@@ -729,8 +729,24 @@ gtk_print_backend_cups_print_stream (GtkPrintBackend *print_backend,
ps->job = g_object_ref (job);
ps->http = http;
- request->need_auth_info = cups_printer->auth_info_required != NULL;
- request->auth_info_required = g_strdupv (cups_printer->auth_info_required);
+ request->need_auth_info = FALSE;
+ request->auth_info_required = NULL;
+
+ /* Check if auth_info_required is set and if it should be handled.
+ * The cups libraries handle the ticket exchange for "negotiate". */
+ if (cups_printer->auth_info_required != NULL &&
+ g_strv_length (cups_printer->auth_info_required) == 1 &&
+ g_strcmp0 (cups_printer->auth_info_required[0], "negotiate") == 0)
+ {
+ GTK_NOTE (PRINTING,
+ g_print ("CUPS Backend: Ignoring auth-info-required \"%s\"\n",
+ cups_printer->auth_info_required[0]));
+ }
+ else if (cups_printer->auth_info_required != NULL)
+ {
+ request->need_auth_info = TRUE;
+ request->auth_info_required = g_strdupv (cups_printer->auth_info_required);
+ }
cups_request_execute (GTK_PRINT_BACKEND_CUPS (print_backend),
request,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]