usmAddUserName v usmAddUser
D. R. Evans
N7DR____arrl.net
Mon Sep 23 20:08:16 CEST 2002
On 21 Sep 2002 at 13:10, Frank Fock wrote:
> Hi,
>
> Please take a look at the latest SNMP++, which is version 3.2.1b.
Hmmm.... I am now using the new code, but getting the same result. This
almost certainly means that I'm doing something really stupid, so now I'm
floundering through the logs trying to figure out what could possibly be
going wrong in what should be a simple Inform/Response exchange.
In both snmpInform.cpp and receive_trap.cpp I have simply added:
usm->add_localized_user((unsigned char*)<other side's engineid>,
strlen(<other side's engineid>),
(unsigned char*)"meauthnopriv", strlen("meauthnopriv"),
(unsigned char*)"meauthnopriv", strlen("meauthnopriv"),
SNMPv3_usmHMACMD5AuthProtocol, (unsigned char*)"meauth",
strlen("meauth"),
SNMPv3_usmNoPrivProtocol, (unsigned char*)"",
strlen(""));
So this should mean (I think) that both sides know how to send messages for
the user on the other side.
I have full logging enabled on both processes.
When I send the following Inform:
snmpInform 127.0.0.1 -v3 -p10162 -sl2 -md5 -snmeauthnopriv
the following appears close to the end of the snmpInform log:
mp finished (OK)
receive_snmp_response: engine_id (receive_trap), security_name
(meauthnopriv), security_model (3), security_level (1)
addtoengineidtable: (127.0.0.1/10162)
receive_snmp_response requestID = 10971, returning SUCCESS.
received oid: 1.3.6.1.6.3.15.1.1.3.0 with value: 2
SNMPv3: USM: Unknown SecurityName
-----
The snmpBuild function on the snmpInform returns the non-error response,
and the snmpInform process happily sends the Inform.
The first sign that there is an error in the receive_trap log is:
usmAddUser: Adding user (meauthnopriv) engine_id (InformSender).
++ SNMP++: data received from 127.0.0.1/1783.
30 82 00 42 02 01 03 30 82 00 0F 02 03 19 00 00
02 02 10 00 04 01 04 02 01 03 04 12 30 82 00 0E
04 00 02 01 00 02 01 00 04 00 04 00 04 00 30 82
00 14 04 00 04 00 A6 0E 02 02 59 B1 02 01 00 02
01 00 30 82 00 00
mp is parsing incoming message:
Parsing length = 42
Parsing version = 0x3
Parsing globalDataLength = 0xf
Parsing msgID = 0x190000
Parsing msgMaxSize = 0x1000
Parsing msgFlags = 0x4
Parsing msgSecurityModel = 0x3
Parsing msgSecurityParameters with length = 0x12
Parsing msgdata with length = 0x18
Parsing securityParametersLength = 0xe
Parsing securityEngineID, length = 0x0
Parsing engineBoots = 0x0
Parsing engineTime = 0x0
Parsing usmUserName, length = 0x0
Parsing msgAuthenticationParameters, length = 0x0
Parsing msgPrivacyParameters, length = 0x0
USM: EngineID unknown
mp: error while executing USM::process_msg
ErrorCode is -1406
This looks really bad.
Can anyone enlighten me as to what's going wrong? (I expect that it's
something very simple, but I sure don't understand what the problem is.)
Doc Evans
More information about the AGENTPP
mailing list