mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-04 14:29:39 +00:00
Fixed bug #28506 (raw_bind should filter received packets)
This commit is contained in:
parent
c483c13dc4
commit
8292cebfd9
@ -41,6 +41,9 @@ HISTORY
|
||||
|
||||
++ Bugfixes:
|
||||
|
||||
2010-01-10: Simon Goldschmidt
|
||||
* raw.c: Fixed bug #28506 (raw_bind should filter received packets)
|
||||
|
||||
2010-01-10: Simon Goldschmidt
|
||||
* tcp.h/.c: bug #28127 (remove call to tcp_output() from tcp_ack(_now)())
|
||||
|
||||
|
@ -92,7 +92,9 @@ raw_input(struct pbuf *p, struct netif *inp)
|
||||
/* loop through all raw pcbs until the packet is eaten by one */
|
||||
/* this allows multiple pcbs to match against the packet by design */
|
||||
while ((eaten == 0) && (pcb != NULL)) {
|
||||
if (pcb->protocol == proto) {
|
||||
if ((pcb->protocol == proto) &&
|
||||
(ip_addr_isany(&pcb->local_ip)) ||
|
||||
ip_addr_cmp(&(pcb->local_ip), &(iphdr->dest))) {
|
||||
#if IP_SOF_BROADCAST_RECV
|
||||
/* broadcast filter? */
|
||||
if ((pcb->so_options & SOF_BROADCAST) || !ip_addr_isbroadcast(&(iphdr->dest), inp))
|
||||
|
Loading…
Reference in New Issue
Block a user