|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* snmpusm.h
|
|
Packit |
fcad23 |
*
|
|
Packit |
fcad23 |
* Header file for USM support.
|
|
Packit |
fcad23 |
*
|
|
Packit |
fcad23 |
* Portions of this file are copyrighted by:
|
|
Packit |
fcad23 |
* Copyright (c) 2016 VMware, Inc. All rights reserved.
|
|
Packit |
fcad23 |
* Use is subject to license terms specified in the COPYING file
|
|
Packit |
fcad23 |
* distributed with the Net-SNMP package.
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#ifndef SNMPUSM_H
|
|
Packit |
fcad23 |
#define SNMPUSM_H
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#include <net-snmp/library/callback.h>
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#ifdef __cplusplus
|
|
Packit |
fcad23 |
extern "C" {
|
|
Packit |
fcad23 |
#endif
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define WILDCARDSTRING "*"
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* General.
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
#define USM_MAX_ID_LENGTH 1024 /* In bytes. */
|
|
Packit |
fcad23 |
#define USM_MAX_SALT_LENGTH 128 /* In BITS. */
|
|
Packit |
fcad23 |
#define USM_DES_SALT_LENGTH 64 /* In BITS. */
|
|
Packit |
fcad23 |
#define USM_AES_SALT_LENGTH 128 /* In BITS. */
|
|
Packit |
fcad23 |
#define USM_MAX_KEYEDHASH_LENGTH 128 /* In BITS. */
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_TIME_WINDOW 150
|
|
Packit |
fcad23 |
#define USM_MD5_AND_SHA_AUTH_LEN 12 /* bytes */
|
|
Packit |
fcad23 |
#define USM_HMAC128SHA224_AUTH_LEN 16 /* OPTIONAL */
|
|
Packit |
fcad23 |
#define USM_HMAC192SHA256_AUTH_LEN 24 /* MUST */
|
|
Packit |
fcad23 |
#define USM_HMAC256SHA384_AUTH_LEN 32 /* OPTIONAL */
|
|
Packit |
fcad23 |
#define USM_HMAC384SHA512_AUTH_LEN 48 /* SHOULD */
|
|
Packit |
fcad23 |
#define USM_MAX_AUTHSIZE USM_HMAC384SHA512_AUTH_LEN
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_SEC_MODEL_NUMBER SNMP_SEC_MODEL_USM
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Structures.
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
struct usmStateReference {
|
|
Packit Service |
1b8caa |
int refcnt;
|
|
Packit |
fcad23 |
char *usr_name;
|
|
Packit |
fcad23 |
size_t usr_name_length;
|
|
Packit |
fcad23 |
u_char *usr_engine_id;
|
|
Packit |
fcad23 |
size_t usr_engine_id_length;
|
|
Packit |
fcad23 |
oid *usr_auth_protocol;
|
|
Packit |
fcad23 |
size_t usr_auth_protocol_length;
|
|
Packit |
fcad23 |
u_char *usr_auth_key;
|
|
Packit |
fcad23 |
size_t usr_auth_key_length;
|
|
Packit |
fcad23 |
oid *usr_priv_protocol;
|
|
Packit |
fcad23 |
size_t usr_priv_protocol_length;
|
|
Packit |
fcad23 |
u_char *usr_priv_key;
|
|
Packit |
fcad23 |
size_t usr_priv_key_length;
|
|
Packit |
fcad23 |
u_int usr_sec_level;
|
|
Packit |
fcad23 |
};
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* struct usmUser: a structure to represent a given user in a list
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Note: Any changes made to this structure need to be reflected in
|
|
Packit |
fcad23 |
* the following functions:
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
struct usmUser;
|
|
Packit |
fcad23 |
struct usmUser {
|
|
Packit |
fcad23 |
u_int flags;
|
|
Packit |
fcad23 |
u_char *engineID;
|
|
Packit |
fcad23 |
size_t engineIDLen;
|
|
Packit |
fcad23 |
char *name;
|
|
Packit |
fcad23 |
char *secName;
|
|
Packit |
fcad23 |
oid *cloneFrom;
|
|
Packit |
fcad23 |
size_t cloneFromLen;
|
|
Packit |
fcad23 |
oid *authProtocol;
|
|
Packit |
fcad23 |
size_t authProtocolLen;
|
|
Packit |
fcad23 |
u_char *authKey;
|
|
Packit |
fcad23 |
size_t authKeyLen;
|
|
Packit |
fcad23 |
u_char *authKeyKu;
|
|
Packit |
fcad23 |
size_t authKeyKuLen;
|
|
Packit |
fcad23 |
oid *privProtocol;
|
|
Packit |
fcad23 |
size_t privProtocolLen;
|
|
Packit |
fcad23 |
u_char *privKeyKu;
|
|
Packit |
fcad23 |
size_t privKeyKuLen;
|
|
Packit |
fcad23 |
u_char *privKey;
|
|
Packit |
fcad23 |
size_t privKeyLen;
|
|
Packit |
fcad23 |
u_char *userPublicString;
|
|
Packit |
fcad23 |
size_t userPublicStringLen;
|
|
Packit |
fcad23 |
int userStatus;
|
|
Packit |
fcad23 |
int userStorageType;
|
|
Packit |
fcad23 |
/* these are actually DH * pointers but only if openssl is avail. */
|
|
Packit |
fcad23 |
void *usmDHUserAuthKeyChange;
|
|
Packit |
fcad23 |
void *usmDHUserPrivKeyChange;
|
|
Packit |
fcad23 |
struct usmUser *next;
|
|
Packit |
fcad23 |
struct usmUser *prev;
|
|
Packit |
fcad23 |
};
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USMUSER_FLAG_KEEP_MASTER_KEY 0x01
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/*
|
|
Packit |
fcad23 |
* Prototypes.
|
|
Packit |
fcad23 |
*/
|
|
Packit |
fcad23 |
struct usmStateReference *usm_malloc_usmStateReference(void);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
void usm_free_usmStateReference(void *old);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_set_usmStateReference_name(struct usmStateReference
|
|
Packit |
fcad23 |
*ref, char *name,
|
|
Packit |
fcad23 |
size_t name_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_set_usmStateReference_engine_id(struct
|
|
Packit |
fcad23 |
usmStateReference
|
|
Packit |
fcad23 |
*ref,
|
|
Packit |
fcad23 |
u_char * engine_id,
|
|
Packit |
fcad23 |
size_t
|
|
Packit |
fcad23 |
engine_id_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_set_usmStateReference_auth_protocol(struct
|
|
Packit |
fcad23 |
usmStateReference
|
|
Packit |
fcad23 |
*ref,
|
|
Packit |
fcad23 |
oid *
|
|
Packit |
fcad23 |
auth_protocol,
|
|
Packit |
fcad23 |
size_t
|
|
Packit |
fcad23 |
auth_protocol_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_set_usmStateReference_auth_key(struct
|
|
Packit |
fcad23 |
usmStateReference
|
|
Packit |
fcad23 |
*ref,
|
|
Packit |
fcad23 |
u_char * auth_key,
|
|
Packit |
fcad23 |
size_t
|
|
Packit |
fcad23 |
auth_key_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_set_usmStateReference_priv_protocol(struct
|
|
Packit |
fcad23 |
usmStateReference
|
|
Packit |
fcad23 |
*ref,
|
|
Packit |
fcad23 |
oid *
|
|
Packit |
fcad23 |
priv_protocol,
|
|
Packit |
fcad23 |
size_t
|
|
Packit |
fcad23 |
priv_protocol_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_set_usmStateReference_priv_key(struct
|
|
Packit |
fcad23 |
usmStateReference
|
|
Packit |
fcad23 |
*ref,
|
|
Packit |
fcad23 |
u_char * priv_key,
|
|
Packit |
fcad23 |
size_t
|
|
Packit |
fcad23 |
priv_key_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_set_usmStateReference_sec_level(struct
|
|
Packit |
fcad23 |
usmStateReference
|
|
Packit |
fcad23 |
*ref,
|
|
Packit |
fcad23 |
int sec_level);
|
|
Packit |
fcad23 |
int usm_clone_usmStateReference(struct usmStateReference *from,
|
|
Packit |
fcad23 |
struct usmStateReference **to);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#ifdef NETSNMP_ENABLE_TESTING_CODE
|
|
Packit |
fcad23 |
void emergency_print(u_char * field, u_int length);
|
|
Packit |
fcad23 |
#endif
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int asn_predict_int_length(int type, long number,
|
|
Packit |
fcad23 |
size_t len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int asn_predict_length(int type, u_char * ptr,
|
|
Packit |
fcad23 |
size_t u_char_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_set_salt(u_char * iv,
|
|
Packit |
fcad23 |
size_t * iv_length,
|
|
Packit |
fcad23 |
u_char * priv_salt,
|
|
Packit |
fcad23 |
size_t priv_salt_length,
|
|
Packit |
fcad23 |
u_char * msgSalt);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
int usm_extend_user_kul(struct usmUser *user,
|
|
Packit |
fcad23 |
u_int privKeyBufSize);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_parse_security_parameters(u_char * secParams,
|
|
Packit |
fcad23 |
size_t remaining,
|
|
Packit |
fcad23 |
u_char * secEngineID,
|
|
Packit |
fcad23 |
size_t * secEngineIDLen,
|
|
Packit |
fcad23 |
u_int * boots_uint,
|
|
Packit |
fcad23 |
u_int * time_uint,
|
|
Packit |
fcad23 |
char *secName,
|
|
Packit |
fcad23 |
size_t * secNameLen,
|
|
Packit |
fcad23 |
u_char * signature,
|
|
Packit |
fcad23 |
size_t *
|
|
Packit |
fcad23 |
signature_length,
|
|
Packit |
fcad23 |
u_char * salt,
|
|
Packit |
fcad23 |
size_t * salt_length,
|
|
Packit |
fcad23 |
u_char ** data_ptr);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_check_and_update_timeliness(u_char * secEngineID,
|
|
Packit |
fcad23 |
size_t secEngineIDLen,
|
|
Packit |
fcad23 |
u_int boots_uint,
|
|
Packit |
fcad23 |
u_int time_uint,
|
|
Packit |
fcad23 |
int *error);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
SecmodSessionCallback usm_open_session;
|
|
Packit |
fcad23 |
SecmodOutMsg usm_secmod_generate_out_msg;
|
|
Packit |
fcad23 |
SecmodOutMsg usm_secmod_generate_out_msg;
|
|
Packit |
fcad23 |
SecmodInMsg usm_secmod_process_in_msg;
|
|
Packit |
fcad23 |
int usm_generate_out_msg(int, u_char *, size_t, int, int,
|
|
Packit |
fcad23 |
u_char *, size_t, char *, size_t,
|
|
Packit |
fcad23 |
int, u_char *, size_t, void *,
|
|
Packit |
fcad23 |
u_char *, size_t *, u_char **,
|
|
Packit |
fcad23 |
size_t *);
|
|
Packit |
fcad23 |
int usm_rgenerate_out_msg(int, u_char *, size_t, int, int,
|
|
Packit |
fcad23 |
u_char *, size_t, char *, size_t,
|
|
Packit |
fcad23 |
int, u_char *, size_t, void *,
|
|
Packit |
fcad23 |
u_char **, size_t *, size_t *);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_process_in_msg(int, size_t, u_char *, int, int,
|
|
Packit |
fcad23 |
u_char *, size_t, u_char *,
|
|
Packit |
fcad23 |
size_t *, char *, size_t *,
|
|
Packit |
fcad23 |
u_char **, size_t *, size_t *,
|
|
Packit |
fcad23 |
void **, netsnmp_session *, u_char);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
int usm_check_secLevel(int level, struct usmUser *user);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
struct usmUser *usm_get_userList(void);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
struct usmUser *usm_get_user(u_char * engineID, size_t engineIDLen,
|
|
Packit |
fcad23 |
char *name);
|
|
Packit |
fcad23 |
struct usmUser *usm_get_user_from_list(u_char * engineID,
|
|
Packit |
fcad23 |
size_t engineIDLen, char *name,
|
|
Packit |
fcad23 |
struct usmUser *userList,
|
|
Packit |
fcad23 |
int use_default);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
struct usmUser *usm_add_user(struct usmUser *user);
|
|
Packit |
fcad23 |
struct usmUser *usm_add_user_to_list(struct usmUser *user,
|
|
Packit |
fcad23 |
struct usmUser *userList);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
struct usmUser *usm_free_user(struct usmUser *user);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
struct usmUser *usm_create_user(void);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
struct usmUser *usm_create_initial_user(const char *name,
|
|
Packit |
fcad23 |
const oid * authProtocol,
|
|
Packit |
fcad23 |
size_t authProtocolLen,
|
|
Packit |
fcad23 |
const oid * privProtocol,
|
|
Packit |
fcad23 |
size_t privProtocolLen);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
struct usmUser *usm_cloneFrom_user(struct usmUser *from,
|
|
Packit |
fcad23 |
struct usmUser *to);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
struct usmUser *usm_remove_user(struct usmUser *user);
|
|
Packit |
fcad23 |
struct usmUser *usm_remove_user_from_list(struct usmUser *user,
|
|
Packit |
fcad23 |
struct usmUser **userList);
|
|
Packit |
fcad23 |
char *get_objid(char *line, oid ** optr, size_t * len);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
void usm_save_users(const char *token, const char *type);
|
|
Packit |
fcad23 |
void usm_save_users_from_list(struct usmUser *user,
|
|
Packit |
fcad23 |
const char *token,
|
|
Packit |
fcad23 |
const char *type);
|
|
Packit |
fcad23 |
void usm_save_user(struct usmUser *user, const char *token,
|
|
Packit |
fcad23 |
const char *type);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
SNMPCallback usm_store_users;
|
|
Packit |
fcad23 |
struct usmUser *usm_read_user(const char *line);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
void usm_parse_config_usmUser(const char *token,
|
|
Packit |
fcad23 |
char *line);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
void usm_set_password(const char *token, char *line);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
void usm_set_user_password(struct usmUser *user,
|
|
Packit |
fcad23 |
const char *token, char *line);
|
|
Packit |
fcad23 |
void init_usm(void);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
void init_usm_conf(const char *app);
|
|
Packit |
fcad23 |
int init_usm_post_config(int majorid, int minorid,
|
|
Packit |
fcad23 |
void *serverarg, void *clientarg);
|
|
Packit |
fcad23 |
int deinit_usm_post_config(int majorid, int minorid, void *serverarg,
|
|
Packit |
fcad23 |
void *clientarg);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
void clear_user_list(void);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
void shutdown_usm(void);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
int usm_lookup_auth_type(const char *str);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
const char *usm_lookup_auth_str(int value);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
oid *usm_get_auth_oid(int auth_type, size_t *oid_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
int usm_lookup_priv_type(const char *str);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
const char *usm_lookup_priv_str(int value);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
oid *usm_get_priv_oid(int priv_type, size_t *oid_len);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_AUTH_DFLT -1
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_AUTH_NONE NETSNMP_USMAUTH_NONE
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_AUTH_MD5 NETSNMP_USMAUTH_HMACMD5
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_AUTH_SHA1 NETSNMP_USMAUTH_HMACSHA1
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_AUTH_SHA USM_CREATE_USER_AUTH_SHA1
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_AUTH_SHA512 NETSNMP_USMAUTH_HMAC384SHA512
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_AUTH_SHA384 NETSNMP_USMAUTH_HMAC256SHA384
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_AUTH_SHA256 NETSNMP_USMAUTH_HMAC192SHA256
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_AUTH_SHA224 NETSNMP_USMAUTH_HMAC128SHA224
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
/** flags for variants fo priv algorithsm */
|
|
Packit |
fcad23 |
#define USM_DES_FLAG_3 0x000100
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_AES_FLAG_192 0x000100
|
|
Packit |
fcad23 |
#define USM_AES_FLAG_256 0x000200
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_AES_REEDER_FLAG 0x030000
|
|
Packit |
fcad23 |
#define USM_AES_FLAG_CISCO 0x100000
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_PRIV_MASK_ALG 0x0000ff
|
|
Packit |
fcad23 |
#define USM_PRIV_MASK_VARIANT 0x00ff00
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_PRIV_DFLT -1
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_PRIV_NONE 0
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_PRIV_DES 0x01
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_PRIV_3DES \
|
|
Packit |
fcad23 |
(USM_CREATE_USER_PRIV_DES | USM_DES_FLAG_3)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_PRIV_AES 0x02
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_PRIV_AES192 \
|
|
Packit |
fcad23 |
(USM_CREATE_USER_PRIV_AES | USM_AES_FLAG_192)
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_PRIV_AES256 \
|
|
Packit |
fcad23 |
(USM_CREATE_USER_PRIV_AES | USM_AES_FLAG_256)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_PRIV_AES192_CISCO \
|
|
Packit |
fcad23 |
(USM_CREATE_USER_PRIV_AES | USM_AES_FLAG_192 | USM_AES_FLAG_CISCO \
|
|
Packit |
fcad23 |
| USM_AES_REEDER_FLAG)
|
|
Packit |
fcad23 |
#define USM_CREATE_USER_PRIV_AES256_CISCO \
|
|
Packit |
fcad23 |
(USM_CREATE_USER_PRIV_AES | USM_AES_FLAG_256 | USM_AES_FLAG_CISCO \
|
|
Packit |
fcad23 |
| USM_AES_REEDER_FLAG)
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
struct usmUser *usm_create_usmUser(const char *userName,
|
|
Packit |
fcad23 |
const char *engineID, u_int flags,
|
|
Packit |
fcad23 |
int authType, const char *authPass,
|
|
Packit |
fcad23 |
int privType, const char *privPass,
|
|
Packit |
fcad23 |
const char **errorMsg);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
int usm_remove_usmUser(struct usmUser *user);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
int usm_remove_usmUser_from_list(struct usmUser *user,
|
|
Packit |
fcad23 |
struct usmUser **ppuserList);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
struct usmUser *usm_create_usmUser_from_string(char *line,
|
|
Packit |
fcad23 |
const char **errorMsg);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
int usm_create_user_from_session(netsnmp_session * session);
|
|
Packit |
fcad23 |
SecmodPostDiscovery usm_create_user_from_session_hook;
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
void usm_parse_create_usmUser(const char *token,
|
|
Packit |
fcad23 |
char *line);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
const oid *get_default_authtype(size_t *);
|
|
Packit |
fcad23 |
NETSNMP_IMPORT
|
|
Packit |
fcad23 |
const oid *get_default_privtype(size_t *);
|
|
Packit |
fcad23 |
void snmpv3_authtype_conf(const char *word, char *cptr);
|
|
Packit |
fcad23 |
void snmpv3_privtype_conf(const char *word, char *cptr);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#ifdef __cplusplus
|
|
Packit |
fcad23 |
}
|
|
Packit |
fcad23 |
#endif
|
|
Packit |
fcad23 |
#endif /* SNMPUSM_H */
|