diff --git a/cups-avahi-5-services.patch b/cups-avahi-5-services.patch index 820b3c3..e077786 100644 --- a/cups-avahi-5-services.patch +++ b/cups-avahi-5-services.patch @@ -1,6 +1,6 @@ -diff -up cups-1.5.2/cgi-bin/admin.c.avahi-5-services cups-1.5.2/cgi-bin/admin.c ---- cups-1.5.2/cgi-bin/admin.c.avahi-5-services 2011-08-17 22:01:53.000000000 +0100 -+++ cups-1.5.2/cgi-bin/admin.c 2012-03-14 15:08:25.701611799 +0000 +diff -up cups-1.5.4/cgi-bin/admin.c.avahi-5-services cups-1.5.4/cgi-bin/admin.c +--- cups-1.5.4/cgi-bin/admin.c.avahi-5-services 2011-08-17 22:01:53.000000000 +0100 ++++ cups-1.5.4/cgi-bin/admin.c 2012-10-11 13:00:35.888322772 +0100 @@ -1643,7 +1643,7 @@ do_config_server(http_t *http) /* I - H else local_protocols[0] = '\0'; @@ -31,9 +31,9 @@ diff -up cups-1.5.2/cgi-bin/admin.c.avahi-5-services cups-1.5.2/cgi-bin/admin.c #ifdef HAVE_LDAP cgiSetVariable("HAVE_LDAP", "1"); -diff -up cups-1.5.2/scheduler/avahi.h.avahi-5-services cups-1.5.2/scheduler/avahi.h ---- cups-1.5.2/scheduler/avahi.h.avahi-5-services 2012-03-14 15:07:29.477542381 +0000 -+++ cups-1.5.2/scheduler/avahi.h 2012-03-14 15:08:25.701611799 +0000 +diff -up cups-1.5.4/scheduler/avahi.h.avahi-5-services cups-1.5.4/scheduler/avahi.h +--- cups-1.5.4/scheduler/avahi.h.avahi-5-services 2012-10-11 13:00:28.757295603 +0100 ++++ cups-1.5.4/scheduler/avahi.h 2012-10-11 13:00:35.888322772 +0100 @@ -3,7 +3,7 @@ * * Avahi poll implementation for the CUPS scheduler. @@ -96,10 +96,10 @@ diff -up cups-1.5.2/scheduler/avahi.h.avahi-5-services cups-1.5.2/scheduler/avah /* * End of "$Id$". -diff -up cups-1.5.2/scheduler/client.c.avahi-5-services cups-1.5.2/scheduler/client.c ---- cups-1.5.2/scheduler/client.c.avahi-5-services 2012-01-13 23:00:22.000000000 +0000 -+++ cups-1.5.2/scheduler/client.c 2012-03-14 15:08:25.703611797 +0000 -@@ -4989,7 +4989,7 @@ valid_host(cupsd_client_t *con) /* I - +diff -up cups-1.5.4/scheduler/client.c.avahi-5-services cups-1.5.4/scheduler/client.c +--- cups-1.5.4/scheduler/client.c.avahi-5-services 2012-03-07 06:05:39.000000000 +0000 ++++ cups-1.5.4/scheduler/client.c 2012-10-11 13:00:35.891322784 +0100 +@@ -5003,7 +5003,7 @@ valid_host(cupsd_client_t *con) /* I - !strncmp(host, "[::1]:", 6)); } @@ -108,7 +108,7 @@ diff -up cups-1.5.2/scheduler/client.c.avahi-5-services cups-1.5.2/scheduler/cli /* * Check if the hostname is something.local (Bonjour); if so, allow it. */ -@@ -4998,7 +4998,7 @@ valid_host(cupsd_client_t *con) /* I - +@@ -5012,7 +5012,7 @@ valid_host(cupsd_client_t *con) /* I - (!_cups_strcasecmp(end, ".local") || !_cups_strncasecmp(end, ".local:", 7) || !_cups_strcasecmp(end, ".local.") || !_cups_strncasecmp(end, ".local.:", 8))) return (1); @@ -117,21 +117,36 @@ diff -up cups-1.5.2/scheduler/client.c.avahi-5-services cups-1.5.2/scheduler/cli /* * Check if the hostname is an IP address... -diff -up cups-1.5.2/scheduler/conf.c.avahi-5-services cups-1.5.2/scheduler/conf.c ---- cups-1.5.2/scheduler/conf.c.avahi-5-services 2012-03-14 15:04:17.636305526 +0000 -+++ cups-1.5.2/scheduler/conf.c 2012-03-14 15:08:25.706611803 +0000 -@@ -652,7 +652,7 @@ cupsdReadConfiguration(void) +diff -up cups-1.5.4/scheduler/conf.c.avahi-5-services cups-1.5.4/scheduler/conf.c +--- cups-1.5.4/scheduler/conf.c.avahi-5-services 2012-10-11 13:00:28.670295210 +0100 ++++ cups-1.5.4/scheduler/conf.c 2012-10-11 13:00:35.892322789 +0100 +@@ -85,9 +85,9 @@ static const cupsd_var_t variables[] = + { + { "AccessLog", &AccessLog, CUPSD_VARTYPE_STRING }, + { "AutoPurgeJobs", &JobAutoPurge, CUPSD_VARTYPE_BOOLEAN }, +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + { "BrowseDNSSDRegType", &DNSSDRegType, CUPSD_VARTYPE_STRING }, +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + { "BrowseInterval", &BrowseInterval, CUPSD_VARTYPE_INTEGER }, + #ifdef HAVE_LDAP + { "BrowseLDAPBindDN", &BrowseLDAPBindDN, CUPSD_VARTYPE_STRING }, +@@ -652,9 +652,9 @@ cupsdReadConfiguration(void) Browsing = CUPS_DEFAULT_BROWSING; DefaultShared = CUPS_DEFAULT_DEFAULT_SHARED; -#ifdef HAVE_DNSSD +#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) cupsdSetString(&DNSSDRegType, "_ipp._tcp,_cups"); - #endif /* HAVE_DNSSD */ +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ -diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dirsvc.c ---- cups-1.5.2/scheduler/dirsvc.c.avahi-5-services 2012-03-14 15:04:17.674305572 +0000 -+++ cups-1.5.2/scheduler/dirsvc.c 2012-03-14 15:08:25.709611806 +0000 + cupsdSetString(&LPDConfigFile, CUPS_DEFAULT_LPD_CONFIG_FILE); + cupsdSetString(&SMBConfigFile, CUPS_DEFAULT_SMB_CONFIG_FILE); +diff -up cups-1.5.4/scheduler/dirsvc.c.avahi-5-services cups-1.5.4/scheduler/dirsvc.c +--- cups-1.5.4/scheduler/dirsvc.c.avahi-5-services 2012-10-11 13:00:28.718295427 +0100 ++++ cups-1.5.4/scheduler/dirsvc.c 2012-10-11 13:00:35.893322793 +0100 @@ -27,6 +27,7 @@ * ldap_connect() - Start new LDAP connection * ldap_reconnect() - Reconnect to LDAP Server @@ -438,7 +453,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir #ifdef HAVE_LDAP -@@ -2334,13 +2442,15 @@ dnssdAddAlias(const void *key, /* I - K +@@ -2339,13 +2447,15 @@ dnssdAddAlias(const void *key, /* I - K "Bad Back to My Mac domain in dynamic store!"); } # endif /* HAVE_COREFOUNDATION */ @@ -455,7 +470,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir dnssdBuildTxtRecord( int *txt_len, /* O - TXT record length */ cupsd_printer_t *p, /* I - Printer information */ -@@ -2379,7 +2489,12 @@ dnssdBuildTxtRecord( +@@ -2384,7 +2494,12 @@ dnssdBuildTxtRecord( keyvalue[i ][0] = "ty"; keyvalue[i++][1] = p->make_model ? p->make_model : "Unknown"; @@ -469,7 +484,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir httpAssembleURIf(HTTP_URI_CODING_ALL, adminurl_str, sizeof(adminurl_str), "http", NULL, admin_hostname, DNSSDPort, "/%s/%s", (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers", -@@ -2462,19 +2577,12 @@ dnssdBuildTxtRecord( +@@ -2467,19 +2582,12 @@ dnssdBuildTxtRecord( * Then pack them into a proper txt record... */ @@ -494,7 +509,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir } -@@ -2489,6 +2597,10 @@ dnssdDeregisterPrinter( +@@ -2494,6 +2602,10 @@ dnssdDeregisterPrinter( { cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdDeregisterPrinter(%s)", p->name); @@ -505,7 +520,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir /* * Closing the socket deregisters the service */ -@@ -2524,6 +2636,24 @@ dnssdDeregisterPrinter( +@@ -2529,6 +2641,24 @@ dnssdDeregisterPrinter( free(p->printer_txt); p->printer_txt = NULL; } @@ -530,7 +545,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir /* * Remove the printer from the array of DNS-SD printers, then clear the -@@ -2533,8 +2663,10 @@ dnssdDeregisterPrinter( +@@ -2538,8 +2668,10 @@ dnssdDeregisterPrinter( cupsArrayRemove(DNSSDPrinters, p); cupsdClearString(&p->reg_name); } @@ -541,7 +556,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir /* * 'dnssdPackTxtRecord()' - Pack an array of key/value pairs into the * TXT record format. -@@ -2644,8 +2776,10 @@ dnssdRegisterCallback( +@@ -2649,8 +2781,10 @@ dnssdRegisterCallback( LastEvent |= CUPSD_EVENT_PRINTER_MODIFIED; } } @@ -552,7 +567,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir /* * 'dnssdRegisterPrinter()' - Start sending broadcast information for a printer * or update the broadcast contents. -@@ -2654,20 +2788,40 @@ dnssdRegisterCallback( +@@ -2659,20 +2793,40 @@ dnssdRegisterCallback( static void dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */ { @@ -596,7 +611,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir /* * If per-printer sharing was just disabled make sure we're not * registered before returning. -@@ -2686,12 +2840,36 @@ dnssdRegisterPrinter(cupsd_printer_t *p) +@@ -2691,12 +2845,36 @@ dnssdRegisterPrinter(cupsd_printer_t *p) if (p->info && strlen(p->info) > 0) { if (DNSSDComputerName) @@ -635,7 +650,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir else strlcpy(name, p->name, sizeof(name)); -@@ -2712,6 +2890,7 @@ dnssdRegisterPrinter(cupsd_printer_t *p) +@@ -2717,6 +2895,7 @@ dnssdRegisterPrinter(cupsd_printer_t *p) * Register IPP and (optionally) LPD... */ @@ -643,7 +658,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir ipp_len = 0; /* anti-compiler-warning-code */ ipp_txt = dnssdBuildTxtRecord(&ipp_len, p, 0); -@@ -2884,6 +3063,209 @@ dnssdRegisterPrinter(cupsd_printer_t *p) +@@ -2889,6 +3068,209 @@ dnssdRegisterPrinter(cupsd_printer_t *p) if (printer_txt) free(printer_txt); @@ -667,10 +682,11 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir + */ + + avahi_string_list_free (p->ipp_txt); -+ + if (p->printer_txt) + avahi_string_list_free (p->printer_txt); + ++ p->ipp_txt = p->printer_txt = NULL; ++ + /* + * Update the service group entry. + */ @@ -693,9 +709,6 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir + if (ret < 0) + goto update_failed; + -+ p->ipp_txt = ipp_txt; -+ ipp_txt = NULL; -+ + if (BrowseLocalProtocols & BROWSE_LPD) + { + ret = avahi_entry_group_update_service_txt_strlst (p->avahi_group, @@ -706,9 +719,6 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir + printer_txt); + if (ret < 0) + goto update_failed; -+ -+ p->printer_txt = printer_txt; -+ printer_txt = NULL; + } + + ret = avahi_entry_group_commit (p->avahi_group); @@ -721,8 +731,13 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir + avahi_entry_group_reset (p->avahi_group); + avahi_entry_group_free (p->avahi_group); + p->avahi_group = NULL; -+ ipp_txt = p->ipp_txt; -+ p->ipp_txt = NULL; ++ } ++ else ++ { ++ /* Success */ ++ p->ipp_txt = ipp_txt; ++ p->printer_txt = printer_txt; ++ ipp_txt = printer_txt = NULL; + } + } + @@ -802,8 +817,6 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir + } + + free (regtype_copy); -+ p->ipp_txt = ipp_txt; -+ ipp_txt = NULL; + + if (BrowseLocalProtocols & BROWSE_LPD) + { @@ -820,9 +833,6 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir + printer_txt); + if (ret < 0) + goto add_failed; -+ -+ p->printer_txt = printer_txt; -+ printer_txt = NULL; + } + + ret = avahi_entry_group_commit (p->avahi_group); @@ -839,8 +849,13 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir + avahi_entry_group_free (p->avahi_group); + p->avahi_group = NULL; + } -+ ipp_txt = p->ipp_txt; -+ p->ipp_txt = NULL; ++ } ++ else ++ { ++ /* Success */ ++ p->ipp_txt = ipp_txt; ++ p->printer_txt = printer_txt; ++ ipp_txt = printer_txt = NULL; + } + } + @@ -853,7 +868,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir } -@@ -2896,6 +3278,10 @@ dnssdStop(void) +@@ -2901,6 +3283,10 @@ dnssdStop(void) { cupsd_printer_t *p; /* Current printer */ @@ -864,7 +879,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir /* * De-register the individual printers -@@ -2910,12 +3296,23 @@ dnssdStop(void) +@@ -2915,12 +3301,23 @@ dnssdStop(void) * Shutdown the rest of the service refs... */ @@ -888,7 +903,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir if (RemoteRef) { DNSServiceRefDeallocate(RemoteRef); -@@ -2926,14 +3323,17 @@ dnssdStop(void) +@@ -2931,14 +3328,17 @@ dnssdStop(void) DNSServiceRefDeallocate(DNSSDRef); DNSSDRef = NULL; @@ -906,7 +921,7 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir /* * 'dnssdUpdate()' - Handle DNS-SD queries. */ -@@ -2955,6 +3355,153 @@ dnssdUpdate(void) +@@ -2960,6 +3360,153 @@ dnssdUpdate(void) #endif /* HAVE_DNSSD */ @@ -1060,9 +1075,9 @@ diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dir /* * 'get_auth_info_required()' - Get the auth-info-required value to advertise. */ -diff -up cups-1.5.2/scheduler/dirsvc.h.avahi-5-services cups-1.5.2/scheduler/dirsvc.h ---- cups-1.5.2/scheduler/dirsvc.h.avahi-5-services 2011-03-21 02:12:14.000000000 +0000 -+++ cups-1.5.2/scheduler/dirsvc.h 2012-03-14 15:08:25.711611808 +0000 +diff -up cups-1.5.4/scheduler/dirsvc.h.avahi-5-services cups-1.5.4/scheduler/dirsvc.h +--- cups-1.5.4/scheduler/dirsvc.h.avahi-5-services 2011-03-21 02:12:14.000000000 +0000 ++++ cups-1.5.4/scheduler/dirsvc.h 2012-10-11 13:00:35.893322793 +0100 @@ -31,6 +31,10 @@ # endif /* HAVE_LDAP_SSL_H */ #endif /* HAVE_LDAP */ @@ -1135,10 +1150,10 @@ diff -up cups-1.5.2/scheduler/dirsvc.h.avahi-5-services cups-1.5.2/scheduler/dir #ifdef HAVE_LDAP extern void cupsdUpdateLDAPBrowse(void); #endif /* HAVE_LDAP */ -diff -up cups-1.5.2/scheduler/ipp.c.avahi-5-services cups-1.5.2/scheduler/ipp.c ---- cups-1.5.2/scheduler/ipp.c.avahi-5-services 2012-03-14 15:04:17.665305560 +0000 -+++ cups-1.5.2/scheduler/ipp.c 2012-03-14 15:08:25.715611813 +0000 -@@ -6099,7 +6099,7 @@ copy_printer_attrs( +diff -up cups-1.5.4/scheduler/ipp.c.avahi-5-services cups-1.5.4/scheduler/ipp.c +--- cups-1.5.4/scheduler/ipp.c.avahi-5-services 2012-10-11 13:00:28.712295399 +0100 ++++ cups-1.5.4/scheduler/ipp.c 2012-10-11 13:00:35.895322802 +0100 +@@ -6098,7 +6098,7 @@ copy_printer_attrs( ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time", ippTimeToDate(curtime)); @@ -1147,7 +1162,7 @@ diff -up cups-1.5.2/scheduler/ipp.c.avahi-5-services cups-1.5.2/scheduler/ipp.c if (!ra || cupsArrayFind(ra, "printer-dns-sd-name")) { if (printer->reg_name) -@@ -6109,7 +6109,7 @@ copy_printer_attrs( +@@ -6108,7 +6108,7 @@ copy_printer_attrs( ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE, "printer-dns-sd-name", 0); } @@ -1156,9 +1171,9 @@ diff -up cups-1.5.2/scheduler/ipp.c.avahi-5-services cups-1.5.2/scheduler/ipp.c if (!ra || cupsArrayFind(ra, "printer-error-policy")) ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME, -diff -up cups-1.5.2/scheduler/main.c.avahi-5-services cups-1.5.2/scheduler/main.c ---- cups-1.5.2/scheduler/main.c.avahi-5-services 2012-03-14 15:06:36.511476986 +0000 -+++ cups-1.5.2/scheduler/main.c 2012-03-14 15:08:25.718611817 +0000 +diff -up cups-1.5.4/scheduler/main.c.avahi-5-services cups-1.5.4/scheduler/main.c +--- cups-1.5.4/scheduler/main.c.avahi-5-services 2012-10-11 13:00:28.755295593 +0100 ++++ cups-1.5.4/scheduler/main.c 2012-10-11 13:00:35.895322802 +0100 @@ -120,6 +120,10 @@ main(int argc, /* I - Number of comm cupsd_listener_t *lis; /* Current listener */ time_t current_time, /* Current time */ @@ -1180,6 +1195,34 @@ diff -up cups-1.5.2/scheduler/main.c.avahi-5-services cups-1.5.2/scheduler/main. browse_time = current_time; event_time = current_time; expire_time = current_time; +@@ -807,9 +814,9 @@ main(int argc, /* I - Number of comm + * Got an error from select! + */ + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + cupsd_printer_t *p; /* Current printer */ +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + + if (errno == EINTR) /* Just interrupted by a signal */ +@@ -852,13 +859,13 @@ main(int argc, /* I - Number of comm + job->print_pipes[0], job->print_pipes[1], + job->back_pipes[0], job->back_pipes[1]); + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + for (p = (cupsd_printer_t *)cupsArrayFirst(Printers); + p; + p = (cupsd_printer_t *)cupsArrayNext(Printers)) + cupsdLogMessage(CUPSD_LOG_EMERG, "printer[%s] reg_name=\"%s\"", p->name, + p->reg_name ? p->reg_name : "(null)"); +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + break; + } @@ -894,6 +901,16 @@ main(int argc, /* I - Number of comm tmo = cupsdNextTimeout (&tmo_delay); if (tmo && tmo_delay == 0) @@ -1197,9 +1240,9 @@ diff -up cups-1.5.2/scheduler/main.c.avahi-5-services cups-1.5.2/scheduler/main. #endif /* HAVE_AVAHI */ #ifndef __APPLE__ -diff -up cups-1.5.2/scheduler/printers.c.avahi-5-services cups-1.5.2/scheduler/printers.c ---- cups-1.5.2/scheduler/printers.c.avahi-5-services 2012-03-14 15:04:17.646305537 +0000 -+++ cups-1.5.2/scheduler/printers.c 2012-03-14 15:08:25.720611819 +0000 +diff -up cups-1.5.4/scheduler/printers.c.avahi-5-services cups-1.5.4/scheduler/printers.c +--- cups-1.5.4/scheduler/printers.c.avahi-5-services 2012-10-11 13:00:28.677295241 +0100 ++++ cups-1.5.4/scheduler/printers.c 2012-10-11 13:00:35.896322807 +0100 @@ -883,9 +883,9 @@ cupsdDeletePrinter( cupsdClearString(&p->alert); cupsdClearString(&p->alert_description); @@ -1212,7 +1255,7 @@ diff -up cups-1.5.2/scheduler/printers.c.avahi-5-services cups-1.5.2/scheduler/p cupsArrayDelete(p->filetypes); -@@ -3787,7 +3787,7 @@ add_printer_formats(cupsd_printer_t *p) +@@ -3819,7 +3819,7 @@ add_printer_formats(cupsd_printer_t *p) attr->values[i].string.text = _cupsStrAlloc(mimetype); } @@ -1221,7 +1264,7 @@ diff -up cups-1.5.2/scheduler/printers.c.avahi-5-services cups-1.5.2/scheduler/p { char pdl[1024]; /* Buffer to build pdl list */ mime_filter_t *filter; /* MIME filter looping var */ -@@ -3843,7 +3843,7 @@ add_printer_formats(cupsd_printer_t *p) +@@ -3875,7 +3875,7 @@ add_printer_formats(cupsd_printer_t *p) cupsdSetString(&p->pdl, pdl); } @@ -1230,9 +1273,9 @@ diff -up cups-1.5.2/scheduler/printers.c.avahi-5-services cups-1.5.2/scheduler/p } -diff -up cups-1.5.2/scheduler/printers.h.avahi-5-services cups-1.5.2/scheduler/printers.h ---- cups-1.5.2/scheduler/printers.h.avahi-5-services 2011-03-18 18:42:46.000000000 +0000 -+++ cups-1.5.2/scheduler/printers.h 2012-03-14 15:08:25.721611820 +0000 +diff -up cups-1.5.4/scheduler/printers.h.avahi-5-services cups-1.5.4/scheduler/printers.h +--- cups-1.5.4/scheduler/printers.h.avahi-5-services 2011-03-18 18:42:46.000000000 +0000 ++++ cups-1.5.4/scheduler/printers.h 2012-10-11 13:00:35.896322807 +0100 @@ -16,6 +16,9 @@ #ifdef HAVE_DNSSD # include diff --git a/cups.spec b/cups.spec index 3c4f25a..21e1943 100644 --- a/cups.spec +++ b/cups.spec @@ -12,7 +12,7 @@ Summary: Common Unix Printing System Name: cups Version: 1.5.4 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2 Group: System Environment/Daemons Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2 @@ -666,6 +666,9 @@ rm -f %{cups_serverbin}/backend/smb %{_mandir}/man1/ipptool.1.gz %changelog +* Thu Oct 11 2012 Tim Waugh 1:1.5.4-6 +- Avoid double-free crash in Avahi support (bug #863409). + * Mon Oct 01 2012 Jiri Popelka 1:1.5.4-5 - improved usblp-quirks.patch (bug #847923, STR #4191)