Hi guys,

I'm trying to write a C++ application using net-snmp library. it works well 
with snmp version 2, but with version 3, visual studio linker reports errors. 

TclSNMP error LNK2001: unresolved external symbol _usmDESPrivProtocol
TclSNMP error LNK2001: unresolved external symbol _usmHMACMD5AuthProtocol

I installed an net-snmp binary version and used netsnmp.lib found in the 
installation's lib directory. I also installed win32OpenSSL and tried its lib 
files, but it didn't work.

Anyone can help me out? Thanks a lot!


netsnmp_session* GetSnmpSession(char* address) {

    map <char*, netsnmp_session*> ::iterator it = snmpSessionMap.find(address);
    if (it != snmpSessionMap.end()){
        return it->second;
    }

    netsnmp_session session, *ss; 

    snmp_sess_init( &session );
    session.peername = address;

/*
    session.version = SNMP_VERSION_2c;
    char* communityName = "private";

    session.community = (u_char *)communityName;
    session.community_len = strlen(communityName);
*/

    session.version = SNMP_VERSION_3;
    session.securityLevel = SNMP_SEC_LEVEL_AUTHPRIV;
    session.securityName = "regTester";
    session.securityNameLen = strlen(session.securityName);
    session.securityAuthProto = usmHMACMD5AuthProtocol;
    session.securityAuthProtoLen = sizeof(usmHMACMD5AuthProtocol)/sizeof(oid);
    session.securityPrivProto = usmDESPrivProtocol;
    session.securityPrivProtoLen = sizeof(usmDESPrivProtocol)/sizeof(oid);
//    session.securityAuthKey = (u_char*)"regAuthPasswd";
    session.securityAuthKeyLen = USM_AUTH_KU_LEN;
    //session.securityPrivKey = (u_char*)"regPrivPasswd";
    //session.securityPrivKeyLen = strlen(session.securityPrivKey);

    generate_Ku(session.securityAuthProto,
                       session.securityAuthProtoLen,
                       (u_char *) "regAuthPasswd", strlen("regAuthPasswd"),
                       session.securityAuthKey,
                       &session.securityAuthKeyLen);

    ss = snmp_open(&session);                     /* establish the session */

    if(ss) {
        snmpSessionMap.insert(SessionPair(address, ss));
    }

    return ss;
}



      
____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to