Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

usm_v3.h File Reference

#include "snmp_pp/config_snmp_pp.h"
#include "snmp_pp/smi.h"
#include "snmp_pp/octet.h"

Go to the source code of this file.

Compounds

class  USM
 This is the class for the User Based Security Model. More...

struct  UsmUser
struct  UsmUserNameTableEntry
struct  UsmUserTableEntry

SecurityLevels

When sending a SNMPv3 message, one of these security levels can be set on the Pdu object.

#define SNMP_SECURITY_LEVEL_NOAUTH_NOPRIV   1
 noAuthNoPriv

#define SNMP_SECURITY_LEVEL_AUTH_NOPRIV   2
 authNoPriv

#define SNMP_SECURITY_LEVEL_AUTH_PRIV   3
 authPriv


AuthProtocols

Each user of the USM must use one authentication protocol (which may be none.

#define SNMP_AUTHPROTOCOL_NONE   1
 None.

#define SNMP_AUTHPROTOCOL_HMACMD5   2
 HMAC-MD5.

#define SNMP_AUTHPROTOCOL_HMACSHA   3
 HMAC-SHA.


PrivProtocols

Each user of the USM must use one privacy protocol (which may be none.

#define SNMP_PRIVPROTOCOL_NONE   1
 None.

#define SNMP_PRIVPROTOCOL_DES   2
 DES.

#define SNMP_PRIVPROTOCOL_IDEA   9
 IDEA (non standard).

#define SNMP_PRIVPROTOCOL_AES128   19
 AES128 (draft standard).

#define SNMP_PRIVPROTOCOL_AES192   20
 AES192 (draft standard).

#define SNMP_PRIVPROTOCOL_AES256   21
 AES256 (draft standard).


USM-ErrorCodes

Each method of the class USM may return one of the following error codes.

#define SNMPv3_USM_OK   1400
#define SNMPv3_USM_ERROR   1401
#define SNMPv3_USM_ERROR_CONFIGFILE   1402
#define SNMPv3_USM_UNSUPPORTED_SECURITY_LEVEL   1403
#define SNMPv3_USM_UNKNOWN_SECURITY_NAME   1404
#define SNMPv3_USM_ENCRYPTION_ERROR   1405
#define SNMPv3_USM_DECRYPTION_ERROR   1406
#define SNMPv3_USM_AUTHENTICATION_ERROR   1407
#define SNMPv3_USM_AUTHENTICATION_FAILURE   1408
#define SNMPv3_USM_PARSE_ERROR   1409
#define SNMPv3_USM_UNKNOWN_ENGINEID   1410
#define SNMPv3_USM_NOT_IN_TIME_WINDOW   1411
#define SNMPv3_USM_UNSUPPORTED_AUTHPROTOCOL   1412
#define SNMPv3_USM_UNSUPPORTED_PRIVPROTOCOL   1413
#define SNMPv3_USM_ADDRESS_ERROR   1414
#define SNMPv3_USM_FILECREATE_ERROR   1415
#define SNMPv3_USM_FILEOPEN_ERROR   1416
#define SNMPv3_USM_FILERENAME_ERROR   1417
#define SNMPv3_USM_FILEDELETE_ERROR   1418
#define SNMPv3_USM_FILEWRITE_ERROR   1419
#define SNMPv3_USM_FILEREAD_ERROR   1420

Statistics on error codes.

#define SNMPv3_USM_MAX_ERROR   SNMPv3_USM_FILEREAD_ERROR
#define SNMPv3_USM_MIN_ERROR   SNMPv3_USM_OK
#define SNMPv3_USM_ERRORCOUNT   SNMPv3_USM_MAX_ERROR - SNMPv3_USM_MIN_ERROR

Defines

#define MAXUINT32   4294967295u
#define MAXLEN_USMUSERNAME   32
#define MAXLEN_USMSECURITYNAME   MAXLEN_USMUSERNAME
#define SNMPv3_AUTHFLAG   0x01
#define SNMPv3_PRIVFLAG   0x02
#define SNMPv3_REPORTABLEFLAG   0x04
#define NOKEY   0
#define AUTHKEY   1
#define PRIVKEY   2
#define OWNAUTHKEY   3
#define OWNPRIVKEY   4
#define oidUsmStats   "1.3.6.1.6.3.15.1.1"
#define oidUsmStatsUnsupportedSecLevels   "1.3.6.1.6.3.15.1.1.1.0"
#define oidUsmStatsNotInTimeWindows   "1.3.6.1.6.3.15.1.1.2.0"
#define oidUsmStatsUnknownUserNames   "1.3.6.1.6.3.15.1.1.3.0"
#define oidUsmStatsUnknownEngineIDs   "1.3.6.1.6.3.15.1.1.4.0"
#define oidUsmStatsWrongDigests   "1.3.6.1.6.3.15.1.1.5.0"
#define oidUsmStatsDecryptionErrors   "1.3.6.1.6.3.15.1.1.6.0"
#define oidUsmUserTable   "1.3.6.1.6.3.15.1.2.2"
#define oidUsmUserEntry   "1.3.6.1.6.3.15.1.2.2.1"
#define oidUsmAuthProtocolBase   "1.3.6.1.6.3.10.1.1"
#define oidUsmNoAuthProtocol   "1.3.6.1.6.3.10.1.1.1"
#define oidUsmHMACMD5AuthProtocol   "1.3.6.1.6.3.10.1.1.2"
#define oidUsmHMACSHAAuthProtocol   "1.3.6.1.6.3.10.1.1.3"
#define oidUsmPrivProtocolBase   "1.3.6.1.6.3.10.1.2"
#define oidUsmNoPrivProtocol   "1.3.6.1.6.3.10.1.2.1"
#define oidUsmDESPrivProtocol   "1.3.6.1.6.3.10.1.2.2"
#define oidUsmIDEAPrivProtocol   "1.3.6.1.6.3.10.1.2.9"
#define oidUsmAES128PrivProtocol   "1.3.6.1.6.3.10.1.2.19"
#define oidUsmAES192PrivProtocol   "1.3.6.1.6.3.10.1.2.20"
#define oidUsmAES256PrivProtocol   "1.3.6.1.6.3.10.1.2.21"
#define USM_KeyUpdate   1
#define USM_PasswordUpdate   2
#define USM_PasswordKeyUpdate   3
#define USM_PasswordAllKeyUpdate   4
#define SecurityLevel_noAuthNoPriv   SNMP_SECURITY_LEVEL_NOAUTH_NOPRIV
#define SecurityLevel_authNoPriv   SNMP_SECURITY_LEVEL_AUTH_NOPRIV
#define SecurityLevel_authPriv   SNMP_SECURITY_LEVEL_AUTH_PRIV
#define SNMPv3_usmNoAuthProtocol   SNMP_AUTHPROTOCOL_NONE
#define SNMPv3_usmHMACMD5AuthProtocol   SNMP_AUTHPROTOCOL_HMACMD5
#define SNMPv3_usmHMACSHAAuthProtocol   SNMP_AUTHPROTOCOL_HMACSHA
#define SNMPv3_usmNoPrivProtocol   SNMP_PRIVPROTOCOL_NONE
#define SNMPv3_usmDESPrivProtocol   SNMP_PRIVPROTOCOL_DES
#define SNMPv3_usmIDEAPrivProtocol   SNMP_PRIVPROTOCOL_IDEA
#define SNMPv3_usmAES128PrivProtocol   SNMP_PRIVPROTOCOL_AES128
#define SNMPv3_usmAES192PrivProtocol   SNMP_PRIVPROTOCOL_AES192
#define SNMPv3_usmAES256PrivProtocol   SNMP_PRIVPROTOCOL_AES256

Typedefs

typedef void(* usm_add_user_callback )(const OctetStr &engine_id, const OctetStr &usm_user_name, const OctetStr &usm_user_security_name, const int auth_protocol, const OctetStr &auth_key, const int priv_protocol, const OctetStr &priv_key)


Define Documentation

#define AUTHKEY   1
 

Definition at line 56 of file usm_v3.h.

#define MAXLEN_USMSECURITYNAME   MAXLEN_USMUSERNAME
 

Definition at line 49 of file usm_v3.h.

#define MAXLEN_USMUSERNAME   32
 

Definition at line 48 of file usm_v3.h.

#define MAXUINT32   4294967295u
 

Definition at line 45 of file usm_v3.h.

#define NOKEY   0
 

Definition at line 55 of file usm_v3.h.

#define oidUsmAES128PrivProtocol   "1.3.6.1.6.3.10.1.2.19"
 

Definition at line 153 of file usm_v3.h.

#define oidUsmAES192PrivProtocol   "1.3.6.1.6.3.10.1.2.20"
 

Definition at line 154 of file usm_v3.h.

#define oidUsmAES256PrivProtocol   "1.3.6.1.6.3.10.1.2.21"
 

Definition at line 155 of file usm_v3.h.

#define oidUsmAuthProtocolBase   "1.3.6.1.6.3.10.1.1"
 

Definition at line 144 of file usm_v3.h.

#define oidUsmDESPrivProtocol   "1.3.6.1.6.3.10.1.2.2"
 

Definition at line 151 of file usm_v3.h.

#define oidUsmHMACMD5AuthProtocol   "1.3.6.1.6.3.10.1.1.2"
 

Definition at line 146 of file usm_v3.h.

#define oidUsmHMACSHAAuthProtocol   "1.3.6.1.6.3.10.1.1.3"
 

Definition at line 147 of file usm_v3.h.

#define oidUsmIDEAPrivProtocol   "1.3.6.1.6.3.10.1.2.9"
 

Definition at line 152 of file usm_v3.h.

#define oidUsmNoAuthProtocol   "1.3.6.1.6.3.10.1.1.1"
 

Definition at line 145 of file usm_v3.h.

#define oidUsmNoPrivProtocol   "1.3.6.1.6.3.10.1.2.1"
 

Definition at line 150 of file usm_v3.h.

#define oidUsmPrivProtocolBase   "1.3.6.1.6.3.10.1.2"
 

Definition at line 149 of file usm_v3.h.

#define oidUsmStats   "1.3.6.1.6.3.15.1.1"
 

Definition at line 133 of file usm_v3.h.

#define oidUsmStatsDecryptionErrors   "1.3.6.1.6.3.15.1.1.6.0"
 

Definition at line 139 of file usm_v3.h.

#define oidUsmStatsNotInTimeWindows   "1.3.6.1.6.3.15.1.1.2.0"
 

Definition at line 135 of file usm_v3.h.

#define oidUsmStatsUnknownEngineIDs   "1.3.6.1.6.3.15.1.1.4.0"
 

Definition at line 137 of file usm_v3.h.

#define oidUsmStatsUnknownUserNames   "1.3.6.1.6.3.15.1.1.3.0"
 

Definition at line 136 of file usm_v3.h.

#define oidUsmStatsUnsupportedSecLevels   "1.3.6.1.6.3.15.1.1.1.0"
 

Definition at line 134 of file usm_v3.h.

#define oidUsmStatsWrongDigests   "1.3.6.1.6.3.15.1.1.5.0"
 

Definition at line 138 of file usm_v3.h.

#define oidUsmUserEntry   "1.3.6.1.6.3.15.1.2.2.1"
 

Definition at line 142 of file usm_v3.h.

#define oidUsmUserTable   "1.3.6.1.6.3.15.1.2.2"
 

Definition at line 141 of file usm_v3.h.

#define OWNAUTHKEY   3
 

Definition at line 58 of file usm_v3.h.

#define OWNPRIVKEY   4
 

Definition at line 59 of file usm_v3.h.

#define PRIVKEY   2
 

Definition at line 57 of file usm_v3.h.

#define SecurityLevel_authNoPriv   SNMP_SECURITY_LEVEL_AUTH_NOPRIV
 

Definition at line 934 of file usm_v3.h.

#define SecurityLevel_authPriv   SNMP_SECURITY_LEVEL_AUTH_PRIV
 

Definition at line 935 of file usm_v3.h.

#define SecurityLevel_noAuthNoPriv   SNMP_SECURITY_LEVEL_NOAUTH_NOPRIV
 

Definition at line 933 of file usm_v3.h.

#define SNMP_AUTHPROTOCOL_HMACMD5   2
 

HMAC-MD5.

Definition at line 79 of file usm_v3.h.

Referenced by AuthMD5::get_id().

#define SNMP_AUTHPROTOCOL_HMACSHA   3
 

HMAC-SHA.

Definition at line 80 of file usm_v3.h.

Referenced by AuthSHA::get_id().

#define SNMP_AUTHPROTOCOL_NONE   1
 

None.

Definition at line 78 of file usm_v3.h.

#define SNMP_PRIVPROTOCOL_AES128   19
 

AES128 (draft standard).

Definition at line 92 of file usm_v3.h.

#define SNMP_PRIVPROTOCOL_AES192   20
 

AES192 (draft standard).

Definition at line 93 of file usm_v3.h.

#define SNMP_PRIVPROTOCOL_AES256   21
 

AES256 (draft standard).

Definition at line 94 of file usm_v3.h.

#define SNMP_PRIVPROTOCOL_DES   2
 

DES.

Definition at line 90 of file usm_v3.h.

Referenced by PrivDES::get_id().

#define SNMP_PRIVPROTOCOL_IDEA   9
 

IDEA (non standard).

Definition at line 91 of file usm_v3.h.

#define SNMP_PRIVPROTOCOL_NONE   1
 

None.

Definition at line 89 of file usm_v3.h.

#define SNMP_SECURITY_LEVEL_AUTH_NOPRIV   2
 

authNoPriv

Definition at line 68 of file usm_v3.h.

#define SNMP_SECURITY_LEVEL_AUTH_PRIV   3
 

authPriv

Definition at line 69 of file usm_v3.h.

#define SNMP_SECURITY_LEVEL_NOAUTH_NOPRIV   1
 

noAuthNoPriv

Definition at line 67 of file usm_v3.h.

#define SNMPv3_AUTHFLAG   0x01
 

Definition at line 51 of file usm_v3.h.

#define SNMPv3_PRIVFLAG   0x02
 

Definition at line 52 of file usm_v3.h.

#define SNMPv3_REPORTABLEFLAG   0x04
 

Definition at line 53 of file usm_v3.h.

#define SNMPv3_USM_ADDRESS_ERROR   1414
 

Definition at line 117 of file usm_v3.h.

#define SNMPv3_USM_AUTHENTICATION_ERROR   1407
 

Definition at line 110 of file usm_v3.h.

#define SNMPv3_USM_AUTHENTICATION_FAILURE   1408
 

Definition at line 111 of file usm_v3.h.

#define SNMPv3_USM_DECRYPTION_ERROR   1406
 

Definition at line 109 of file usm_v3.h.

#define SNMPv3_USM_ENCRYPTION_ERROR   1405
 

Definition at line 108 of file usm_v3.h.

#define SNMPv3_USM_ERROR   1401
 

Definition at line 104 of file usm_v3.h.

#define SNMPv3_USM_ERROR_CONFIGFILE   1402
 

Definition at line 105 of file usm_v3.h.

#define SNMPv3_USM_ERRORCOUNT   SNMPv3_USM_MAX_ERROR - SNMPv3_USM_MIN_ERROR
 

Definition at line 130 of file usm_v3.h.

#define SNMPv3_USM_FILECREATE_ERROR   1415
 

Definition at line 118 of file usm_v3.h.

#define SNMPv3_USM_FILEDELETE_ERROR   1418
 

Definition at line 121 of file usm_v3.h.

#define SNMPv3_USM_FILEOPEN_ERROR   1416
 

Definition at line 119 of file usm_v3.h.

#define SNMPv3_USM_FILEREAD_ERROR   1420
 

Definition at line 123 of file usm_v3.h.

#define SNMPv3_USM_FILERENAME_ERROR   1417
 

Definition at line 120 of file usm_v3.h.

#define SNMPv3_USM_FILEWRITE_ERROR   1419
 

Definition at line 122 of file usm_v3.h.

#define SNMPv3_USM_MAX_ERROR   SNMPv3_USM_FILEREAD_ERROR
 

Definition at line 128 of file usm_v3.h.

#define SNMPv3_USM_MIN_ERROR   SNMPv3_USM_OK
 

Definition at line 129 of file usm_v3.h.

#define SNMPv3_USM_NOT_IN_TIME_WINDOW   1411
 

Definition at line 114 of file usm_v3.h.

#define SNMPv3_USM_OK   1400
 

Definition at line 103 of file usm_v3.h.

#define SNMPv3_USM_PARSE_ERROR   1409
 

Definition at line 112 of file usm_v3.h.

#define SNMPv3_USM_UNKNOWN_ENGINEID   1410
 

Definition at line 113 of file usm_v3.h.

#define SNMPv3_USM_UNKNOWN_SECURITY_NAME   1404
 

Definition at line 107 of file usm_v3.h.

#define SNMPv3_USM_UNSUPPORTED_AUTHPROTOCOL   1412
 

Definition at line 115 of file usm_v3.h.

#define SNMPv3_USM_UNSUPPORTED_PRIVPROTOCOL   1413
 

Definition at line 116 of file usm_v3.h.

#define SNMPv3_USM_UNSUPPORTED_SECURITY_LEVEL   1403
 

Definition at line 106 of file usm_v3.h.

#define SNMPv3_usmAES128PrivProtocol   SNMP_PRIVPROTOCOL_AES128
 

Definition at line 944 of file usm_v3.h.

#define SNMPv3_usmAES192PrivProtocol   SNMP_PRIVPROTOCOL_AES192
 

Definition at line 945 of file usm_v3.h.

#define SNMPv3_usmAES256PrivProtocol   SNMP_PRIVPROTOCOL_AES256
 

Definition at line 946 of file usm_v3.h.

#define SNMPv3_usmDESPrivProtocol   SNMP_PRIVPROTOCOL_DES
 

Definition at line 942 of file usm_v3.h.

#define SNMPv3_usmHMACMD5AuthProtocol   SNMP_AUTHPROTOCOL_HMACMD5
 

Definition at line 938 of file usm_v3.h.

#define SNMPv3_usmHMACSHAAuthProtocol   SNMP_AUTHPROTOCOL_HMACSHA
 

Definition at line 939 of file usm_v3.h.

#define SNMPv3_usmIDEAPrivProtocol   SNMP_PRIVPROTOCOL_IDEA
 

Definition at line 943 of file usm_v3.h.

#define SNMPv3_usmNoAuthProtocol   SNMP_AUTHPROTOCOL_NONE
 

Definition at line 937 of file usm_v3.h.

#define SNMPv3_usmNoPrivProtocol   SNMP_PRIVPROTOCOL_NONE
 

Definition at line 941 of file usm_v3.h.

#define USM_KeyUpdate   1
 

Definition at line 158 of file usm_v3.h.

#define USM_PasswordAllKeyUpdate   4
 

Definition at line 161 of file usm_v3.h.

#define USM_PasswordKeyUpdate   3
 

Definition at line 160 of file usm_v3.h.

#define USM_PasswordUpdate   2
 

Definition at line 159 of file usm_v3.h.


Typedef Documentation

typedef void(* usm_add_user_callback)(const OctetStr &engine_id, const OctetStr &usm_user_name, const OctetStr &usm_user_security_name, const int auth_protocol, const OctetStr &auth_key, const int priv_protocol, const OctetStr &priv_key)
 

Definition at line 198 of file usm_v3.h.


Generated on Tue Jan 4 22:42:14 2005 for SNMP++ by doxygen 1.3.2