📄 nvhardv3.c
字号:
acc = SNMP_V3_Access_Create();if (acc == 0) return(1);SNMP_V3_Access_Set_Prefix_Match(acc, 1);SNMP_V3_Access_Set_Status(acc, 1);if (SNMP_V3_Access_Set_Read(acc, (bits8_t *) "two", 3, BFL_IS_ALLOC) || SNMP_V3_Access_Set_Write(acc, (bits8_t *) "two", 3, BFL_IS_ALLOC) || SNMP_V3_Access_Set_Notify(acc, (bits8_t *) "two", 3, BFL_IS_ALLOC) || SNMP_V3_Access_Install(acc, (bits8_t *) "initial", 7, (bits8_t *) "", 0, 3, 2)) return(1);#if INSTALL_ENVOY_SNMP_COEXISTENCEacc = SNMP_V3_Access_Create();if (acc == 0) return(1);SNMP_V3_Access_Set_Prefix_Match(acc, 1);SNMP_V3_Access_Set_Status(acc, 1);if (SNMP_V3_Access_Set_Read(acc, (bits8_t *) "two", 3, BFL_IS_ALLOC) || SNMP_V3_Access_Set_Write(acc, (bits8_t *) "two", 3, BFL_IS_ALLOC) || SNMP_V3_Access_Set_Notify(acc, (bits8_t *) "two", 3, BFL_IS_ALLOC) || SNMP_V3_Access_Install(acc, (bits8_t *) "full", 4, (bits8_t *) "", 0, 0, 1)) return(1);acc = SNMP_V3_Access_Create();if (acc == 0) return(1);SNMP_V3_Access_Set_Prefix_Match(acc, 1);SNMP_V3_Access_Set_Status(acc, 1);if (SNMP_V3_Access_Set_Read(acc, (bits8_t *) "one", 3, BFL_IS_ALLOC) || SNMP_V3_Access_Install(acc, (bits8_t *) "limited", 7, (bits8_t *) "", 0, 0, 1)) return(1);#endifreturn(0);}int _nvhard_read_v3contexts(){SNMP_V3_Context_Add((bits8_t *) "", 0);return(0);}#if INSTALL_ENVOY_SNMP_V3_TARGETint _nvhard_read_v3taddr(){OIDC_T udpdomain[] = { 1, 3, 6, 1, 6, 1, 1 };bits8_t addr1[6] = { 0x0a, 0x1, 0x1, 0xb7, 0x0, 0xa1 };bits8_t addr2[6] = { 0x0a, 0x1, 0x1, 0xb8, 0x0, 0xa1 };bits8_t addr3[6] = { 0x0a, 0x1, 0x1, 0xb9, 0x0, 0xa1 };SNMP_TARGET_ADDR_T *taddr;if ((taddr = SNMP_Target_Addr_Create()) == 0) return 1;SNMP_Target_Addr_Set_Status(taddr, 1);if (build_object_id(7, udpdomain, SNMP_Target_Addr_Get_TDomain(taddr))) { SNMP_Target_Addr_Destroy(taddr); return 1; }if (SNMP_Target_Addr_Set_TAddress(taddr, addr1, 6, BFL_IS_ALLOC)) { SNMP_Target_Addr_Destroy(taddr); return 1; }SNMP_Target_Addr_Set_Timeout(taddr, 1500);SNMP_Target_Addr_Set_Retry_Count(taddr, 3);if (SNMP_Target_Addr_Set_Tag_List(taddr, (bits8_t *) "fred bob group1", 15, BFL_IS_ALLOC)){ SNMP_Target_Addr_Destroy(taddr); return 1; }if (SNMP_Target_Addr_Set_Params(taddr, (bits8_t *) "NoAuthNoPriv-md5", 16, BFL_IS_ALLOC)){ SNMP_Target_Addr_Destroy(taddr); return 1; }if (SNMP_Target_Addr_Install(taddr, (bits8_t *) "addr1", 5)) { SNMP_Target_Addr_Destroy(taddr); return 1; }if ((taddr = SNMP_Target_Addr_Create()) == 0) return 1;SNMP_Target_Addr_Set_Status(taddr, 1);if (build_object_id(7, udpdomain, SNMP_Target_Addr_Get_TDomain(taddr))) { SNMP_Target_Addr_Destroy(taddr); return 1; }if (SNMP_Target_Addr_Set_TAddress(taddr, addr2, 6, BFL_IS_ALLOC)) { SNMP_Target_Addr_Destroy(taddr); return 1; }SNMP_Target_Addr_Set_Timeout(taddr, 1500);SNMP_Target_Addr_Set_Retry_Count(taddr, 3);if (SNMP_Target_Addr_Set_Tag_List(taddr, (bits8_t *) "group1\tbob fred", 15, BFL_IS_ALLOC)){ SNMP_Target_Addr_Destroy(taddr); return 1; }if (SNMP_Target_Addr_Set_Params(taddr, (bits8_t *) "AuthNoPriv-md5", 14, BFL_IS_ALLOC)) { SNMP_Target_Addr_Destroy(taddr); return 1; }if (SNMP_Target_Addr_Install(taddr, (bits8_t *) "addr2", 5)) { SNMP_Target_Addr_Destroy(taddr); return 1; }if ((taddr = SNMP_Target_Addr_Create()) == 0) return 1;SNMP_Target_Addr_Set_Status(taddr, 1);if (build_object_id(7, udpdomain, SNMP_Target_Addr_Get_TDomain(taddr))) { SNMP_Target_Addr_Destroy(taddr); return 1; }if (SNMP_Target_Addr_Set_TAddress(taddr, addr3, 6, BFL_IS_ALLOC)) { SNMP_Target_Addr_Destroy(taddr); return 1; }SNMP_Target_Addr_Set_Timeout(taddr, 1500);SNMP_Target_Addr_Set_Retry_Count(taddr, 3);if (SNMP_Target_Addr_Set_Tag_List(taddr, (bits8_t *) "group3", 6, BFL_IS_ALLOC)) { SNMP_Target_Addr_Destroy(taddr); return 1; }if (SNMP_Target_Addr_Set_Params(taddr, (bits8_t *) "AuthPriv-md5", 12, BFL_IS_ALLOC)) { SNMP_Target_Addr_Destroy(taddr); return 1; }if (SNMP_Target_Addr_Install(taddr, (bits8_t *) "addr3", 5)) { SNMP_Target_Addr_Destroy(taddr); return 1; }return 0;}int _nvhard_read_v3tparam(){SNMP_TARGET_PARAMS_T *tparam;if ((tparam = SNMP_Target_Params_Create()) == 0) return 1;if (SNMP_Target_Params_Set_Sec_Name(tparam, (bits8_t *) "initialmd5", 10, BFL_IS_ALLOC)) { SNMP_Target_Params_Destroy(tparam); return 1; }SNMP_Target_Params_Set_Status(tparam, 1);SNMP_Target_Params_Set_MP_Model(tparam, 3);SNMP_Target_Params_Set_Sec_Model(tparam, 3);SNMP_Target_Params_Set_Sec_Level(tparam, 1);if (SNMP_Target_Params_Install(tparam, (bits8_t *) "NoAuthNoPriv-md5", 16)) { SNMP_Target_Params_Destroy(tparam); return 1; }if ((tparam = SNMP_Target_Params_Create()) == 0) return 1;if (SNMP_Target_Params_Set_Sec_Name(tparam, (bits8_t *) "initialmd5", 10, BFL_IS_ALLOC)) { SNMP_Target_Params_Destroy(tparam); return 1; }SNMP_Target_Params_Set_Status(tparam, 1);SNMP_Target_Params_Set_MP_Model(tparam, 3);SNMP_Target_Params_Set_Sec_Model(tparam, 3);SNMP_Target_Params_Set_Sec_Level(tparam, 2);if (SNMP_Target_Params_Install(tparam, (bits8_t *) "AuthNoPriv-md5", 14)) { SNMP_Target_Params_Destroy(tparam); return 1; }if ((tparam = SNMP_Target_Params_Create()) == 0) return 1;if (SNMP_Target_Params_Set_Sec_Name(tparam, (bits8_t *) "initialmd5", 10, BFL_IS_ALLOC)) { SNMP_Target_Params_Destroy(tparam); return 1; }SNMP_Target_Params_Set_Status(tparam, 1);SNMP_Target_Params_Set_MP_Model(tparam, 3);SNMP_Target_Params_Set_Sec_Model(tparam, 3);SNMP_Target_Params_Set_Sec_Level(tparam, 3);if (SNMP_Target_Params_Install(tparam, (bits8_t *) "AuthPriv-md5", 12)) { SNMP_Target_Params_Destroy(tparam); return 1; }if ((tparam = SNMP_Target_Params_Create()) == 0) return 1;if (SNMP_Target_Params_Set_Sec_Name(tparam, (bits8_t *) "private_user", 12, BFL_IS_ALLOC)) { SNMP_Target_Params_Destroy(tparam); return 1; }SNMP_Target_Params_Set_Status(tparam, 1);SNMP_Target_Params_Set_MP_Model(tparam, 0);SNMP_Target_Params_Set_Sec_Model(tparam, 1);SNMP_Target_Params_Set_Sec_Level(tparam, 1);if (SNMP_Target_Params_Install(tparam, (bits8_t *) "SNMPv1", 6)) { SNMP_Target_Params_Destroy(tparam); return 1; }if ((tparam = SNMP_Target_Params_Create()) == 0) return 1;if (SNMP_Target_Params_Set_Sec_Name(tparam, (bits8_t *) "private_user", 12, BFL_IS_ALLOC)) { SNMP_Target_Params_Destroy(tparam); return 1; }SNMP_Target_Params_Set_Status(tparam, 1);SNMP_Target_Params_Set_MP_Model(tparam, 1);SNMP_Target_Params_Set_Sec_Model(tparam, 2);SNMP_Target_Params_Set_Sec_Level(tparam, 1);if (SNMP_Target_Params_Install(tparam, (bits8_t *) "SNMPv2", 6)) { SNMP_Target_Params_Destroy(tparam); return 1; }return 0;}#if INSTALL_ENVOY_SNMP_V3_NOTIFYint _nvhard_read_v3notify(){SNMP_NOTIFY_T *notify;if ((notify = SNMP_Notify_Create()) == 0) return 1;if (SNMP_Notify_Set_Tag(notify, (bits8_t *) "group3", 6, BFL_IS_ALLOC)) { SNMP_Notify_Destroy(notify); return 1; }SNMP_Notify_Set_Status(notify, 1);SNMP_Notify_Set_Type(notify, 2);if (SNMP_Notify_Install(notify, (bits8_t *) "group3", 6)) { SNMP_Notify_Destroy(notify); return 1; }return 0;}int _nvhard_read_v3nprof(){SNMP_NOTIFY_FILTER_PROFILE_T *nprof;if ((nprof = SNMP_Notify_Profile_Create()) == 0) return 1;if (SNMP_Notify_Profile_Set_Profile(nprof, (bits8_t *) "profile1", 8, BFL_IS_ALLOC)) { SNMP_Notify_Profile_Destroy(nprof); return 1; }SNMP_Notify_Profile_Set_Status(nprof, 1);if (SNMP_Notify_Profile_Install(nprof, (bits8_t *) "NoAuthNoPriv-md5", 16)) { SNMP_Notify_Profile_Destroy(nprof); return 1; }if ((nprof = SNMP_Notify_Profile_Create()) == 0) return 1;if (SNMP_Notify_Profile_Set_Profile(nprof, (bits8_t *) "profile2", 8, BFL_IS_ALLOC)) { SNMP_Notify_Profile_Destroy(nprof); return 1; }SNMP_Notify_Profile_Set_Status(nprof, 1);if (SNMP_Notify_Profile_Install(nprof, (bits8_t *) "AuthNoPriv-md5", 14)) { SNMP_Notify_Profile_Destroy(nprof); return 1; }if ((nprof = SNMP_Notify_Profile_Create()) == 0) return 1;if (SNMP_Notify_Profile_Set_Profile(nprof, (bits8_t *) "profile3", 8, BFL_IS_ALLOC)) { SNMP_Notify_Profile_Destroy(nprof); return 1; }SNMP_Notify_Profile_Set_Status(nprof, 1);if (SNMP_Notify_Profile_Install(nprof, (bits8_t *) "AuthPriv-md5", 12)) { SNMP_Notify_Profile_Destroy(nprof); return 1; }return 0;}int _nvhard_read_v3nfilt(){SNMP_NOTIFY_FILTER_T *nfilt;OIDC_T subtree[] = { 99, 3, 6, 1, 6, 3, 1, 1, 4, 1 };OBJ_ID_T stree; bits8_t mask[1] = {0x7f};stree.num_components = sizeof(subtree)/sizeof(OIDC_T);stree.component_list = subtree;if ((nfilt = SNMP_Notify_Filter_Create()) == 0) return 1;if (SNMP_Notify_Filter_Set_Mask(nfilt, mask, 1, BFL_IS_ALLOC)) { SNMP_Notify_Filter_Destroy(nfilt); return 1; }SNMP_Notify_Filter_Set_Status(nfilt, 1);SNMP_Notify_Filter_Set_Type(nfilt, 1);if (SNMP_Notify_Filter_Install(nfilt, (bits8_t *) "profile1", 8, &stree)) { SNMP_Notify_Filter_Destroy(nfilt); return 1; }if ((nfilt = SNMP_Notify_Filter_Create()) == 0) return 1;if (SNMP_Notify_Filter_Set_Mask(nfilt, mask, 1, BFL_IS_ALLOC)) { SNMP_Notify_Filter_Destroy(nfilt); return 1; }SNMP_Notify_Filter_Set_Status(nfilt, 1);SNMP_Notify_Filter_Set_Type(nfilt, 1);if (SNMP_Notify_Filter_Install(nfilt, (bits8_t *) "profile2", 8, &stree)) { SNMP_Notify_Filter_Destroy(nfilt); return 1; }if ((nfilt = SNMP_Notify_Filter_Create()) == 0) return 1;if (SNMP_Notify_Filter_Set_Mask(nfilt, mask, 1, BFL_IS_ALLOC)) { SNMP_Notify_Filter_Destroy(nfilt); return 1; }SNMP_Notify_Filter_Set_Status(nfilt, 1);SNMP_Notify_Filter_Set_Type(nfilt, 1);if (SNMP_Notify_Filter_Install(nfilt, (bits8_t *) "profile3", 8, &stree)) { SNMP_Notify_Filter_Destroy(nfilt); return 1; }return 0;}#endif /* INSTALL_ENVOY_SNMP_V3_NOTIFY */#if INSTALL_ENVOY_SNMP_V3_PROXYint _nvhard_read_v3proxy(){SNMP_PROXY_T *proxy;bits8_t id2[] = {0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x02};bits8_t id3[] = {0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x03};if ((proxy = SNMP_Proxy_Create()) == 0) return 1;SNMP_Proxy_Set_Proxy_Type(proxy, PROXY_TYPE_INFORM);SNMP_Proxy_Set_Storage(proxy, ETC_STO_VOL);SNMP_Proxy_Set_Status(proxy, ETC_RS_ACTIVE);if (SNMP_Proxy_Set_Target_Params_In(proxy, (bits8_t *) "NoAuthNoPriv-md5", 16, BFL_IS_ALLOC) || SNMP_Proxy_Set_Multiple_Target_Out(proxy, (bits8_t *) "group1", 6, BFL_IS_ALLOC) || SNMP_Proxy_Set_Context_Engine_ID(proxy, id2, 12, BFL_IS_ALLOC) || SNMP_Proxy_Install(proxy, (bits8_t *) "inform_proxy", 12)) { SNMP_Proxy_Destroy(proxy); return 1; } if ((proxy = SNMP_Proxy_Create()) == 0) return 1;SNMP_Proxy_Set_Proxy_Type(proxy, PROXY_TYPE_READ);SNMP_Proxy_Set_Storage(proxy, ETC_STO_VOL);SNMP_Proxy_Set_Status(proxy, ETC_RS_ACTIVE);if (SNMP_Proxy_Set_Target_Params_In(proxy, (bits8_t *) "NoAuthNoPriv-md5", 16, BFL_IS_ALLOC) || SNMP_Proxy_Set_Single_Target_Out(proxy, (bits8_t *) "addr2", 5, BFL_IS_ALLOC) || SNMP_Proxy_Set_Context_Engine_ID(proxy, id3, 12, BFL_IS_ALLOC) || SNMP_Proxy_Install(proxy, (bits8_t *) "read_proxy", 10)) { SNMP_Proxy_Destroy(proxy); return 1; } if ((proxy = SNMP_Proxy_Create()) == 0) return 1;SNMP_Proxy_Set_Proxy_Type(proxy, PROXY_TYPE_TRAP);SNMP_Proxy_Set_Storage(proxy, ETC_STO_VOL);SNMP_Proxy_Set_Status(proxy, ETC_RS_ACTIVE);if (SNMP_Proxy_Set_Target_Params_In(proxy, (bits8_t *) "AuthNoPriv-md5", 14, BFL_IS_ALLOC) || SNMP_Proxy_Set_Multiple_Target_Out(proxy, (bits8_t *) "group1", 6, BFL_IS_ALLOC) || SNMP_Proxy_Set_Context_Engine_ID(proxy, id2, 12, BFL_IS_ALLOC) || SNMP_Proxy_Install(proxy, (bits8_t *) "trap_proxy", 10)) { SNMP_Proxy_Destroy(proxy); return 1; } if ((proxy = SNMP_Proxy_Create()) == 0) return 1;SNMP_Proxy_Set_Proxy_Type(proxy, PROXY_TYPE_WRITE);SNMP_Proxy_Set_Storage(proxy, ETC_STO_VOL);SNMP_Proxy_Set_Status(proxy, ETC_RS_ACTIVE);if (SNMP_Proxy_Set_Target_Params_In(proxy, (bits8_t *) "NoAuthNoPriv-md5", 16, BFL_IS_ALLOC) || SNMP_Proxy_Set_Single_Target_Out(proxy, (bits8_t *) "addr2", 5, BFL_IS_ALLOC) || SNMP_Proxy_Set_Context_Engine_ID(proxy, id3, 12, BFL_IS_ALLOC) || SNMP_Proxy_Install(proxy, (bits8_t *) "write_proxy", 11)) { SNMP_Proxy_Destroy(proxy); return 1; }return 0;}#endif /* INSTALL_ENVOY_SNMP_V3_PROXY */#if INSTALL_ENVOY_SNMP_COEXISTENCEint _nvhard_read_community(){SNMP_COMMUNITY_T *community;if ((community = SNMP_Community_Create()) == 0) return 1;SNMP_Community_Set_Storage(community, ETC_STO_VOL);SNMP_Community_Set_Status(community, ETC_RS_ACTIVE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -