Tim Waugh f0558c
diff -up cups-1.4.3/backend/dnssd.c.dnssd-deviceid.patch cups-1.4.3/backend/dnssd.c
Tim Waugh f0558c
--- cups-1.4.3/backend/dnssd.c.dnssd-deviceid.patch	2010-04-16 19:36:12.226148774 +0100
Tim Waugh f0558c
+++ cups-1.4.3/backend/dnssd.c	2010-04-16 19:39:53.314148240 +0100
Tim Waugh f0558c
@@ -1192,15 +1192,22 @@ find_device (cups_array_t *devices,
Tim Waugh f0558c
       if (device->device_id)
Tim Waugh f0558c
         free(device->device_id);
Tim Waugh f0558c
 
Tim Waugh f0558c
+      if (device_id[0])
Tim Waugh f0558c
+      {
Tim Waugh f0558c
+	  /* Mark this as the real device ID. */
Tim Waugh f0558c
+	  ptr = device_id + strlen(device_id);
Tim Waugh f0558c
+	  snprintf(ptr, sizeof(device_id) - (ptr - device_id), "FZY:0;");
Tim Waugh f0558c
+      }
Tim Waugh f0558c
+
Tim Waugh f0558c
       if (!device_id[0] && strcmp(model, "Unknown"))
Tim Waugh f0558c
       {
Tim Waugh f0558c
         if (make_and_model[0])
Tim Waugh f0558c
-	  snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;",
Tim Waugh f0558c
+	  snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;FZY:1;",
Tim Waugh f0558c
 	           make_and_model, model);
Tim Waugh f0558c
         else if (!strncasecmp(model, "designjet ", 10))
Tim Waugh f0558c
-	  snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s", model + 10);
Tim Waugh f0558c
+	  snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s;FZY:1;", model + 10);
Tim Waugh f0558c
         else if (!strncasecmp(model, "stylus ", 7))
Tim Waugh f0558c
-	  snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s", model + 7);
Tim Waugh f0558c
+	  snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s;FZY:1;", model + 7);
Tim Waugh f0558c
         else if ((ptr = strchr(model, ' ')) != NULL)
Tim Waugh f0558c
 	{
Tim Waugh f0558c
 	 /*
Tim Waugh f0558c
@@ -1210,7 +1217,7 @@ find_device (cups_array_t *devices,
Tim Waugh f0558c
           memcpy(make_and_model, model, ptr - model);
Tim Waugh f0558c
 	  make_and_model[ptr - model] = '\0';
Tim Waugh f0558c
 
Tim Waugh f0558c
-	  snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s",
Tim Waugh f0558c
+	  snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;FZY:1;",
Tim Waugh f0558c
 		   make_and_model, ptr + 1);
Tim Waugh f0558c
         }
Tim Waugh f0558c
       }