OSDN Git Service
Rob Landley [Thu, 21 Apr 2016 02:38:22 +0000 (02:38 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD am:
b9cc6c6427 am:
2d7aedf735
am:
4ff32ee997
* commit '
4ff32ee99776aed52e6fc5936627f2f461216c04':
Start of shell tests: $(()) and $'' expansion.
Replace list_working with just list, "make list list_pending" shows combined list.
ps and top are implemented from the android todo. Record enh's wishlist items.
Dust off toysh, remove ancient config debris, add start of prompt logic.
Fix tail -NUM again.
Fix "ssh top".
Fix top -b.
Rename gratuitous references to Roger Zelazny's amber series, add comments.
Fix a buffer overflow in diff -r.
Andy Chu pointed out an out of bounds access for zero length lines.
sed -f - should read from stdin.
Didn't check in all my local basename_r->getbasename changes. (Oops.)
Jakob Flierl pointed out a broken URL in the README.
Redefining basename_r to mean something random seems popular (bionic and freebsd both did it) so use getbasename instead.
Whitespace and comment.
Implement mv -n / cp -n (no clobber).
Change-Id: I093136272a7e06efaa1efbec9e92d6076a5601bb
Elliott Hughes [Thu, 21 Apr 2016 02:35:25 +0000 (02:35 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD am:
b9cc6c6427
am:
2d7aedf735
* commit '
2d7aedf735128838ada0a8e949dd3a57f2e3ded0':
Start of shell tests: $(()) and $'' expansion.
Replace list_working with just list, "make list list_pending" shows combined list.
ps and top are implemented from the android todo. Record enh's wishlist items.
Dust off toysh, remove ancient config debris, add start of prompt logic.
Fix tail -NUM again.
Fix "ssh top".
Fix top -b.
Rename gratuitous references to Roger Zelazny's amber series, add comments.
Fix a buffer overflow in diff -r.
Andy Chu pointed out an out of bounds access for zero length lines.
sed -f - should read from stdin.
Didn't check in all my local basename_r->getbasename changes. (Oops.)
Jakob Flierl pointed out a broken URL in the README.
Redefining basename_r to mean something random seems popular (bionic and freebsd both did it) so use getbasename instead.
Whitespace and comment.
Implement mv -n / cp -n (no clobber).
Change-Id: I538d72780ace8c5751041483fc33228dfe4862dc
Rob Landley [Thu, 21 Apr 2016 02:33:15 +0000 (02:33 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am:
b9cc6c6427
* commit '
b9cc6c64274a1b67546ff8be78dbc0290b3e0634':
Start of shell tests: $(()) and $'' expansion.
Replace list_working with just list, "make list list_pending" shows combined list.
ps and top are implemented from the android todo. Record enh's wishlist items.
Dust off toysh, remove ancient config debris, add start of prompt logic.
Fix tail -NUM again.
Fix "ssh top".
Fix top -b.
Rename gratuitous references to Roger Zelazny's amber series, add comments.
Fix a buffer overflow in diff -r.
Andy Chu pointed out an out of bounds access for zero length lines.
sed -f - should read from stdin.
Didn't check in all my local basename_r->getbasename changes. (Oops.)
Jakob Flierl pointed out a broken URL in the README.
Redefining basename_r to mean something random seems popular (bionic and freebsd both did it) so use getbasename instead.
Whitespace and comment.
Implement mv -n / cp -n (no clobber).
Change-Id: I2acb9b1a9a6fa74247a4b6cdd39610853c54e2d3
Elliott Hughes [Thu, 21 Apr 2016 01:22:50 +0000 (18:22 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Wed, 20 Apr 2016 06:56:10 +0000 (01:56 -0500)]
Start of shell tests: $(()) and $'' expansion.
Rob Landley [Wed, 20 Apr 2016 05:47:05 +0000 (00:47 -0500)]
Replace list_working with just list, "make list list_pending" shows combined list.
Rob Landley [Wed, 20 Apr 2016 04:03:12 +0000 (23:03 -0500)]
ps and top are implemented from the android todo. Record enh's wishlist items.
Elliott Hughes [Mon, 18 Apr 2016 17:52:10 +0000 (17:52 +0000)]
Stop creating a symlink for route. am:
1c2326b am:
1c02249
am:
5930f8f
* commit '
5930f8f1a47dcbb871d5e93663bfcc49f7c0410c':
Stop creating a symlink for route.
Change-Id: Id7126745b1f33c6b58f66b057e32deadcd5dbed8
Elliott Hughes [Mon, 18 Apr 2016 17:46:48 +0000 (17:46 +0000)]
Stop creating a symlink for route. am:
1c2326b
am:
1c02249
* commit '
1c0224989336319363321869da4895ea67a6bdd5':
Stop creating a symlink for route.
Change-Id: Ibbcd3cc07a84a98463d82ddd02be562e502704fe
Elliott Hughes [Mon, 18 Apr 2016 17:41:32 +0000 (17:41 +0000)]
Stop creating a symlink for route.
am:
1c2326b
* commit '
1c2326b8af500adbb5864ea87afa94a0c6cf1ff0':
Stop creating a symlink for route.
Change-Id: I222cdc63784d7c1c4f20e6a12384823c3f04754b
Rob Landley [Sun, 17 Apr 2016 21:34:47 +0000 (16:34 -0500)]
Dust off toysh, remove ancient config debris, add start of prompt logic.
Elliott Hughes [Sat, 16 Apr 2016 15:19:23 +0000 (08:19 -0700)]
Fix tail -NUM again.
This time with a test.
Elliott Hughes [Sat, 16 Apr 2016 01:48:12 +0000 (18:48 -0700)]
Fix "ssh top".
The ps.c change allows us to start. The interestingtimes.c change allows
us to clean up properly afterwards if you ^C out (which you usually do).
Tested with both ssh and "adb shell" (the latter being where I noticed
the problem).
Elliott Hughes [Sat, 16 Apr 2016 01:38:53 +0000 (18:38 -0700)]
Fix top -b.
Batch mode should never output terminal escape sequences, should ignore
the keyboard, and should include a gap between datasets.
Rob Landley [Sat, 16 Apr 2016 19:03:36 +0000 (14:03 -0500)]
Rename gratuitous references to Roger Zelazny's amber series, add comments.
Elliott Hughes [Fri, 15 Apr 2016 18:57:05 +0000 (11:57 -0700)]
Stop creating a symlink for route.
We should remove the "route" command because its output is irrelevant and
misleading. This is because it only looks at the "main" routing table,
which is a last resort routing table that is a) trumped by all other
networks, b) empty except for directly-connected routes c) cannot even be
used by non-root users.
The proper way to understand device routing is to look at the output of
"ip rule" and "ip route", both of which are already available.
Example of how this is confusing:
$ adb shell route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
160.249.218.72 * 255.255.255.248 U 0 0 0 rmnet_data0
192.168.144.0 * 255.255.240.0 U 0 0 0 wlan0
These aren't guaranteed to be used. For example, according to the output
above 160.249.218.73 should go through rmnet_data0, but it doesn't:
$ adb shell ip route get 160.249.218.73
160.249.218.73 via 192.168.159.254 dev wlan0 src 192.168.159.164 uid 0
cache
Also, there is no default route. But the device has networking just fine:
$ adb shell ip route get 8.8.8.8
8.8.8.8 via 192.168.159.254 dev wlan0 src 192.168.159.164 uid 0
cache
This is a first step. If no device breaks, I'll stop building it too. In the
meantime, it's still available as "toybox route".
Bug: http://b/
27603033
Change-Id: Ie444bfa9083e1f11b332d5d050a07cec48436e11
Andy Chu [Sun, 20 Mar 2016 06:11:30 +0000 (23:11 -0700)]
Fix a buffer overflow in diff -r.
We were doing two 32-byte memset()s instead of two 16-byte memset()s.
'dir' referred to the instance (array of 2) and not the struct type.
Add some test coverage for diff, including a case that hit this bug.
The bug was found by running cp.test under AddressSanitizer, since it
happens to use diff.
Rob Landley [Fri, 15 Apr 2016 02:00:54 +0000 (21:00 -0500)]
Andy Chu pointed out an out of bounds access for zero length lines.
While we're at it, use unsigned for the line length.
Rob Landley [Mon, 11 Apr 2016 16:32:36 +0000 (11:32 -0500)]
sed -f - should read from stdin.
Rob Landley [Sun, 10 Apr 2016 19:35:51 +0000 (14:35 -0500)]
Didn't check in all my local basename_r->getbasename changes. (Oops.)
Rob Landley [Sat, 9 Apr 2016 16:04:16 +0000 (11:04 -0500)]
Jakob Flierl pointed out a broken URL in the README.
Rob Landley [Fri, 8 Apr 2016 23:25:59 +0000 (18:25 -0500)]
Redefining basename_r to mean something random seems popular (bionic and freebsd
both did it) so use getbasename instead.
Elliott Hughes [Wed, 30 Mar 2016 19:03:36 +0000 (19:03 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD am:
a898e9c
am:
f619614
* commit '
f61961427bf96bab3fb02996f1fa0bb6037d35f7': (34 commits)
Fix build when wchar_t is unsigned.
Fix exit code of things like sed -i that use tempfile_handler().
basename: fix segfault on null input; add tests
Add od -w.
toolbox prlimit is no more.
Debian bug 635570 did something horribly nonstandard (depending on a side effect of "sed -e 'a\'" with no trailing line). But there's an actual user, and it's not hard to implement, and it's not hard to implement, and there isn't an obvious _other_ way to do it, so add the behavior and a test for it.
Fix bzcat.test (as noted by Andy Chu), wean tests off $TOPDIR and supply $FILES instead, move tests/blkid into tests/files/blkid.
The test infrastructure prints the command name now, so file.test shouldn't.
Minor blkid cleanup. (There was a while(ptr[-1]==' ') ptr--; that could fall off the start of the string. I pulled on the thread...)
Redo build stuff in response to Andy Chu's suggestions.
blkid: Handle short/empty vfat labels; update tests
Posix requires "" to be false, and 00 should be false, and -0 should be false. Fix memory leaks in regex. Simplify regex check (if we matched, subexpression had to match). Don't exit() from a command, set exitval and return.
Make lsof 10x faster by caching /proc/net socket info.
Fix last commit (had newline before first ==> name <==) and add -f tests.
Fix "tail -f single_file".
expr cleanup: simplify get_str() and free returned allocations.
Remove 'exit' from xargs test too.
Fix bug where all tests aren't being run with 'make test'.
expr cleanup: traverse optargs with tok instead of incrementing optargs and copying itinto a second variable. Also add error message for empty ( )
Move whitespace and curly brackets around, move reference URLs to top of file, eliminate syntax_error() function (just call error_exit() directly), eliminate advance() wrapper, pipe expected error messages in test to /dev/null
...
Change-Id: I01e9b8980f6650ce3e06acc8e94110a75d495c63
Elliott Hughes [Wed, 30 Mar 2016 19:03:36 +0000 (19:03 +0000)]
Regenerate generated files. am:
fafe427
am:
5b9d613
* commit '
5b9d6139f9a4ec8849567833d660a598523605de':
Regenerate generated files.
Change-Id: I298283e4b90bf745e7f49e0a33d64559960505b3
Elliott Hughes [Wed, 30 Mar 2016 17:48:09 +0000 (17:48 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am:
a898e9c
* commit '
a898e9c4b457765173a0ec6adea26d45b70b744c': (34 commits)
Fix build when wchar_t is unsigned.
Fix exit code of things like sed -i that use tempfile_handler().
basename: fix segfault on null input; add tests
Add od -w.
toolbox prlimit is no more.
Debian bug 635570 did something horribly nonstandard (depending on a side effect of "sed -e 'a\'" with no trailing line). But there's an actual user, and it's not hard to implement, and it's not hard to implement, and there isn't an obvious _other_ way to do it, so add the behavior and a test for it.
Fix bzcat.test (as noted by Andy Chu), wean tests off $TOPDIR and supply $FILES instead, move tests/blkid into tests/files/blkid.
The test infrastructure prints the command name now, so file.test shouldn't.
Minor blkid cleanup. (There was a while(ptr[-1]==' ') ptr--; that could fall off the start of the string. I pulled on the thread...)
Redo build stuff in response to Andy Chu's suggestions.
blkid: Handle short/empty vfat labels; update tests
Posix requires "" to be false, and 00 should be false, and -0 should be false. Fix memory leaks in regex. Simplify regex check (if we matched, subexpression had to match). Don't exit() from a command, set exitval and return.
Make lsof 10x faster by caching /proc/net socket info.
Fix last commit (had newline before first ==> name <==) and add -f tests.
Fix "tail -f single_file".
expr cleanup: simplify get_str() and free returned allocations.
Remove 'exit' from xargs test too.
Fix bug where all tests aren't being run with 'make test'.
expr cleanup: traverse optargs with tok instead of incrementing optargs and copying itinto a second variable. Also add error message for empty ( )
Move whitespace and curly brackets around, move reference URLs to top of file, eliminate syntax_error() function (just call error_exit() directly), eliminate advance() wrapper, pipe expected error messages in test to /dev/null
...
Change-Id: I59e775d702b1930dff37e8b0736857f6cbb4a6b6
Elliott Hughes [Wed, 30 Mar 2016 17:48:09 +0000 (17:48 +0000)]
Regenerate generated files.
am:
fafe427
* commit '
fafe427f2eae495dd9b081ed3f17d33dbba0e690':
Regenerate generated files.
Change-Id: Ibf1139f58e22205dc3b0f14251e4e1d5bd7de040
Elliott Hughes [Wed, 30 Mar 2016 17:22:06 +0000 (10:22 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Wed, 30 Mar 2016 17:20:45 +0000 (10:20 -0700)]
Regenerate generated files.
Change-Id: I5323d381d9dd2e10c90fc10d16ef21dbffdd716b
Rob Landley [Wed, 30 Mar 2016 08:20:13 +0000 (03:20 -0500)]
Whitespace and comment.
Andy Chu [Sat, 19 Mar 2016 07:34:42 +0000 (00:34 -0700)]
Implement mv -n / cp -n (no clobber).
This fixes a failing test case in mv.test.
Test changes:
- Add coverage for -i (interactive).
- Better descriptions, better formatting, and removed some redundant
cases.
Elliott Hughes [Sat, 26 Mar 2016 17:54:23 +0000 (10:54 -0700)]
Fix build when wchar_t is unsigned.
external/toybox/lib/linestack.c:84:5: error: conflicting types for 'crunch_str'
int crunch_str(char **str, int width, FILE *out, char *escmore,
^
external/toybox/lib/lib.h:228:5: note: previous declaration is here
int crunch_str(char **str, int width, FILE *out, char *escmore,
^
I'm not sure whether the interface was intended to be wchar_t or int, but
switching to int is the smaller change...
Rob Landley [Tue, 29 Mar 2016 08:59:20 +0000 (03:59 -0500)]
Fix exit code of things like sed -i that use tempfile_handler().
(The sigatexit() handler list code now calls the handlers on the normal
exit path, so _exit(1) from the handler is wrong; exit_signal() modifies
toys.exitval if necessary.)
Samuel Holland [Sun, 20 Mar 2016 18:13:21 +0000 (11:13 -0700)]
basename: fix segfault on null input; add tests
When passed an empty string, glibc's basename() returns a pointer to the
string "." in read-only memory. If an empty suffix is given, it fits
the condition of being shorter than the path, so we try to overwrite the
null byte and crash. Fix this by just ignoring empty suffixes; they
don't do anything anyway.
Elliott Hughes [Sat, 19 Mar 2016 03:12:04 +0000 (20:12 -0700)]
Add od -w.
I'm not an od user myself, but I copy & pasted an 'od' invocation from a bug
and it didn't work. Which was embarrassing because I'd just claimed that the
od user didn't need to run od on their desktop (as they had done) and could
have run it on the device instead...
Elliott Hughes [Mon, 7 Mar 2016 22:51:10 +0000 (14:51 -0800)]
toolbox prlimit is no more.
Replaced by toybox ulimit -p.
Rob Landley [Thu, 24 Mar 2016 21:20:36 +0000 (16:20 -0500)]
Debian bug 635570 did something horribly nonstandard (depending on a side
effect of "sed -e 'a\'" with no trailing line). But there's an actual user,
and it's not hard to implement, and it's not hard to implement, and there
isn't an obvious _other_ way to do it, so add the behavior and a test for it.
Fix some bad/missing comments while I was there, and add a couple TODOs.
Rob Landley [Wed, 23 Mar 2016 08:44:51 +0000 (03:44 -0500)]
Fix bzcat.test (as noted by Andy Chu), wean tests off $TOPDIR and supply $FILES
instead, move tests/blkid into tests/files/blkid.
Rob Landley [Wed, 23 Mar 2016 08:30:23 +0000 (03:30 -0500)]
The test infrastructure prints the command name now, so file.test shouldn't.
Rob Landley [Wed, 23 Mar 2016 08:27:39 +0000 (03:27 -0500)]
Minor blkid cleanup. (There was a while(ptr[-1]==' ') ptr--; that could fall
off the start of the string. I pulled on the thread...)
Rob Landley [Wed, 23 Mar 2016 08:25:37 +0000 (03:25 -0500)]
Redo build stuff in response to Andy Chu's suggestions.
Toybox single binaries are now made directly with the new name instead of
stomping toybox and getting renamed.
Unstripped files now live in generated/unstripped.
Target to run all tests is now "make tests" to avoid conflict with "make test".
.singleconfig now has .PHONY: entries for all test_$NAME targets.
Default install location changed to /usr/toybox, code.html now says how
to change it (set $PREFIX).
scripts/install.sh --uninstall works now. (And you get to keep the pieces!)
Samuel Holland [Sun, 20 Mar 2016 18:13:22 +0000 (11:13 -0700)]
blkid: Handle short/empty vfat labels; update tests
vfat labels have a fixed space allocated for them. In the case of a
shorter label, the remaining bytes are padded with spaces. A vfat
filesystem with no label (i.e. that will show up in Windows as "Local
Disk (X:)" or "Removable Disk (X:)") is stored as "NO NAME ".
Both of these changes match behavior from util-linux.
Elliott Hughes [Mon, 21 Mar 2016 20:50:08 +0000 (20:50 +0000)]
Remove switch_root.
am:
d9d7761
* commit '
d9d77619df5f8c156af2504e05d2ed1737ea0335':
Remove switch_root.
Rob Landley [Mon, 21 Mar 2016 01:39:27 +0000 (20:39 -0500)]
Posix requires "" to be false, and 00 should be false, and -0 should be false.
Fix memory leaks in regex. Simplify regex check (if we matched, subexpression
had to match). Don't exit() from a command, set exitval and return.
Elliott Hughes [Sat, 19 Mar 2016 15:56:09 +0000 (08:56 -0700)]
Make lsof 10x faster by caching /proc/net socket info.
I deliberately didn't do this first time round because for me our lsof
is already 10x faster than traditional lsof, and caching means we potentially
give less information about a socket that's created while we're running.
It turns out that traditional lsof caches anyway, so I guess nobody cares.
This also fixes a mistake where lsof used CFG_FREE instead of CFG_TOYBOX_FREE.
Rob Landley [Fri, 18 Mar 2016 19:12:53 +0000 (14:12 -0500)]
Fix last commit (had newline before first ==> name <==) and add -f tests.
Josh Gao [Wed, 16 Mar 2016 22:41:13 +0000 (15:41 -0700)]
Fix "tail -f single_file".
TT.file_no was being incorrectly calculated as 0 when tail -f was passed
a single argument.
Rob Landley [Thu, 17 Mar 2016 20:19:16 +0000 (15:19 -0500)]
expr cleanup: simplify get_str() and free returned allocations.
Andy Chu [Thu, 17 Mar 2016 19:02:55 +0000 (12:02 -0700)]
Remove 'exit' from xargs test too.
Andy Chu [Thu, 17 Mar 2016 07:06:32 +0000 (00:06 -0700)]
Fix bug where all tests aren't being run with 'make test'.
The tests/*.test files shouldn't explicitly exit, because they are
sourced in scripts/test.sh. No tests after sed were being run.
Rob Landley [Thu, 17 Mar 2016 02:55:19 +0000 (21:55 -0500)]
expr cleanup: traverse optargs with tok instead of incrementing optargs and
copying itinto a second variable. Also add error message for empty ( )
Rob Landley [Wed, 16 Mar 2016 17:33:32 +0000 (12:33 -0500)]
Move whitespace and curly brackets around, move reference URLs to top of file,
eliminate syntax_error() function (just call error_exit() directly),
eliminate advance() wrapper, pipe expected error messages in test to /dev/null
Andy Chu [Tue, 15 Mar 2016 20:52:25 +0000 (13:52 -0700)]
Fix type coercion bugs in expr.
All tests pass now; this fixes the 2 remaining failures, including a
segfault.
The structure of the code has changed a lot -- instead of having a tiny
function per operator, we have eval_op() which does common type coercion
and then evaluates the operator. I tried writing it a couple different
ways, and this was the cleanest.
The OPS table now contains the operator string, precedence level,
signature for type coercion, and operator ID.
Andy Chu [Tue, 15 Mar 2016 20:42:30 +0000 (13:42 -0700)]
Fix the operator precedence in expr.
expr now uses the precedence table specified by POSIX, implemented using
the "precedence climbing" algorithm. See the references at the top of
eval_expr().
This fixes 3 of 4 failing tests.
I also added more tests for correct behavior and for syntax errors.
This includes a new test exposing a segfault, related to type coercion.
Rob Landley [Tue, 15 Mar 2016 20:02:21 +0000 (15:02 -0500)]
Add base64.test, and Izabera pointed out that -w0 should disable wrapping.
Rob Landley [Tue, 15 Mar 2016 07:23:50 +0000 (02:23 -0500)]
Add ls -b and make ls -q work with utf8.
Rob Landley [Mon, 14 Mar 2016 01:23:41 +0000 (20:23 -0500)]
Split out _xexit() from xexit() and give sigatexit() multiple callbacks.
Rob Landley [Sun, 13 Mar 2016 22:23:11 +0000 (17:23 -0500)]
factor: use long long math (64 bit on 32 bit platforms) and handle negative
numbers even though we use unsigned math now.
Rob Landley [Sat, 12 Mar 2016 23:47:19 +0000 (17:47 -0600)]
Update scripts/single.sh and cp.c so "make mv" isn't actually building cp.
Rob Landley [Sat, 12 Mar 2016 21:56:40 +0000 (15:56 -0600)]
The xattr functions were added during the 2.5 kernel, lsm.h can #include the
header unconditionally. (This fixes the warning when CP_PRESERVE disabled.)
Andy Chu [Sun, 6 Mar 2016 17:49:50 +0000 (09:49 -0800)]
Fix segfault in sed -e 'c\'.
Found by afl-fuzz.
Elliott Hughes [Tue, 8 Mar 2016 23:06:22 +0000 (15:06 -0800)]
Remove switch_root.
...since it's never going to run as pid 1.
Change-Id: Idd21951c2966ce37049aa397c8c973b0e7202901
Rob Landley [Tue, 8 Mar 2016 19:39:23 +0000 (13:39 -0600)]
Add depends on TOYBOX_FORK for various commands that need nommu conversion.
(This should fix allyesconfig.)
Elliott Hughes [Tue, 8 Mar 2016 07:46:45 +0000 (07:46 +0000)]
Regenerate generated files.
am:
06108e66d5
* commit '
06108e66d56805bae793d58a3ac45d017c2ddd01':
Regenerate generated files.
Rob Landley [Tue, 8 Mar 2016 07:46:35 +0000 (07:46 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am:
abf0e28618
* commit '
abf0e286185f41ac47e6418e879b46aced6b6a01': (22 commits)
Elliott pointed out that we output "unlimited" instead of "infinity", so accept that as input. (And that I screwed up the test.)
Fix bzcat integer overflow reported by John Regehr.
Fix file for Java class files, improve script detection, and add tests.
More minor cleanup (inline a function, simplify name of another).
Minor cleanup.
Fix base64 so == wraps properly.
Factor out command name at the start of test name, have runtest.sh print it.
Print command name at start of each test.
Split lsattr/chattr tests.
Command name at start of each test.
Add fstype test.
Try to consistently print command name at the start of each test.
split pgrep/pkill tests.
For years the man pages have said to #include <sys/types.h> to get major/minor/makedev, but glibc has vowed to break existing programs (https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html) and replace it with _another_ non-standard header (not in posix or lsb), so let's just add functions to lib/ that do the transform ourselves.
The last-ever release of uClibc hasn't got prlimit, so probe.
SYS_finit_module isn't there on Ubuntu 12.04 because it was only added to the 3.8 kernel in 2012. That's way too new to assume the build environment has it, so #ifdef and simulate a failure if it's not there.
Use shell builtins instead of calling wc/awk/sed. (Fewer forks in build loop.) Based on suggestions from Nicholas Boichat.
The last-ever release of uClibc didn't #define MS_RELATIME.
Use the correct types for recvfrom.
Fix "make help" again.
...
Rob Landley [Mon, 7 Mar 2016 22:02:47 +0000 (16:02 -0600)]
Cleanup pass on the dirtree infrastructure, in preparation for making rm -r
handle infinite depth. Fix docs, tweak dirtree_handle_callback() semantics,
remove dirtree_start() and don't export dirtree_handle_callback(), instead
offer dirtree_flagread(). (dirtree_read() is a wrapper around dirtree_flagread
passing 0 for flags.)
Elliott Hughes [Mon, 7 Mar 2016 22:00:54 +0000 (14:00 -0800)]
Regenerate generated files.
Change-Id: Ib5698debdbee6b392d23e6114182e5030967a28d
Elliott Hughes [Mon, 7 Mar 2016 21:55:06 +0000 (13:55 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Mon, 7 Mar 2016 03:27:25 +0000 (21:27 -0600)]
Fix warning (toys.optflags is a long long now).
Lipi Lee [Sun, 6 Mar 2016 19:46:19 +0000 (13:46 -0600)]
wget: clean up
- shorten error messages
- replace mk_rq with sprintf
- remove struct and defines
- change unsigned int to unsigned
Rob Landley [Sun, 6 Mar 2016 19:10:19 +0000 (13:10 -0600)]
Another pass at file.c: move posix-required "executable" to front of output,
next few fields in the order the other implementation outputs, fewer commas,
fix a big where big endian executable type wasn't detected right,
and fix the filehandle leak.
Rob Landley [Fri, 4 Mar 2016 19:22:39 +0000 (13:22 -0600)]
Elliott pointed out that we output "unlimited" instead of "infinity", so
accept that as input. (And that I screwed up the test.)
Rob Landley [Thu, 3 Mar 2016 17:07:59 +0000 (11:07 -0600)]
Fix bzcat integer overflow reported by John Regehr.
Elliott Hughes [Tue, 1 Mar 2016 03:35:13 +0000 (19:35 -0800)]
Fix file for Java class files, improve script detection, and add tests.
Rob Landley [Thu, 3 Mar 2016 04:12:02 +0000 (22:12 -0600)]
More minor cleanup (inline a function, simplify name of another).
Rob Landley [Thu, 3 Mar 2016 04:10:49 +0000 (22:10 -0600)]
Minor cleanup.
Rob Landley [Thu, 3 Mar 2016 04:05:21 +0000 (22:05 -0600)]
Fix base64 so == wraps properly.
Rob Landley [Wed, 2 Mar 2016 21:20:04 +0000 (15:20 -0600)]
Factor out command name at the start of test name, have runtest.sh print it.
Rob Landley [Wed, 2 Mar 2016 21:10:24 +0000 (15:10 -0600)]
Print command name at start of each test.
Rob Landley [Wed, 2 Mar 2016 21:01:51 +0000 (15:01 -0600)]
Split lsattr/chattr tests.
Rob Landley [Wed, 2 Mar 2016 20:41:47 +0000 (14:41 -0600)]
Command name at start of each test.
Rob Landley [Wed, 2 Mar 2016 20:29:03 +0000 (14:29 -0600)]
Add fstype test.
Rob Landley [Wed, 2 Mar 2016 19:49:47 +0000 (13:49 -0600)]
Try to consistently print command name at the start of each test.
Rob Landley [Wed, 2 Mar 2016 19:46:52 +0000 (13:46 -0600)]
split pgrep/pkill tests.
Rob Landley [Wed, 2 Mar 2016 17:52:38 +0000 (11:52 -0600)]
For years the man pages have said to #include <sys/types.h> to get
major/minor/makedev, but glibc has vowed to break existing programs
(https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html)
and replace it with _another_ non-standard header (not in posix or lsb),
so let's just add functions to lib/ that do the transform ourselves.
Rob Landley [Wed, 2 Mar 2016 05:50:23 +0000 (23:50 -0600)]
The last-ever release of uClibc hasn't got prlimit, so probe.
Rob Landley [Wed, 2 Mar 2016 05:41:01 +0000 (23:41 -0600)]
SYS_finit_module isn't there on Ubuntu 12.04 because it was only added to the
3.8 kernel in 2012. That's way too new to assume the build environment has
it, so #ifdef and simulate a failure if it's not there.
Rob Landley [Wed, 2 Mar 2016 05:39:27 +0000 (23:39 -0600)]
Use shell builtins instead of calling wc/awk/sed. (Fewer forks in build loop.)
Based on suggestions from Nicholas Boichat.
Rob Landley [Wed, 2 Mar 2016 03:14:55 +0000 (21:14 -0600)]
The last-ever release of uClibc didn't #define MS_RELATIME.
George Burgess IV [Thu, 25 Feb 2016 05:25:52 +0000 (21:25 -0800)]
Use the correct types for recvfrom.
The clang FORITFY implementation doesn't like pointer signedness mismatch.
"What mismatch?", you say. "The historical bug in LP32 Android that left
it with a signed socklen_t".
Elliott Hughes [Sat, 27 Feb 2016 21:27:26 +0000 (13:27 -0800)]
Fix "make help" again.
Same missing quote at end of line as last time. The new additions to
the help are very useful though.
Mike Frysinger [Mon, 29 Feb 2016 19:13:38 +0000 (13:13 -0600)]
config2help: add missing ctype.h include
This file uses isspace which is defined in the ctype.h header.
Rob Landley [Tue, 1 Mar 2016 05:30:03 +0000 (23:30 -0600)]
do_regular_file() prints output line, don't fall through to print default.
Elliott Hughes [Tue, 1 Mar 2016 00:22:00 +0000 (00:22 +0000)]
Regenerate generated files.
am:
77e56de2cd
* commit '
77e56de2cd449d8d95d82e41b78069bb675d0fe5':
Regenerate generated files.
Elliott Hughes [Tue, 1 Mar 2016 00:21:57 +0000 (00:21 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am:
19e0d99944
* commit '
19e0d99944a59a723c7e61a84defa0b6440a8def':
Fix trailing spaces on ps -o cmdline.
Fix inverted test.
pending/file: add cpio, tar, zip formats.
Fix a typo from last time, and Isaac Dunham's todo list:
Second pass at the ELF type table.
Switch to $! for make.sh process enumeration.
Fix more warnings on 32 bit builds.
Fix bug where mount -o leftover string didn't get passed through to kernel for 2-argument version.
Typecast a printf argument because wchar_t isn't a rigidly defined size.
Musl needs an extra #include.
implement simple 'wget' and port name can be specified in URL if default port 80 is not used.
lsof cleanup
Elliott Hughes [Tue, 1 Mar 2016 00:14:51 +0000 (16:14 -0800)]
Regenerate generated files.
Change-Id: I8a889ae35d7846555c3807c4179579e4c7286ac2
Elliott Hughes [Mon, 29 Feb 2016 21:46:26 +0000 (13:46 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Mon, 29 Feb 2016 18:34:07 +0000 (10:34 -0800)]
Fix trailing spaces on ps -o cmdline.
Rob Landley [Mon, 29 Feb 2016 17:40:28 +0000 (11:40 -0600)]
Fix inverted test.
Isaac Dunham [Mon, 29 Feb 2016 17:29:21 +0000 (11:29 -0600)]
pending/file: add cpio, tar, zip formats.
Rob Landley [Mon, 29 Feb 2016 17:21:43 +0000 (11:21 -0600)]
Fix a typo from last time, and Isaac Dunham's todo list:
- per POSIX, 'cannot open' must be in the 'type' string if open() fails
(both EPERM and ENOENT); we only do that if open() succeeds and fstat(fd)
fails.
- symlink detection (as per POSIX) won't work: opening them O_RDONLY
results in following the link, then we fstat() the fd.
- file 'FIFO' causes a hang; open() won't return till there's a writer.