summaryrefslogtreecommitdiff
path: root/extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch')
-rw-r--r--extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch b/extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch
new file mode 100644
index 000000000..6349bd901
--- /dev/null
+++ b/extra/cups/recognize-remote-cups-queue-via-dnssd-uri.patch
@@ -0,0 +1,25 @@
+diff -uraN cups/scheduler/printers.c cups-new/scheduler/printers.c
+--- cups/scheduler/printers.c 2012-05-25 15:28:49.000000000 +0200
++++ cups-new/scheduler/printers.c 2012-08-04 20:58:40.475725544 +0200
+@@ -4829,13 +4829,14 @@
+ "printer-make-and-model", NULL,
+ "Local System V Printer");
+ }
+- else if (!strncmp(p->device_uri, "ipp://", 6) &&
+- (strstr(p->device_uri, "/printers/") != NULL ||
+- strstr(p->device_uri, "/classes/") != NULL ||
+- ((strstr(p->device_uri, "._ipp.") != NULL ||
+- strstr(p->device_uri, "._ipps.") != NULL) &&
+- !strcmp(p->device_uri + strlen(p->device_uri) - 5,
+- "/cups"))))
++ else if ((!strncmp(p->device_uri, "ipp://", 6) &&
++ (strstr(p->device_uri, "/printers/") != NULL ||
++ strstr(p->device_uri, "/classes/") != NULL)) ||
++ (!strncmp(p->device_uri, "dnssd://", 8) &&
++ (strstr(p->device_uri, "._ipp.") != NULL ||
++ strstr(p->device_uri, "._ipps.") != NULL) &&
++ !strcmp(p->device_uri + strlen(p->device_uri) - 5,
++ "/cups")))
+ {
+ /*
+ * Tell the client this is really a hard-wired remote printer.