mirror of
https://git.savannah.nongnu.org/git/lwip.git
synced 2025-08-06 22:44:38 +08:00
Added missing NULL return checks for snmp_mib_lrn_alloc() and trimmed whitespace at line ends.
This commit is contained in:
parent
5e44122552
commit
b72677c3ce
@ -49,7 +49,7 @@
|
|||||||
#include "lwip/snmp_asn1.h"
|
#include "lwip/snmp_asn1.h"
|
||||||
#include "lwip/snmp_structs.h"
|
#include "lwip/snmp_structs.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IANA assigned enterprise ID for lwIP is 26381
|
* IANA assigned enterprise ID for lwIP is 26381
|
||||||
* @see http://www.iana.org/assignments/enterprise-numbers
|
* @see http://www.iana.org/assignments/enterprise-numbers
|
||||||
*
|
*
|
||||||
@ -60,7 +60,7 @@
|
|||||||
*
|
*
|
||||||
* If you need to create your own private MIB you'll need
|
* If you need to create your own private MIB you'll need
|
||||||
* to apply for your own enterprise ID with IANA:
|
* to apply for your own enterprise ID with IANA:
|
||||||
* http://www.iana.org/numbers.html
|
* http://www.iana.org/numbers.html
|
||||||
*/
|
*/
|
||||||
#define SNMP_ENTERPRISE_ID 26381
|
#define SNMP_ENTERPRISE_ID 26381
|
||||||
#define SNMP_SYSOBJID_LEN 7
|
#define SNMP_SYSOBJID_LEN 7
|
||||||
@ -144,7 +144,7 @@ const struct mib_array_node snmp = {
|
|||||||
MIB_NODE_AR,
|
MIB_NODE_AR,
|
||||||
28,
|
28,
|
||||||
snmp_ids,
|
snmp_ids,
|
||||||
snmp_nodes
|
snmp_nodes
|
||||||
};
|
};
|
||||||
|
|
||||||
/* dot3 and EtherLike MIB not planned. (transmission .1.3.6.1.2.1.10) */
|
/* dot3 and EtherLike MIB not planned. (transmission .1.3.6.1.2.1.10) */
|
||||||
@ -517,7 +517,7 @@ struct mib_node* const atentry_nodes[3] = {
|
|||||||
};
|
};
|
||||||
const struct mib_array_node atentry = {
|
const struct mib_array_node atentry = {
|
||||||
&noleafs_get_object_def,
|
&noleafs_get_object_def,
|
||||||
&noleafs_get_value,
|
&noleafs_get_value,
|
||||||
&noleafs_set_test,
|
&noleafs_set_test,
|
||||||
&noleafs_set_value,
|
&noleafs_set_value,
|
||||||
MIB_NODE_AR,
|
MIB_NODE_AR,
|
||||||
@ -664,7 +664,7 @@ const struct mib_array_node sys_tem = {
|
|||||||
#define MIB2_GROUPS 7
|
#define MIB2_GROUPS 7
|
||||||
#endif
|
#endif
|
||||||
const s32_t mib2_ids[MIB2_GROUPS] =
|
const s32_t mib2_ids[MIB2_GROUPS] =
|
||||||
{
|
{
|
||||||
1,
|
1,
|
||||||
2,
|
2,
|
||||||
3,
|
3,
|
||||||
@ -844,7 +844,7 @@ static u32_t udpindatagrams = 0,
|
|||||||
udpnoports = 0,
|
udpnoports = 0,
|
||||||
udpinerrors = 0,
|
udpinerrors = 0,
|
||||||
udpoutdatagrams = 0;
|
udpoutdatagrams = 0;
|
||||||
/* mib-2.snmp counter(s) */
|
/* mib-2.snmp counter(s) */
|
||||||
static u32_t snmpinpkts = 0,
|
static u32_t snmpinpkts = 0,
|
||||||
snmpoutpkts = 0,
|
snmpoutpkts = 0,
|
||||||
snmpinbadversions = 0,
|
snmpinbadversions = 0,
|
||||||
@ -1003,7 +1003,7 @@ void snmp_set_syslocation(u8_t *ocstr, u8_t *ocstrlen)
|
|||||||
|
|
||||||
void snmp_add_ifinoctets(struct netif *ni, u32_t value)
|
void snmp_add_ifinoctets(struct netif *ni, u32_t value)
|
||||||
{
|
{
|
||||||
ni->ifinoctets += value;
|
ni->ifinoctets += value;
|
||||||
}
|
}
|
||||||
|
|
||||||
void snmp_inc_ifinucastpkts(struct netif *ni)
|
void snmp_inc_ifinucastpkts(struct netif *ni)
|
||||||
@ -1023,7 +1023,7 @@ void snmp_inc_ifindiscards(struct netif *ni)
|
|||||||
|
|
||||||
void snmp_add_ifoutoctets(struct netif *ni, u32_t value)
|
void snmp_add_ifoutoctets(struct netif *ni, u32_t value)
|
||||||
{
|
{
|
||||||
ni->ifoutoctets += value;
|
ni->ifoutoctets += value;
|
||||||
}
|
}
|
||||||
|
|
||||||
void snmp_inc_ifoutucastpkts(struct netif *ni)
|
void snmp_inc_ifoutucastpkts(struct netif *ni)
|
||||||
@ -1044,7 +1044,7 @@ void snmp_inc_ifoutdiscards(struct netif *ni)
|
|||||||
void snmp_inc_iflist(void)
|
void snmp_inc_iflist(void)
|
||||||
{
|
{
|
||||||
struct mib_list_node *if_node = NULL;
|
struct mib_list_node *if_node = NULL;
|
||||||
|
|
||||||
snmp_mib_node_insert(&iflist_root, iflist_root.count + 1, &if_node);
|
snmp_mib_node_insert(&iflist_root, iflist_root.count + 1, &if_node);
|
||||||
/* enable getnext traversal on filled table */
|
/* enable getnext traversal on filled table */
|
||||||
iftable.maxlength = 1;
|
iftable.maxlength = 1;
|
||||||
@ -1057,7 +1057,7 @@ void snmp_dec_iflist(void)
|
|||||||
if(iflist_root.count == 0) iftable.maxlength = 0;
|
if(iflist_root.count == 0) iftable.maxlength = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inserts ARP table indexes (.xIfIndex.xNetAddress)
|
* Inserts ARP table indexes (.xIfIndex.xNetAddress)
|
||||||
* into arp table index trees (both atTable and ipNetToMediaTable).
|
* into arp table index trees (both atTable and ipNetToMediaTable).
|
||||||
*/
|
*/
|
||||||
@ -1073,7 +1073,7 @@ void snmp_insert_arpidx_tree(struct netif *ni, struct ip_addr *ip)
|
|||||||
snmp_netiftoifindex(ni, &arpidx[0]);
|
snmp_netiftoifindex(ni, &arpidx[0]);
|
||||||
hip.addr = ntohl(ip->addr);
|
hip.addr = ntohl(ip->addr);
|
||||||
snmp_iptooid(&hip, &arpidx[1]);
|
snmp_iptooid(&hip, &arpidx[1]);
|
||||||
|
|
||||||
for (tree = 0; tree < 2; tree++)
|
for (tree = 0; tree < 2; tree++)
|
||||||
{
|
{
|
||||||
if (tree == 0)
|
if (tree == 0)
|
||||||
@ -1094,20 +1094,29 @@ void snmp_insert_arpidx_tree(struct netif *ni, struct ip_addr *ip)
|
|||||||
{
|
{
|
||||||
at_rn = snmp_mib_lrn_alloc();
|
at_rn = snmp_mib_lrn_alloc();
|
||||||
at_node->nptr = (struct mib_node*)at_rn;
|
at_node->nptr = (struct mib_node*)at_rn;
|
||||||
if (level == 3)
|
if (at_rn != NULL)
|
||||||
{
|
{
|
||||||
if (tree == 0)
|
if (level == 3)
|
||||||
{
|
{
|
||||||
at_rn->get_object_def = atentry_get_object_def;
|
if (tree == 0)
|
||||||
at_rn->get_value = atentry_get_value;
|
{
|
||||||
|
at_rn->get_object_def = atentry_get_object_def;
|
||||||
|
at_rn->get_value = atentry_get_value;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
at_rn->get_object_def = ip_ntomentry_get_object_def;
|
||||||
|
at_rn->get_value = ip_ntomentry_get_value;
|
||||||
|
}
|
||||||
|
at_rn->set_test = noleafs_set_test;
|
||||||
|
at_rn->set_value = noleafs_set_value;
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
{
|
else
|
||||||
at_rn->get_object_def = ip_ntomentry_get_object_def;
|
{
|
||||||
at_rn->get_value = ip_ntomentry_get_value;
|
/* at_rn == NULL, malloc failure */
|
||||||
}
|
LWIP_DEBUGF(SNMP_MIB_DEBUG,("snmp_insert_arpidx_tree() insert failed, mem full"));
|
||||||
at_rn->set_test = noleafs_set_test;
|
break;
|
||||||
at_rn->set_value = noleafs_set_value;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1122,7 +1131,7 @@ void snmp_insert_arpidx_tree(struct netif *ni, struct ip_addr *ip)
|
|||||||
ipntomtable.maxlength = 1;
|
ipntomtable.maxlength = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes ARP table indexes (.xIfIndex.xNetAddress)
|
* Removes ARP table indexes (.xIfIndex.xNetAddress)
|
||||||
* from arp table index trees.
|
* from arp table index trees.
|
||||||
*/
|
*/
|
||||||
@ -1137,7 +1146,7 @@ void snmp_delete_arpidx_tree(struct netif *ni, struct ip_addr *ip)
|
|||||||
snmp_netiftoifindex(ni, &arpidx[0]);
|
snmp_netiftoifindex(ni, &arpidx[0]);
|
||||||
hip.addr = ntohl(ip->addr);
|
hip.addr = ntohl(ip->addr);
|
||||||
snmp_iptooid(&hip, &arpidx[1]);
|
snmp_iptooid(&hip, &arpidx[1]);
|
||||||
|
|
||||||
for (tree = 0; tree < 2; tree++)
|
for (tree = 0; tree < 2; tree++)
|
||||||
{
|
{
|
||||||
/* mark nodes for deletion */
|
/* mark nodes for deletion */
|
||||||
@ -1150,7 +1159,7 @@ void snmp_delete_arpidx_tree(struct netif *ni, struct ip_addr *ip)
|
|||||||
at_rn = &ipntomtree_root;
|
at_rn = &ipntomtree_root;
|
||||||
}
|
}
|
||||||
level = 0;
|
level = 0;
|
||||||
del_cnt = 0;
|
del_cnt = 0;
|
||||||
while ((level < 5) && (at_rn != NULL))
|
while ((level < 5) && (at_rn != NULL))
|
||||||
{
|
{
|
||||||
fc = snmp_mib_node_find(at_rn, arpidx[level], &at_n);
|
fc = snmp_mib_node_find(at_rn, arpidx[level], &at_n);
|
||||||
@ -1183,7 +1192,7 @@ void snmp_delete_arpidx_tree(struct netif *ni, struct ip_addr *ip)
|
|||||||
at_rn = del_rn[del_cnt];
|
at_rn = del_rn[del_cnt];
|
||||||
at_n = del_n[del_cnt];
|
at_n = del_n[del_cnt];
|
||||||
|
|
||||||
next = snmp_mib_node_delete(at_rn, at_n);
|
next = snmp_mib_node_delete(at_rn, at_n);
|
||||||
if (next != NULL)
|
if (next != NULL)
|
||||||
{
|
{
|
||||||
LWIP_ASSERT("next_count == 0",next->count == 0);
|
LWIP_ASSERT("next_count == 0",next->count == 0);
|
||||||
@ -1281,7 +1290,7 @@ void snmp_inc_iproutingdiscards(void)
|
|||||||
iproutingdiscards++;
|
iproutingdiscards++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inserts ipAddrTable indexes (.ipAdEntAddr)
|
* Inserts ipAddrTable indexes (.ipAdEntAddr)
|
||||||
* into index tree.
|
* into index tree.
|
||||||
*/
|
*/
|
||||||
@ -1309,12 +1318,21 @@ void snmp_insert_ipaddridx_tree(struct netif *ni)
|
|||||||
{
|
{
|
||||||
ipa_rn = snmp_mib_lrn_alloc();
|
ipa_rn = snmp_mib_lrn_alloc();
|
||||||
ipa_node->nptr = (struct mib_node*)ipa_rn;
|
ipa_node->nptr = (struct mib_node*)ipa_rn;
|
||||||
if (level == 2)
|
if (ipa_rn != NULL)
|
||||||
{
|
{
|
||||||
ipa_rn->get_object_def = ip_addrentry_get_object_def;
|
if (level == 2)
|
||||||
ipa_rn->get_value = ip_addrentry_get_value;
|
{
|
||||||
ipa_rn->set_test = noleafs_set_test;
|
ipa_rn->get_object_def = ip_addrentry_get_object_def;
|
||||||
ipa_rn->set_value = noleafs_set_value;
|
ipa_rn->get_value = ip_addrentry_get_value;
|
||||||
|
ipa_rn->set_test = noleafs_set_test;
|
||||||
|
ipa_rn->set_value = noleafs_set_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* ipa_rn == NULL, malloc failure */
|
||||||
|
LWIP_DEBUGF(SNMP_MIB_DEBUG,("snmp_insert_ipaddridx_tree() insert failed, mem full"));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1328,7 +1346,7 @@ void snmp_insert_ipaddridx_tree(struct netif *ni)
|
|||||||
ipaddrtable.maxlength = 1;
|
ipaddrtable.maxlength = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes ipAddrTable indexes (.ipAdEntAddr)
|
* Removes ipAddrTable indexes (.ipAdEntAddr)
|
||||||
* from index tree.
|
* from index tree.
|
||||||
*/
|
*/
|
||||||
@ -1343,7 +1361,7 @@ void snmp_delete_ipaddridx_tree(struct netif *ni)
|
|||||||
LWIP_ASSERT("ni != NULL", ni != NULL);
|
LWIP_ASSERT("ni != NULL", ni != NULL);
|
||||||
ip.addr = ntohl(ni->ip_addr.addr);
|
ip.addr = ntohl(ni->ip_addr.addr);
|
||||||
snmp_iptooid(&ip, &ipaddridx[0]);
|
snmp_iptooid(&ip, &ipaddridx[0]);
|
||||||
|
|
||||||
/* mark nodes for deletion */
|
/* mark nodes for deletion */
|
||||||
level = 0;
|
level = 0;
|
||||||
del_cnt = 0;
|
del_cnt = 0;
|
||||||
@ -1376,11 +1394,11 @@ void snmp_delete_ipaddridx_tree(struct netif *ni)
|
|||||||
while (del_cnt > 0)
|
while (del_cnt > 0)
|
||||||
{
|
{
|
||||||
del_cnt--;
|
del_cnt--;
|
||||||
|
|
||||||
ipa_rn = del_rn[del_cnt];
|
ipa_rn = del_rn[del_cnt];
|
||||||
ipa_n = del_n[del_cnt];
|
ipa_n = del_n[del_cnt];
|
||||||
|
|
||||||
next = snmp_mib_node_delete(ipa_rn, ipa_n);
|
next = snmp_mib_node_delete(ipa_rn, ipa_n);
|
||||||
if (next != NULL)
|
if (next != NULL)
|
||||||
{
|
{
|
||||||
LWIP_ASSERT("next_count == 0",next->count == 0);
|
LWIP_ASSERT("next_count == 0",next->count == 0);
|
||||||
@ -1391,7 +1409,7 @@ void snmp_delete_ipaddridx_tree(struct netif *ni)
|
|||||||
if (ipaddrtree_root.count == 0) ipaddrtable.maxlength = 0;
|
if (ipaddrtree_root.count == 0) ipaddrtable.maxlength = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inserts ipRouteTable indexes (.ipRouteDest)
|
* Inserts ipRouteTable indexes (.ipRouteDest)
|
||||||
* into index tree.
|
* into index tree.
|
||||||
*
|
*
|
||||||
@ -1439,12 +1457,21 @@ void snmp_insert_iprteidx_tree(u8_t dflt, struct netif *ni)
|
|||||||
{
|
{
|
||||||
iprte_rn = snmp_mib_lrn_alloc();
|
iprte_rn = snmp_mib_lrn_alloc();
|
||||||
iprte_node->nptr = (struct mib_node*)iprte_rn;
|
iprte_node->nptr = (struct mib_node*)iprte_rn;
|
||||||
if (level == 2)
|
if (iprte_rn != NULL)
|
||||||
{
|
{
|
||||||
iprte_rn->get_object_def = ip_rteentry_get_object_def;
|
if (level == 2)
|
||||||
iprte_rn->get_value = ip_rteentry_get_value;
|
{
|
||||||
iprte_rn->set_test = noleafs_set_test;
|
iprte_rn->get_object_def = ip_rteentry_get_object_def;
|
||||||
iprte_rn->set_value = noleafs_set_value;
|
iprte_rn->get_value = ip_rteentry_get_value;
|
||||||
|
iprte_rn->set_test = noleafs_set_test;
|
||||||
|
iprte_rn->set_value = noleafs_set_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* iprte_rn == NULL, malloc failure */
|
||||||
|
LWIP_DEBUGF(SNMP_MIB_DEBUG,("snmp_insert_iprteidx_tree() insert failed, mem full"));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1459,7 +1486,7 @@ void snmp_insert_iprteidx_tree(u8_t dflt, struct netif *ni)
|
|||||||
iprtetable.maxlength = 1;
|
iprtetable.maxlength = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes ipRouteTable indexes (.ipRouteDest)
|
* Removes ipRouteTable indexes (.ipRouteDest)
|
||||||
* from index tree.
|
* from index tree.
|
||||||
*
|
*
|
||||||
@ -1492,7 +1519,7 @@ void snmp_delete_iprteidx_tree(u8_t dflt, struct netif *ni)
|
|||||||
s32_t iprteidx[4];
|
s32_t iprteidx[4];
|
||||||
u8_t fc, level, del_cnt;
|
u8_t fc, level, del_cnt;
|
||||||
|
|
||||||
snmp_iptooid(&dst, &iprteidx[0]);
|
snmp_iptooid(&dst, &iprteidx[0]);
|
||||||
/* mark nodes for deletion */
|
/* mark nodes for deletion */
|
||||||
level = 0;
|
level = 0;
|
||||||
del_cnt = 0;
|
del_cnt = 0;
|
||||||
@ -1525,11 +1552,11 @@ void snmp_delete_iprteidx_tree(u8_t dflt, struct netif *ni)
|
|||||||
while (del_cnt > 0)
|
while (del_cnt > 0)
|
||||||
{
|
{
|
||||||
del_cnt--;
|
del_cnt--;
|
||||||
|
|
||||||
iprte_rn = del_rn[del_cnt];
|
iprte_rn = del_rn[del_cnt];
|
||||||
iprte_n = del_n[del_cnt];
|
iprte_n = del_n[del_cnt];
|
||||||
|
|
||||||
next = snmp_mib_node_delete(iprte_rn, iprte_n);
|
next = snmp_mib_node_delete(iprte_rn, iprte_n);
|
||||||
if (next != NULL)
|
if (next != NULL)
|
||||||
{
|
{
|
||||||
LWIP_ASSERT("next_count == 0",next->count == 0);
|
LWIP_ASSERT("next_count == 0",next->count == 0);
|
||||||
@ -1583,7 +1610,7 @@ void snmp_inc_icmpinechos(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void snmp_inc_icmpinechoreps(void)
|
void snmp_inc_icmpinechoreps(void)
|
||||||
{
|
{
|
||||||
icmpinechoreps++;
|
icmpinechoreps++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1600,12 +1627,12 @@ void snmp_inc_icmpintimestampreps(void)
|
|||||||
void snmp_inc_icmpinaddrmasks(void)
|
void snmp_inc_icmpinaddrmasks(void)
|
||||||
{
|
{
|
||||||
icmpinaddrmasks++;
|
icmpinaddrmasks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void snmp_inc_icmpinaddrmaskreps(void)
|
void snmp_inc_icmpinaddrmaskreps(void)
|
||||||
{
|
{
|
||||||
icmpinaddrmaskreps++;
|
icmpinaddrmaskreps++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void snmp_inc_icmpoutmsgs(void)
|
void snmp_inc_icmpoutmsgs(void)
|
||||||
{
|
{
|
||||||
@ -1620,7 +1647,7 @@ void snmp_inc_icmpouterrors(void)
|
|||||||
void snmp_inc_icmpoutdestunreachs(void)
|
void snmp_inc_icmpoutdestunreachs(void)
|
||||||
{
|
{
|
||||||
icmpoutdestunreachs++;
|
icmpoutdestunreachs++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void snmp_inc_icmpouttimeexcds(void)
|
void snmp_inc_icmpouttimeexcds(void)
|
||||||
{
|
{
|
||||||
@ -1640,7 +1667,7 @@ void snmp_inc_icmpoutsrcquenchs(void)
|
|||||||
void snmp_inc_icmpoutredirects(void)
|
void snmp_inc_icmpoutredirects(void)
|
||||||
{
|
{
|
||||||
icmpoutredirects++;
|
icmpoutredirects++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void snmp_inc_icmpoutechos(void)
|
void snmp_inc_icmpoutechos(void)
|
||||||
{
|
{
|
||||||
@ -1737,7 +1764,7 @@ void snmp_inc_udpoutdatagrams(void)
|
|||||||
udpoutdatagrams++;
|
udpoutdatagrams++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inserts udpTable indexes (.udpLocalAddress.udpLocalPort)
|
* Inserts udpTable indexes (.udpLocalAddress.udpLocalPort)
|
||||||
* into index tree.
|
* into index tree.
|
||||||
*/
|
*/
|
||||||
@ -1765,12 +1792,21 @@ void snmp_insert_udpidx_tree(struct udp_pcb *pcb)
|
|||||||
{
|
{
|
||||||
udp_rn = snmp_mib_lrn_alloc();
|
udp_rn = snmp_mib_lrn_alloc();
|
||||||
udp_node->nptr = (struct mib_node*)udp_rn;
|
udp_node->nptr = (struct mib_node*)udp_rn;
|
||||||
if (level == 3)
|
if (udp_rn != NULL)
|
||||||
{
|
{
|
||||||
udp_rn->get_object_def = udpentry_get_object_def;
|
if (level == 3)
|
||||||
udp_rn->get_value = udpentry_get_value;
|
{
|
||||||
udp_rn->set_test = noleafs_set_test;
|
udp_rn->get_object_def = udpentry_get_object_def;
|
||||||
udp_rn->set_value = noleafs_set_value;
|
udp_rn->get_value = udpentry_get_value;
|
||||||
|
udp_rn->set_test = noleafs_set_test;
|
||||||
|
udp_rn->set_value = noleafs_set_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* udp_rn == NULL, malloc failure */
|
||||||
|
LWIP_DEBUGF(SNMP_MIB_DEBUG,("snmp_insert_udpidx_tree() insert failed, mem full"));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1782,7 +1818,7 @@ void snmp_insert_udpidx_tree(struct udp_pcb *pcb)
|
|||||||
udptable.maxlength = 1;
|
udptable.maxlength = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes udpTable indexes (.udpLocalAddress.udpLocalPort)
|
* Removes udpTable indexes (.udpLocalAddress.udpLocalPort)
|
||||||
* from index tree.
|
* from index tree.
|
||||||
*/
|
*/
|
||||||
@ -1798,13 +1834,13 @@ void snmp_delete_udpidx_tree(struct udp_pcb *pcb)
|
|||||||
ip.addr = ntohl(pcb->local_ip.addr);
|
ip.addr = ntohl(pcb->local_ip.addr);
|
||||||
snmp_iptooid(&ip, &udpidx[0]);
|
snmp_iptooid(&ip, &udpidx[0]);
|
||||||
udpidx[4] = pcb->local_port;
|
udpidx[4] = pcb->local_port;
|
||||||
|
|
||||||
/* count PCBs for a given binding
|
/* count PCBs for a given binding
|
||||||
(e.g. when reusing ports or for temp output PCBs) */
|
(e.g. when reusing ports or for temp output PCBs) */
|
||||||
bindings = 0;
|
bindings = 0;
|
||||||
pcb = udp_pcbs;
|
pcb = udp_pcbs;
|
||||||
while ((pcb != NULL))
|
while ((pcb != NULL))
|
||||||
{
|
{
|
||||||
if ((pcb->local_ip.addr == ip.addr) &&
|
if ((pcb->local_ip.addr == ip.addr) &&
|
||||||
(pcb->local_port == udpidx[4]))
|
(pcb->local_port == udpidx[4]))
|
||||||
{
|
{
|
||||||
@ -1847,7 +1883,7 @@ void snmp_delete_udpidx_tree(struct udp_pcb *pcb)
|
|||||||
while (del_cnt > 0)
|
while (del_cnt > 0)
|
||||||
{
|
{
|
||||||
del_cnt--;
|
del_cnt--;
|
||||||
|
|
||||||
udp_rn = del_rn[del_cnt];
|
udp_rn = del_rn[del_cnt];
|
||||||
udp_n = del_n[del_cnt];
|
udp_n = del_n[del_cnt];
|
||||||
|
|
||||||
@ -2068,10 +2104,10 @@ system_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
ident_len += 1;
|
ident_len += 1;
|
||||||
ident -= 1;
|
ident -= 1;
|
||||||
if (ident_len == 2)
|
if (ident_len == 2)
|
||||||
{
|
{
|
||||||
od->id_inst_len = ident_len;
|
od->id_inst_len = ident_len;
|
||||||
od->id_inst_ptr = ident;
|
od->id_inst_ptr = ident;
|
||||||
|
|
||||||
id = ident[0];
|
id = ident[0];
|
||||||
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def system.%"U16_F".0\n",(u16_t)id));
|
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def system.%"U16_F".0\n",(u16_t)id));
|
||||||
switch (id)
|
switch (id)
|
||||||
@ -2139,7 +2175,7 @@ system_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
* @param len return value space (in bytes)
|
* @param len return value space (in bytes)
|
||||||
* @param value points to (varbind) space to copy value into.
|
* @param value points to (varbind) space to copy value into.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
system_get_value(struct obj_def *od, u16_t len, void *value)
|
system_get_value(struct obj_def *od, u16_t len, void *value)
|
||||||
{
|
{
|
||||||
u8_t id;
|
u8_t id;
|
||||||
@ -2273,7 +2309,7 @@ interfaces_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
* @param len return value space (in bytes)
|
* @param len return value space (in bytes)
|
||||||
* @param value points to (varbind) space to copy value into.
|
* @param value points to (varbind) space to copy value into.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
interfaces_get_value(struct obj_def *od, u16_t len, void *value)
|
interfaces_get_value(struct obj_def *od, u16_t len, void *value)
|
||||||
{
|
{
|
||||||
if (len){}
|
if (len){}
|
||||||
@ -2303,7 +2339,7 @@ ifentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
{
|
{
|
||||||
od->id_inst_len = ident_len;
|
od->id_inst_len = ident_len;
|
||||||
od->id_inst_ptr = ident;
|
od->id_inst_ptr = ident;
|
||||||
|
|
||||||
id = ident[0];
|
id = ident[0];
|
||||||
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def ifentry.%"U16_F"\n",(u16_t)id));
|
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def ifentry.%"U16_F"\n",(u16_t)id));
|
||||||
switch (id)
|
switch (id)
|
||||||
@ -2334,7 +2370,7 @@ ifentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
case 6: /* ifPhysAddress */
|
case 6: /* ifPhysAddress */
|
||||||
{
|
{
|
||||||
struct netif *netif;
|
struct netif *netif;
|
||||||
|
|
||||||
snmp_ifindextonetif(ident[1], &netif);
|
snmp_ifindextonetif(ident[1], &netif);
|
||||||
od->instance = MIB_OBJECT_TAB;
|
od->instance = MIB_OBJECT_TAB;
|
||||||
od->access = MIB_OBJECT_READ_ONLY;
|
od->access = MIB_OBJECT_READ_ONLY;
|
||||||
@ -2398,7 +2434,7 @@ ifentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
* @param len return value space (in bytes)
|
* @param len return value space (in bytes)
|
||||||
* @param value points to (varbind) space to copy value into.
|
* @param value points to (varbind) space to copy value into.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
ifentry_get_value(struct obj_def *od, u16_t len, void *value)
|
ifentry_get_value(struct obj_def *od, u16_t len, void *value)
|
||||||
{
|
{
|
||||||
struct netif *netif;
|
struct netif *netif;
|
||||||
@ -2600,7 +2636,7 @@ atentry_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
snmp_ifindextonetif(od->id_inst_ptr[1], &netif);
|
snmp_ifindextonetif(od->id_inst_ptr[1], &netif);
|
||||||
snmp_oidtoip(&od->id_inst_ptr[2], &ip);
|
snmp_oidtoip(&od->id_inst_ptr[2], &ip);
|
||||||
ip.addr = htonl(ip.addr);
|
ip.addr = htonl(ip.addr);
|
||||||
|
|
||||||
if (etharp_find_addr(netif, &ip, ðaddr_ret, &ipaddr_ret) > -1)
|
if (etharp_find_addr(netif, &ip, ðaddr_ret, &ipaddr_ret) > -1)
|
||||||
{
|
{
|
||||||
id = od->id_inst_ptr[0];
|
id = od->id_inst_ptr[0];
|
||||||
@ -2639,10 +2675,10 @@ ip_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
ident_len += 1;
|
ident_len += 1;
|
||||||
ident -= 1;
|
ident -= 1;
|
||||||
if (ident_len == 2)
|
if (ident_len == 2)
|
||||||
{
|
{
|
||||||
od->id_inst_len = ident_len;
|
od->id_inst_len = ident_len;
|
||||||
od->id_inst_ptr = ident;
|
od->id_inst_ptr = ident;
|
||||||
|
|
||||||
id = ident[0];
|
id = ident[0];
|
||||||
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def ip.%"U16_F".0\n",(u16_t)id));
|
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def ip.%"U16_F".0\n",(u16_t)id));
|
||||||
switch (id)
|
switch (id)
|
||||||
@ -2943,7 +2979,7 @@ ip_addrentry_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
netif = netif->next;
|
netif = netif->next;
|
||||||
ifidx++;
|
ifidx++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (netif != NULL)
|
if (netif != NULL)
|
||||||
{
|
{
|
||||||
id = od->id_inst_ptr[0];
|
id = od->id_inst_ptr[0];
|
||||||
@ -2969,7 +3005,7 @@ ip_addrentry_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
break;
|
break;
|
||||||
case 4: /* ipAdEntBcastAddr */
|
case 4: /* ipAdEntBcastAddr */
|
||||||
{
|
{
|
||||||
s32_t *sint_ptr = value;
|
s32_t *sint_ptr = value;
|
||||||
|
|
||||||
/* lwIP oddity, there's no broadcast
|
/* lwIP oddity, there's no broadcast
|
||||||
address in the netif we can rely on */
|
address in the netif we can rely on */
|
||||||
@ -2978,7 +3014,7 @@ ip_addrentry_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
break;
|
break;
|
||||||
case 5: /* ipAdEntReasmMaxSize */
|
case 5: /* ipAdEntReasmMaxSize */
|
||||||
{
|
{
|
||||||
s32_t *sint_ptr = value;
|
s32_t *sint_ptr = value;
|
||||||
#if IP_REASSEMBLY
|
#if IP_REASSEMBLY
|
||||||
*sint_ptr = (IP_HLEN + IP_REASS_BUFSIZE);
|
*sint_ptr = (IP_HLEN + IP_REASS_BUFSIZE);
|
||||||
#else
|
#else
|
||||||
@ -2992,7 +3028,7 @@ ip_addrentry_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @note
|
* @note
|
||||||
* lwIP IP routing is currently using the network addresses in netif_list.
|
* lwIP IP routing is currently using the network addresses in netif_list.
|
||||||
* if no suitable network IP is found in netif_list, the default_netif is used.
|
* if no suitable network IP is found in netif_list, the default_netif is used.
|
||||||
@ -3082,12 +3118,12 @@ ip_rteentry_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
{
|
{
|
||||||
/* not using ip_route(), need exact match! */
|
/* not using ip_route(), need exact match! */
|
||||||
netif = netif_list;
|
netif = netif_list;
|
||||||
while ((netif != NULL) &&
|
while ((netif != NULL) &&
|
||||||
!ip_addr_netcmp(&dest, &(netif->ip_addr), &(netif->netmask)) )
|
!ip_addr_netcmp(&dest, &(netif->ip_addr), &(netif->netmask)) )
|
||||||
{
|
{
|
||||||
netif = netif->next;
|
netif = netif->next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (netif != NULL)
|
if (netif != NULL)
|
||||||
{
|
{
|
||||||
id = ident[0];
|
id = ident[0];
|
||||||
@ -3116,7 +3152,7 @@ ip_rteentry_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
snmp_netiftoifindex(netif, sint_ptr);
|
snmp_netiftoifindex(netif, sint_ptr);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3: /* ipRouteMetric1 */
|
case 3: /* ipRouteMetric1 */
|
||||||
{
|
{
|
||||||
s32_t *sint_ptr = value;
|
s32_t *sint_ptr = value;
|
||||||
|
|
||||||
@ -3275,7 +3311,7 @@ ip_ntomentry_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
snmp_ifindextonetif(od->id_inst_ptr[1], &netif);
|
snmp_ifindextonetif(od->id_inst_ptr[1], &netif);
|
||||||
snmp_oidtoip(&od->id_inst_ptr[2], &ip);
|
snmp_oidtoip(&od->id_inst_ptr[2], &ip);
|
||||||
ip.addr = htonl(ip.addr);
|
ip.addr = htonl(ip.addr);
|
||||||
|
|
||||||
if (etharp_find_addr(netif, &ip, ðaddr_ret, &ipaddr_ret) > -1)
|
if (etharp_find_addr(netif, &ip, ðaddr_ret, &ipaddr_ret) > -1)
|
||||||
{
|
{
|
||||||
id = od->id_inst_ptr[0];
|
id = od->id_inst_ptr[0];
|
||||||
@ -3386,7 +3422,7 @@ icmp_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
*uint_ptr = icmpinaddrmaskreps;
|
*uint_ptr = icmpinaddrmaskreps;
|
||||||
break;
|
break;
|
||||||
case 14: /* icmpOutMsgs */
|
case 14: /* icmpOutMsgs */
|
||||||
*uint_ptr = icmpoutmsgs;
|
*uint_ptr = icmpoutmsgs;
|
||||||
break;
|
break;
|
||||||
case 15: /* icmpOutErrors */
|
case 15: /* icmpOutErrors */
|
||||||
*uint_ptr = icmpouterrors;
|
*uint_ptr = icmpouterrors;
|
||||||
@ -3438,10 +3474,10 @@ tcp_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
ident_len += 1;
|
ident_len += 1;
|
||||||
ident -= 1;
|
ident -= 1;
|
||||||
if (ident_len == 2)
|
if (ident_len == 2)
|
||||||
{
|
{
|
||||||
od->id_inst_len = ident_len;
|
od->id_inst_len = ident_len;
|
||||||
od->id_inst_ptr = ident;
|
od->id_inst_ptr = ident;
|
||||||
|
|
||||||
id = ident[0];
|
id = ident[0];
|
||||||
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def tcp.%"U16_F".0\n",(u16_t)id));
|
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def tcp.%"U16_F".0\n",(u16_t)id));
|
||||||
|
|
||||||
@ -3535,7 +3571,7 @@ tcp_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
while (pcb != NULL)
|
while (pcb != NULL)
|
||||||
{
|
{
|
||||||
if ((pcb->state == ESTABLISHED) ||
|
if ((pcb->state == ESTABLISHED) ||
|
||||||
(pcb->state == CLOSE_WAIT))
|
(pcb->state == CLOSE_WAIT))
|
||||||
{
|
{
|
||||||
tcpcurrestab++;
|
tcpcurrestab++;
|
||||||
}
|
}
|
||||||
@ -3575,7 +3611,7 @@ tcpconnentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
|
|
||||||
od->id_inst_len = ident_len;
|
od->id_inst_len = ident_len;
|
||||||
od->id_inst_ptr = ident;
|
od->id_inst_ptr = ident;
|
||||||
|
|
||||||
id = ident[0];
|
id = ident[0];
|
||||||
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def tcp.%"U16_F".0\n",(u16_t)id));
|
LWIP_DEBUGF(SNMP_MIB_DEBUG,("get_object_def tcp.%"U16_F".0\n",(u16_t)id));
|
||||||
|
|
||||||
@ -3688,7 +3724,7 @@ udpentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)
|
|||||||
/* return to object name, adding index depth (5) */
|
/* return to object name, adding index depth (5) */
|
||||||
ident_len += 5;
|
ident_len += 5;
|
||||||
ident -= 5;
|
ident -= 5;
|
||||||
|
|
||||||
if (ident_len == 6)
|
if (ident_len == 6)
|
||||||
{
|
{
|
||||||
od->id_inst_len = ident_len;
|
od->id_inst_len = ident_len;
|
||||||
@ -3738,10 +3774,10 @@ udpentry_get_value(struct obj_def *od, u16_t len, void *value)
|
|||||||
while ((pcb != NULL) &&
|
while ((pcb != NULL) &&
|
||||||
!((pcb->local_ip.addr == ip.addr) &&
|
!((pcb->local_ip.addr == ip.addr) &&
|
||||||
(pcb->local_port == port)))
|
(pcb->local_port == port)))
|
||||||
{
|
{
|
||||||
pcb = pcb->next;
|
pcb = pcb->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pcb != NULL)
|
if (pcb != NULL)
|
||||||
{
|
{
|
||||||
id = od->id_inst_ptr[0];
|
id = od->id_inst_ptr[0];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user