|
|
|
|
@ -293,8 +293,7 @@ snmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
|
|
|
|
|
msg_ps->vb_ptr->ident_len = 0; |
|
|
|
|
|
|
|
|
|
vb->value_type = msg_ps->ext_object_def.asn_type; |
|
|
|
|
LWIP_ASSERT("invalid length", msg_ps->ext_object_def.v_len <= 0xff); |
|
|
|
|
vb->value_len = (u8_t)msg_ps->ext_object_def.v_len; |
|
|
|
|
vb->value_len = msg_ps->ext_object_def.v_len; |
|
|
|
|
if (vb->value_len > 0) |
|
|
|
|
{ |
|
|
|
|
LWIP_ASSERT("SNMP_MAX_OCTET_STRING_LEN is configured too low", vb->value_len <= SNMP_MAX_VALUE_SIZE); |
|
|
|
|
@ -405,8 +404,7 @@ snmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
|
|
|
|
|
msg_ps->vb_ptr->ident_len = 0; |
|
|
|
|
|
|
|
|
|
vb->value_type = object_def.asn_type; |
|
|
|
|
LWIP_ASSERT("invalid length", object_def.v_len <= 0xff); |
|
|
|
|
vb->value_len = (u8_t)object_def.v_len; |
|
|
|
|
vb->value_len = object_def.v_len; |
|
|
|
|
if (vb->value_len > 0) |
|
|
|
|
{ |
|
|
|
|
LWIP_ASSERT("SNMP_MAX_OCTET_STRING_LEN is configured too low", |
|
|
|
|
@ -505,10 +503,9 @@ snmp_msg_getnext_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
|
|
|
|
|
/* get_value() answer */ |
|
|
|
|
en = msg_ps->ext_mib_node; |
|
|
|
|
|
|
|
|
|
LWIP_ASSERT("invalid length", msg_ps->ext_object_def.v_len <= 0xff); |
|
|
|
|
vb = snmp_varbind_alloc(&msg_ps->ext_oid, |
|
|
|
|
msg_ps->ext_object_def.asn_type, |
|
|
|
|
(u8_t)msg_ps->ext_object_def.v_len); |
|
|
|
|
msg_ps->ext_object_def.v_len); |
|
|
|
|
if (vb != NULL) |
|
|
|
|
{ |
|
|
|
|
en->get_value_a(request_id, &msg_ps->ext_object_def, vb->value_len, vb->value); |
|
|
|
|
@ -580,8 +577,7 @@ snmp_msg_getnext_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
|
|
|
|
|
msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF; |
|
|
|
|
mn->get_object_def(1, &oid.id[oid.len - 1], &object_def); |
|
|
|
|
|
|
|
|
|
LWIP_ASSERT("invalid length", object_def.v_len <= 0xff); |
|
|
|
|
vb = snmp_varbind_alloc(&oid, object_def.asn_type, (u8_t)object_def.v_len); |
|
|
|
|
vb = snmp_varbind_alloc(&oid, object_def.asn_type, object_def.v_len); |
|
|
|
|
if (vb != NULL) |
|
|
|
|
{ |
|
|
|
|
msg_ps->state = SNMP_MSG_INTERNAL_GET_VALUE; |
|
|
|
|
@ -1318,8 +1314,7 @@ snmp_pdu_dec_varbindlist(struct pbuf *p, u16_t ofs, u16_t *ofs_ret, struct snmp_
|
|
|
|
|
break; |
|
|
|
|
case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR): |
|
|
|
|
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_OPAQUE): |
|
|
|
|
LWIP_ASSERT("invalid length", len <= 0xff); |
|
|
|
|
vb = snmp_varbind_alloc(&oid, type, (u8_t)len); |
|
|
|
|
vb = snmp_varbind_alloc(&oid, type, len); |
|
|
|
|
if (vb != NULL) |
|
|
|
|
{ |
|
|
|
|
derr = snmp_asn1_dec_raw(p, ofs + 1 + len_octets, len, vb->value_len, (u8_t*)vb->value); |
|
|
|
|
@ -1415,7 +1410,7 @@ snmp_pdu_dec_varbindlist(struct pbuf *p, u16_t ofs, u16_t *ofs_ret, struct snmp_
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
struct snmp_varbind* |
|
|
|
|
snmp_varbind_alloc(struct snmp_obj_id *oid, u8_t type, u8_t len) |
|
|
|
|
snmp_varbind_alloc(struct snmp_obj_id *oid, u8_t type, u16_t len) |
|
|
|
|
{ |
|
|
|
|
struct snmp_varbind *vb; |
|
|
|
|
|
|
|
|
|
|