Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: pu

Dear Release Team,

I would like to get #722886 fixed in Wheezy. This 'important' bug fixes
a dnssd backend crash when browsing printers shared on jessie+ (CUPS
1.6) print servers.

This bug is already fixed (or rather, doesn't apply in cups 1.6 as
shipped in jessie+ as the cups avahi backend has been rewritten.

The full debdiff is attached, as well as the patch on the
cups-avahi.patch. The proposed changelog is as follows:

 cups (1.5.3-5+deb7u1) stable; urgency=low
 
   [ Tim Waugh ]
   * dnssd backend: don't crash if avahi gives a callback with no TXT
     record (Closes: #722886)

Thanks in advance, cheers,

OdyX
diff -Nru cups-1.5.3/debian/changelog cups-1.5.3/debian/changelog
--- cups-1.5.3/debian/changelog	2013-03-18 15:26:53.000000000 +0100
+++ cups-1.5.3/debian/changelog	2013-09-27 19:54:43.000000000 +0200
@@ -1,3 +1,11 @@
+cups (1.5.3-5+deb7u1) stable; urgency=low
+
+  [ Tim Waugh ]
+  * dnssd backend: don't crash if avahi gives a callback with no TXT
+    record (Closes: #722886)
+
+ -- Didier Raboud <o...@debian.org>  Fri, 27 Sep 2013 19:53:20 +0200
+
 cups (1.5.3-5) unstable; urgency=low
 
   * Team upload
diff -Nru cups-1.5.3/debian/patches/cups-avahi.patch cups-1.5.3/debian/patches/cups-avahi.patch
--- cups-1.5.3/debian/patches/cups-avahi.patch	2013-03-11 18:31:12.000000000 +0100
+++ cups-1.5.3/debian/patches/cups-avahi.patch	2013-09-27 19:49:33.000000000 +0200
@@ -527,7 +527,7 @@
  
    fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, "
                    "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
-@@ -719,94 +986,233 @@
+@@ -719,94 +986,235 @@
    if ((ptr = strstr(name, "._")) != NULL)
      *ptr = '\0';
  
@@ -596,7 +596,7 @@
 +{
 +  AvahiClient		*client;
 +  cups_device_t		key,
-+			*device;
++			*device = NULL;
 +  char			uqname[1024],
 +			*ptr;
 +  cups_txt_records_t	txtr;
@@ -627,11 +627,13 @@
 +  key.type = device_type (type);
 +
 + /*
-+  * Find the device and the the TXT information.
++  * Find the device and the TXT information.
 +  */
 +
 +  txtr.txt = txt;
-+  device = find_device ((cups_array_t *) context, &txtr, &key);
++  if (txt != NULL)
++    device = find_device ((cups_array_t *) context, &txtr, &key);
++
 +  if (device)
 +  {
 +   /*
@@ -823,7 +825,7 @@
  	{
  	 /*
  	  * Add USB device ID information...
-@@ -861,6 +1267,10 @@
+@@ -861,6 +1269,10 @@
  	  if (device->type == CUPS_DEVICE_PRINTER)
  	    device->sent = 1;
  	}
@@ -834,7 +836,7 @@
        }
  
        if (device->device_id)
-@@ -910,11 +1320,9 @@
+@@ -910,11 +1322,9 @@
      }
    }
  
>From f66442acd3eb82162f870faf0d3c192b866af8cf Mon Sep 17 00:00:00 2001
From: Tim Waugh <twa...@redhat.com>
Date: Fri, 27 Sep 2013 19:50:52 +0200
Subject: [PATCH 1/2] dnssd backend: don't crash if avahi gives a callback with
 no TXT record

Upstream-Bug: #927040
Closes: #722886
---
 debian/patches/cups-avahi.patch | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/debian/patches/cups-avahi.patch b/debian/patches/cups-avahi.patch
index 93461ac..07acdf5 100644
--- a/debian/patches/cups-avahi.patch
+++ b/debian/patches/cups-avahi.patch
@@ -527,7 +527,7 @@
  
    fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, "
                    "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
-@@ -719,94 +986,233 @@
+@@ -719,94 +986,235 @@
    if ((ptr = strstr(name, "._")) != NULL)
      *ptr = '\0';
  
@@ -596,7 +596,7 @@
 +{
 +  AvahiClient		*client;
 +  cups_device_t		key,
-+			*device;
++			*device = NULL;
 +  char			uqname[1024],
 +			*ptr;
 +  cups_txt_records_t	txtr;
@@ -627,11 +627,13 @@
 +  key.type = device_type (type);
 +
 + /*
-+  * Find the device and the the TXT information.
++  * Find the device and the TXT information.
 +  */
 +
 +  txtr.txt = txt;
-+  device = find_device ((cups_array_t *) context, &txtr, &key);
++  if (txt != NULL)
++    device = find_device ((cups_array_t *) context, &txtr, &key);
++
 +  if (device)
 +  {
 +   /*
@@ -823,7 +825,7 @@
  	{
  	 /*
  	  * Add USB device ID information...
-@@ -861,6 +1267,10 @@
+@@ -861,6 +1269,10 @@
  	  if (device->type == CUPS_DEVICE_PRINTER)
  	    device->sent = 1;
  	}
@@ -834,7 +836,7 @@
        }
  
        if (device->device_id)
-@@ -910,11 +1320,9 @@
+@@ -910,11 +1322,9 @@
      }
    }
  
-- 
1.8.4.rc3

Reply via email to