Hello community,

here is the log from the commit of package net-snmp for openSUSE:Factory 
checked in at 2015-07-21 13:26:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/net-snmp (Old)
 and      /work/SRC/openSUSE:Factory/.net-snmp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "net-snmp"

Changes:
--------
--- /work/SRC/openSUSE:Factory/net-snmp/net-snmp.changes        2014-12-25 
23:20:35.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.net-snmp.new/net-snmp.changes   2015-07-21 
13:26:23.000000000 +0200
@@ -1,0 +2,35 @@
+Tue Jul 14 09:43:16 UTC 2015 - [email protected]
+
+- update to upstream version 5.7.3
+- remove patch that is now present in the upstream release:
+  * net-snmp-5.7.2-fix-snmptrapd-remote-denial-of-service.patch
+- rename patches to new version number 5.7.3:
+  delete:
+  * net-snmp-5.7.2-fix-snmpd-crashing-when-an-agentx-disconnects.patch
+  * net-snmp-5.7.2-net-snmp-config-headercheck.patch
+  * net-snmp-5.7.2-perl-tk-warning.patch
+  * net-snmp-5.7.2-pie.patch
+  * net-snmp-5.7.2-socket-path.patch
+  * net-snmp-5.7.2-testing-empty-arptable.patch
+  * net-snmp-5.7.2-velocity-mib.patch
+  add:
+  * net-snmp-5.7.3-fix-snmpd-crashing-when-an-agentx-disconnects.patch
+  * net-snmp-5.7.3-net-snmp-config-headercheck.patch
+  * net-snmp-5.7.3-perl-tk-warning.patch
+  * net-snmp-5.7.3-pie.patch
+  * net-snmp-5.7.3-socket-path.patch
+  * net-snmp-5.7.3-testing-empty-arptable.patch
+  * net-snmp-5.7.3-velocity-mib.patch
+- add build requirement 'procps' to fix a net-snmp-config error
+  (bsc#935863)
+- enable DTLS and TLS support (FATE#318789)
+  new binary 'snmptls' was added
+- add support for hostname netgroups (FATE#316305)
+  '@hostgroup' can be specified for multiple hosts
+  * net-snmp-5.7.3-netgroups.patch
+- suppress network statistics output in snmpstatus (FATE#316289)
+  '-Sn' don't print any info about the network
+  '-Si' don't print the operational status of network interfaces
+  * net-snmp-5.7.3-snmpstatus-suppress-output.patch
+
+-------------------------------------------------------------------

Old:
----
  net-snmp-5.7.2-fix-snmpd-crashing-when-an-agentx-disconnects.patch
  net-snmp-5.7.2-fix-snmptrapd-remote-denial-of-service.patch
  net-snmp-5.7.2-net-snmp-config-headercheck.patch
  net-snmp-5.7.2-perl-tk-warning.patch
  net-snmp-5.7.2-pie.patch
  net-snmp-5.7.2-socket-path.patch
  net-snmp-5.7.2-testing-empty-arptable.patch
  net-snmp-5.7.2-velocity-mib.patch
  net-snmp-5.7.3.pre5.tar.gz

New:
----
  net-snmp-5.7.3-fix-snmpd-crashing-when-an-agentx-disconnects.patch
  net-snmp-5.7.3-net-snmp-config-headercheck.patch
  net-snmp-5.7.3-netgroups.patch
  net-snmp-5.7.3-perl-tk-warning.patch
  net-snmp-5.7.3-pie.patch
  net-snmp-5.7.3-snmpstatus-suppress-output.patch
  net-snmp-5.7.3-socket-path.patch
  net-snmp-5.7.3-testing-empty-arptable.patch
  net-snmp-5.7.3-velocity-mib.patch
  net-snmp-5.7.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ net-snmp.spec ++++++
--- /var/tmp/diff_new_pack.yDbV3c/_old  2015-07-21 13:26:25.000000000 +0200
+++ /var/tmp/diff_new_pack.yDbV3c/_new  2015-07-21 13:26:25.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package net-snmp
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -32,13 +32,14 @@
 %define netsnmp_agentx_socket_dir_fhs %{_rundir}/agentx
 %define netsnmp_agentx_socket_dir_rfc /var/agentx
 
-%define tarver  5.7.3.pre5
-
 Name:           net-snmp
 Version:        5.7.3
 Release:        0
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildRequires:  autoconf
+BuildRequires:  automake
 BuildRequires:  openssl-devel
+BuildRequires:  procps
 BuildRequires:  python-devel
 BuildRequires:  python-setuptools
 BuildRequires:  rpm-devel
@@ -52,7 +53,7 @@
 PreReq:         %insserv_prereq %fillup_prereq /sbin/chkconfig
 Url:            http://sourceforge.net/projects/net-snmp
 #Source:         
http://sourceforge.net/projects/net-snmp/files/net-snmp/%{version}/%{pkg_name}-%{version}.tar.gz
-Source:         %{pkg_name}-%{tarver}.tar.gz
+Source:         %{pkg_name}-%{version}.tar.gz
 Source1:        rc.snmpd
 Source2:        snmpd.conf
 Source3:        README.SUSE
@@ -62,14 +63,15 @@
 Source7:        net-snmp.sysconfig
 Source8:        net-snmp-rpmlintrc
 Source9:        baselibs.conf
-Patch1:         net-snmp-5.7.2-socket-path.patch
-Patch2:         net-snmp-5.7.2-testing-empty-arptable.patch
-Patch3:         net-snmp-5.7.2-pie.patch
-Patch5:         net-snmp-5.7.2-net-snmp-config-headercheck.patch
-Patch6:         net-snmp-5.7.2-perl-tk-warning.patch
-Patch7:         net-snmp-5.7.2-velocity-mib.patch
-Patch9:         
net-snmp-5.7.2-fix-snmpd-crashing-when-an-agentx-disconnects.patch
-Patch12:        net-snmp-5.7.2-fix-snmptrapd-remote-denial-of-service.patch
+Patch1:         net-snmp-5.7.3-socket-path.patch
+Patch2:         net-snmp-5.7.3-testing-empty-arptable.patch
+Patch3:         net-snmp-5.7.3-pie.patch
+Patch4:         net-snmp-5.7.3-net-snmp-config-headercheck.patch
+Patch5:         net-snmp-5.7.3-perl-tk-warning.patch
+Patch6:         net-snmp-5.7.3-velocity-mib.patch
+Patch7:         
net-snmp-5.7.3-fix-snmpd-crashing-when-an-agentx-disconnects.patch
+Patch8:         net-snmp-5.7.3-netgroups.patch
+Patch9:         net-snmp-5.7.3-snmpstatus-suppress-output.patch
 #
 Summary:        SNMP Daemon
 License:        BSD-3-Clause and MIT
@@ -194,15 +196,16 @@
 
 
 %prep
-%setup -q -n %{pkg_name}-%{tarver}
+%setup -q -n %{pkg_name}-%{version}
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
 %patch9 -p1
-%patch12 -p1
 
 %build
 MIBS="misc/ipfwacc ucd-snmp/diskio etherlike-mib rmon-mib velocity smux \
@@ -214,6 +217,7 @@
 MIBS="$MIBS ucd-snmp/lmsensorsMib"
 %endif
 
+autoreconf
 %configure \
        --with-sys-contact="root@localhost" \
        --with-sys-location="unknown" \
@@ -231,7 +235,9 @@
        --without-root-access \
        --enable-local-smux \
        --enable-ipv6 \
-       --enable-ucd-snmp-compatibility
+       --enable-ucd-snmp-compatibility \
+        --with-security-modules=tsm \
+       --with-transports=TLSTCP,DTLSUDP
 # Parallel building is disabled because dependencies between the Perl
 # module and libnetsnmp are not correctly defined.
 make #%{?_smp_mflags}
@@ -326,6 +332,7 @@
 %{_bindir}/snmpstatus
 %{_bindir}/snmptable
 %{_bindir}/snmptest
+%{_bindir}/snmptls
 %{_bindir}/snmptranslate
 %{_bindir}/snmptrap
 %{_bindir}/snmpusm

++++++ net-snmp-5.7.2-fix-snmpd-crashing-when-an-agentx-disconnects.patch -> 
net-snmp-5.7.3-fix-snmpd-crashing-when-an-agentx-disconnects.patch ++++++

++++++ net-snmp-5.7.2-net-snmp-config-headercheck.patch -> 
net-snmp-5.7.3-net-snmp-config-headercheck.patch ++++++

++++++ net-snmp-5.7.3-netgroups.patch ++++++
diff -Nurp net-snmp-5.7.3.orig/configure.d/config_os_functions 
net-snmp-5.7.3/configure.d/config_os_functions
--- net-snmp-5.7.3.orig/configure.d/config_os_functions 2014-12-08 
21:23:22.000000000 +0100
+++ net-snmp-5.7.3/configure.d/config_os_functions      2015-07-16 
10:32:15.159643068 +0200
@@ -31,11 +31,12 @@ AC_CHECK_FUNCS([lrand48         rand
                [signal          sigset                  ] )
 
 #  Library:
-AC_CHECK_FUNCS([closedir        fgetc_unlocked  flockfile        ] dnl
-               [fork            funlockfile     getipnodebyname  ] dnl
-               [gettimeofday    if_nametoindex  mkstemp          ] dnl
-               [opendir         readdir         regcomp          ] dnl
-               [setenv          setitimer       setlocale        ] dnl
+AC_CHECK_FUNCS([closedir        endnetgrent     fgetc_unlocked   ] dnl
+               [flockfile       fork            funlockfile      ] dnl
+               [getipnodebyname getnetgrent     gettimeofday     ] dnl
+               [if_nametoindex  mkstemp         opendir          ] dnl
+               [readdir         regcomp         setenv           ] dnl
+               [setitimer       setlocale       setnetgrent      ] dnl
                [setsid          snprintf        strcasestr       ] dnl
                [strdup          strerror        strncasecmp      ] dnl
                [sysconf         times           vsnprintf        ] )
diff -Nurp net-snmp-5.7.3.orig/man/snmpd.conf.5.def 
net-snmp-5.7.3/man/snmpd.conf.5.def
--- net-snmp-5.7.3.orig/man/snmpd.conf.5.def    2014-12-08 21:23:22.000000000 
+0100
+++ net-snmp-5.7.3/man/snmpd.conf.5.def 2015-07-16 10:41:34.337850287 +0200
@@ -389,7 +389,14 @@ map an SNMPv1 or SNMPv2c community strin
 a particular range of source addresses, or globally (\fI"default"\fR).
 A restricted source can either be a specific hostname (or address), or
 a subnet - represented as IP/MASK (e.g. 10.10.10.0/255.255.255.0), or
-IP/BITS (e.g. 10.10.10.0/24), or the IPv6 equivalents.
+IP/BITS (e.g. 10.10.10.0/24), or the IPv6 equivalents. It is also possible
+to reference a specific \fInetgroup\fR starting with an '@' character (e.g. 
+@adminhosts). The \fInetgroup\fR lookup is running through the NSS (Name
+Services Switch) making it possible to define the group locally or via
+NIS/LDAP.
+.IP
+Note: The hostname DNS lookup and \fInetgroup\fR resolution is done only
+during snmpd start or reload.
 .IP
 The same community string can be specified in several separate directives
 (presumably with different source tokens), and the first source/community
diff -Nurp net-snmp-5.7.3.orig/snmplib/transports/snmpUDPDomain.c 
net-snmp-5.7.3/snmplib/transports/snmpUDPDomain.c
--- net-snmp-5.7.3.orig/snmplib/transports/snmpUDPDomain.c      2014-12-08 
21:23:22.000000000 +0100
+++ net-snmp-5.7.3/snmplib/transports/snmpUDPDomain.c   2015-07-16 
10:32:15.160643078 +0200
@@ -88,6 +88,11 @@ void _netsnmp_udp_sockopt_set(int fd, in
 int
 netsnmp_sockaddr_in2(struct sockaddr_in *addr,
                      const char *inpeername, const char *default_target);
+static void
+netsnmp_udp_com2SecList_add(char *secName, size_t secNameLen,
+                            char *contextName, size_t contextNameLen,
+                            char *community, size_t communityLen,
+                            struct in_addr network, struct in_addr mask);
 
 /*
  * Return a string representing the address in data, or else the "far end"
@@ -100,6 +105,59 @@ netsnmp_udp_fmtaddr(netsnmp_transport *t
     return netsnmp_ipv4_fmtaddr("UDP", t, data, len);
 }
 
+static int
+netsnmp_udp_resolve_source(char *source, struct in_addr *network,
+        struct in_addr *mask)
+{
+    /* Split the source/netmask parts */
+    char *strmask = strchr(source, '/');
+    if (strmask != NULL)
+        /* Mask given. */
+        *strmask++ = '\0';
+
+    /* Try interpreting as a dotted quad. */
+   if (inet_pton(AF_INET, source, network) == 0) {
+        /* Nope, wasn't a dotted quad.  Must be a hostname. */
+        int ret = netsnmp_gethostbyname_v4(source, &(network->s_addr));
+        if (ret < 0) {
+            config_perror("cannot resolve source hostname");
+            return ret;
+        }
+    }
+
+    /* Now work out the mask. */
+    if (strmask == NULL || *strmask == '\0') {
+        /* No mask was given. Assume /32 */
+        mask->s_addr = (in_addr_t)(~0UL);
+    } else {
+        /* Try to interpret mask as a "number of 1 bits". */
+        char* cp;
+        long maskLen = strtol(strmask, &cp, 10);
+        if (*cp == '\0') {
+            if (0 < maskLen && maskLen <= 32)
+                mask->s_addr = htonl((in_addr_t)(~0UL << (32 - maskLen)));
+            else if (maskLen == 0)
+                mask->s_addr = 0;
+            else {
+                config_perror("bad mask length");
+                return -1;
+            }
+        }
+        /* Try to interpret mask as a dotted quad. */
+        else if (inet_pton(AF_INET, strmask, mask) == 0) {
+            config_perror("bad mask");
+            return -1;
+        }
+
+        /* Check that the network and mask are consistent. */
+        if (network->s_addr & ~mask->s_addr) {
+            config_perror("source/mask mismatch");
+            return -1;
+        }
+    }
+    return 0;
+}
+
 
 #if defined(HAVE_IP_PKTINFO) || defined(HAVE_IP_RECVDSTADDR)
 
@@ -259,102 +317,85 @@ netsnmp_udp_parse_security(const char *t
     if (strcmp(source, "default") == 0) {
         network.s_addr = 0;
         mask.s_addr = 0;
+        netsnmp_udp_com2SecList_add(secName, secNameLen, contextName,
+                contextNameLen, community, communityLen, network, mask);
     } else {
-        /* Split the source/netmask parts */
-        char *strmask = strchr(source, '/');
-        if (strmask != NULL)
-            /* Mask given. */
-            *strmask++ = '\0';
-
-        /* Try interpreting as a dotted quad. */
-        if (inet_pton(AF_INET, source, &network) == 0) {
-            /* Nope, wasn't a dotted quad.  Must be a hostname. */
-            int ret = netsnmp_gethostbyname_v4(source, &network.s_addr);
-            if (ret < 0) {
-                config_perror("cannot resolve source hostname");
-                return;
-            }
-        }
-
-        /* Now work out the mask. */
-        if (strmask == NULL || *strmask == '\0') {
-            /* No mask was given. Assume /32 */
-            mask.s_addr = (in_addr_t)(~0UL);
-        } else {
-            /* Try to interpret mask as a "number of 1 bits". */
-            char* cp;
-            long maskLen = strtol(strmask, &cp, 10);
-            if (*cp == '\0') {
-                if (0 < maskLen && maskLen <= 32)
-                    mask.s_addr = htonl((in_addr_t)(~0UL << (32 - maskLen)));
-                else if (maskLen == 0)
-                    mask.s_addr = 0;
-                else {
-                    config_perror("bad mask length");
-                    return;
+#if HAVE_ENDNETGRENT && HAVE_GETNETGRENT && HAVE_SETNETGRENT
+        /* Interpret as netgroup */
+        if (*source == '@') {
+            char *netgroup = source+1;
+            char *host, *user, *domain;
+            setnetgrent(netgroup);
+            while (getnetgrent(&host, &user, &domain)) {
+                if (netsnmp_udp_resolve_source(host, &network, &mask) == 0) {
+                    netsnmp_udp_com2SecList_add(secName, secNameLen, 
contextName,
+                            contextNameLen, community, communityLen, network, 
mask);
                 }
             }
-            /* Try to interpret mask as a dotted quad. */
-            else if (inet_pton(AF_INET, strmask, &mask) == 0) {
-                config_perror("bad mask");
-                return;
-            }
-
-            /* Check that the network and mask are consistent. */
-            if (network.s_addr & ~mask.s_addr) {
-                config_perror("source/mask mismatch");
-                return;
+            endnetgrent();
+        }
+        /* Without '@' it has to be an address or hostname */
+        else
+#endif
+        {
+            if (netsnmp_udp_resolve_source(source, &network, &mask) == 0) {
+                netsnmp_udp_com2SecList_add(secName, secNameLen, contextName,
+                    contextNameLen, community, communityLen, network, mask);
             }
         }
     }
+}
 
-    {
-        void* v = malloc(offsetof(com2SecEntry, community) + communityLen +
-                         secNameLen + contextNameLen);
-
-        com2SecEntry* e = (com2SecEntry*)v;
-        char* last = ((char*)v) + offsetof(com2SecEntry, community);
+static void
+netsnmp_udp_com2SecList_add(char *secName, size_t secNameLen, char 
*contextName,
+    size_t contextNameLen, char *community, size_t communityLen,
+    struct in_addr network, struct in_addr mask)
+{
+    void *v = malloc(offsetof(com2SecEntry, community) + communityLen +
+                     secNameLen + contextNameLen);
 
-        if (v == NULL) {
-            config_perror("memory error");
-            return;
-        }
+    com2SecEntry* e = (com2SecEntry*)v;
+    char* last = ((char*)v) + offsetof(com2SecEntry, community);
 
-        /*
-         * Everything is okay.  Copy the parameters to the structure allocated
-         * above and add it to END of the list.
-         */
+    if (v == NULL) {
+        config_perror("memory error");
+        return;
+    }
 
-        {
-          char buf1[INET_ADDRSTRLEN];
-          char buf2[INET_ADDRSTRLEN];
-          DEBUGMSGTL(("netsnmp_udp_parse_security",
-                      "<\"%s\", %s/%s> => \"%s\"\n", community,
-                      inet_ntop(AF_INET, &network, buf1, sizeof(buf1)),
-                      inet_ntop(AF_INET, &mask, buf2, sizeof(buf2)),
-                      secName));
-        }
+    /*
+     * Everything is okay.  Copy the parameters to the structure allocated
+     * above and add it to END of the list.
+     */
 
-        memcpy(last, community, communityLen);
-        last += communityLen;
-        memcpy(last, secName, secNameLen);
-        e->secName = last;
-        last += secNameLen;
-        if (contextNameLen) {
-            memcpy(last, contextName, contextNameLen);
-            e->contextName = last;
-        } else
-            e->contextName = last - 1;
-        e->network = network.s_addr;
-        e->mask = mask.s_addr;
-        e->next = NULL;
-
-        if (com2SecListLast != NULL) {
-            com2SecListLast->next = e;
-            com2SecListLast = e;
-        } else {
-            com2SecListLast = com2SecList = e;
-        }
+    {
+      char buf1[INET_ADDRSTRLEN];
+      char buf2[INET_ADDRSTRLEN];
+      DEBUGMSGTL(("netsnmp_udp_parse_security",
+                  "<\"%s\", %s/%s> => \"%s\"\n", community,
+                  inet_ntop(AF_INET, &network, buf1, sizeof(buf1)),
+                  inet_ntop(AF_INET, &mask, buf2, sizeof(buf2)),
+                  secName));
+    }
+
+    memcpy(last, community, communityLen);
+    last += communityLen;
+    memcpy(last, secName, secNameLen);
+    e->secName = last;
+    last += secNameLen;
+    if (contextNameLen) {
+        memcpy(last, contextName, contextNameLen);
+        e->contextName = last;
+    } else
+        e->contextName = last - 1;
+    e->network = network.s_addr;
+    e->mask = mask.s_addr;
+    e->next = NULL;
+
+    if (com2SecListLast != NULL) {
+        com2SecListLast->next = e;
+        com2SecListLast = e;
+    } else {
+        com2SecListLast = com2SecList = e;
     }
 }
 
++++++ net-snmp-5.7.2-perl-tk-warning.patch -> 
net-snmp-5.7.3-perl-tk-warning.patch ++++++

++++++ net-snmp-5.7.2-pie.patch -> net-snmp-5.7.3-pie.patch ++++++

++++++ net-snmp-5.7.3-snmpstatus-suppress-output.patch ++++++
diff -Nurp net-snmp-5.7.3.orig/apps/snmpstatus.c 
net-snmp-5.7.3/apps/snmpstatus.c
--- net-snmp-5.7.3.orig/apps/snmpstatus.c       2015-07-14 22:06:08.938851077 
+0200
+++ net-snmp-5.7.3/apps/snmpstatus.c    2015-07-14 22:06:23.905980889 +0200
@@ -96,6 +96,15 @@ size_t          length_ipOutRequests =
 
 #define NETSNMP_DS_APP_DONT_FIX_PDUS 0
 
+/* Flags to control which additional information to request and print */
+#define NETSNMP_STATUS_REQ_NETSTAT    0x0001
+#define NETSNMP_STATUS_REQ_NETOPER    0x0002
+#define NETSNMP_STATUS_REQ_ALL        0xffff
+
+/* By default request and print everything and let the user decide what
+   to suppress */
+static unsigned int rq_status = NETSNMP_STATUS_REQ_ALL;
+
 static void
 optProc(int argc, char *const *argv, int opt)
 {
@@ -114,6 +123,22 @@ optProc(int argc, char *const *argv, int
             }
         }
         break;
+    case 'S':     /* 'S' == 'Suppress' */
+        while (*optarg) {
+            switch (*optarg++) {
+            case 'n':
+                rq_status &= ~NETSNMP_STATUS_REQ_NETSTAT;
+                break;
+            case 'i':
+                rq_status &= ~NETSNMP_STATUS_REQ_NETOPER;
+                break;
+            default:
+                fprintf(stderr, "Unknown flag passed to -S: %c\n",
+                        optarg[-1]);
+                exit(1);
+            }
+        }
+        break;
     }
 }
 
@@ -128,6 +153,12 @@ usage(void)
             "  -C APPOPTS\t\tSet various application specific behaviours:\n");
     fprintf(stderr,
             "\t\t\t  f:  do not fix errors and retry the request\n");
+    fprintf(stderr,
+            "  -S REQOPTS\t\tDo not request and print information about:\n");
+    fprintf(stderr,
+            "\t\t\t  n:  network (packets sent/received, operational 
status)\n");
+    fprintf(stderr,
+            "\t\t\t  i:  interface operational status\n");
 }
 
 
@@ -152,7 +183,7 @@ main(int argc, char *argv[])
     /*
      * get the common command line arguments 
      */
-    switch (snmp_parse_args(argc, argv, &session, "C:", &optProc)) {
+    switch (snmp_parse_args(argc, argv, &session, "C:S:", &optProc)) {
     case NETSNMP_PARSE_ARGS_ERROR:
         exit(1);
     case NETSNMP_PARSE_ARGS_SUCCESS_EXIT:
@@ -185,8 +216,10 @@ main(int argc, char *argv[])
     pdu = snmp_pdu_create(SNMP_MSG_GET);
     snmp_add_null_var(pdu, objid_sysDescr, length_sysDescr);
     snmp_add_null_var(pdu, objid_sysUpTime, length_sysUpTime);
-    snmp_add_null_var(pdu, objid_ipInReceives, length_ipInReceives);
-    snmp_add_null_var(pdu, objid_ipOutRequests, length_ipOutRequests);
+    if (rq_status & NETSNMP_STATUS_REQ_NETSTAT) {
+        snmp_add_null_var(pdu, objid_ipInReceives, length_ipInReceives);
+        snmp_add_null_var(pdu, objid_ipOutRequests, length_ipOutRequests);
+    }
 
     /*
      * do the request 
@@ -278,6 +311,10 @@ main(int argc, char *argv[])
     if (response)
         snmp_free_pdu(response);
 
+    /* Suppress request to retrieve network statistics */
+    if (!(rq_status & NETSNMP_STATUS_REQ_NETSTAT))
+        goto done;
+
     /*
      * create PDU for GET request and add object names to request 
      */
@@ -375,11 +412,11 @@ main(int argc, char *argv[])
     }
     printf("Interfaces: %d, Recv/Trans packets: %d/%d | IP: %d/%d\n",
            interfaces, ipackets, opackets, ipin, ipout);
-    if (down_interfaces > 0) {
+    if ((rq_status & NETSNMP_STATUS_REQ_NETOPER) && (down_interfaces > 0)) {
         printf("%d interface%s down!\n",
                down_interfaces, down_interfaces > 1 ? "s are" : " is");
     }
-
+  done:
     snmp_close(ss);
     SOCK_CLEANUP;
     return exitval;
diff -Nurp net-snmp-5.7.3.orig/man/snmpstatus.1.def 
net-snmp-5.7.3/man/snmpstatus.1.def
--- net-snmp-5.7.3.orig/man/snmpstatus.1.def    2015-07-14 22:06:08.838850210 
+0200
+++ net-snmp-5.7.3/man/snmpstatus.1.def 2015-07-14 22:13:19.891588792 +0200
@@ -32,7 +32,7 @@
 snmpstatus - retrieves a fixed set of management information from a network 
entity
 .SH SYNOPSIS
 .B snmpstatus
-[COMMON OPTIONS] [\-Cf] AGENT
+[COMMON OPTIONS] [\-Cf] [\-Sni] AGENT
 .SH DESCRIPTION
 .B snmpstatus
 is an SNMP application that retrieves several important statistics
@@ -94,6 +94,11 @@ variable (unless the
 option is given, see below), but this variable will then be missing
 from the displayed data.
 .PP
+It is also possible to suppress parts of the default output by
+using the option
+.B \-S
+(see below).
+.PP
 .SH OPTIONS
 .TP
 .B COMMON OPTIONS
@@ -108,5 +113,13 @@ by the agent and retry a request. In thi
 the command will display the data that it can. If the \-Cf option
 is specified, then snmpstatus will not try to fix
 errors, and the error will cause the command to terminate.
+.TP
+.B \-Sn
+Do not retrieve and print network statistics such as packets
+sent and received and the number of network interfaces that
+are down.
+.TP
+.B \-Si
+Do not print the number of network interfaces that are down.
 .SH "SEE ALSO"
 snmpcmd(1), snmpget(1)
++++++ net-snmp-5.7.2-socket-path.patch -> net-snmp-5.7.3-socket-path.patch 
++++++

++++++ net-snmp-5.7.2-testing-empty-arptable.patch -> 
net-snmp-5.7.3-testing-empty-arptable.patch ++++++

++++++ net-snmp-5.7.2-velocity-mib.patch -> net-snmp-5.7.3-velocity-mib.patch 
++++++

++++++ net-snmp-5.7.3.pre5.tar.gz -> net-snmp-5.7.3.tar.gz ++++++
/work/SRC/openSUSE:Factory/net-snmp/net-snmp-5.7.3.pre5.tar.gz 
/work/SRC/openSUSE:Factory/.net-snmp.new/net-snmp-5.7.3.tar.gz differ: char 5, 
line 1


Reply via email to