28 #include <snmp_pp/usm_v3.h>
29 #include <snmp_pp/v3.h>
32 #ifdef AGENTPP_NAMESPACE
52 V3SnmpEngineID(
const NS_SNMP v3MP *mp);
53 void get_request(
Request*,
int);
61 V3SnmpEngineBoots(
const NS_SNMP USM *u);
62 void get_request(
Request*,
int);
70 V3SnmpEngineTime(
const NS_SNMP USM *u);
71 void get_request(
Request*,
int);
79 V3SnmpEngineMaxMessageSize();
86 UsmUserTableStatus(
const Oidx&,
int _base_len,
NS_SNMP USM *usm);
87 virtual ~UsmUserTableStatus();
90 virtual int set(
const Vbx& vb);
128 virtual ~UsmUserTable();
130 virtual bool ready_for_service(
Vbx* pvbs,
int sz);
143 const NS_SNMP OctetStr& userName,
144 const NS_SNMP OctetStr& securityName,
145 int authProtocol,
const NS_SNMP OctetStr& authKey,
146 int privProtocol,
const NS_SNMP OctetStr& privKey,
147 const bool add_to_usm =
TRUE);
159 const NS_SNMP OctetStr& userName,
160 int authProtocol,
const NS_SNMP OctetStr& authKey,
161 int privProtocol,
const NS_SNMP OctetStr& privKey,
162 const bool add_to_usm =
TRUE)
163 {
return addNewRow(engineID, userName, userName, authProtocol, authKey,
164 privProtocol, privKey, add_to_usm); };
180 const NS_SNMP OctetStr& securityName,
183 const NS_SNMP OctetStr& authPassword,
184 const NS_SNMP OctetStr& privPassword,
185 const bool addPasswordsToUSM =
true);
198 const NS_SNMP OctetStr& securityName,
201 const NS_SNMP OctetStr& authPassword,
202 const NS_SNMP OctetStr& privPassword,
203 const NS_SNMP OctetStr& engineID,
204 const bool addPassWordsToUSM =
false);
217 const NS_SNMP OctetStr& authPassword,
218 const NS_SNMP OctetStr& privPassword)
219 {
return addNewRow(userName, userName, authProtocol, privProtocol,
220 authPassword, privPassword,
true); };
233 const NS_SNMP OctetStr& authPassword,
234 const NS_SNMP OctetStr& privPassword,
235 const NS_SNMP OctetStr& engineID,
236 const bool addPassWordsToUSM =
false)
237 {
return addNewRow(userName, userName, authProtocol, privProtocol,
238 authPassword, privPassword, engineID, addPassWordsToUSM); };
246 bool deleteRow(
const NS_SNMP OctetStr& engineID,
247 const NS_SNMP OctetStr& userName);
261 void deleteRows(
const NS_SNMP OctetStr& userName);
268 void removeAllUsers();
272 static const Oidx auth_base;
273 static const Oidx priv_base;
286 UsmCloneFrom(
Oidx o);
287 virtual ~UsmCloneFrom() {};
288 virtual int prepare_set_request(
Request* req,
int& ind);
289 virtual void get_request(
Request* req,
int ind);
290 virtual int set(
const Vbx& vb);
291 virtual bool value_ok(
const Vbx& vb);
300 UsmKeyChange(
Oidx o,
int keylen,
int hashfunction,
int typeOfKey,
301 UsmKeyChange* ukc,
NS_SNMP USM *u);
303 virtual ~UsmKeyChange();
306 void initialize(
int keylen,
int hashfunction,
int typeOfKey, UsmKeyChange* ukc);
307 virtual void get_request(
Request* req,
int ind);
308 virtual int prepare_set_request(
Request* req,
int& ind);
309 virtual int set(
const Vbx& vb);
310 virtual bool value_ok(
const Vbx& vb);
314 bool process_key_change(
NS_SNMP OctetStr& os);
319 UsmKeyChange* otherKeyChangeObject;
326 UsmOwnKeyChange(
Oidx o,
NS_SNMP USM *u) : UsmKeyChange(o, u) {};
327 UsmOwnKeyChange(
Oidx o,
int keylen,
int hashfunction,
int typeOfKey,
328 UsmKeyChange* ukc,
NS_SNMP USM *u)
329 : UsmKeyChange(o, keylen, hashfunction, typeOfKey, ukc, u){};
330 virtual ~UsmOwnKeyChange();
332 virtual int prepare_set_request(
Request* req,
int& ind);
349 UsmStatsUnsupportedSecLevels(
const NS_SNMP USM *u);
350 void get_request(
Request*,
int);
364 UsmStatsNotInTimeWindows(
const NS_SNMP USM *u);
365 void get_request(
Request*,
int);
379 UsmStatsUnknownUserNames(
const NS_SNMP USM *u);
380 void get_request(
Request*,
int);
394 UsmStatsUnknownEngineIDs(
const NS_SNMP USM *u);
395 void get_request(
Request*,
int);
409 UsmStatsWrongDigests(
const NS_SNMP USM *u);
410 void get_request(
Request*,
int);
424 UsmStatsDecryptionErrors(
const NS_SNMP USM *u);
425 void get_request(
Request*,
int);
448 usm_mib(UsmUserTable*);
462 MPDGroupSnmpUnknownSecurityModels(
const NS_SNMP v3MP *mp);
463 void get_request(
Request*,
int);
471 MPDGroupSnmpInvalidMsgs(
const NS_SNMP v3MP *mp);
472 void get_request(
Request*,
int);
480 MPDGroupSnmpUnknownPDUHandlers(
const NS_SNMP v3MP *mp);
481 void get_request(
Request*,
int);
491 virtual bool value_ok(
const Vbx&);
501 virtual bool value_ok(
const Vbx&);
502 virtual int prepare_set_request(
Request*,
int&);
507 #ifdef AGENTPP_NAMESPACE