Trimmed whitespace at line ends.

This commit is contained in:
christiaans 2006-11-17 11:05:26 +00:00
parent d4b6471d39
commit 5e44122552
5 changed files with 121 additions and 121 deletions

View File

@ -59,7 +59,7 @@ snmp_asn1_dec_type(struct pbuf *p, u16_t ofs, u8_t *type)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
*type = *msg_ptr; *type = *msg_ptr;
@ -92,7 +92,7 @@ snmp_asn1_dec_length(struct pbuf *p, u16_t ofs, u8_t *octets_used, u16_t *length
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
@ -131,7 +131,7 @@ snmp_asn1_dec_length(struct pbuf *p, u16_t ofs, u8_t *octets_used, u16_t *length
{ {
/* next octet in same pbuf */ /* next octet in same pbuf */
msg_ptr++; msg_ptr++;
} }
if (*msg_ptr == 0) if (*msg_ptr == 0)
{ {
zeros++; zeros++;
@ -227,7 +227,7 @@ snmp_asn1_dec_length(struct pbuf *p, u16_t ofs, u8_t *octets_used, u16_t *length
* *
* @param p points to a pbuf holding an ASN1 coded integer * @param p points to a pbuf holding an ASN1 coded integer
* @param ofs points to the offset within the pbuf chain of the ASN1 coded integer * @param ofs points to the offset within the pbuf chain of the ASN1 coded integer
* @param len length of the coded integer field * @param len length of the coded integer field
* @param value return host order integer * @param value return host order integer
* @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode
* *
@ -247,7 +247,7 @@ snmp_asn1_dec_u32t(struct pbuf *p, u16_t ofs, u16_t len, u32_t *value)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
if ((len > 0) && (len < 6)) if ((len > 0) && (len < 6))
@ -322,7 +322,7 @@ snmp_asn1_dec_u32t(struct pbuf *p, u16_t ofs, u16_t len, u32_t *value)
* *
* @param p points to a pbuf holding an ASN1 coded integer * @param p points to a pbuf holding an ASN1 coded integer
* @param ofs points to the offset within the pbuf chain of the ASN1 coded integer * @param ofs points to the offset within the pbuf chain of the ASN1 coded integer
* @param len length of the coded integer field * @param len length of the coded integer field
* @param value return host order integer * @param value return host order integer
* @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode
* *
@ -342,7 +342,7 @@ snmp_asn1_dec_s32t(struct pbuf *p, u16_t ofs, u16_t len, s32_t *value)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
if ((len > 0) && (len < 5)) if ((len > 0) && (len < 5))
@ -415,7 +415,7 @@ snmp_asn1_dec_s32t(struct pbuf *p, u16_t ofs, u16_t len, s32_t *value)
* *
* @param p points to a pbuf holding an ASN1 coded object identifier * @param p points to a pbuf holding an ASN1 coded object identifier
* @param ofs points to the offset within the pbuf chain of the ASN1 coded object identifier * @param ofs points to the offset within the pbuf chain of the ASN1 coded object identifier
* @param len length of the coded object identifier * @param len length of the coded object identifier
* @param oid return object identifier struct * @param oid return object identifier struct
* @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode
*/ */
@ -432,7 +432,7 @@ snmp_asn1_dec_oid(struct pbuf *p, u16_t ofs, u16_t len, struct snmp_obj_id *oid)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
@ -451,21 +451,21 @@ snmp_asn1_dec_oid(struct pbuf *p, u16_t ofs, u16_t len, struct snmp_obj_id *oid)
} }
else if (*msg_ptr < 40) else if (*msg_ptr < 40)
{ {
*oid_ptr = 0; *oid_ptr = 0;
oid_ptr++; oid_ptr++;
*oid_ptr = *msg_ptr; *oid_ptr = *msg_ptr;
oid_ptr++; oid_ptr++;
} }
else if (*msg_ptr < 80) else if (*msg_ptr < 80)
{ {
*oid_ptr = 1; *oid_ptr = 1;
oid_ptr++; oid_ptr++;
*oid_ptr = (*msg_ptr) - 40; *oid_ptr = (*msg_ptr) - 40;
oid_ptr++; oid_ptr++;
} }
else else
{ {
*oid_ptr = 2; *oid_ptr = 2;
oid_ptr++; oid_ptr++;
*oid_ptr = (*msg_ptr) - 80; *oid_ptr = (*msg_ptr) - 80;
oid_ptr++; oid_ptr++;
@ -501,7 +501,7 @@ snmp_asn1_dec_oid(struct pbuf *p, u16_t ofs, u16_t len, struct snmp_obj_id *oid)
/* sub-identifier uses multiple octets */ /* sub-identifier uses multiple octets */
if (*msg_ptr & 0x80) if (*msg_ptr & 0x80)
{ {
s32_t sub_id = 0; s32_t sub_id = 0;
while ((*msg_ptr & 0x80) && (len > 1)) while ((*msg_ptr & 0x80) && (len > 1))
{ {
@ -553,7 +553,7 @@ snmp_asn1_dec_oid(struct pbuf *p, u16_t ofs, u16_t len, struct snmp_obj_id *oid)
/* next octet in same pbuf */ /* next octet in same pbuf */
msg_ptr++; msg_ptr++;
} }
} }
oid_ptr++; oid_ptr++;
oid->len++; oid->len++;
} }
@ -600,13 +600,13 @@ snmp_asn1_dec_raw(struct pbuf *p, u16_t ofs, u16_t len, u16_t raw_len, u8_t *raw
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
if (raw_len >= len) if (raw_len >= len)
{ {
while (len > 1) while (len > 1)
{ {
/* copy len - 1 octets */ /* copy len - 1 octets */
len--; len--;
*raw = *msg_ptr; *raw = *msg_ptr;

View File

@ -33,7 +33,7 @@
* *
* Author: Christiaan Simons <christiaan.simons@axon.tv> * Author: Christiaan Simons <christiaan.simons@axon.tv>
*/ */
#include "lwip/opt.h" #include "lwip/opt.h"
#if LWIP_SNMP #if LWIP_SNMP
@ -142,7 +142,7 @@ snmp_asn1_enc_oid_cnt(u8_t ident_len, s32_t *ident, u16_t *octets_needed)
{ {
s32_t sub_id; s32_t sub_id;
u8_t cnt; u8_t cnt;
cnt = 0; cnt = 0;
if (ident_len > 1) if (ident_len > 1)
{ {
@ -188,7 +188,7 @@ snmp_asn1_enc_type(struct pbuf *p, u16_t ofs, u8_t type)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
*msg_ptr = type; *msg_ptr = type;
@ -220,7 +220,7 @@ snmp_asn1_enc_length(struct pbuf *p, u16_t ofs, u16_t length)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
@ -251,7 +251,7 @@ snmp_asn1_enc_length(struct pbuf *p, u16_t ofs, u16_t length)
else else
{ {
u8_t i; u8_t i;
/* length >= 0x100 && length <= 0xFFFF */ /* length >= 0x100 && length <= 0xFFFF */
*msg_ptr = 0x82; *msg_ptr = 0x82;
i = 2; i = 2;
@ -315,7 +315,7 @@ snmp_asn1_enc_u32t(struct pbuf *p, u16_t ofs, u8_t octets_needed, u32_t value)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
@ -338,10 +338,10 @@ snmp_asn1_enc_u32t(struct pbuf *p, u16_t ofs, u8_t octets_needed, u32_t value)
/* next octet in same pbuf */ /* next octet in same pbuf */
msg_ptr++; msg_ptr++;
} }
} }
while (octets_needed > 1) while (octets_needed > 1)
{ {
octets_needed--; octets_needed--;
*msg_ptr = value >> (octets_needed << 3); *msg_ptr = value >> (octets_needed << 3);
ofs += 1; ofs += 1;
if (ofs >= plen) if (ofs >= plen)
@ -391,13 +391,13 @@ snmp_asn1_enc_s32t(struct pbuf *p, u16_t ofs, u8_t octets_needed, s32_t value)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
while (octets_needed > 1) while (octets_needed > 1)
{ {
octets_needed--; octets_needed--;
*msg_ptr = value >> (octets_needed << 3); *msg_ptr = value >> (octets_needed << 3);
ofs += 1; ofs += 1;
if (ofs >= plen) if (ofs >= plen)
@ -445,15 +445,15 @@ snmp_asn1_enc_oid(struct pbuf *p, u16_t ofs, u8_t ident_len, s32_t *ident)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
if (ident_len > 1) if (ident_len > 1)
{ {
if ((ident[0] == 1) && (ident[1] == 3)) if ((ident[0] == 1) && (ident[1] == 3))
{ {
/* compressed (most common) prefix .iso.org */ /* compressed (most common) prefix .iso.org */
*msg_ptr = 0x2b; *msg_ptr = 0x2b;
} }
else else
@ -488,15 +488,15 @@ snmp_asn1_enc_oid(struct pbuf *p, u16_t ofs, u8_t ident_len, s32_t *ident)
{ {
s32_t sub_id; s32_t sub_id;
u8_t shift, tail; u8_t shift, tail;
ident_len--; ident_len--;
sub_id = *ident; sub_id = *ident;
tail = 0; tail = 0;
shift = 28; shift = 28;
while(shift > 0) while(shift > 0)
{ {
u8_t code; u8_t code;
code = sub_id >> shift; code = sub_id >> shift;
if ((code != 0) || (tail != 0)) if ((code != 0) || (tail != 0))
{ {
@ -569,12 +569,12 @@ snmp_asn1_enc_raw(struct pbuf *p, u16_t ofs, u8_t raw_len, u8_t *raw)
base = plen; base = plen;
plen += p->len; plen += p->len;
if (ofs < plen) if (ofs < plen)
{ {
msg_ptr = p->payload; msg_ptr = p->payload;
msg_ptr += ofs - base; msg_ptr += ofs - base;
while (raw_len > 1) while (raw_len > 1)
{ {
/* copy raw_len - 1 octets */ /* copy raw_len - 1 octets */
raw_len--; raw_len--;
*msg_ptr = *raw; *msg_ptr = *raw;

View File

@ -124,7 +124,7 @@ snmp_netiftoifindex(struct netif *netif, s32_t *ifidx)
nif = nif->next; nif = nif->next;
i++; i++;
} }
*ifidx = i+1; *ifidx = i+1;
} }
/** /**
@ -168,7 +168,7 @@ struct mib_list_node *
snmp_mib_ln_alloc(s32_t id) snmp_mib_ln_alloc(s32_t id)
{ {
struct mib_list_node *ln; struct mib_list_node *ln;
ln = (struct mib_list_node *)mem_malloc(sizeof(struct mib_list_node)); ln = (struct mib_list_node *)mem_malloc(sizeof(struct mib_list_node));
if (ln != NULL) if (ln != NULL)
{ {
@ -190,7 +190,7 @@ struct mib_list_rootnode *
snmp_mib_lrn_alloc(void) snmp_mib_lrn_alloc(void)
{ {
struct mib_list_rootnode *lrn; struct mib_list_rootnode *lrn;
lrn = (struct mib_list_rootnode*)mem_malloc(sizeof(struct mib_list_rootnode)); lrn = (struct mib_list_rootnode*)mem_malloc(sizeof(struct mib_list_rootnode));
if (lrn != NULL) if (lrn != NULL)
{ {
@ -231,7 +231,7 @@ snmp_mib_node_insert(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_
s8_t insert; s8_t insert;
LWIP_ASSERT("rn != NULL",rn != NULL); LWIP_ASSERT("rn != NULL",rn != NULL);
/* -1 = malloc failure, 0 = not inserted, 1 = inserted, 2 = was present */ /* -1 = malloc failure, 0 = not inserted, 1 = inserted, 2 = was present */
insert = 0; insert = 0;
if (rn->head == NULL) if (rn->head == NULL)
@ -240,7 +240,7 @@ snmp_mib_node_insert(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_
LWIP_DEBUGF(SNMP_MIB_DEBUG,("alloc empty list objid==%"S32_F"\n",objid)); LWIP_DEBUGF(SNMP_MIB_DEBUG,("alloc empty list objid==%"S32_F"\n",objid));
nn = snmp_mib_ln_alloc(objid); nn = snmp_mib_ln_alloc(objid);
if (nn != NULL) if (nn != NULL)
{ {
rn->head = nn; rn->head = nn;
rn->tail = nn; rn->tail = nn;
*insn = nn; *insn = nn;
@ -261,7 +261,7 @@ snmp_mib_node_insert(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_
if (n->objid == objid) if (n->objid == objid)
{ {
/* node is already there */ /* node is already there */
LWIP_DEBUGF(SNMP_MIB_DEBUG,("node already there objid==%"S32_F"\n",objid)); LWIP_DEBUGF(SNMP_MIB_DEBUG,("node already there objid==%"S32_F"\n",objid));
*insn = n; *insn = n;
insert = 2; insert = 2;
} }
@ -289,7 +289,7 @@ snmp_mib_node_insert(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_
} }
else else
{ {
/* there's more to explore: traverse list */ /* there's more to explore: traverse list */
LWIP_DEBUGF(SNMP_MIB_DEBUG,("traverse list\n")); LWIP_DEBUGF(SNMP_MIB_DEBUG,("traverse list\n"));
n = n->next; n = n->next;
} }
@ -298,7 +298,7 @@ snmp_mib_node_insert(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_
{ {
/* n->objid > objid */ /* n->objid > objid */
/* alloc and insert between n->prev and n */ /* alloc and insert between n->prev and n */
LWIP_DEBUGF(SNMP_MIB_DEBUG,("alloc ins n->prev, objid==%"S32_F", n\n",objid)); LWIP_DEBUGF(SNMP_MIB_DEBUG,("alloc ins n->prev, objid==%"S32_F", n\n",objid));
nn = snmp_mib_ln_alloc(objid); nn = snmp_mib_ln_alloc(objid);
if (nn != NULL) if (nn != NULL)
{ {
@ -351,7 +351,7 @@ snmp_mib_node_find(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_no
{ {
s8_t fc; s8_t fc;
struct mib_list_node *n; struct mib_list_node *n;
LWIP_ASSERT("rn != NULL",rn != NULL); LWIP_ASSERT("rn != NULL",rn != NULL);
n = rn->head; n = rn->head;
while ((n != NULL) && (n->objid != objid)) while ((n != NULL) && (n->objid != objid))
@ -370,7 +370,7 @@ snmp_mib_node_find(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_no
else else
{ {
struct mib_list_rootnode *rn; struct mib_list_rootnode *rn;
if (n->nptr->node_type == MIB_NODE_LR) if (n->nptr->node_type == MIB_NODE_LR)
{ {
rn = (struct mib_list_rootnode *)n->nptr; rn = (struct mib_list_rootnode *)n->nptr;
@ -440,7 +440,7 @@ snmp_mib_node_delete(struct mib_list_rootnode *rn, struct mib_list_node *n)
n->next->prev = n->prev; n->next->prev = n->prev;
} }
LWIP_DEBUGF(SNMP_MIB_DEBUG,("free list objid==%"S32_F"\n",n->objid)); LWIP_DEBUGF(SNMP_MIB_DEBUG,("free list objid==%"S32_F"\n",n->objid));
snmp_mib_ln_free(n); snmp_mib_ln_free(n);
if (rn->count == 0) if (rn->count == 0)
{ {
rn->head = NULL; rn->head = NULL;
@ -476,7 +476,7 @@ snmp_search_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
u16_t i; u16_t i;
if (ident_len > 0) if (ident_len > 0)
{ {
/* array node (internal ROM or RAM, fixed length) */ /* array node (internal ROM or RAM, fixed length) */
an = (struct mib_array_node *)node; an = (struct mib_array_node *)node;
i = 0; i = 0;
@ -571,10 +571,10 @@ snmp_search_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
u16_t i, len; u16_t i, len;
if (ident_len > 0) if (ident_len > 0)
{ {
/* external node (addressing and access via functions) */ /* external node (addressing and access via functions) */
en = (struct mib_external_node *)node; en = (struct mib_external_node *)node;
i = 0; i = 0;
len = en->level_length(en->addr_inf,ext_level); len = en->level_length(en->addr_inf,ext_level);
while ((i < len) && (en->ident_cmp(en->addr_inf,ext_level,i,*ident) != 0)) while ((i < len) && (en->ident_cmp(en->addr_inf,ext_level,i,*ident) != 0))
@ -584,7 +584,7 @@ snmp_search_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
if (i < len) if (i < len)
{ {
s32_t debug_id; s32_t debug_id;
en->get_objid(en->addr_inf,ext_level,i,&debug_id); en->get_objid(en->addr_inf,ext_level,i,&debug_id);
LWIP_DEBUGF(SNMP_MIB_DEBUG,("en->objid==%"S32_F" *ident==%"S32_F"\n",debug_id,*ident)); LWIP_DEBUGF(SNMP_MIB_DEBUG,("en->objid==%"S32_F" *ident==%"S32_F"\n",debug_id,*ident));
if ((ext_level + 1) == en->tree_levels) if ((ext_level + 1) == en->tree_levels)
@ -653,7 +653,7 @@ empty_table(struct mib_node *node)
{ {
u8_t node_type; u8_t node_type;
u8_t empty = 0; u8_t empty = 0;
if (node != NULL) if (node != NULL)
{ {
node_type = node->node_type; node_type = node->node_type;
@ -669,7 +669,7 @@ empty_table(struct mib_node *node)
else if ((node_type == MIB_NODE_AR) || (node_type == MIB_NODE_RA)) else if ((node_type == MIB_NODE_AR) || (node_type == MIB_NODE_RA))
{ {
struct mib_array_node *an; struct mib_array_node *an;
an = (struct mib_array_node *)node; an = (struct mib_array_node *)node;
if ((an->maxlength == 0) || (an->nptr == NULL)) if ((an->maxlength == 0) || (an->nptr == NULL))
{ {
empty = 1; empty = 1;
@ -678,7 +678,7 @@ empty_table(struct mib_node *node)
else if (node_type == MIB_NODE_EX) else if (node_type == MIB_NODE_EX)
{ {
struct mib_external_node *en; struct mib_external_node *en;
en = (struct mib_external_node *)node; en = (struct mib_external_node *)node;
if (en->tree_levels == 0) if (en->tree_levels == 0)
{ {
empty = 1; empty = 1;
@ -723,7 +723,7 @@ snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
/* add identifier to oidret */ /* add identifier to oidret */
oidret->id[oidret->len] = an->objid[i]; oidret->id[oidret->len] = an->objid[i];
(oidret->len)++; (oidret->len)++;
if (an->nptr[i] == NULL) if (an->nptr[i] == NULL)
{ {
LWIP_DEBUGF(SNMP_MIB_DEBUG,("leaf node\n")); LWIP_DEBUGF(SNMP_MIB_DEBUG,("leaf node\n"));
@ -847,7 +847,7 @@ snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
/* leaf node */ /* leaf node */
if (ln->objid > *ident) if (ln->objid > *ident)
{ {
return (struct mib_node*)lrn; return (struct mib_node*)lrn;
} }
else if (ln->next != NULL) else if (ln->next != NULL)
{ {
@ -950,7 +950,7 @@ snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
if (ident_len > 0) if (ident_len > 0)
{ {
u16_t i, len; u16_t i, len;
i = 0; i = 0;
len = en->level_length(en->addr_inf,ext_level); len = en->level_length(en->addr_inf,ext_level);
while ((i < len) && (en->ident_cmp(en->addr_inf,ext_level,i,*ident) < 0)) while ((i < len) && (en->ident_cmp(en->addr_inf,ext_level,i,*ident) < 0))
@ -958,20 +958,20 @@ snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
i++; i++;
} }
if (i < len) if (i < len)
{ {
/* add identifier to oidret */ /* add identifier to oidret */
en->get_objid(en->addr_inf,ext_level,i,&ex_id); en->get_objid(en->addr_inf,ext_level,i,&ex_id);
LWIP_DEBUGF(SNMP_MIB_DEBUG,("en->objid[%"U16_F"]==%"S32_F" *ident==%"S32_F"\n",i,ex_id,*ident)); LWIP_DEBUGF(SNMP_MIB_DEBUG,("en->objid[%"U16_F"]==%"S32_F" *ident==%"S32_F"\n",i,ex_id,*ident));
oidret->id[oidret->len] = ex_id; oidret->id[oidret->len] = ex_id;
(oidret->len)++; (oidret->len)++;
if ((ext_level + 1) == en->tree_levels) if ((ext_level + 1) == en->tree_levels)
{ {
LWIP_DEBUGF(SNMP_MIB_DEBUG,("leaf node\n")); LWIP_DEBUGF(SNMP_MIB_DEBUG,("leaf node\n"));
/* leaf node */ /* leaf node */
if (ex_id > *ident) if (ex_id > *ident)
{ {
return (struct mib_node*)en; return (struct mib_node*)en;
} }
else if ((i + 1) < len) else if ((i + 1) < len)
{ {
@ -979,7 +979,7 @@ snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
en->get_objid(en->addr_inf,ext_level,i + 1,&ex_id); en->get_objid(en->addr_inf,ext_level,i + 1,&ex_id);
(oidret->len)--; (oidret->len)--;
oidret->id[oidret->len] = ex_id; oidret->id[oidret->len] = ex_id;
(oidret->len)++; (oidret->len)++;
return (struct mib_node*)en; return (struct mib_node*)en;
} }
else else
@ -1027,7 +1027,7 @@ snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
{ {
/* i == len (en->level_len()) */ /* i == len (en->level_len()) */
climb_tree = 1; climb_tree = 1;
} }
} }
else else
{ {
@ -1076,7 +1076,7 @@ snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snm
LWIP_DEBUGF(SNMP_MIB_DEBUG,("expand failed node_type %"U16_F" unkown\n",(u16_t)node_type)); LWIP_DEBUGF(SNMP_MIB_DEBUG,("expand failed node_type %"U16_F" unkown\n",(u16_t)node_type));
return NULL; return NULL;
} }
if (climb_tree) if (climb_tree)
{ {
struct nse child; struct nse child;

View File

@ -76,7 +76,7 @@ snmp_init(void)
{ {
struct snmp_msg_pstat *msg_ps; struct snmp_msg_pstat *msg_ps;
u8_t i; u8_t i;
snmp1_pcb = udp_new(); snmp1_pcb = udp_new();
if (snmp1_pcb != NULL) if (snmp1_pcb != NULL)
{ {
@ -137,7 +137,7 @@ snmp_ok_response(struct snmp_msg_pstat *msg_ps)
/** /**
* Service an internal or external event for SNMP GET. * Service an internal or external event for SNMP GET.
* *
* @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1) * @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1)
* @param msg_ps points to the assosicated message process state * @param msg_ps points to the assosicated message process state
*/ */
@ -145,7 +145,7 @@ static void
snmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps) snmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
{ {
LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_msg_get_event: msg_ps->state==%"U16_F"\n",(u16_t)msg_ps->state)); LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_msg_get_event: msg_ps->state==%"U16_F"\n",(u16_t)msg_ps->state));
if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF) if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF)
{ {
struct mib_external_node *en; struct mib_external_node *en;
@ -196,7 +196,7 @@ snmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
vb->value_len = msg_ps->ext_object_def.v_len; vb->value_len = msg_ps->ext_object_def.v_len;
if (vb->value_len > 0) if (vb->value_len > 0)
{ {
vb->value = mem_malloc(vb->value_len); vb->value = mem_malloc(vb->value_len);
LWIP_ASSERT("vb->value != NULL",vb->value != NULL); LWIP_ASSERT("vb->value != NULL",vb->value != NULL);
if (vb->value != NULL) if (vb->value != NULL)
{ {
@ -234,7 +234,7 @@ snmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
snmp_error_response(msg_ps,SNMP_ES_TOOBIG); snmp_error_response(msg_ps,SNMP_ES_TOOBIG);
} }
} }
while ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) && while ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&
(msg_ps->vb_idx < msg_ps->invb.count)) (msg_ps->vb_idx < msg_ps->invb.count))
{ {
@ -271,14 +271,14 @@ snmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
msg_ps->ext_mib_node = en; msg_ps->ext_mib_node = en;
msg_ps->ext_name_ptr = np; msg_ps->ext_name_ptr = np;
en->get_object_def_q(en->addr_inf, request_id, np.ident_len, np.ident); en->get_object_def_q(en->addr_inf, request_id, np.ident_len, np.ident);
} }
else else
{ {
/* internal object */ /* internal object */
struct obj_def object_def; struct obj_def object_def;
msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF; msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF;
mn->get_object_def(np.ident_len, np.ident, &object_def); mn->get_object_def(np.ident_len, np.ident, &object_def);
if (object_def.instance != MIB_OBJECT_NONE) if (object_def.instance != MIB_OBJECT_NONE)
{ {
@ -338,7 +338,7 @@ snmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
snmp_varbind_tail_add(&msg_ps->outvb, vb); snmp_varbind_tail_add(&msg_ps->outvb, vb);
msg_ps->state = SNMP_MSG_SEARCH_OBJ; msg_ps->state = SNMP_MSG_SEARCH_OBJ;
msg_ps->vb_idx += 1; msg_ps->vb_idx += 1;
} }
} }
else else
{ {
@ -363,7 +363,7 @@ snmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
/** /**
* Service an internal or external event for SNMP GETNEXT. * Service an internal or external event for SNMP GETNEXT.
* *
* @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1) * @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1)
* @param msg_ps points to the assosicated message process state * @param msg_ps points to the assosicated message process state
*/ */
@ -371,7 +371,7 @@ static void
snmp_msg_getnext_event(u8_t request_id, struct snmp_msg_pstat *msg_ps) snmp_msg_getnext_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
{ {
LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_msg_getnext_event: msg_ps->state==%"U16_F"\n",(u16_t)msg_ps->state)); LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_msg_getnext_event: msg_ps->state==%"U16_F"\n",(u16_t)msg_ps->state));
if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF) if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF)
{ {
struct mib_external_node *en; struct mib_external_node *en;
@ -416,7 +416,7 @@ snmp_msg_getnext_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
en->get_value_pc(request_id, &msg_ps->ext_object_def); en->get_value_pc(request_id, &msg_ps->ext_object_def);
LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_msg_getnext_event: couldn't allocate outvb space\n")); LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_msg_getnext_event: couldn't allocate outvb space\n"));
snmp_error_response(msg_ps,SNMP_ES_TOOBIG); snmp_error_response(msg_ps,SNMP_ES_TOOBIG);
} }
} }
while ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) && while ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&
@ -464,7 +464,7 @@ snmp_msg_getnext_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
msg_ps->ext_mib_node = en; msg_ps->ext_mib_node = en;
msg_ps->ext_oid = oid; msg_ps->ext_oid = oid;
en->get_object_def_q(en->addr_inf, request_id, 1, &oid.id[oid.len - 1]); en->get_object_def_q(en->addr_inf, request_id, 1, &oid.id[oid.len - 1]);
} }
else else
{ {
@ -488,8 +488,8 @@ snmp_msg_getnext_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
{ {
LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_recv couldn't allocate outvb space\n")); LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_recv couldn't allocate outvb space\n"));
snmp_error_response(msg_ps,SNMP_ES_TOOBIG); snmp_error_response(msg_ps,SNMP_ES_TOOBIG);
} }
} }
} }
if (mn == NULL) if (mn == NULL)
{ {
@ -506,7 +506,7 @@ snmp_msg_getnext_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
/** /**
* Service an internal or external event for SNMP SET. * Service an internal or external event for SNMP SET.
* *
* @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1) * @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1)
* @param msg_ps points to the assosicated message process state * @param msg_ps points to the assosicated message process state
*/ */
@ -514,7 +514,7 @@ static void
snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps) snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
{ {
LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_msg_set_event: msg_ps->state==%"U16_F"\n",(u16_t)msg_ps->state)); LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_msg_set_event: msg_ps->state==%"U16_F"\n",(u16_t)msg_ps->state));
if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF) if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF)
{ {
struct mib_external_node *en; struct mib_external_node *en;
@ -553,7 +553,7 @@ snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
(en->set_test_a(request_id,&msg_ps->ext_object_def, (en->set_test_a(request_id,&msg_ps->ext_object_def,
msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value) != 0)) msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value) != 0))
{ {
msg_ps->state = SNMP_MSG_SEARCH_OBJ; msg_ps->state = SNMP_MSG_SEARCH_OBJ;
msg_ps->vb_idx += 1; msg_ps->vb_idx += 1;
} }
else else
@ -605,7 +605,7 @@ snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
/** @todo use set_value_pc() if toobig */ /** @todo use set_value_pc() if toobig */
msg_ps->state = SNMP_MSG_INTERNAL_SET_VALUE; msg_ps->state = SNMP_MSG_INTERNAL_SET_VALUE;
msg_ps->vb_idx += 1; msg_ps->vb_idx += 1;
} }
/* test all values before setting */ /* test all values before setting */
while ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) && while ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&
@ -644,14 +644,14 @@ snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
msg_ps->ext_mib_node = en; msg_ps->ext_mib_node = en;
msg_ps->ext_name_ptr = np; msg_ps->ext_name_ptr = np;
en->get_object_def_q(en->addr_inf, request_id, np.ident_len, np.ident); en->get_object_def_q(en->addr_inf, request_id, np.ident_len, np.ident);
} }
else else
{ {
/* internal object */ /* internal object */
struct obj_def object_def; struct obj_def object_def;
msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF; msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF;
mn->get_object_def(np.ident_len, np.ident, &object_def); mn->get_object_def(np.ident_len, np.ident, &object_def);
if (object_def.instance != MIB_OBJECT_NONE) if (object_def.instance != MIB_OBJECT_NONE)
{ {
@ -671,7 +671,7 @@ snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
if ((object_def.asn_type == msg_ps->vb_ptr->value_type) && if ((object_def.asn_type == msg_ps->vb_ptr->value_type) &&
(mn->set_test(&object_def,msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value) != 0)) (mn->set_test(&object_def,msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value) != 0))
{ {
msg_ps->state = SNMP_MSG_SEARCH_OBJ; msg_ps->state = SNMP_MSG_SEARCH_OBJ;
msg_ps->vb_idx += 1; msg_ps->vb_idx += 1;
} }
else else
@ -692,8 +692,8 @@ snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
{ {
/* mn == NULL, noSuchName */ /* mn == NULL, noSuchName */
snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME); snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME);
} }
} }
if ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) && if ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&
(msg_ps->vb_idx == msg_ps->invb.count)) (msg_ps->vb_idx == msg_ps->invb.count))
@ -701,7 +701,7 @@ snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
msg_ps->vb_idx = 0; msg_ps->vb_idx = 0;
msg_ps->state = SNMP_MSG_INTERNAL_SET_VALUE; msg_ps->state = SNMP_MSG_INTERNAL_SET_VALUE;
} }
/* set all values "atomically" (be as "atomic" as possible) */ /* set all values "atomically" (be as "atomic" as possible) */
while ((msg_ps->state == SNMP_MSG_INTERNAL_SET_VALUE) && while ((msg_ps->state == SNMP_MSG_INTERNAL_SET_VALUE) &&
(msg_ps->vb_idx < msg_ps->invb.count)) (msg_ps->vb_idx < msg_ps->invb.count))
@ -734,15 +734,15 @@ snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
msg_ps->ext_mib_node = en; msg_ps->ext_mib_node = en;
msg_ps->ext_name_ptr = np; msg_ps->ext_name_ptr = np;
en->get_object_def_q(en->addr_inf, request_id, np.ident_len, np.ident); en->get_object_def_q(en->addr_inf, request_id, np.ident_len, np.ident);
} }
else else
{ {
/* internal object */ /* internal object */
struct obj_def object_def; struct obj_def object_def;
msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF_S; msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF_S;
mn->get_object_def(np.ident_len, np.ident, &object_def); mn->get_object_def(np.ident_len, np.ident, &object_def);
msg_ps->state = SNMP_MSG_INTERNAL_SET_VALUE; msg_ps->state = SNMP_MSG_INTERNAL_SET_VALUE;
mn->set_value(&object_def,msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value); mn->set_value(&object_def,msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value);
msg_ps->vb_idx += 1; msg_ps->vb_idx += 1;
@ -752,7 +752,7 @@ snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
if ((msg_ps->state == SNMP_MSG_INTERNAL_SET_VALUE) && if ((msg_ps->state == SNMP_MSG_INTERNAL_SET_VALUE) &&
(msg_ps->vb_idx == msg_ps->invb.count)) (msg_ps->vb_idx == msg_ps->invb.count))
{ {
/* simply echo the input if we can set it /* simply echo the input if we can set it
@todo do we need to return the actual value? @todo do we need to return the actual value?
e.g. if value is silently modified or behaves sticky? */ e.g. if value is silently modified or behaves sticky? */
msg_ps->outvb = msg_ps->invb; msg_ps->outvb = msg_ps->invb;
@ -760,14 +760,14 @@ snmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)
msg_ps->invb.tail = NULL; msg_ps->invb.tail = NULL;
msg_ps->invb.count = 0; msg_ps->invb.count = 0;
snmp_ok_response(msg_ps); snmp_ok_response(msg_ps);
} }
} }
/** /**
* Handle one internal or external event. * Handle one internal or external event.
* Called for one async event. (recv external/private answer) * Called for one async event. (recv external/private answer)
* *
* @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1) * @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1)
*/ */
void void
@ -805,7 +805,7 @@ snmp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr,
/* peek in the UDP header (goto IP payload) */ /* peek in the UDP header (goto IP payload) */
pbuf_header(p, UDP_HLEN); pbuf_header(p, UDP_HLEN);
udphdr = p->payload; udphdr = p->payload;
/* check if datagram is really directed at us (including broadcast requests) */ /* check if datagram is really directed at us (including broadcast requests) */
if ((pcb == snmp1_pcb) && (ntohs(udphdr->dest) == 161)) if ((pcb == snmp1_pcb) && (ntohs(udphdr->dest) == 161))
{ {
@ -860,7 +860,7 @@ snmp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr,
if (err_ret == ERR_OK) if (err_ret == ERR_OK)
{ {
LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_recv ok, community %s\n", msg_ps->community)); LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_recv ok, community %s\n", msg_ps->community));
/* Builds a list of variable bindings. Copy the varbinds from the pbuf /* Builds a list of variable bindings. Copy the varbinds from the pbuf
chain to glue them when these are divided over two or more pbuf's. */ chain to glue them when these are divided over two or more pbuf's. */
err_ret = snmp_pdu_dec_varbindlist(p, varbind_ofs, &varbind_ofs, msg_ps); err_ret = snmp_pdu_dec_varbindlist(p, varbind_ofs, &varbind_ofs, msg_ps);
@ -868,7 +868,7 @@ snmp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr,
{ {
/* we've decoded the incoming message, release input msg now */ /* we've decoded the incoming message, release input msg now */
pbuf_free(p); pbuf_free(p);
msg_ps->error_status = SNMP_ES_NOERROR; msg_ps->error_status = SNMP_ES_NOERROR;
msg_ps->error_index = 0; msg_ps->error_index = 0;
/* find object for each variable binding */ /* find object for each variable binding */
@ -878,12 +878,12 @@ snmp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr,
LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_recv varbind cnt=%"U16_F"\n",(u16_t)msg_ps->invb.count)); LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_recv varbind cnt=%"U16_F"\n",(u16_t)msg_ps->invb.count));
/* handle input event and as much objects as possible in one go */ /* handle input event and as much objects as possible in one go */
snmp_msg_event(req_idx); snmp_msg_event(req_idx);
} }
else else
{ {
/* varbind-list decode failed, or varbind list empty. /* varbind-list decode failed, or varbind list empty.
drop request silently, do not return error! drop request silently, do not return error!
(errors are only returned for a specific varbind failure) */ (errors are only returned for a specific varbind failure) */
pbuf_free(p); pbuf_free(p);
@ -896,7 +896,7 @@ snmp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr,
drop request silently, do not return error! */ drop request silently, do not return error! */
pbuf_free(p); pbuf_free(p);
LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_pdu_header_check() failed\n")); LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_pdu_header_check() failed\n"));
} }
} }
else else
{ {
@ -911,7 +911,7 @@ snmp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr,
} }
} }
/** /**
* Checks and decodes incoming SNMP message header, logs header errors. * Checks and decodes incoming SNMP message header, logs header errors.
* *
* @param p points to pbuf chain of SNMP message (UDP payload) * @param p points to pbuf chain of SNMP message (UDP payload)
@ -1011,17 +1011,17 @@ snmp_pdu_header_check(struct pbuf *p, u16_t ofs, u16_t pdu_len, u16_t *ofs_ret,
derr = ERR_OK; derr = ERR_OK;
break; break;
case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_GET_RESP): case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_GET_RESP):
/* GetResponse PDU */ /* GetResponse PDU */
snmp_inc_snmpingetresponses(); snmp_inc_snmpingetresponses();
derr = ERR_ARG; derr = ERR_ARG;
break; break;
case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_SET_REQ): case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_SET_REQ):
/* SetRequest PDU */ /* SetRequest PDU */
snmp_inc_snmpinsetrequests(); snmp_inc_snmpinsetrequests();
derr = ERR_OK; derr = ERR_OK;
break; break;
case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_TRAP): case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_TRAP):
/* Trap PDU */ /* Trap PDU */
snmp_inc_snmpintraps(); snmp_inc_snmpintraps();
derr = ERR_ARG; derr = ERR_ARG;
break; break;
@ -1125,7 +1125,7 @@ snmp_pdu_dec_varbindlist(struct pbuf *p, u16_t ofs, u16_t *ofs_ret, struct snmp_
u8_t len_octets; u8_t len_octets;
u8_t type; u8_t type;
/* variable binding list */ /* variable binding list */
snmp_asn1_dec_type(p, ofs, &type); snmp_asn1_dec_type(p, ofs, &type);
derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &vb_len); derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &vb_len);
if ((derr != ERR_OK) || if ((derr != ERR_OK) ||
@ -1135,7 +1135,7 @@ snmp_pdu_dec_varbindlist(struct pbuf *p, u16_t ofs, u16_t *ofs_ret, struct snmp_
return ERR_ARG; return ERR_ARG;
} }
ofs += (1 + len_octets); ofs += (1 + len_octets);
/* start with empty list */ /* start with empty list */
m_stat->invb.count = 0; m_stat->invb.count = 0;
m_stat->invb.head = NULL; m_stat->invb.head = NULL;
@ -1200,7 +1200,7 @@ snmp_pdu_dec_varbindlist(struct pbuf *p, u16_t ofs, u16_t *ofs_ret, struct snmp_
if (vb != NULL) if (vb != NULL)
{ {
s32_t *vptr = vb->value; s32_t *vptr = vb->value;
derr = snmp_asn1_dec_s32t(p, ofs + 1 + len_octets, len, vptr); derr = snmp_asn1_dec_s32t(p, ofs + 1 + len_octets, len, vptr);
snmp_varbind_tail_add(&m_stat->invb, vb); snmp_varbind_tail_add(&m_stat->invb, vb);
} }
@ -1209,14 +1209,14 @@ snmp_pdu_dec_varbindlist(struct pbuf *p, u16_t ofs, u16_t *ofs_ret, struct snmp_
derr = ERR_ARG; derr = ERR_ARG;
} }
break; break;
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER): case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER):
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE): case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE):
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS): case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS):
vb = snmp_varbind_alloc(&oid, type, sizeof(u32_t)); vb = snmp_varbind_alloc(&oid, type, sizeof(u32_t));
if (vb != NULL) if (vb != NULL)
{ {
u32_t *vptr = vb->value; u32_t *vptr = vb->value;
derr = snmp_asn1_dec_u32t(p, ofs + 1 + len_octets, len, vptr); derr = snmp_asn1_dec_u32t(p, ofs + 1 + len_octets, len, vptr);
snmp_varbind_tail_add(&m_stat->invb, vb); snmp_varbind_tail_add(&m_stat->invb, vb);
} }
@ -1259,7 +1259,7 @@ snmp_pdu_dec_varbindlist(struct pbuf *p, u16_t ofs, u16_t *ofs_ret, struct snmp_
{ {
u8_t i = oid_value.len; u8_t i = oid_value.len;
s32_t *vptr = vb->value; s32_t *vptr = vb->value;
while(i > 0) while(i > 0)
{ {
i--; i--;
@ -1332,7 +1332,7 @@ snmp_varbind_alloc(struct snmp_obj_id *oid, u8_t type, u8_t len)
if (vb != NULL) if (vb != NULL)
{ {
u8_t i; u8_t i;
vb->next = NULL; vb->next = NULL;
vb->prev = NULL; vb->prev = NULL;
i = oid->len; i = oid->len;

View File

@ -12,7 +12,7 @@
* The buffer requirement can be prohibitively large for big payloads * The buffer requirement can be prohibitively large for big payloads
* (>= 484) therefore we use the two encoding passes. * (>= 484) therefore we use the two encoding passes.
*/ */
/* /*
* Copyright (c) 2006 Axon Digital Design B.V., The Netherlands. * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.
* All rights reserved. * All rights reserved.
@ -146,11 +146,11 @@ snmp_send_response(struct snmp_msg_pstat *m_stat)
u16_t ofs; u16_t ofs;
LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_snd_response() p != NULL\n")); LWIP_DEBUGF(SNMP_MSG_DEBUG, ("snmp_snd_response() p != NULL\n"));
/* pass 1, size error, encode packet ino the pbuf(s) */ /* pass 1, size error, encode packet ino the pbuf(s) */
ofs = snmp_resp_header_enc(m_stat, p); ofs = snmp_resp_header_enc(m_stat, p);
if (m_stat->error_status == SNMP_ES_TOOBIG) if (m_stat->error_status == SNMP_ES_TOOBIG)
{ {
snmp_varbind_list_enc(&emptyvb, p, ofs); snmp_varbind_list_enc(&emptyvb, p, ofs);
} }
else else
@ -250,7 +250,7 @@ snmp_send_trap(s8_t generic_trap, s32_t specific_trap)
} }
else else
{ {
/* generic (MIB-II) trap */ /* generic (MIB-II) trap */
snmp_get_snmpgrpid_ptr(&trap_msg.enterprise); snmp_get_snmpgrpid_ptr(&trap_msg.enterprise);
} }
snmp_get_sysuptime(&trap_msg.ts); snmp_get_sysuptime(&trap_msg.ts);
@ -264,7 +264,7 @@ snmp_send_trap(s8_t generic_trap, s32_t specific_trap)
if (p != NULL) if (p != NULL)
{ {
u16_t ofs; u16_t ofs;
/* pass 1, encode packet ino the pbuf(s) */ /* pass 1, encode packet ino the pbuf(s) */
ofs = snmp_trap_header_enc(&trap_msg, p); ofs = snmp_trap_header_enc(&trap_msg, p);
snmp_varbind_list_enc(&trap_msg.outvb, p, ofs); snmp_varbind_list_enc(&trap_msg.outvb, p, ofs);
@ -291,7 +291,7 @@ snmp_send_trap(s8_t generic_trap, s32_t specific_trap)
void void
snmp_coldstart_trap(void) snmp_coldstart_trap(void)
{ {
trap_msg.outvb.head = NULL; trap_msg.outvb.head = NULL;
trap_msg.outvb.tail = NULL; trap_msg.outvb.tail = NULL;
trap_msg.outvb.count = 0; trap_msg.outvb.count = 0;
@ -300,7 +300,7 @@ snmp_coldstart_trap(void)
void void
snmp_authfail_trap(void) snmp_authfail_trap(void)
{ {
u8_t enable; u8_t enable;
snmp_get_snmpenableauthentraps(&enable); snmp_get_snmpenableauthentraps(&enable);
if (enable == 1) if (enable == 1)
@ -391,7 +391,7 @@ snmp_trap_header_sum(struct snmp_msg_trap *m_trap, u16_t vb_len)
thl->aaddrlen = 4; thl->aaddrlen = 4;
snmp_asn1_enc_length_cnt(thl->aaddrlen, &thl->aaddrlenlen); snmp_asn1_enc_length_cnt(thl->aaddrlen, &thl->aaddrlenlen);
tot_len += 1 + thl->aaddrlen + thl->aaddrlenlen; tot_len += 1 + thl->aaddrlen + thl->aaddrlenlen;
snmp_asn1_enc_oid_cnt(m_trap->enterprise->len, &m_trap->enterprise->id[0], &thl->eidlen); snmp_asn1_enc_oid_cnt(m_trap->enterprise->len, &m_trap->enterprise->id[0], &thl->eidlen);
snmp_asn1_enc_length_cnt(thl->eidlen, &thl->eidlenlen); snmp_asn1_enc_length_cnt(thl->eidlen, &thl->eidlenlen);
tot_len += 1 + thl->eidlen + thl->eidlenlen; tot_len += 1 + thl->eidlen + thl->eidlenlen;
@ -441,7 +441,7 @@ snmp_varbind_list_sum(struct snmp_varbind_root *root)
sint_ptr = vb->value; sint_ptr = vb->value;
snmp_asn1_enc_s32t_cnt(*sint_ptr, &vb->vlen); snmp_asn1_enc_s32t_cnt(*sint_ptr, &vb->vlen);
break; break;
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER): case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER):
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE): case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE):
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS): case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS):
uint_ptr = vb->value; uint_ptr = vb->value;
@ -476,7 +476,7 @@ snmp_varbind_list_sum(struct snmp_varbind_root *root)
vb = vb->prev; vb = vb->prev;
} }
/* varbind-list seq */ /* varbind-list seq */
root->seqlen = tot_len; root->seqlen = tot_len;
snmp_asn1_enc_length_cnt(root->seqlen, &root->seqlenlen); snmp_asn1_enc_length_cnt(root->seqlen, &root->seqlenlen);
@ -538,7 +538,7 @@ snmp_resp_header_enc(struct snmp_msg_pstat *m_stat, struct pbuf *p)
ofs += m_stat->rhl.erridxlenlen; ofs += m_stat->rhl.erridxlenlen;
snmp_asn1_enc_s32t(p, ofs, m_stat->rhl.erridxlen, m_stat->error_index); snmp_asn1_enc_s32t(p, ofs, m_stat->rhl.erridxlen, m_stat->error_index);
ofs += m_stat->rhl.erridxlen; ofs += m_stat->rhl.erridxlen;
return ofs; return ofs;
} }
@ -655,7 +655,7 @@ snmp_varbind_list_enc(struct snmp_varbind_root *root, struct pbuf *p, u16_t ofs)
sint_ptr = vb->value; sint_ptr = vb->value;
snmp_asn1_enc_s32t(p, ofs, vb->vlen, *sint_ptr); snmp_asn1_enc_s32t(p, ofs, vb->vlen, *sint_ptr);
break; break;
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER): case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER):
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE): case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE):
case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS): case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS):
uint_ptr = vb->value; uint_ptr = vb->value;