diff options
author | Felix Fietkau <nbd@openwrt.org> | 2007-06-29 00:07:43 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2007-06-29 00:07:43 +0000 |
commit | fc649db7028541c42cdb407ab5555aba29c7db95 (patch) | |
tree | 98f925301a5d5fe27ee999592c2c65c5fceb0808 | |
parent | 810b0bcb22ff82d0fa68157221c6621c486c0b9f (diff) | |
download | upstream-fc649db7028541c42cdb407ab5555aba29c7db95.tar.gz upstream-fc649db7028541c42cdb407ab5555aba29c7db95.tar.bz2 upstream-fc649db7028541c42cdb407ab5555aba29c7db95.zip |
check for + in the broadcast address before attempting a dns lookup
SVN-Revision: 7767
-rw-r--r-- | package/busybox/patches/260-broadcast_plus.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/package/busybox/patches/260-broadcast_plus.patch b/package/busybox/patches/260-broadcast_plus.patch new file mode 100644 index 0000000000..60b2afc242 --- /dev/null +++ b/package/busybox/patches/260-broadcast_plus.patch @@ -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; |