Changeset 5723 in vbox for trunk/src/VBox/Devices/Network/slirp
- Timestamp:
- Nov 13, 2007 4:47:27 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 26086
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/slirp/udp.c
r1824 r5723 307 307 saddr.sin_addr.s_addr = alias_addr.s_addr; 308 308 } 309 /* Any UDP packet to the loopback address must be translated to be from 310 * the forwarding address, i.e. 10.0.2.2. */ 311 if ( (saddr.sin_addr.s_addr & htonl(IN_CLASSA_NET)) 312 == htonl(INADDR_LOOPBACK & IN_CLASSA_NET)) 313 saddr.sin_addr.s_addr = alias_addr.s_addr; 314 309 315 daddr.sin_addr = so->so_laddr; 310 316 daddr.sin_port = so->so_lport; … … 647 653 getsockname(so->s,(struct sockaddr *)&addr,&addrlen); 648 654 so->so_fport = addr.sin_port; 649 if (addr.sin_addr.s_addr == 0 || addr.sin_addr.s_addr == loopback_addr.s_addr) 655 /* The original check was completely broken, as the commented out 656 * if statement was always true (INADDR_ANY=0). */ 657 /* if (addr.sin_addr.s_addr == 0 || addr.sin_addr.s_addr == loopback_addr.s_addr) */ 658 if (1 == 0) /* always use the else part */ 650 659 so->so_faddr = alias_addr; 651 660 else
Note:
See TracChangeset
for help on using the changeset viewer.