summaryrefslogtreecommitdiff
path: root/debian/patches/0019-Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch
diff options
context:
space:
mode:
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.patch48
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 :