summaryrefslogtreecommitdiffstats
path: root/abs/extra/cups/ppd-poll-with-client-conf.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/cups/ppd-poll-with-client-conf.patch')
-rw-r--r--abs/extra/cups/ppd-poll-with-client-conf.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/abs/extra/cups/ppd-poll-with-client-conf.patch b/abs/extra/cups/ppd-poll-with-client-conf.patch
new file mode 100644
index 0000000..8985fa3
--- /dev/null
+++ b/abs/extra/cups/ppd-poll-with-client-conf.patch
@@ -0,0 +1,23 @@
+Description: If an external server is used via client.conf and the DNS is inconsistent (ex: DNS gives "noname" for many IPs, reverse DNS gives one of these IPs for "noname") local PPDs can get polled for print queues instead of the PPDs of the external server
+Bug: http://www.cups.org/str.php?L2763
+
+--- a/cups/util.c
++++ b/cups/util.c
+@@ -1085,11 +1085,13 @@
+ http2 = http;
+ else if ((http2 = httpConnectEncrypt(hostname, port,
+ cupsEncryption())) == NULL)
+- {
+- DEBUG_puts("1cupsGetPPD3: Unable to connect to server");
++ if ((http2 = httpConnectEncrypt(http_hostname, http_port,
++ cupsEncryption())) == NULL)
++ {
++ DEBUG_puts("1cupsGetPPD3: Unable to connect to server");
+
+- return (HTTP_SERVICE_UNAVAILABLE);
+- }
++ return (HTTP_SERVICE_UNAVAILABLE);
++ }
+
+ /*
+ * Get a temp file...