OSDN Git Service

android-x86/external-toybox.git
8 years agoReplace list_working with just list, "make list list_pending" shows combined list.
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.

8 years agops and top are implemented from the android todo. Record enh's wishlist items.
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.

8 years agoDust off toysh, remove ancient config debris, add start of prompt logic.
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.

8 years agoFix tail -NUM again.
Elliott Hughes [Sat, 16 Apr 2016 15:19:23 +0000 (08:19 -0700)]
Fix tail -NUM again.

This time with a test.

8 years agoFix "ssh top".
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).

8 years agoFix top -b.
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.

8 years agoRename gratuitous references to Roger Zelazny's amber series, add comments.
Rob Landley [Sat, 16 Apr 2016 19:03:36 +0000 (14:03 -0500)]
Rename gratuitous references to Roger Zelazny's amber series, add comments.

8 years agoFix a buffer overflow in diff -r.
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.

8 years agoAndy Chu pointed out an out of bounds access for zero length lines.
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.

8 years agosed -f - should read from stdin.
Rob Landley [Mon, 11 Apr 2016 16:32:36 +0000 (11:32 -0500)]
sed -f - should read from stdin.

8 years agoDidn't check in all my local basename_r->getbasename changes. (Oops.)
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.)

8 years agoJakob Flierl pointed out a broken URL in the README.
Rob Landley [Sat, 9 Apr 2016 16:04:16 +0000 (11:04 -0500)]
Jakob Flierl pointed out a broken URL in the README.

8 years agoRedefining basename_r to mean something random seems popular (bionic and freebsd
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.

8 years agoWhitespace and comment.
Rob Landley [Wed, 30 Mar 2016 08:20:13 +0000 (03:20 -0500)]
Whitespace and comment.

8 years agoImplement mv -n / cp -n (no clobber).
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.

8 years agoFix build when wchar_t is unsigned.
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...

8 years agoFix exit code of things like sed -i that use tempfile_handler().
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.)

8 years agobasename: fix segfault on null input; add tests
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.

8 years agoAdd od -w.
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...

8 years agotoolbox prlimit is no more.
Elliott Hughes [Mon, 7 Mar 2016 22:51:10 +0000 (14:51 -0800)]
toolbox prlimit is no more.

Replaced by toybox ulimit -p.

8 years agoDebian bug 635570 did something horribly nonstandard (depending on a side
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.

8 years agoFix bzcat.test (as noted by Andy Chu), wean tests off $TOPDIR and supply $FILES
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.

8 years agoThe test infrastructure prints the command name now, so file.test shouldn't.
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.

8 years agoMinor blkid cleanup. (There was a while(ptr[-1]==' ') ptr--; that could fall
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...)

8 years agoRedo build stuff in response to Andy Chu's suggestions.
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!)

8 years agoblkid: Handle short/empty vfat labels; update tests
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.

8 years agoPosix requires "" to be false, and 00 should be false, and -0 should be false.
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.

8 years agoMake lsof 10x faster by caching /proc/net socket info.
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.

8 years agoFix last commit (had newline before first ==> name <==) and add -f tests.
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.

8 years agoFix "tail -f single_file".
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.

8 years agoexpr cleanup: simplify get_str() and free returned allocations.
Rob Landley [Thu, 17 Mar 2016 20:19:16 +0000 (15:19 -0500)]
expr cleanup: simplify get_str() and free returned allocations.

8 years agoRemove 'exit' from xargs test too.
Andy Chu [Thu, 17 Mar 2016 19:02:55 +0000 (12:02 -0700)]
Remove 'exit' from xargs test too.

8 years agoFix bug where all tests aren't being run with 'make test'.
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.

8 years agoexpr cleanup: traverse optargs with tok instead of incrementing optargs and
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 ( )

8 years agoMove whitespace and curly brackets around, move reference URLs to top of file,
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

8 years agoFix type coercion bugs in expr.
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.

8 years agoFix the operator precedence in expr.
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.

8 years agoAdd base64.test, and Izabera pointed out that -w0 should disable wrapping.
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.

8 years agoAdd ls -b and make ls -q work with utf8.
Rob Landley [Tue, 15 Mar 2016 07:23:50 +0000 (02:23 -0500)]
Add ls -b and make ls -q work with utf8.

8 years agoSplit out _xexit() from xexit() and give sigatexit() multiple callbacks.
Rob Landley [Mon, 14 Mar 2016 01:23:41 +0000 (20:23 -0500)]
Split out _xexit() from xexit() and give sigatexit() multiple callbacks.

8 years agofactor: use long long math (64 bit on 32 bit platforms) and handle negative
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.

8 years agoUpdate scripts/single.sh and cp.c so "make mv" isn't actually building cp.
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.

8 years agoThe xattr functions were added during the 2.5 kernel, lsm.h can #include the
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.)

8 years agoFix segfault in sed -e 'c\'.
Andy Chu [Sun, 6 Mar 2016 17:49:50 +0000 (09:49 -0800)]
Fix segfault in sed -e 'c\'.

Found by afl-fuzz.

8 years agoAdd depends on TOYBOX_FORK for various commands that need nommu conversion.
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.)

8 years agoCleanup pass on the dirtree infrastructure, in preparation for making rm -r
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.)

8 years agoFix warning (toys.optflags is a long long now).
Rob Landley [Mon, 7 Mar 2016 03:27:25 +0000 (21:27 -0600)]
Fix warning (toys.optflags is a long long now).

8 years agowget: clean up
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

8 years agoAnother pass at file.c: move posix-required "executable" to front of output,
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.

8 years agoElliott pointed out that we output "unlimited" instead of "infinity", so
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.)

8 years agoFix bzcat integer overflow reported by John Regehr.
Rob Landley [Thu, 3 Mar 2016 17:07:59 +0000 (11:07 -0600)]
Fix bzcat integer overflow reported by John Regehr.

8 years agoFix file for Java class files, improve script detection, and add tests.
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.

8 years agoMore minor cleanup (inline a function, simplify name of another).
Rob Landley [Thu, 3 Mar 2016 04:12:02 +0000 (22:12 -0600)]
More minor cleanup (inline a function, simplify name of another).

8 years agoMinor cleanup.
Rob Landley [Thu, 3 Mar 2016 04:10:49 +0000 (22:10 -0600)]
Minor cleanup.

8 years agoFix base64 so == wraps properly.
Rob Landley [Thu, 3 Mar 2016 04:05:21 +0000 (22:05 -0600)]
Fix base64 so == wraps properly.

8 years agoFactor out command name at the start of test name, have runtest.sh print it.
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.

8 years agoPrint command name at start of each test.
Rob Landley [Wed, 2 Mar 2016 21:10:24 +0000 (15:10 -0600)]
Print command name at start of each test.

8 years agoSplit lsattr/chattr tests.
Rob Landley [Wed, 2 Mar 2016 21:01:51 +0000 (15:01 -0600)]
Split lsattr/chattr tests.

8 years agoCommand name at start of each test.
Rob Landley [Wed, 2 Mar 2016 20:41:47 +0000 (14:41 -0600)]
Command name at start of each test.

8 years agoAdd fstype test.
Rob Landley [Wed, 2 Mar 2016 20:29:03 +0000 (14:29 -0600)]
Add fstype test.

8 years agoTry to consistently print command name at the start of each 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.

8 years agosplit pgrep/pkill tests.
Rob Landley [Wed, 2 Mar 2016 19:46:52 +0000 (13:46 -0600)]
split pgrep/pkill tests.

8 years agoFor years the man pages have said to #include <sys/types.h> to get
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.

8 years agoThe last-ever release of uClibc hasn't got prlimit, so probe.
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.

8 years agoSYS_finit_module isn't there on Ubuntu 12.04 because it was only added to the
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.

8 years agoUse shell builtins instead of calling wc/awk/sed. (Fewer forks in build loop.)
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.

8 years agoThe last-ever release of uClibc didn't #define MS_RELATIME.
Rob Landley [Wed, 2 Mar 2016 03:14:55 +0000 (21:14 -0600)]
The last-ever release of uClibc didn't #define MS_RELATIME.

8 years agoUse the correct types for recvfrom.
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".

8 years agoFix "make help" again.
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.

8 years agoconfig2help: add missing ctype.h include
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.

8 years agodo_regular_file() prints output line, don't fall through to print default.
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.

8 years agoFix trailing spaces on ps -o cmdline.
Elliott Hughes [Mon, 29 Feb 2016 18:34:07 +0000 (10:34 -0800)]
Fix trailing spaces on ps -o cmdline.

8 years agoFix inverted test.
Rob Landley [Mon, 29 Feb 2016 17:40:28 +0000 (11:40 -0600)]
Fix inverted test.

8 years agopending/file: add cpio, tar, zip formats.
Isaac Dunham [Mon, 29 Feb 2016 17:29:21 +0000 (11:29 -0600)]
pending/file: add cpio, tar, zip formats.

8 years agoFix a typo from last time, and Isaac Dunham's todo list:
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.

8 years agoSecond pass at the ELF type table.
Rob Landley [Mon, 29 Feb 2016 06:57:11 +0000 (00:57 -0600)]
Second pass at the ELF type table.

8 years agoSwitch to $! for make.sh process enumeration.
Rob Landley [Fri, 26 Feb 2016 06:22:15 +0000 (00:22 -0600)]
Switch to $! for make.sh process enumeration.

8 years agoFix more warnings on 32 bit builds.
Rob Landley [Fri, 26 Feb 2016 00:10:35 +0000 (18:10 -0600)]
Fix more warnings on 32 bit builds.

8 years agoFix bug where mount -o leftover string didn't get passed through to kernel
Rob Landley [Fri, 26 Feb 2016 00:03:08 +0000 (18:03 -0600)]
Fix bug where mount -o leftover string didn't get passed through to kernel
for 2-argument version.

8 years agoTypecast a printf argument because wchar_t isn't a rigidly defined size.
Rob Landley [Thu, 25 Feb 2016 23:49:40 +0000 (17:49 -0600)]
Typecast a printf argument because wchar_t isn't a rigidly defined size.

8 years agoMusl needs an extra #include.
Rob Landley [Thu, 25 Feb 2016 23:16:32 +0000 (17:16 -0600)]
Musl needs an extra #include.

8 years agoimplement simple 'wget' and port name can be specified in URL if default
Lipi C. H. Lee [Mon, 22 Feb 2016 21:25:46 +0000 (15:25 -0600)]
implement simple 'wget' and port name can be specified in URL if default
port 80 is not used.

8 years agolsof cleanup
Rob Landley [Sun, 21 Feb 2016 20:03:21 +0000 (14:03 -0600)]
lsof cleanup

Accept multiple -p, inline filter_matches, convert misleading "char* a, b" to
"char *a, b", use readfile() to read a file, use DIRTREE_SHUTUP, don't need
{ } around a single line, don't modify command line environment space
(which changes what ps/pgrep sees).

8 years agoImplement "insmod -".
Elliott Hughes [Fri, 19 Feb 2016 00:24:02 +0000 (16:24 -0800)]
Implement "insmod -".

Also use finit_module if available. Given that "insmod -" requires
init_module, maybe this isn't a worthwhile optimization. Given that
"insmod /actual/file.ko" is the common use case, maybe it is.

Fix a bug in readfileat where *plen would be corrupted if you didn't supply
your own buffer (because ibuf is 0 in that case, not a pointer to the start
of the allocated space).

8 years agoAdd test_COMMAND for each command, update "make help" to describe TEST_HOST
Rob Landley [Fri, 19 Feb 2016 23:56:01 +0000 (17:56 -0600)]
Add test_COMMAND for each command, update "make help" to describe TEST_HOST
and VERBOSE=fail, and fix a quote mismatch.

8 years agoHelp text update from Isaac Dunham, tweaked slightly.
Rob Landley [Fri, 19 Feb 2016 17:58:17 +0000 (11:58 -0600)]
Help text update from Isaac Dunham, tweaked slightly.

8 years agoAdd xxd -p and -r.
Elliott Hughes [Fri, 19 Feb 2016 05:11:07 +0000 (21:11 -0800)]
Add xxd -p and -r.

SELinux denials include hex-encoded paths in the log messages; xxd -r -p is
a convenient way to decode them.

The heuristics are a little weird to my mind, but match the documentation
and observed behavior.

8 years agoRLIMIT_RTTIME was added to the kernel in 2008, you can't expect uClibc to have notice...
Rob Landley [Fri, 19 Feb 2016 02:31:22 +0000 (20:31 -0600)]
RLIMIT_RTTIME was added to the kernel in 2008, you can't expect uClibc to have noticed yet.

8 years agoThe perl build's attempt to escape spaces and such in LD_LIBRARY_PATH is _SAD_.
Rob Landley [Thu, 18 Feb 2016 01:21:44 +0000 (19:21 -0600)]
The perl build's attempt to escape spaces and such in LD_LIBRARY_PATH is _SAD_.
It uses a sed expression that assumes you can escape - to use it as a literal
(you can't, it has to be first or last char of the range), and assumes
you have to escape delimiters in sed [] context (you don't), and/or that
non-printf escapes become the literal character (they don't, the backslash
is preserved as a literal), meaning it winds up doing "s/[\-\]//" which is
a length 1 range, which is officially undefined behavior according to posix,
and regcomp errors out.

But if we don't accept it (like other implementations do) the perl build
breaks. So collapse [A-A] into just [A].

Testcae taken from perl 5.22.0 file Makefile.SH line 8.

(While we're at it, remove an unused argument from a function.)

8 years agoAdd support for getprop -Z
Tom Cherry [Thu, 18 Feb 2016 00:27:08 +0000 (16:27 -0800)]
Add support for getprop -Z

Add support for a -Z option to getprop that will either print the
SELabel of a given property if one is provided or print all properties
that have been set along with their SELabel.

Also, correct a memory leak when freeing TT.nv.

8 years agoFix remounting /system on Android.
Elliott Hughes [Thu, 18 Feb 2016 00:40:17 +0000 (16:40 -0800)]
Fix remounting /system on Android.

This adds the missing "relatime" option, fixes error handling logic (mount
returns 0/-1, not an errno value, and I at least get EACCES rather than
EROFS in the case where the underlying block device is read-only; we should
also probably only try again if the ioctl actually succeeded), and adds the
missing newline in case where we go around and try again read-only.

The test case was "mount -o rw,remount /system" on Android.

8 years agoTestfile with the 3 different types of "not utf8 output" escaped chars in it.
Rob Landley [Wed, 17 Feb 2016 23:35:42 +0000 (17:35 -0600)]
Testfile with the 3 different types of "not utf8 output" escaped chars in it.

8 years agoAdd dynamic/static checking to file (printing dynamic linker if found).
Rob Landley [Wed, 17 Feb 2016 20:01:19 +0000 (14:01 -0600)]
Add dynamic/static checking to file (printing dynamic linker if found).

8 years agoAdd the sed invocations to convert tabs/spaces and back, plus some tweaks.
Rob Landley [Wed, 17 Feb 2016 18:30:31 +0000 (12:30 -0600)]
Add the sed invocations to convert tabs/spaces and back, plus some tweaks.

8 years agoCleanup pass on file.c, and add detection of different ELF architectures.
Rob Landley [Mon, 15 Feb 2016 22:41:14 +0000 (16:41 -0600)]
Cleanup pass on file.c, and add detection of different ELF architectures.

8 years agoAdd "make list", rename make working->list_working and pending->list_pending,
Rob Landley [Sun, 14 Feb 2016 20:04:21 +0000 (14:04 -0600)]
Add "make list", rename make working->list_working and pending->list_pending,
and filter out commands that aren't nofork but aren't installed either
(toyflags 0, I.E. recognized aliases like "-sh" called from login).

8 years agoImplement file(1).
Elliott Hughes [Sat, 13 Feb 2016 17:50:20 +0000 (09:50 -0800)]
Implement file(1).

Unlike the POSIX file(1), there's no magic file here, just hard-coded
common (non-obsolete) file formats. Personally most of my use of file(1)
is as a one-line readelf(1) summarizer, so although I assume a full POSIX
file(1) is out of scope (because just the database would likely be larger
than all the rest of toybox), a subset that only supports in-use file types
actually covers most of the use cases I encounter personally.

Also fix peek_be/peek_le.

8 years agoFix wc -c optimization.
Elliott Hughes [Fri, 12 Feb 2016 16:13:06 +0000 (08:13 -0800)]
Fix wc -c optimization.

Check the fstat(2) return value rather than read uninitialized memory if
it failed, and add a special case for files that claim to be zero-length
but aren't (as is common in /proc on Linux).

8 years agoremoved unread assignment in sed.c
lovelycuppatea [Thu, 11 Feb 2016 21:42:28 +0000 (21:42 +0000)]
removed unread assignment in sed.c

clang scan-build flags up this line as being unread, so clearing from code.

8 years agoIgnore .singlemake.
Rob Landley [Thu, 11 Feb 2016 05:30:45 +0000 (23:30 -0600)]
Ignore .singlemake.