From: Zdenek Dohnal Date: Tue, 13 Feb 2024 07:20:52 +0000 (+0100) Subject: ppd-cache.c: Check for `urf-supported` if `image/urf` is found X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cad72dc5747af000498bc183acd90ab94732cdce;p=thirdparty%2Fcups.git ppd-cache.c: Check for `urf-supported` if `image/urf` is found Some devices have `image/urf` in `document-format-supported`, but is missing `urf-supported` if AirPrint support is turned off, which breaks PPD generation. Check for attribute `urf-supported` when we are about to decide whether the printer uses AirPrint, so in case the device supports another driverless standard, we can use it for PPD generation. Fixes [Fedora issue](https://bugzilla.redhat.com/show_bug.cgi?id=2263053) --- diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c index 523e4dfc8f..737e872912 100644 --- a/cups/ppd-cache.c +++ b/cups/ppd-cache.c @@ -3435,7 +3435,7 @@ _ppdCreateFromIPP2( if ((attr = ippFindAttribute(supported, "document-format-supported", IPP_TAG_MIMETYPE)) != NULL) { - is_apple = ippContainsString(attr, "image/urf"); + is_apple = ippContainsString(attr, "image/urf") && (ippFindAttribute(supported, "urf-supported", IPP_TAG_KEYWORD) != NULL); is_pdf = ippContainsString(attr, "application/pdf"); is_pwg = ippContainsString(attr, "image/pwg-raster") && !is_apple;