Merge branch 'bugfix/lwip_dhcpserver' into 'wifi'

Bugfix/lwip dhcpserver

TW6872

See merge request !50
This commit is contained in:
Wu Jian Gang
2016-09-01 19:02:06 +08:00

View File

@@ -701,6 +701,7 @@ static s16_t parse_msg(struct dhcps_msg *m, u16_t len)
client_address.addr = client_address_plus.addr;
renew = false;
if (plist != NULL){
for (pback_node = plist; pback_node != NULL;pback_node = pback_node->pnext) {
pdhcps_pool = pback_node->pnode;
if (memcmp(pdhcps_pool->mac, m->chaddr, sizeof(pdhcps_pool->mac)) == 0){
@@ -718,8 +719,8 @@ static s16_t parse_msg(struct dhcps_msg *m, u16_t len)
client_address.addr = client_address_plus.addr;
}
if(flag == false) { // search the fisrt unused ip
if(first_address.addr < pdhcps_pool->ip.addr) {
if (flag == false) { // search the fisrt unused ip
if (first_address.addr < pdhcps_pool->ip.addr) {
flag = true;
} else {
addr_tmp.addr = htonl(first_address.addr);
@@ -728,6 +729,10 @@ static s16_t parse_msg(struct dhcps_msg *m, u16_t len)
}
}
}
} else {
client_address.addr = dhcps_poll.start_ip.addr;
}
if (client_address_plus.addr > dhcps_poll.end_ip.addr) {
client_address.addr = first_address.addr;
}