See end for suspected bug.

Brendan Simon wrote:
> Wes Hardaker wrote:
>> BS> So I guess the win32 build does not:
>> BS> * correctly implement the --defPrivLocalizedKey option
>> BS> * correctly implement the "snmpusm -Cx changekey" command.
>>
>> Well, it's certainly not the first.  Ok, I hope.
>>
>> Caveat: I don't use windows.
>> Plus: I wrote much of both the DH code and the snmpusm code.
>>
>> Lets try a different experiment to test the last bullet above:
>>
>> 1) run snmpusm on windows, and the snmpget with the new key on your
>>    debian box.
>>
>> 2) run snmpusm on linux, and then snmpget with the new key on windows...
>>
>> That would let us narrow down the problem more if one of those didn't
>> work but the other did.
>>   
> I have already tried that to try and diagnose the differences.
>
> Scenario 1:
> Linux "snmpusm -v 3 -l authNoPriv -u admin -a sha -A Password1 -Cx 
> changekey joe" works fine.
> Linux "snmpget -v 3 -l authNoPriv -u joe -a sha -A Joeseph1 <host> 
> <oid>" works fine.
> Linux "snmpget -v 3 -l authPriv -u joe -a sha -A Joeseph1 -x aes 
> --defPrivKey=0x<key> <host> <oid>" works fine.
> MSW "snmpget -v 3 -l authNoPriv -u joe -a sha -A Joeseph1 <host> 
> <oid>" works fine.
> >>> MSW "snmpget -v 3 -l authPriv -u joe -a sha -A Joeseph1 -x aes 
> --defPrivKey=0x<key> <host> <oid>" returns the error message "snmpget: 
> USM generic error"
>
> Using "-D ALL" I can see that the message "usm: Can't set AES iv." 
> (line 1506) is printed.  This may help narrow down the problem.
>
> Scenario 2:
> >>> MSW "snmpusm -v 3 -l authNoPriv -u admin -a sha -A Password1 -Cx 
> changekey joe" returns and error message "Unknown command" followed by 
> the usage output.
> NOTE: MSW "snmpusm passwd" also results in the same error "Unknown 
> command"
> NOTE: MSW "snmpusm create" appears to complete successfully.
>
> I can see how the "changekey" command could produce "Unknown command" 
> by the following lines in snmplib/snmpusm.c
>
>    #if defined(HAVE_OPENSSL_DH_H) && defined(HAVE_LIBCRYPTO)
>        } else if (strcmp(argv[arg], CMD_CHANGEKEY_NAME) == 0) {
>
>
> Looking at the header files in the win32 directory, I would suggest 
> that HAVE_LIBCRYPTO is not defined and most likely the reason as to 
> "Unknown command" error.
>
> However "passwd" is not surrounded by any #if statements !!!
Is the following a bug in file snmplib/snmpv3.c (line 990-991) ???

     987         /*
     988          * And turn it into a localized key
     989          */
     990         ret2 = sc_get_properlength(newuser->authProtocol,
     991                                    newuser->authProtocolLen);
     992         if (ret2 < 0) {
     993             config_perror("could not get proper key length to
    use for the " 994                           "privacy algorithm.");
     995             usm_free_user(newuser);
     996             return;
     997         }
     998         newuser->privKey = (u_char *) malloc(ret2);


Shouldn't it read:

     990         ret2 = sc_get_proper_priv_length(newuser->privProtocol,
     991                                    newuser->privProtocolLen);


Could this explain the some of problems I'm seeing with the Win32 
binaries ??

Cheers, Brendan.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to