Re: EXTERNAL: Re: 5.7.3 | snmptrap not populating EngineBoots or EngineTime for snmp v3 traps

Denis Hainsworth <[email protected]>
Newsgroups gmane.network.net-snmp.devel
Message-ID <[email protected]>
On Tue, Oct 30, 2018 at 11:31:59PM +0000, Roedersheimer, Drew A. wrote:
> > From: Denis Hainsworth <[email protected]> 
> > Sent: Tuesday, October 30, 2018 7:57 AM
> > To: [email protected]
> > Subject: EXTERNAL: Re: 5.7.3 | snmptrap not populating EngineBoots or EngineTime for snmp v3 traps
> >
> > Just a note to anyone that might run into this.  I was interested in all the 
> > evidence that snmptrap/d used to process boots/time correctly for v3 and so built
> > 5.1.4.2 and found that snmptrap in that version does in fact correctly set boots/time
> > based on the -Z command line argument and if -Z is not used it does use uptime as coded.
> >
> > I also confirmed that snmptrapd from 5.1.4.2 actually checks those values while 5.7.3
> > does not which is probably why most people dont care because they are probably using both
> > binaries so even if snmptrap isnt setting the values snmptrapd is ignoring them anyway so
> > it just works.
> >
> > No clue yet when it broke or how easy it might be to fix.
> >
> > -denis
> 
> 
> This interested me for selfish reasons, so I investigated it.  It appears that the local cache
> of SNMP engine ID/boot/time is not getting updated from the switches supplied at the command
> line.  When the message is sent out, there is no entry in the cache, so default values of 0
> are used.
> 
> I have pinned down the regression to this commit:
> 
> commit 0dd182f682b6f6cbb18b948718238750ca3404e4
> Author: Robert Story <[email protected]>
> Date:   Thu Jun 2 23:14:07 2005 +0000
> 
>     delay SNMPv3 EngineID probe until needed
> 
> 
> 
> I have also tested a patch for this that seems to work.  I'd be interested in the developers'
> opinions, as I'm not sure this is the best location for the fix or if I missed something.
> 
> Patch is against v5.8:
> 
> diff -urN old-5.8/apps/snmptrap.c new-5.8/apps/snmptrap.c
> --- old-5.8/apps/snmptrap.c     2018-07-16 09:33:40.000000000 -0500
> +++ new-5.8/apps/snmptrap.c     2018-10-30 18:25:26.652014237 -0500
> @@ -214,6 +214,9 @@
>              session.engineBoots = 1;
>          if (session.engineTime == 0)    /* not really correct, */
>              session.engineTime = get_uptime();  /* but it'll work. Sort of. */
> +
> +        set_enginetime(session.securityEngineID, session.securityEngineIDLen,
> +                       session.engineBoots, session.engineTime, TRUE);
>      }
> 
>      ss = snmp_add(&session,
> 
> 
> 
> 
> Denis: can you easily test this patch with your system?

Thanks Drew!  Yeah it seems fix  snmptrap which was my primary
concern.   
-denis
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.