mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-24 21:54:36 +02:00
check for + in the broadcast address before attempting a dns lookup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7767 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
a9d4da075e
commit
547500075f
29
package/busybox/patches/260-broadcast_plus.patch
Normal file
29
package/busybox/patches/260-broadcast_plus.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
Index: busybox-1.4.2/networking/ifconfig.c
|
||||||
|
===================================================================
|
||||||
|
--- busybox-1.4.2.orig/networking/ifconfig.c 2007-06-29 02:03:17.046772952 +0200
|
||||||
|
+++ busybox-1.4.2/networking/ifconfig.c 2007-06-29 02:03:49.938772608 +0200
|
||||||
|
@@ -376,18 +376,18 @@
|
||||||
|
#endif
|
||||||
|
sai.sin_family = AF_INET;
|
||||||
|
sai.sin_port = 0;
|
||||||
|
- if (!strcmp(host, bb_str_default)) {
|
||||||
|
- /* Default is special, meaning 0.0.0.0. */
|
||||||
|
- sai.sin_addr.s_addr = INADDR_ANY;
|
||||||
|
- }
|
||||||
|
#if ENABLE_FEATURE_IFCONFIG_BROADCAST_PLUS
|
||||||
|
- else if ((host[0] == '+' && !host[1]) && (mask & A_BROADCAST)
|
||||||
|
+ if ((host[0] == '+' && !host[1]) && (mask & A_BROADCAST)
|
||||||
|
&& (did_flags & (A_NETMASK|A_HOSTNAME)) == (A_NETMASK|A_HOSTNAME)
|
||||||
|
) {
|
||||||
|
/* + is special, meaning broadcast is derived. */
|
||||||
|
sai.sin_addr.s_addr = (~sai_netmask) | (sai_hostname & sai_netmask);
|
||||||
|
- }
|
||||||
|
+ } else
|
||||||
|
#endif
|
||||||
|
+ if (!strcmp(host, bb_str_default)) {
|
||||||
|
+ /* Default is special, meaning 0.0.0.0. */
|
||||||
|
+ sai.sin_addr.s_addr = INADDR_ANY;
|
||||||
|
+ }
|
||||||
|
#if ENABLE_FEATURE_IPV6
|
||||||
|
else if (inet_pton(AF_INET6, host, &sai6.sin6_addr) > 0) {
|
||||||
|
int sockfd6;
|
Loading…
Reference in New Issue
Block a user