void Agent::UserInit() { UsmUserTable *uut = new UsmUserTable(); vector<UsmEntry> const &usmEntries = Config::getInstance().getUsmEntries(); for( vector<UsmEntry>::const_iterator iter = usmEntries.begin(); iter != usmEntries.end(); ++iter ) { uut->addNewRow( iter->Username.c_str(), iter->AuthProto, iter->PrivProto, iter->AuthKey.c_str(), iter->PrivKey.c_str() ); } // add non persistent USM statistics mMib->add(new UsmStats()); // add the USM MIB - usm_mib MibGroup is used to // make user added entries persistent mMib->add(new usm_mib(uut)); // add non persistent SNMPv3 engine object mMib->add(new V3SnmpEngine()); mMib->add(new MPDGroup()); }
void init(Mib& mib) { mib.add(new sysGroup("AGENT++v3 Test Agent - Use 'MD5' as SNMPv3 user and 'MD5UserAuthPassword' as authentication", "1.3.6.1.4.1.4976", 10)); mib.add(new snmpGroup()); mib.add(new command_execution_mib()); mib.add(new snmp_target_mib()); mib.add(new snmp_notification_mib()); #ifdef _SNMPv3 UsmUserTable *uut = new UsmUserTable(); uut->addNewRow("unsecureUser", SNMP_AUTHPROTOCOL_NONE, SNMP_PRIVPROTOCOL_NONE, "", ""); uut->addNewRow("MD5", SNMP_AUTHPROTOCOL_HMACMD5, SNMP_PRIVPROTOCOL_NONE, "MD5UserAuthPassword", ""); uut->addNewRow("SHA", SNMP_AUTHPROTOCOL_HMACSHA, SNMP_PRIVPROTOCOL_NONE, "SHAUserAuthPassword", ""); uut->addNewRow("MD5DES", SNMP_AUTHPROTOCOL_HMACMD5, SNMP_PRIVPROTOCOL_DES, "MD5DESUserAuthPassword", "MD5DESUserPrivPassword"); uut->addNewRow("SHADES", SNMP_AUTHPROTOCOL_HMACSHA, SNMP_PRIVPROTOCOL_DES, "SHADESUserAuthPassword", "SHADESUserPrivPassword"); uut->addNewRow("MD53DES", SNMP_AUTHPROTOCOL_HMACMD5, SNMP_PRIVPROTOCOL_3DESEDE, "MD53DESUserAuthPassword", "MD53DESUserPrivPassword"); uut->addNewRow("SHA3DES", SNMP_AUTHPROTOCOL_HMACSHA, SNMP_PRIVPROTOCOL_3DESEDE, "SHA3DESUserAuthPassword", "SHA3DESUserPrivPassword"); uut->addNewRow("MD5IDEA", SNMP_AUTHPROTOCOL_HMACMD5, SNMP_PRIVPROTOCOL_IDEA, "MD5IDEAUserAuthPassword", "MD5IDEAUserPrivPassword"); uut->addNewRow("SHAIDEA", SNMP_AUTHPROTOCOL_HMACSHA, SNMP_PRIVPROTOCOL_IDEA, "SHAIDEAUserAuthPassword", "SHAIDEAUserPrivPassword"); uut->addNewRow("MD5AES128", SNMP_AUTHPROTOCOL_HMACMD5, SNMP_PRIVPROTOCOL_AES128, "MD5AES128UserAuthPassword", "MD5AES128UserPrivPassword"); uut->addNewRow("SHAAES128", SNMP_AUTHPROTOCOL_HMACSHA, SNMP_PRIVPROTOCOL_AES128, "SHAAES128UserAuthPassword", "SHAAES128UserPrivPassword"); uut->addNewRow("MD5AES192", SNMP_AUTHPROTOCOL_HMACMD5, SNMP_PRIVPROTOCOL_AES192, "MD5AES192UserAuthPassword", "MD5AES192UserPrivPassword"); uut->addNewRow("SHAAES192", SNMP_AUTHPROTOCOL_HMACSHA, SNMP_PRIVPROTOCOL_AES192, "SHAAES192UserAuthPassword", "SHAAES192UserPrivPassword"); uut->addNewRow("MD5AES256", SNMP_AUTHPROTOCOL_HMACMD5, SNMP_PRIVPROTOCOL_AES256, "MD5AES256UserAuthPassword", "MD5AES256UserPrivPassword"); uut->addNewRow("SHAAES256", SNMP_AUTHPROTOCOL_HMACSHA, SNMP_PRIVPROTOCOL_AES256, "SHAAES256UserAuthPassword", "SHAAES256UserPrivPassword"); // add non persistent USM statistics mib.add(new UsmStats()); // add the USM MIB - usm_mib MibGroup is used to // make user added entries persistent mib.add(new usm_mib(uut)); // add non persistent SNMPv3 engine object mib.add(new V3SnmpEngine()); mib.add(new MPDGroup()); #endif }