|
|
@@ -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;
|