[SNMP4J] Report doesn't have ContextEngineID/ContextName when Request which has nonexistent ContextEngineID was recieved.

Kanda Norimichi nkanda at fsi.co.jp
Wed May 23 07:46:56 CEST 2007


Dear Mr. Fock:

Thank you for your reply.

I added correction program based on your advice and tried,
so GetRequest was sent as response.
I think perhaps it is because PDU-type isn't set.
----
        if (request.getCommandEvent().getMessageProcessingModel() == MPv3.ID) {
          ScopedPDU reportPDU = new ScopedPDU();
          reportPDU.setContextEngineID(request.getContextEngineID());
          reportPDU.setContextName(request.getContext());
+         reportPDU.setType(PDU.REPORT);
          reportPDU.add(new VariableBinding(SnmpConstants.snmpProxyDrops,
                                            cevent.getCurrentValue()));
          sendResponse(request.getCommandEvent(), reportPDU);
        }
----
Report message became to be sent with above correction.

In addition, I couldn't check the operation about one more
correction (sendUnknownPDUHandlersReport()).


And now, I found another problem that I think something is wrong with 
operation.
Would you check that?

Forwarding SNMPv1 Trap to SNMPv3 Manager,
but in ProxyForwarderImpl#matchParameters(), comparative result of secName
is NG and forward was failed in.
So I debugged program, result of request.getSecurityName() was Community 
Name.
I retraced more, in CommandProcessor#processPdu(),
after succeeding in
       cinfo = coexistenceProvider.getCoexistenceInfo(sname);
securityName of "event" isn't rewritten.
(In the case of securityName which "cinfo" has, 
 ProxyForwarderImpl#matchParameters() is succeeded in.)

Where should I correct?

Sincerely.

Norimichi Kanda

> -----Original Message-----
> From: Frank Fock [mailto:fock at agentpp.com]
> Sent: Tuesday, May 22, 2007 3:21 PM
> To: Kanda Norimichi
> Cc: snmp4j at agentpp.org
> Subject: Re: [SNMP4J] Report doesn't have ContextEngineID/ContextName
> when Request which has nonexistent ContextEngineID was recieved.
> 
> 
> Hello Mr. Kanda,
> 
> Thank you for your bug report. The following
> patch should fix it:
> 
> @@ -299,8 +299,12 @@
>      CounterEvent counter =
>          new CounterEvent(this, SnmpConstants.snmpUnknownPDUHandlers);
>      fireIncrementCounter(counter);
> -    if (command.getMessageProcessingModel() == MessageProcessingModel.MPv3) {
> -      PDU report = new PDU();
> +    if ((command.getMessageProcessingModel() == MessageProcessingModel.MPv3) &&
> +        (command.getPDU() instanceof ScopedPDU)) {
> +      ScopedPDU request = (ScopedPDU) command.getPDU();
> +      ScopedPDU report = new ScopedPDU();
> +      report.setContextEngineID(request.getContextEngineID());
> +      report.setContextName(request.getContextName());
>        report.setType(PDU.REPORT);
>        report.add(new VariableBinding(counter.getOid(),
>                                       counter.getCurrentValue()));
> @@ -525,7 +529,9 @@
> 
> SnmpConstants.snmpProxyDrops);
>          fireIncrementCounter(cevent);
>          if (request.getCommandEvent().getMessageProcessingModel() == MPv3.ID) {
> -          PDU reportPDU = new PDU();
> +          ScopedPDU reportPDU = new ScopedPDU();
> +          reportPDU.setContextEngineID(request.getContextEngineID());
> +          reportPDU.setContextName(request.getContext());
>            reportPDU.add(new VariableBinding(SnmpConstants.snmpProxyDrops,
>                                              cevent.getCurrentValue()));
>            sendResponse(request.getCommandEvent(), reportPDU);
> 
> Best regards,
> Frank
> 
> Kanda Norimichi wrote:
> > Dear Mr. Fock:
> > 
> > I am Kanda and I work at Fujisoft.
> > 
> > I made SNMP Agent (with ProxyForwarder) using SNMP4J-agent.
> > In the case of sending GetRequest which has wrong ContextEngineID to that 
> > Agent,the Report(Response?) whose PDU part is incorrect format was returned.
> > 
> > So I debugged program, in CommandProcessor.java 528th line,
> > the PDU instance created is set at PDU part instead of ScopedPDU which 
> > is used in SNMPv3.
> > Is it intended operation?
> > 
> > So, in that case, would you tell me if you have some idea about other 
> > thinkable probelem in your mind?
> > 
> > Sincerely.
> > 
> > Norimichi Kanda
> > 
> > _______________________________________________
> > SNMP4J mailing list
> > SNMP4J at agentpp.org
> > http://lists.agentpp.org/mailman/listinfo/snmp4j
> 
> -- 
> AGENT++
> http://www.agentpp.com
> http://www.mibexplorer.com
> http://www.mibdesigner.com
> 



More information about the SNMP4J mailing list