summaryrefslogtreecommitdiffstats
path: root/package/busybox/patches
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/patches')
-rw-r--r--package/busybox/patches/000-autoconf.patch12
-rw-r--r--package/busybox/patches/003-brctl_show_fix.patch12
-rw-r--r--package/busybox/patches/110-wget_getopt_fix.patch2
-rw-r--r--package/busybox/patches/240-udhcpc_retries.patch14
-rw-r--r--package/busybox/patches/241-udhcpc-oversized_packets.patch46
-rw-r--r--package/busybox/patches/242-udhcpc_msgs.patch2
-rw-r--r--package/busybox/patches/243-udhcpc_changed_ifindex.patch4
-rw-r--r--package/busybox/patches/244-udhcpc_cidrroute.patch18
-rw-r--r--package/busybox/patches/250-ash_export-n.patch4
-rw-r--r--package/busybox/patches/300-netmsg.patch24
-rw-r--r--package/busybox/patches/340-lock_util.patch24
-rw-r--r--package/busybox/patches/350-httpd_redir.patch32
-rw-r--r--package/busybox/patches/430-uniq_memleak.patch2
-rw-r--r--package/busybox/patches/470-insmod_search.patch2
-rw-r--r--package/busybox/patches/480-mount_union.patch6
-rw-r--r--package/busybox/patches/524-udhcpc_renew.patch2
-rw-r--r--package/busybox/patches/902-telnetd_intr.patch4
17 files changed, 101 insertions, 109 deletions
diff --git a/package/busybox/patches/000-autoconf.patch b/package/busybox/patches/000-autoconf.patch
index 8cb7a4cc7..d0a6f6127 100644
--- a/package/busybox/patches/000-autoconf.patch
+++ b/package/busybox/patches/000-autoconf.patch
@@ -1,18 +1,18 @@
--- a/applets/Kbuild
+++ b/applets/Kbuild
-@@ -18,13 +18,13 @@ HOSTCFLAGS_usage.o = -I$(srctree)/includ
+@@ -27,13 +27,13 @@ HOSTCFLAGS_usage.o = -I$(srctree_slash)i
applets/applets.o: include/usage_compressed.h include/applet_tables.h
--applets/usage: .config $(srctree)/applets/usage_compressed
-+applets/usage: .config $(srctree)/applets/usage_compressed include/autoconf.h
+-applets/usage: .config $(srctree_slash)applets/usage_compressed
++applets/usage: .config $(srctree_slash)applets/usage_compressed include/autoconf.h
applets/applet_tables: .config
quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
- cmd_gen_usage_compressed = $(srctree)/applets/usage_compressed include/usage_compressed.h applets
+ cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets
--include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
-+include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed include/autoconf.h
+-include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed
++include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed include/autoconf.h
$(call cmd,gen_usage_compressed)
quiet_cmd_gen_applet_tables = GEN include/applet_tables.h
diff --git a/package/busybox/patches/003-brctl_show_fix.patch b/package/busybox/patches/003-brctl_show_fix.patch
index f3fc40288..b921c7890 100644
--- a/package/busybox/patches/003-brctl_show_fix.patch
+++ b/package/busybox/patches/003-brctl_show_fix.patch
@@ -4,23 +4,23 @@
"setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
"setpathcost\0" "setportprio\0" "setbridgeprio\0"
)
-- USE_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
-+ USE_FEATURE_BRCTL_SHOW("show\0");
+- IF_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
++ IF_FEATURE_BRCTL_SHOW("show\0");
enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
- USE_FEATURE_BRCTL_FANCY(,
+ IF_FEATURE_BRCTL_FANCY(,
@@ -112,7 +112,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
ARG_setageing, ARG_setfd, ARG_sethello, ARG_setmaxage,
ARG_setpathcost, ARG_setportprio, ARG_setbridgeprio
)
-- USE_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
-+ USE_FEATURE_BRCTL_SHOW(, ARG_show)
+- IF_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
++ IF_FEATURE_BRCTL_SHOW(, ARG_show)
};
int fd;
--- a/networking/Config.in
+++ b/networking/Config.in
-@@ -66,12 +66,12 @@ config FEATURE_BRCTL_FANCY
+@@ -77,12 +77,12 @@ config FEATURE_BRCTL_FANCY
This adds about 600 bytes.
config FEATURE_BRCTL_SHOW
diff --git a/package/busybox/patches/110-wget_getopt_fix.patch b/package/busybox/patches/110-wget_getopt_fix.patch
index abb03d49f..617679eab 100644
--- a/package/busybox/patches/110-wget_getopt_fix.patch
+++ b/package/busybox/patches/110-wget_getopt_fix.patch
@@ -1,6 +1,6 @@
--- a/networking/wget.c
+++ b/networking/wget.c
-@@ -485,7 +485,7 @@ int wget_main(int argc UNUSED_PARAM, cha
+@@ -653,7 +653,7 @@ int wget_main(int argc UNUSED_PARAM, cha
// "tries\0" Required_argument "t"
// "timeout\0" Required_argument "T"
/* Ignored (we always use PASV): */
diff --git a/package/busybox/patches/240-udhcpc_retries.patch b/package/busybox/patches/240-udhcpc_retries.patch
index 81f120d8e..bfcc02b7f 100644
--- a/package/busybox/patches/240-udhcpc_retries.patch
+++ b/package/busybox/patches/240-udhcpc_retries.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -363,7 +363,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+@@ -380,7 +380,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
switch (state) {
case INIT_SELECTING:
@@ -8,13 +8,13 @@
+ if (!discover_retries || packet_num < discover_retries) {
if (packet_num == 0)
xid = random_xid();
-
-@@ -394,7 +394,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+ /* broadcast */
+@@ -409,7 +409,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+ packet_num = 0;
continue;
- case RENEW_REQUESTED:
case REQUESTING:
- if (packet_num < discover_retries) {
+ if (!discover_retries || packet_num < discover_retries) {
- /* send request packet */
- if (state == RENEW_REQUESTED) /* unicast */
- send_renew(xid, server_addr, requested_ip);
+ /* send broadcast select packet */
+ send_select(xid, server_addr, requested_ip);
+ timeout = discover_timeout;
diff --git a/package/busybox/patches/241-udhcpc-oversized_packets.patch b/package/busybox/patches/241-udhcpc-oversized_packets.patch
index 405a7a52e..0ee4c542e 100644
--- a/package/busybox/patches/241-udhcpc-oversized_packets.patch
+++ b/package/busybox/patches/241-udhcpc-oversized_packets.patch
@@ -1,39 +1,40 @@
--- a/networking/udhcp/packet.c
+++ b/networking/udhcp/packet.c
-@@ -120,6 +120,10 @@ uint16_t FAST_FUNC udhcp_checksum(void *
+@@ -164,6 +164,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *
return ~sum;
}
-+int udhcp_get_payload_len(struct dhcpMessage *payload)
++int udhcp_get_payload_len(struct dhcp_packet *dhcp_pkt)
+{
-+ return sizeof(struct dhcpMessage) - DHCP_OPTIONS_BUFSIZE + end_option(payload->options) + sizeof(payload->options[0]);
++ return sizeof(struct dhcp_packet) - DHCP_OPTIONS_BUFSIZE + end_option(dhcp_pkt->options) + sizeof(dhcp_pkt->options[0]);
+}
-
++
/* Construct a ip/udp header for a packet, send packet */
- int FAST_FUNC udhcp_send_raw_packet(struct dhcpMessage *payload,
-@@ -132,11 +136,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+ int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
+ uint32_t source_ip, int source_port,
+@@ -175,11 +180,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
int fd;
int result = -1;
const char *msg;
-
- enum {
-- IP_UPD_DHCP_SIZE = sizeof(struct udp_dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
-- UPD_DHCP_SIZE = IP_UPD_DHCP_SIZE - offsetof(struct udp_dhcp_packet, udp),
+- IP_UPD_DHCP_SIZE = sizeof(struct ip_udp_dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
+- UPD_DHCP_SIZE = IP_UPD_DHCP_SIZE - offsetof(struct ip_udp_dhcp_packet, udp),
- };
-+ int p_len = udhcp_get_payload_len(payload);
++ int p_len = udhcp_get_payload_len(dhcp_pkt);
fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
if (fd < 0) {
-@@ -146,7 +146,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -189,7 +190,7 @@ int FAST_FUNC udhcp_send_raw_packet(stru
memset(&dest, 0, sizeof(dest));
memset(&packet, 0, sizeof(packet));
-- packet.data = *payload; /* struct copy */
-+ memcpy(&(packet.data), payload, p_len);
+- packet.data = *dhcp_pkt; /* struct copy */
++ memcpy(&(packet.data), dhcp_pkt, p_len);
dest.sll_family = AF_PACKET;
dest.sll_protocol = htons(ETH_P_IP);
-@@ -163,23 +163,18 @@ int FAST_FUNC udhcp_send_raw_packet(stru
+@@ -206,24 +207,19 @@ int FAST_FUNC udhcp_send_raw_packet(stru
packet.ip.daddr = dest_ip;
packet.udp.source = htons(source_port);
packet.udp.dest = htons(dest_port);
@@ -58,18 +59,31 @@
- * If you need to change this: last byte of the packet is
- * packet.data.options[end_option(packet.data.options)]
- */
+ udhcp_dump_packet(dhcp_pkt);
- result = sendto(fd, &packet, IP_UPD_DHCP_SIZE, 0,
+ result = sendto(fd, &packet, p_len, 0,
(struct sockaddr *) &dest, sizeof(dest));
msg = "sendto";
ret_close:
-@@ -231,8 +226,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+@@ -245,10 +241,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
+ int result = -1;
+ const char *msg;
+
+- enum {
+- DHCP_SIZE = sizeof(struct dhcp_packet) - CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS,
+- };
+-
+ fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ if (fd < 0) {
+ msg = "socket(%s)";
+@@ -274,9 +266,8 @@ int FAST_FUNC udhcp_send_kernel_packet(s
goto ret_close;
}
- /* Currently we send full-sized DHCP packets (see above) */
-- result = safe_write(fd, payload, DHCP_SIZE);
-+ result = safe_write(fd, payload, udhcp_get_payload_len(payload));
+ udhcp_dump_packet(dhcp_pkt);
+- result = safe_write(fd, dhcp_pkt, DHCP_SIZE);
++ result = safe_write(fd, dhcp_pkt, udhcp_get_payload_len(dhcp_pkt));
msg = "write";
ret_close:
close(fd);
diff --git a/package/busybox/patches/242-udhcpc_msgs.patch b/package/busybox/patches/242-udhcpc_msgs.patch
index 0140c7854..1200c34c7 100644
--- a/package/busybox/patches/242-udhcpc_msgs.patch
+++ b/package/busybox/patches/242-udhcpc_msgs.patch
@@ -3,7 +3,7 @@
@@ -126,6 +126,7 @@ int FAST_FUNC send_decline(uint32_t xid,
int FAST_FUNC send_discover(uint32_t xid, uint32_t requested)
{
- struct dhcpMessage packet;
+ struct dhcp_packet packet;
+ static int msgs = 0;
init_packet(&packet, DHCPDISCOVER);
diff --git a/package/busybox/patches/243-udhcpc_changed_ifindex.patch b/package/busybox/patches/243-udhcpc_changed_ifindex.patch
index f0ab34d26..c5bf9123d 100644
--- a/package/busybox/patches/243-udhcpc_changed_ifindex.patch
+++ b/package/busybox/patches/243-udhcpc_changed_ifindex.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -327,6 +327,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+@@ -342,6 +342,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
/* silence "uninitialized!" warning */
unsigned timestamp_before_wait = timestamp_before_wait;
@@ -8,7 +8,7 @@
+ * member interfaces were added/removed or if the status of the
+ * bridge changed).
+ * Workaround: refresh it here before processing the next packet */
-+ udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.arp);
++ udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.client_mac);
+
//bb_error_msg("sockfd:%d, listen_mode:%d", sockfd, listen_mode);
diff --git a/package/busybox/patches/244-udhcpc_cidrroute.patch b/package/busybox/patches/244-udhcpc_cidrroute.patch
index 29313ae79..e69de29bb 100644
--- a/package/busybox/patches/244-udhcpc_cidrroute.patch
+++ b/package/busybox/patches/244-udhcpc_cidrroute.patch
@@ -1,18 +0,0 @@
---- a/networking/udhcp/options.c
-+++ b/networking/udhcp/options.c
-@@ -48,6 +48,7 @@ const struct dhcp_option dhcp_options[]
- #if ENABLE_FEATURE_UDHCP_RFC3397
- { OPTION_STR1035 | OPTION_LIST , 0x77 }, /* search */
- #endif
-+ { OPTION_U8 | OPTION_LIST | OPTION_REQ, 0x79 }, /* cidr_static_routes */
- /* MSIE's "Web Proxy Autodiscovery Protocol" support */
- { OPTION_STRING , 0xfc }, /* wpad */
-
-@@ -97,6 +98,7 @@ const char dhcp_option_strings[] ALIGN1
- #if ENABLE_FEATURE_UDHCP_RFC3397
- "search" "\0"
- #endif
-+ "cidrroute" "\0" /* cidr_static_routes */
- /* MSIE's "Web Proxy Autodiscovery Protocol" support */
- "wpad" "\0"
- ;
diff --git a/package/busybox/patches/250-ash_export-n.patch b/package/busybox/patches/250-ash_export-n.patch
index f11cb8f79..6a420e221 100644
--- a/package/busybox/patches/250-ash_export-n.patch
+++ b/package/busybox/patches/250-ash_export-n.patch
@@ -1,6 +1,6 @@
--- a/shell/ash.c
+++ b/shell/ash.c
-@@ -12273,8 +12273,17 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12360,8 +12360,17 @@ exportcmd(int argc UNUSED_PARAM, char **
const char *p;
char **aptr;
int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
@@ -19,7 +19,7 @@
aptr = argptr;
name = *aptr;
if (name) {
-@@ -12286,10 +12295,12 @@ exportcmd(int argc UNUSED_PARAM, char **
+@@ -12373,10 +12382,12 @@ exportcmd(int argc UNUSED_PARAM, char **
vp = *findvar(hashvar(name), name);
if (vp) {
vp->flags |= flag;
diff --git a/package/busybox/patches/300-netmsg.patch b/package/busybox/patches/300-netmsg.patch
index 641449eca..aba146872 100644
--- a/package/busybox/patches/300-netmsg.patch
+++ b/package/busybox/patches/300-netmsg.patch
@@ -1,16 +1,16 @@
--- a/include/applets.h
+++ b/include/applets.h
-@@ -271,6 +271,7 @@ USE_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_
- USE_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_NEVER))
- USE_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-+USE_NETMSG(APPLET(netmsg, _BB_DIR_BIN, _BB_SUID_ALWAYS))
- USE_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+@@ -278,6 +278,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
+ IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP))
+ IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP))
++IF_NETMSG(APPLET(netmsg, _BB_DIR_BIN, _BB_SUID_REQUIRE))
+ IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
--- a/include/usage.h
+++ b/include/usage.h
-@@ -3010,6 +3010,9 @@
+@@ -3101,6 +3101,9 @@
#endif
@@ -18,11 +18,11 @@
+#define netmsg_full_usage ""
+
#define netstat_trivial_usage \
- "[-laentuwxr"USE_FEATURE_NETSTAT_WIDE("W")USE_FEATURE_NETSTAT_PRG("p")"]"
+ "[-laentuwxr"IF_FEATURE_NETSTAT_WIDE("W")IF_FEATURE_NETSTAT_PRG("p")"]"
#define netstat_full_usage "\n\n" \
--- a/networking/Config.in
+++ b/networking/Config.in
-@@ -600,6 +600,12 @@ config NC
+@@ -617,6 +617,12 @@ config NC
A simple Unix utility which reads and writes data across network
connections.
@@ -37,7 +37,7 @@
default n
--- a/networking/Kbuild
+++ b/networking/Kbuild
-@@ -24,6 +24,7 @@ lib-$(CONFIG_IP) += ip.o
+@@ -25,6 +25,7 @@ lib-$(CONFIG_IP) += ip.o
lib-$(CONFIG_IPCALC) += ipcalc.o
lib-$(CONFIG_NAMEIF) += nameif.o
lib-$(CONFIG_NC) += nc.o
diff --git a/package/busybox/patches/340-lock_util.patch b/package/busybox/patches/340-lock_util.patch
index 8cffe45fd..3e9055862 100644
--- a/package/busybox/patches/340-lock_util.patch
+++ b/package/busybox/patches/340-lock_util.patch
@@ -1,16 +1,16 @@
--- a/include/applets.h
+++ b/include/applets.h
-@@ -228,6 +228,7 @@ USE_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN
- USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
- USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
- USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
-+USE_LOCK(APPLET(lock, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
- USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
- USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
+@@ -233,6 +233,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN,
+ IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
+ IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
+ IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_DROP))
++IF_LOCK(APPLET(lock, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_DROP))
+ IF_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_REQUIRE))
+ IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
--- a/include/usage.h
+++ b/include/usage.h
-@@ -2246,6 +2246,9 @@
+@@ -2325,6 +2325,9 @@
#define loadkmap_example_usage \
"$ loadkmap < /etc/i18n/lang-keymap\n"
@@ -18,11 +18,11 @@
+#define lock_full_usage ""
+
#define logger_trivial_usage \
- "[OPTION]... [MESSAGE]"
+ "[OPTIONS] [MESSAGE]"
#define logger_full_usage "\n\n" \
--- a/miscutils/Config.in
+++ b/miscutils/Config.in
-@@ -420,6 +420,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
+@@ -456,6 +456,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
help
Enables the 'hdparm -d' option to get/set using_dma flag.
@@ -36,7 +36,7 @@
default n
--- a/miscutils/Kbuild
+++ b/miscutils/Kbuild
-@@ -23,6 +23,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
+@@ -26,6 +26,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
lib-$(CONFIG_LESS) += less.o
diff --git a/package/busybox/patches/350-httpd_redir.patch b/package/busybox/patches/350-httpd_redir.patch
index 912cb6d49..3d3e041ce 100644
--- a/package/busybox/patches/350-httpd_redir.patch
+++ b/package/busybox/patches/350-httpd_redir.patch
@@ -1,24 +1,22 @@
--- a/include/usage.h
+++ b/include/usage.h
-@@ -1638,7 +1638,8 @@
- USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
- USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
- " [-h home]" \
-- " [-d/-e string]"
-+ " [-d/-e string]" \
+@@ -1693,6 +1693,7 @@
+ IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
+ " [-h HOME]\n" \
+ "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
+ " [-R <path> [-H <host>]]"
#define httpd_full_usage "\n\n" \
"Listen for incoming HTTP requests\n" \
"\nOptions:" \
-@@ -1656,6 +1657,8 @@
- "\n -h HOME Home directory (default .)" \
+@@ -1710,6 +1711,8 @@
+ "\n -m STRING MD5 crypt STRING") \
"\n -e STRING HTML encode STRING" \
"\n -d STRING URL decode STRING" \
+ "\n -R PATH Redirect target path" \
+ "\n -H HOST Redirect target host" \
#define hwclock_trivial_usage \
- USE_FEATURE_HWCLOCK_LONG_OPTIONS( \
+ IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -248,6 +248,8 @@ struct globals {
@@ -29,7 +27,7 @@
+ const char *redirect_host;
Htaccess_IP *ip_a_d; /* config allow/deny lines */
- USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
+ IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
@@ -294,6 +296,8 @@ struct globals {
#define index_page (G.index_page )
#define found_mime_type (G.found_mime_type )
@@ -76,19 +74,19 @@
+ c_opt_config_file,
d_opt_decode_url,
h_opt_home_httpd,
- USE_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
+ IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
@@ -2315,12 +2328,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
/* We do not "absolutize" path given by -h (home) opt.
* If user gives relative path in -h,
* $SCRIPT_FILENAME will not be set. */
- opt = getopt32(argv, "c:d:h:"
+ opt = getopt32(argv, "R:H:c:d:h:"
- USE_FEATURE_HTTPD_ENCODE_URL_STR("e:")
- USE_FEATURE_HTTPD_BASIC_AUTH("r:")
- USE_FEATURE_HTTPD_AUTH_MD5("m:")
- USE_FEATURE_HTTPD_SETUID("u:")
+ IF_FEATURE_HTTPD_ENCODE_URL_STR("e:")
+ IF_FEATURE_HTTPD_BASIC_AUTH("r:")
+ IF_FEATURE_HTTPD_AUTH_MD5("m:")
+ IF_FEATURE_HTTPD_SETUID("u:")
"p:ifv",
+ &redirect_path, &redirect_host,
&opt_c_configFile, &url_for_decode, &home_httpd
- USE_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
- USE_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)
+ IF_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
+ IF_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)
diff --git a/package/busybox/patches/430-uniq_memleak.patch b/package/busybox/patches/430-uniq_memleak.patch
index 48127a57c..93f60eb00 100644
--- a/package/busybox/patches/430-uniq_memleak.patch
+++ b/package/busybox/patches/430-uniq_memleak.patch
@@ -8,4 +8,4 @@
+ free(s1);
}
- ++dups; /* note: testing for overflow seems excessive. */
+ free((char*)s1);
diff --git a/package/busybox/patches/470-insmod_search.patch b/package/busybox/patches/470-insmod_search.patch
index cc7ca79ce..022ca24e6 100644
--- a/package/busybox/patches/470-insmod_search.patch
+++ b/package/busybox/patches/470-insmod_search.patch
@@ -119,7 +119,7 @@
}
--- a/modutils/Config.in
+++ b/modutils/Config.in
-@@ -211,7 +211,7 @@ config FEATURE_MODUTILS_SYMBOLS
+@@ -210,7 +210,7 @@ config FEATURE_MODUTILS_SYMBOLS
config DEFAULT_MODULES_DIR
string "Default directory containing modules"
default "/lib/modules"
diff --git a/package/busybox/patches/480-mount_union.patch b/package/busybox/patches/480-mount_union.patch
index 2a22322ae..e520d781b 100644
--- a/package/busybox/patches/480-mount_union.patch
+++ b/package/busybox/patches/480-mount_union.patch
@@ -1,6 +1,6 @@
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
-@@ -42,6 +42,10 @@
+@@ -69,6 +69,10 @@
#define MS_DIRSYNC 128 // Directory modifications are synchronous
#endif
@@ -11,7 +11,7 @@
#if defined(__dietlibc__)
// 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
-@@ -152,6 +156,7 @@ static const int32_t mount_options[] = {
+@@ -185,6 +189,7 @@ static const int32_t mount_options[] = {
/* "rslave" */ MS_SLAVE|MS_RECURSIVE,
/* "rprivate" */ MS_SLAVE|MS_RECURSIVE,
/* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
@@ -19,7 +19,7 @@
)
// Always understood.
-@@ -206,6 +211,7 @@ static const char mount_option_str[] =
+@@ -239,6 +244,7 @@ static const char mount_option_str[] =
"rslave\0"
"rprivate\0"
"runbindable\0"
diff --git a/package/busybox/patches/524-udhcpc_renew.patch b/package/busybox/patches/524-udhcpc_renew.patch
index 0a43b8fe3..8ba4835ae 100644
--- a/package/busybox/patches/524-udhcpc_renew.patch
+++ b/package/busybox/patches/524-udhcpc_renew.patch
@@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
-@@ -69,7 +69,6 @@ static void perform_renew(void)
+@@ -76,7 +76,6 @@ static void perform_renew(void)
state = RENEW_REQUESTED;
break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
diff --git a/package/busybox/patches/902-telnetd_intr.patch b/package/busybox/patches/902-telnetd_intr.patch
index 3b84fc4d3..92a2d4725 100644
--- a/package/busybox/patches/902-telnetd_intr.patch
+++ b/package/busybox/patches/902-telnetd_intr.patch
@@ -1,8 +1,6 @@
-diff --git a/networking/telnetd.c b/networking/telnetd.c
-index 2a0ace5..c281feb 100644
--- a/networking/telnetd.c
+++ b/networking/telnetd.c
-@@ -308,6 +308,7 @@ make_new_session(
+@@ -306,6 +306,7 @@ make_new_session(
/* Restore default signal handling ASAP */
bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);