aboutsummaryrefslogtreecommitdiff
path: root/toys
AgeCommit message (Collapse)Author
2016-08-04Make xopen() skip stdin/stdout/stderr, add xopen_stdio() if you want stdout,Rob Landley
add xopenro() that takes one argument and understands "-" means stdin, and switch over lots of users.
2016-08-01Fix touch(1) date parsing on tzcode-derived systems.Elliott Hughes
The IANA tzcode implementation of mktime (used on Android and BSDs) sets errno in some cases where it doesn't return -1 to indicate failure, so the existing test always failed on those systems. I don't think glibc ever sets errno (which is fine by ISO C, but not POSIX). Other uses of mktime in toybox are already fine. This one would have been caught by the existing tests if I was running them on the device :-(
2016-07-30Single builds skip commands with 0 in the install location soRob Landley
"make test_scankey" didn't work.
2016-07-29Izabera reporeted that FLAG_v was never checked in timeout. (Oops.)Rob Landley
2016-07-26Move regexec0 into lib (regexec that takes length and matches after NUL).Rob Landley
2016-07-23Usischev Yury pointed out that id shouldn't use exit() directly.Rob Landley
2016-07-23Usischev Yury pointed out a use after free error.Rob Landley
2016-07-18Add getfattr(1) and setfattr(1).Elliott Hughes
Plus basic tests.
2016-07-15Fix non-library md5sum build. (Oops.)Rob Landley
2016-07-15Add optional openssl accelerated versions of hash functions, loosely based onRob Landley
a patch from Elliott Hughes, who said: [PATCH] Add support for libcrypto for MD5/SHA. Orders of magnitude faster (for architectures where OpenSSL/BoringSSL has optimized assembler). Also adds sha224sum, sha256sum, sha384sum, and sha512sum for folks building with libcrypto. The fallback portable C implementations could easily be refactored to be API-compatible, but I don't know whether they'd stay here or move to lib/ so I've left that part alone for now.
2016-07-14Add Android's "sendevent".Elliott Hughes
The lack of support for named constants is not a regression relative to the toolbox implementation.
2016-07-14Add -c to md5sum and sha1sum.Rob Landley
2016-07-13Increase ps' default RSS and VSIZE widths.Elliott Hughes
This is enough for everything on Android and everything except Java on my desktop. Even desktop Chrome fits!
2016-07-12Implement NOP find -noleafRob Landley
2016-07-08dd improvements.Elliott Hughes
Support hex (requested by users). Support status=noxfer and status=none (requested by users). Fix status output. Clarify large numbers in --help output. Use O_TRUNC rather than ftruncate unless we're also seeking. New tests. Also partial cleanup (reuse of existing code, removal of non-GLOBALS globals, and merge dd_main and do_dd).
2016-07-05Implement xxd -s.Elliott Hughes
2016-07-05Don't try to guess the build id type in file(1).Elliott Hughes
They're really just arbitrary byte sequences of arbitrary length. Sure, a 20-byte sequence is _probably_ a SHA-1, but there's no way to know, so let's stop pretending...
2016-07-04Fix a bug (octal digits are 0-7, not 0-8) and deal with a case where posixRob Landley
is explicitly outright insane (%b handles octal escapes differently for no obvious reason).
2016-07-03Promote file.Rob Landley
2016-07-03Improve file(1)'s ELF support.Elliott Hughes
Read any PT_NOTE sections to look for NT_GNU_BUILD_ID or Android API level notes. I deliberately didn't NT_GNU_ABI_TAG because it's noisy -- every Linux executable has one -- but not something most command-line users will have any use for. (And you can ask readelf(1) anyway.) Also read the section headers to implement "stripped"/"not stripped". This patch removes "uses %d libs" because it was actually just counting dynamic sections in the ELF file, and there are only 0 or 1 of those in a valid ELF flie. (If you really want this functionality, you have to *parse* the dynamic section looking for the DT_NEEDED entries. But that's more of a job for readelf(1) than file(1).)
2016-07-03Promote netsat, and move ifconfig, netcat, and rfkill to new toys/net directory.Rob Landley
2016-07-03More netstat cleanup (inline display_data)Rob Landley
2016-07-02Next round of netstat cleanup.Rob Landley
2016-06-30Add patch -d and --dry-runRob Landley
2016-06-30Teach wc to do -cm together. Fix testsuite so TEST_HOST passes too.Rob Landley
2016-06-29Remove unused argument from do_lines()Rob Landley
2016-06-28Fix iteration for start/stop without arguments.Elliott Hughes
2016-06-28Fix a "may be used uninitialized".Rob Landley
2016-06-27Fix start.c build and add error reporting.Elliott Hughes
2016-06-25Code style pass.Rob Landley
2016-06-25new Android toys: start/stopElliott Hughes
2016-06-23Remove android/log's "default" priority.Elliott Hughes
It turns out that "default" goes nowhere. Whereas "silent" actually shows up in the log. So document "silent" (which we already supported) but remove support for "default". Also make the spacing between levels in the help more regular; it looks weird being in columns when there's only one row!
2016-06-21Attempt at cleanup of log.c, but I don't have a build environment for it so...Rob Landley
2016-06-21new Android toy: logElliott Hughes
2016-06-19Next round of diffstat cleanup.Rob Landley
2016-06-17Make it clearer that CMD is the thread name.Elliott Hughes
It should come as no surprise to those who followed the development of this that it's not well known which of the various names is actually the thread name. Adding "thread" to the ps --help output seems like a good idea. I'm also assuming that "stat2" was meant to read "stat[2]", since that's how it mostly appeared on the list while discussing this. Still fits in 80 columns.
2016-06-15Add readlink0() and readlinkat0() which null terminate the data.Rob Landley
2016-06-15The glibc bug at https://sourceware.org/bugzilla/show_bug.cgi?id=17829Rob Landley
continues to get worse, and now can't handle INT_MAX/2 either. So our first workaround _also_ broke. But posix says "A negative precision is taken as if the precision were omitted." and that _doesn't_ trigger the glibc bug, so use that instead.
2016-06-12Lots of netstat cleanup, including a rewrite of the unix domain socket output.Rob Landley
(Ubuntu's netstat is left justifying the inode field, and they're wrong.)
2016-06-12Finish switching to dev_major/dev_minor.Elliott Hughes
7ca5dc4232b9ac5ee5cd25c8b5b33a58904cd251 didn't switch all callers over to the new functions.
2016-06-10Missing parentheses. (Oops.)Rob Landley
2016-06-10Fix trailing whitespace bug in netstat.Elliott Hughes
Spotted while trying to diff netstat -nt against toybox netstat -nt.
2016-06-10xreadlink() only exits for memory allocation, it returns 0 if file not found.Rob Landley
(I forget who reported this bug, wasn't me.)
2016-06-10Shuffle arguments around (TNAME->NAME->COMM->CMD), working around posixRob Landley
constraints while still trying to get sane behavior. Discard the old CMD, move COMM to CMD, move the old NAME to COMM, and move TNAME to NAME. Posix assumes argv[] is the only source of process name data, but Linux has three sources (/proc/$PID/cmdline, /proc/$PID/exe, /proc/$PID/stat field 2) and android uses multiple sources simultaneously to identify its processes and threads. Toybox ps also assumes that the field names displayed in the headers can be fed to -o to get that output, which is an assumption posix's ps spec clearly does not have. Before we were erring on the side of posix, now we're erring on the side of sanity. CMD now shows stat[2], all the time. The posix -f behavior change is now just an ARGS=CMD alias in the -f default command line, which -o overrides. (Before -f changed the behavior of -o CMD, which is closer to what posix says but is _insane_ and we've stopped doing it.) COMM now shows /proc/$PID/exe minus the path. (I'm aware posix says argv[0] here, but it says argv everywhere.) NAME is now argv[0] of $PID. TNAME went away. Both $COMM and $NAME show the data for $PID, which is a thread's parent process when $TID != $PID.
2016-06-10Revert commit e02e41373ea3, we're always initializing the TNAME stringRob Landley
field (that's the ptb/tb switching in get_ps) so it's never blank, so this doesn't trigger. (Conditionally initializing it would save runtime memory, but at the expense of more complex code.)
2016-06-10HACK: restore Android ps behavior.Elliott Hughes
"NAME" is no longer doing what we want; "TNAME" is what "NAME" used to be, except that "TNAME" implies -T. This patch switches us over to "TNAME", disables the implicit -T. Change-Id: I5553703d3939b24eaf39976162d2f75a591e1ce8
2016-06-09Fix dangling link after cp commandKyungsik Lee
"toybuf" should be initialized before calling symlinkat() or dangling link could occur.
2016-06-08Fix ps bug, last field wasn't expanding to width.Rob Landley
(Still fixing the fallout from that "Don't truncate number fields" logic rewrite.)
2016-06-08Change the TNAME behavior to "Show parent argv[0]. If that's blank, showour ↵Rob Landley
argv[0]. If that's blank, show [stat2]." That way threads show their parents, parents show themselves, and kernel threads show the [stat2] name.
2016-06-07Izabera pointed out that cmp -ls are contradictory.Rob Landley