On Tue, 2022-12-20 at 10:28 +0000, Gerhard Roth wrote:
> Hi Martijn,
> 
> On Tue, 2022-12-20 at 11:10 +0100, Martijn van Duren wrote:
> > On Tue, 2022-12-20 at 10:21 +0100, Matthias Pitzl wrote:
> > > Hi,
> > > 
> > > Since the release of OpenBSD 7.2, snmp mibtree is broken:
> > > > root@host:~# snmp mibtree
> > > > snmp: No securityName specified
> > > 
> > > Greetings,
> > > Matthias
> > 
> > Apparently no one has used this one in a long time (including me).
> > This got broken in snmpc.c r1.37 on 2021/08/11 when changing snmp(1)'s
> > default to v3.
> > 
> > This may not the prettiest solution, but this is the shortest I can come
> > up with.
> 
> no sub-command that hasn't 'snmp_app->usecommonopt' set can have any of
> the SNMPv2 or SNMPv3 credentials. Sure, currently 'mibtree' is the only
> one. But for future updates, wouldn't it be better to check
> 
>       if (!snmp_app->usecommonopt)
> 
> instead of
> 
>       if (strcmp(snmp_app->name, "mibtree") == 0)
> 
> Greetings,
> 
> Gerhard
> 
> 
You're right, that's better.

Index: snmpc.c
===================================================================
RCS file: /cvs/src/usr.bin/snmp/snmpc.c,v
retrieving revision 1.38
diff -u -p -r1.38 snmpc.c
--- snmpc.c     21 Oct 2021 08:17:34 -0000      1.38
+++ snmpc.c     20 Dec 2022 10:33:58 -0000
@@ -468,7 +468,9 @@ main(int argc, char *argv[])
        argc -= optind;
        argv += optind;
 
-       if (version == SNMP_V1 || version == SNMP_V2C) {
+       if (!snmp_app->usecommonopt) {
+               /* No SNMP protocol settings */
+       } else if (version == SNMP_V1 || version == SNMP_V2C) {
                if (community == NULL || community[0] == '\0')
                        errx(1, "No community name specified.");
        } else if (version == SNMP_V3) {

Reply via email to