On Mon, 2018-10-29 at 09:52 +0530, Pushpa Thimmaiah wrote:
> Hi All,
> I am using option 'clientAddr'  with IPv6 address and noticed that it is not 
> working.
> so I applied patch 
> https://sourceforge.net/p/net-snmp/mailman/message/33064273/ on 5.7.3 but It 
> seems not working.
> Kindly let me know if I am missing any configurations.
> 
> Eg:
> linux machine has ipv6 '2002::2054' and sends trap using 
> 'clientAddr=2002::2056'
> There is no IPv6 '2002::2056' and trap sent out via '2002::2054'.  I have 
> expected it to fail when it doesnot find 2002::2056.
> 
> snmp trap sender:
> /home/# /tmp/snmptrap -Dall -v 3 --clientAddr="2002::2056" -n "" -u testigmv6 
> -l authNoPriv -a MD5 -A mypassword -e 0x80001f880300b0a
> e123548  udp6:[2002::2045]:162 "" .1.3.6.1.4.1.8072.2.3.1 
> .1.3.6.1.4.1.8072.2.1.1 i 444
> /home# 
> 
> Trap Receiver shows: 
> usm: USM processing begun...
> usm: match on user testigmv6
> usm: Verification succeeded.
> usm: USM processing completed.
> 2018-10-29 09:43:59 UDP/IPv6: [2002::2054]:50455 [UDP/IPv6: 
> [2002::2054]:50455]:
> DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (89119) 0:14:51.19    
> SNMPv2-MIB::snmpTrapOID.0 = OID: 
> NET-SNMP-EXAMPLES-MIB::netSnmpExampleNotification    NET-SNMP-EXAMPLES-
> MIB::netSnmpExampleInteger = INTEGER: 444

Please retest with the Net-SNMP master branch. That branch includes the patch 
shown below.
$ git branch --contains cc45578c2fa0b94f776* master

$ git show cc45578c2fa0b94f776commit 
cc45578c2fa0b94f7762057ee3b8a0b795c497ffAuthor: Bill Fenner 
<fen...@gmail.com>Date:   Sun May 6 13:05:55 2018 +0000
    snmpd: BUG: 2864: use clientaddr properly        The code parsed out the 
address from the clientaddr spec,    then used the return value wrong and only 
respected it    if it existed but didn't
parse properly.
diff --git a/snmplib/transports/snmpUDPIPv4BaseDomain.c 
b/snmplib/transports/snmpUDPIPv4BaseDomain.cindex 37d8e33b47c7..433eb809bb91 
100644--- a/snmplib/transports/snmpUDPIPv4BaseDomain.c+++
b/snmplib/transports/snmpUDPIPv4BaseDomain.c@@ -367,7 +367,7 @@ 
netsnmp_udpipv4base_transport(const struct sockaddr_in *addr, int local)        
     rc = netsnmp_sockaddr_in2(&client_addr,
client_socket, NULL);             if (client_address != client_socket)          
       free(client_address);-            if(!rc) {+            if(rc) {         
        if (!uses_port || !have_port) /*
if port isn't from string, */                     client_addr.sin_port = 0; /* 
... clear it */                 return 
netsnmp_udpipv4base_transport_with_source(addr, local,
Thanks,
Bart.
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to