Blame SOURCES/cups-1.6.3-page-count.patch

5e7041
--- cups-1.6.3.rsac.old/backend/snmp-supplies.c	2013-06-06 18:12:52.000000000 -0700
5e7041
+++ cups-1.6.3.rsac.new/backend/snmp-supplies.c	2017-02-20 15:57:28.420977310 -0800
5e7041
@@ -90,6 +90,8 @@ static backend_supplies_t supplies[CUPS_
5e7041
 					/* Supply information */
5e7041
 static int		supply_state = -1;
5e7041
 					/* Supply state info */
5e7041
+static int              use_snmp_pages = 1;
5e7041
+                                        /* Report pages used or not */
5e7041
 
5e7041
 static const int	hrDeviceDescr[] =
5e7041
 			{ CUPS_OID_hrDeviceDescr, 1, -1 };
5e7041
@@ -410,16 +412,21 @@ backendSNMPSupplies(
5e7041
 
5e7041
     if (page_count)
5e7041
     {
5e7041
-      if (!_cupsSNMPWrite(snmp_fd, addr, CUPS_SNMP_VERSION_1,
5e7041
-			 _cupsSNMPDefaultCommunity(), CUPS_ASN1_GET_REQUEST, 1,
5e7041
-			 prtMarkerLifeCount))
5e7041
-	return (-1);
5e7041
-
5e7041
-      if (!_cupsSNMPRead(snmp_fd, &packet, CUPS_SUPPLY_TIMEOUT) ||
5e7041
-	  packet.object_type != CUPS_ASN1_COUNTER)
5e7041
-	return (-1);
5e7041
-
5e7041
-      *page_count = packet.object_value.counter;
5e7041
+      if (use_snmp_pages)
5e7041
+      {
5e7041
+        if (!_cupsSNMPWrite(snmp_fd, addr, CUPS_SNMP_VERSION_1,
5e7041
+                            _cupsSNMPDefaultCommunity(), CUPS_ASN1_GET_REQUEST, 1,
5e7041
+                            prtMarkerLifeCount))
5e7041
+          return (-1);
5e7041
+
5e7041
+        if (!_cupsSNMPRead(snmp_fd, &packet, CUPS_SUPPLY_TIMEOUT) ||
5e7041
+            packet.object_type != CUPS_ASN1_COUNTER)
5e7041
+          return (-1);
5e7041
+        
5e7041
+        *page_count = packet.object_value.counter;
5e7041
+      }
5e7041
+      else
5e7041
+        *page_count = 0;
5e7041
     }
5e7041
 
5e7041
     return (0);
5e7041
@@ -521,6 +528,12 @@ backend_init_supplies(
5e7041
       quirks |= CUPS_SNMP_CAPACITY;
5e7041
   }
5e7041
 
5e7041
+  if ((ppdattr = ppdFindAttr(ppd, "cupsSNMPPages", NULL)) != NULL )
5e7041
+  {
5e7041
+    if (_cups_strcasecmp(ppdattr->value, "true"))
5e7041
+      use_snmp_pages = 0;
5e7041
+  }
5e7041
+
5e7041
   ppdClose(ppd);
5e7041
 
5e7041
  /*