12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- diff --git a/thirdparty/lwip/src/apps/snmp/snmp_mib2_system.c b/thirdparty/lwip/src/apps/snmp/snmp_mib2_system.c
- index 4aa2926..f725139 100755
- --- a/thirdparty/lwip/src/apps/snmp/snmp_mib2_system.c
- +++ b/thirdparty/lwip/src/apps/snmp/snmp_mib2_system.c
- @@ -43,6 +43,10 @@
-
- #include <string.h>
-
- +#ifdef SNMP_SYS_PARAM_FILENAME
- +#include SNMP_SYS_PARAM_FILENAME
- +#endif
- +
- #if LWIP_SNMP && SNMP_LWIP_MIB2
-
- #if SNMP_USE_NETCONN
- @@ -240,7 +244,11 @@ system_get_value(const struct snmp_scalar_array_node_def *node, void *value)
- break;
- case 2: /* sysObjectID */
- {
- +#ifdef SNMP_GET_SYSOBJECTID_MTS
- + const struct snmp_obj_id* dev_enterprise_oid = SNMP_GET_SYSOBJECTID_MTS();
- +#else
- const struct snmp_obj_id* dev_enterprise_oid = snmp_get_device_enterprise_oid();
- +#endif
- MEMCPY(value, dev_enterprise_oid->id, dev_enterprise_oid->len * sizeof(u32_t));
- return dev_enterprise_oid->len * sizeof(u32_t);
- }
- @@ -284,6 +292,9 @@ system_set_test(const struct snmp_scalar_array_node_def *node, u16_t len, void *
- snmp_err_t ret = SNMP_ERR_WRONGVALUE;
- const u16_t* var_bufsize = NULL;
- const u16_t* var_wr_len;
- +#ifdef SNMP_SYS_PARAM_FILENAME
- + bool check_flag = true;
- +#endif
-
- LWIP_UNUSED_ARG(value);
-
- @@ -307,13 +318,24 @@ system_set_test(const struct snmp_scalar_array_node_def *node, u16_t len, void *
-
- /* check if value is writable at all */
- if (*var_bufsize > 0) {
- +#ifdef SNMP_SYS_PARAM_CHECK
- + check_flag = SNMP_SYS_PARAM_CHECK(value, len);
- +#endif
- if (var_wr_len == NULL) {
- /* we have to take the terminating 0 into account */
- - if (len < *var_bufsize) {
- +#ifdef SNMP_SYS_PARAM_CHECK
- + if (len <= *var_bufsize && check_flag) {
- +#else
- + if (len <= *var_bufsize) {
- +#endif
- ret = SNMP_ERR_NOERROR;
- }
- } else {
- +#ifdef SNMP_SYS_PARAM_CHECK
- + if (len <= *var_bufsize && check_flag) {
- +#else
- if (len <= *var_bufsize) {
- +#endif
- ret = SNMP_ERR_NOERROR;
- }
- }
- @@ -358,6 +380,9 @@ system_set_value(const struct snmp_scalar_array_node_def *node, u16_t len, void
- } else {
- *var_wr_len = len;
- }
- +#ifdef SNMP_SYS_PARAM_SAVE
- + SNMP_SYS_PARAM_SAVE();
- +#endif
-
- return SNMP_ERR_NOERROR;
- }
|