diff options
Diffstat (limited to 'agent/mibgroup/mibII/vacm_vars.h')
-rw-r--r-- | agent/mibgroup/mibII/vacm_vars.h | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/agent/mibgroup/mibII/vacm_vars.h b/agent/mibgroup/mibII/vacm_vars.h new file mode 100644 index 0000000..8093157 --- /dev/null +++ b/agent/mibgroup/mibII/vacm_vars.h @@ -0,0 +1,94 @@ +/* + * SNMPv3 View-based Access Control Model + */ + +#ifndef _MIBGROUP_VACM_H +#define _MIBGROUP_VACM_H + +#include <net-snmp/library/vacm.h> + +config_require(util_funcs) +config_require(mibII/vacm_context) +config_require(mibII/vacm_conf) +config_add_mib(SNMP-VIEW-BASED-ACM-MIB) +config_add_mib(SNMP-COMMUNITY-MIB) + + void init_vacm_vars(void); + + extern FindVarMethod var_vacm_sec2group; + extern FindVarMethod var_vacm_access; + extern FindVarMethod var_vacm_view; + + WriteMethod write_vacmGroupName; + WriteMethod write_vacmSecurityToGroupStatus; + WriteMethod write_vacmSecurityToGroupStorageType; + + WriteMethod write_vacmAccessContextMatch; + WriteMethod write_vacmAccessNotifyViewName; + WriteMethod write_vacmAccessReadViewName; + WriteMethod write_vacmAccessWriteViewName; + WriteMethod write_vacmAccessStatus; + WriteMethod write_vacmAccessStorageType; + + WriteMethod write_vacmViewSpinLock; + WriteMethod write_vacmViewMask; + WriteMethod write_vacmViewStatus; + WriteMethod write_vacmViewStorageType; + WriteMethod write_vacmViewType; + + + oid *access_generate_OID(oid * prefix, size_t prefixLen, + struct vacm_accessEntry *aptr, + size_t * length); + struct vacm_accessEntry *access_parse_accessEntry(oid * name, + size_t name_len); + int access_parse_oid(oid * oidIndex, size_t oidLen, + unsigned char **groupName, + size_t * groupNameLen, + unsigned char **contextPrefix, + size_t * contextPrefixLen, + int *model, int *level); + + oid *sec2group_generate_OID(oid * prefix, size_t prefixLen, + struct vacm_groupEntry *geptr, + size_t * length); + int sec2group_parse_oid(oid * oidIndex, size_t oidLen, + int *model, unsigned char **name, + size_t * nameLen); + struct vacm_groupEntry *sec2group_parse_groupEntry(oid * name, + size_t name_len); + + oid *view_generate_OID(oid * prefix, size_t prefixLen, + struct vacm_viewEntry *vptr, + size_t * length); + int view_parse_oid(oid * oidIndex, size_t oidLen, + unsigned char **viewName, + size_t * viewNameLen, oid ** subtree, + size_t * subtreeLen); + struct vacm_viewEntry *view_parse_viewEntry(oid * name, + size_t name_len); + + + +#define OID_SNMPVACMMIB SNMP_OID_SNMPMODULES, 16 +#define OID_VACMMIBOBJECTS OID_SNMPVACMMIB, 1 + +#define OID_VACMCONTEXTTABLE OID_VACMMIBOBJECTS, 1 +#define OID_VACMCONTEXTENTRY OID_VACMCONTEXTTABLE, 1 + +#define OID_VACMGROUPTABLE OID_VACMMIBOBJECTS, 2 +#define OID_VACMGROUPENTRY OID_VACMGROUPTABLE, 1 + +#define OID_VACMACCESSTABLE OID_VACMMIBOBJECTS, 4 +#define OID_VACMACCESSENTRY OID_VACMACCESSTABLE, 1 + +#define OID_VACMMIBVIEWS OID_VACMMIBOBJECTS, 5 +#define OID_VACMVIEWTABLE OID_VACMMIBVIEWS, 2 +#define OID_VACMVIEWENTRY OID_VACMVIEWTABLE, 1 +#define SEC2GROUP_MIB_LENGTH 11 +#define ACCESS_MIB_LENGTH 11 +#define VIEW_MIB_LENGTH 12 +#define CM_EXACT 1 +#define CM_PREFIX 2 + +#endif /* _MIBGROUP_VACM_H */ |