mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-19 05:10:40 +00:00
Corrected fix for bug #34072 (UDP broadcast is received from wrong UDP pcb if udp port matches): pcbs bound to IPADDR_ANY did not receive broadcasts any more (bug #34294)
This commit is contained in:
parent
a2aa43a426
commit
0aea1b608a
@ -261,10 +261,12 @@ udp_input(struct pbuf *p, struct netif *inp)
|
|||||||
#endif /* LWIP_IGMP */
|
#endif /* LWIP_IGMP */
|
||||||
#if IP_SOF_BROADCAST_RECV
|
#if IP_SOF_BROADCAST_RECV
|
||||||
(broadcast && (pcb->so_options & SOF_BROADCAST) &&
|
(broadcast && (pcb->so_options & SOF_BROADCAST) &&
|
||||||
ip_addr_netcmp(ipX_2_ip(&pcb->local_ip), ip_current_dest_addr(), &inp->netmask)))))) {
|
(ipX_addr_isany(0, &pcb->local_ip) ||
|
||||||
|
ip_addr_netcmp(ipX_2_ip(&pcb->local_ip), ip_current_dest_addr(), &inp->netmask))))))) {
|
||||||
#else /* IP_SOF_BROADCAST_RECV */
|
#else /* IP_SOF_BROADCAST_RECV */
|
||||||
(broadcast &&
|
(broadcast &&
|
||||||
ip_addr_netcmp(ipX_2_ip(&pcb->local_ip), ip_current_dest_addr(), &inp->netmask)))))) {
|
(ipX_addr_isany(0, &pcb->local_ip) ||
|
||||||
|
ip_addr_netcmp(ipX_2_ip(&pcb->local_ip), ip_current_dest_addr(), &inp->netmask))))))) {
|
||||||
#endif /* IP_SOF_BROADCAST_RECV */
|
#endif /* IP_SOF_BROADCAST_RECV */
|
||||||
local_match = 1;
|
local_match = 1;
|
||||||
if ((uncon_pcb == NULL) &&
|
if ((uncon_pcb == NULL) &&
|
||||||
|
Loading…
Reference in New Issue
Block a user