diff options
Diffstat (limited to 'debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch')
-rw-r--r-- | debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch b/debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch new file mode 100644 index 000000000..1496b9dd9 --- /dev/null +++ b/debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch @@ -0,0 +1,48 @@ +From c7d2479482048b92d177c28c53fc80749fe94c6e Mon Sep 17 00:00:00 2001 +From: Tim Waugh <twaugh@redhat.com> +Date: Tue, 9 Aug 2016 18:11:30 +0200 +Subject: Let snmp backend also use manufacturer-specific MIBs +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + … of HP and Ricoh to obtain the device IDs of network-connected + printers. This way we get more reliable information about make and model + and in addition the supported page description languages, which allows one to + identify whether an optional PostScript add-on is installed or for an + unsupported printer which generic PPD is the best choice (requested by + Ricoh). +Bug: https://www.cups.org/str.php?L3552 +--- + backend/snmp.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/backend/snmp.c b/backend/snmp.c +index 66ac884c6..9572822a8 100644 +--- a/backend/snmp.c ++++ b/backend/snmp.c +@@ -154,6 +154,8 @@ static const int UriOID[] = { CUPS_OID_ppmPortServiceNameOrURI, 1, 1, -1 }; + static const int LexmarkProductOID[] = { 1,3,6,1,4,1,641,2,1,2,1,2,1,-1 }; + static const int LexmarkProductOID2[] = { 1,3,6,1,4,1,674,10898,100,2,1,2,1,2,1,-1 }; + static const int LexmarkDeviceIdOID[] = { 1,3,6,1,4,1,641,2,1,2,1,3,1,-1 }; ++static const int HPDeviceIdOID[] = { 1,3,6,1,4,1,11,2,3,9,1,1,7,0,-1 }; ++static const int RicohDeviceIdOID[] = { 1,3,6,1,4,1,367,3,2,1,1,1,11,0,-1 }; + static const int XeroxProductOID[] = { 1,3,6,1,4,1,128,2,1,3,1,2,0,-1 }; + static cups_array_t *DeviceURIs = NULL; + static int HostNameLookups = 0; +@@ -969,9 +971,15 @@ read_snmp_response(int fd) /* I - SNMP socket file descriptor */ + _cupsSNMPWrite(fd, &(packet.address), CUPS_SNMP_VERSION_1, + packet.community, CUPS_ASN1_GET_REQUEST, + DEVICE_ID, LexmarkDeviceIdOID); ++ _cupsSNMPWrite(fd, &(packet.address), CUPS_SNMP_VERSION_1, ++ packet.community, CUPS_ASN1_GET_REQUEST, ++ DEVICE_ID, RicohDeviceIdOID); + _cupsSNMPWrite(fd, &(packet.address), CUPS_SNMP_VERSION_1, + packet.community, CUPS_ASN1_GET_REQUEST, + DEVICE_PRODUCT, XeroxProductOID); ++ _cupsSNMPWrite(fd, &(packet.address), CUPS_SNMP_VERSION_1, ++ packet.community, CUPS_ASN1_GET_REQUEST, ++ DEVICE_ID, HPDeviceIdOID); + break; + + case DEVICE_DESCRIPTION : |