summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--archival/tar.c8
-rw-r--r--include/libbb.h2
-rw-r--r--libbb/Kbuild.src1
-rw-r--r--libbb/sysconf.c10
-rw-r--r--miscutils/nandwrite.c11
-rw-r--r--networking/udhcp/dhcpc.c6
-rwxr-xr-xtestsuite/find.tests3
-rwxr-xr-xtestsuite/mdev.tests2
9 files changed, 31 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index 6029f427f..a64b0c926 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 1 1VERSION = 1
2PATCHLEVEL = 23 2PATCHLEVEL = 23
3SUBLEVEL = 0 3SUBLEVEL = 0
4EXTRAVERSION = .git 4EXTRAVERSION =
5NAME = Unnamed 5NAME = Unnamed
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
diff --git a/archival/tar.c b/archival/tar.c
index e00ed26a8..85551684b 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -747,11 +747,9 @@ static NOINLINE int writeTarFile(int tar_fd, int verboseFlag,
747#endif 747#endif
748 return errorFlag; 748 return errorFlag;
749} 749}
750#else 750#else /* !FEATURE_TAR_CREATE */
751int writeTarFile(int tar_fd, int verboseFlag, 751# define writeTarFile(...) 0
752 int recurseFlags, const llist_t *include, 752#endif
753 const llist_t *exclude, const char *gzip);
754#endif /* FEATURE_TAR_CREATE */
755 753
756#if ENABLE_FEATURE_TAR_FROM 754#if ENABLE_FEATURE_TAR_FROM
757static llist_t *append_file_list_to_list(llist_t *list) 755static llist_t *append_file_list_to_list(llist_t *list)
diff --git a/include/libbb.h b/include/libbb.h
index 802779932..2850b1d5a 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -1287,7 +1287,9 @@ char *bb_simplify_path(const char *path) FAST_FUNC;
1287/* Returns ptr to NUL */ 1287/* Returns ptr to NUL */
1288char *bb_simplify_abs_path_inplace(char *path) FAST_FUNC; 1288char *bb_simplify_abs_path_inplace(char *path) FAST_FUNC;
1289 1289
1290#ifndef LOGIN_FAIL_DELAY
1290#define LOGIN_FAIL_DELAY 3 1291#define LOGIN_FAIL_DELAY 3
1292#endif
1291extern void bb_do_delay(int seconds) FAST_FUNC; 1293extern void bb_do_delay(int seconds) FAST_FUNC;
1292extern void change_identity(const struct passwd *pw) FAST_FUNC; 1294extern void change_identity(const struct passwd *pw) FAST_FUNC;
1293extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args) NORETURN FAST_FUNC; 1295extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args) NORETURN FAST_FUNC;
diff --git a/libbb/Kbuild.src b/libbb/Kbuild.src
index 1be87b337..d94b65008 100644
--- a/libbb/Kbuild.src
+++ b/libbb/Kbuild.src
@@ -144,6 +144,7 @@ lib-$(CONFIG_ADDUSER) += update_passwd.o
144lib-$(CONFIG_DELGROUP) += update_passwd.o 144lib-$(CONFIG_DELGROUP) += update_passwd.o
145lib-$(CONFIG_DELUSER) += update_passwd.o 145lib-$(CONFIG_DELUSER) += update_passwd.o
146 146
147lib-$(CONFIG_FTPD) += correct_password.o
147lib-$(CONFIG_PASSWD) += pw_encrypt.o update_passwd.o obscure.o 148lib-$(CONFIG_PASSWD) += pw_encrypt.o update_passwd.o obscure.o
148lib-$(CONFIG_CHPASSWD) += pw_encrypt.o update_passwd.o 149lib-$(CONFIG_CHPASSWD) += pw_encrypt.o update_passwd.o
149lib-$(CONFIG_CRYPTPW) += pw_encrypt.o 150lib-$(CONFIG_CRYPTPW) += pw_encrypt.o
diff --git a/libbb/sysconf.c b/libbb/sysconf.c
index cfad9cdc0..8c1caef5c 100644
--- a/libbb/sysconf.c
+++ b/libbb/sysconf.c
@@ -11,7 +11,15 @@
11#if !defined(bb_arg_max) 11#if !defined(bb_arg_max)
12unsigned FAST_FUNC bb_arg_max(void) 12unsigned FAST_FUNC bb_arg_max(void)
13{ 13{
14 return sysconf(_SC_ARG_MAX); 14 long r = sysconf(_SC_ARG_MAX);
15
16 /* I've seen a version of uclibc which returned -1.
17 * Guard about it, and also avoid insanely large values
18 */
19 if ((unsigned long)r > 64*1024*1024)
20 r = 64*1024*1024;
21
22 return r;
15} 23}
16#endif 24#endif
17 25
diff --git a/miscutils/nandwrite.c b/miscutils/nandwrite.c
index 29ff351a3..247fc72f4 100644
--- a/miscutils/nandwrite.c
+++ b/miscutils/nandwrite.c
@@ -36,16 +36,18 @@
36//usage: "\n -s ADDR Start address" 36//usage: "\n -s ADDR Start address"
37 37
38//usage:#define nanddump_trivial_usage 38//usage:#define nanddump_trivial_usage
39//usage: "[-o] [--bb=padbad|skipbad] [-s ADDR] [-l LEN] [-f FILE] MTD_DEVICE" 39//usage: "[-o]" IF_LONG_OPTS(" [--bb=padbad|skipbad]") " [-s ADDR] [-l LEN] [-f FILE] MTD_DEVICE"
40//usage:#define nanddump_full_usage "\n\n" 40//usage:#define nanddump_full_usage "\n\n"
41//usage: "Dump MTD_DEVICE\n" 41//usage: "Dump MTD_DEVICE\n"
42//usage: "\n -o Dump oob data" 42//usage: "\n -o Dump oob data"
43//usage: "\n -s ADDR Start address" 43//usage: "\n -s ADDR Start address"
44//usage: "\n -l LEN Length" 44//usage: "\n -l LEN Length"
45//usage: "\n -f FILE Dump to file ('-' for stdout)" 45//usage: "\n -f FILE Dump to file ('-' for stdout)"
46//usage: IF_LONG_OPTS(
46//usage: "\n --bb=METHOD:" 47//usage: "\n --bb=METHOD:"
47//usage: "\n skipbad: skip bad blocks" 48//usage: "\n skipbad: skip bad blocks"
48//usage: "\n padbad: substitute bad blocks by 0xff (default)" 49//usage: "\n padbad: substitute bad blocks by 0xff (default)"
50//usage: )
49 51
50#include "libbb.h" 52#include "libbb.h"
51#include <mtd/mtd-user.h> 53#include <mtd/mtd-user.h>
@@ -116,12 +118,13 @@ int nandwrite_main(int argc UNUSED_PARAM, char **argv)
116 struct mtd_oob_buf oob; 118 struct mtd_oob_buf oob;
117 unsigned char *filebuf; 119 unsigned char *filebuf;
118 const char *opt_s = "0", *opt_f = "-", *opt_l, *opt_bb; 120 const char *opt_s = "0", *opt_f = "-", *opt_l, *opt_bb;
119 static const char nanddump_longopts[] ALIGN1 =
120 "bb\0" Required_argument "\xff"; /* no short equivalent */
121 121
122 if (IS_NANDDUMP) { 122 if (IS_NANDDUMP) {
123 opt_complementary = "=1"; 123 opt_complementary = "=1";
124 applet_long_options = nanddump_longopts; 124#if ENABLE_LONG_OPTS
125 applet_long_options =
126 "bb\0" Required_argument "\xff"; /* no short equivalent */
127#endif
125 opts = getopt32(argv, "os:f:l:", &opt_s, &opt_f, &opt_l, &opt_bb); 128 opts = getopt32(argv, "os:f:l:", &opt_s, &opt_f, &opt_l, &opt_bb);
126 } else { /* nandwrite */ 129 } else { /* nandwrite */
127 opt_complementary = "-1:?2"; 130 opt_complementary = "-1:?2";
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index 35e7c2070..a34829c3a 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1697,6 +1697,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
1697 case RENEW_REQUESTED: 1697 case RENEW_REQUESTED:
1698 case REBINDING: 1698 case REBINDING:
1699 if (*message == DHCPACK) { 1699 if (*message == DHCPACK) {
1700 unsigned start;
1700 uint32_t lease_seconds; 1701 uint32_t lease_seconds;
1701 struct in_addr temp_addr; 1702 struct in_addr temp_addr;
1702 uint8_t *temp; 1703 uint8_t *temp;
@@ -1756,7 +1757,10 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
1756 bb_info_msg("Lease of %s obtained, lease time %u", 1757 bb_info_msg("Lease of %s obtained, lease time %u",
1757 inet_ntoa(temp_addr), (unsigned)lease_seconds); 1758 inet_ntoa(temp_addr), (unsigned)lease_seconds);
1758 requested_ip = packet.yiaddr; 1759 requested_ip = packet.yiaddr;
1760
1761 start = monotonic_sec();
1759 udhcp_run_script(&packet, state == REQUESTING ? "bound" : "renew"); 1762 udhcp_run_script(&packet, state == REQUESTING ? "bound" : "renew");
1763 already_waited_sec = (unsigned)monotonic_sec() - start;
1760 1764
1761 state = BOUND; 1765 state = BOUND;
1762 change_listen_mode(LISTEN_NONE); 1766 change_listen_mode(LISTEN_NONE);
@@ -1774,7 +1778,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
1774#endif 1778#endif
1775 /* make future renew packets use different xid */ 1779 /* make future renew packets use different xid */
1776 /* xid = random_xid(); ...but why bother? */ 1780 /* xid = random_xid(); ...but why bother? */
1777 already_waited_sec = 0; 1781
1778 continue; /* back to main loop */ 1782 continue; /* back to main loop */
1779 } 1783 }
1780 if (*message == DHCPNAK) { 1784 if (*message == DHCPNAK) {
diff --git a/testsuite/find.tests b/testsuite/find.tests
index f041106c3..78dfa1230 100755
--- a/testsuite/find.tests
+++ b/testsuite/find.tests
@@ -10,11 +10,12 @@
10mkdir -p find.tempdir 10mkdir -p find.tempdir
11touch find.tempdir/testfile 11touch find.tempdir/testfile
12 12
13optional FEATURE_FIND_TYPE
13testing "find -type f" \ 14testing "find -type f" \
14 "cd find.tempdir && find -type f 2>&1" \ 15 "cd find.tempdir && find -type f 2>&1" \
15 "./testfile\n" \ 16 "./testfile\n" \
16 "" "" 17 "" ""
17 18SKIP=
18optional FEATURE_FIND_EXEC 19optional FEATURE_FIND_EXEC
19testing "find -exec exitcode 1" \ 20testing "find -exec exitcode 1" \
20 "cd find.tempdir && find testfile -exec true {} \; 2>&1; echo \$?" \ 21 "cd find.tempdir && find testfile -exec true {} \; 2>&1; echo \$?" \
diff --git a/testsuite/mdev.tests b/testsuite/mdev.tests
index 48d3dcc2c..59873011a 100755
--- a/testsuite/mdev.tests
+++ b/testsuite/mdev.tests
@@ -168,7 +168,7 @@ SKIP=
168# continuing to use directory structure from prev test 168# continuing to use directory structure from prev test
169rm -rf mdev.testdir/dev/* 169rm -rf mdev.testdir/dev/*
170echo "sda 0:0 644 @echo @echo TEST" >mdev.testdir/etc/mdev.conf 170echo "sda 0:0 644 @echo @echo TEST" >mdev.testdir/etc/mdev.conf
171optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_EXEC FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME FEATURE_SH_IS_ASH 171optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_EXEC FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME FEATURE_SH_IS_ASH ASH_BUILTIN_ECHO
172testing "mdev command" \ 172testing "mdev command" \
173 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 173 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
174 ls -lnR mdev.testdir/dev | $FILTER_LS" \ 174 ls -lnR mdev.testdir/dev | $FILTER_LS" \