aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-08-21A round of dd cleanup.Rob Landley
2016-08-20Promote setfattrRob Landley
2016-08-20Clean up setfattr.Rob Landley
2016-08-18Change xgetpwnamid/xgetgrnamid to xgetuid/xgetgid returning the id numberRob Landley
instead of a struct. This means it can return "12345" even if that user/group doesn't exist in /etc/passwd and similar. All the users were immediately dereferencing it to get pw_uid or gr_gid anyway, so just return it directly and adjust the users. This fixes things like "chown 12345:23456 filename".
2016-08-16Add length modifier to date escapes, and length sanity check.Rob Landley
2016-08-15Make "stat -c %37G file" and "stat -c %.5G file" work, and fix %U and %G toRob Landley
not segfault on a lookup failure (they print the number instead of UNKNOWN). The whitespace in the default output may need some adjusting.
2016-08-14Explain shared library policy, fix an unblanaced tag, add some links.Rob Landley
2016-08-13Document deviations from posix for echo.Rob Landley
2016-08-13Add TOYFLAG_NOHELP to disable --help processing for individual commands,Rob Landley
apply it to "true" and "false".
2016-08-13Move getusername/getgroupname to lib. (Return name or string representationRob Landley
of number, but never NULL. Both returned in static buffer good through next call.)
2016-08-11Matthias Urhahn pointed out that %b returns hardwired 512 byte unitsRob Landley
(man 2 stat says so) and %B is the units on %b (I.E. always 512), so change output and help text. This matches what other implementations produce.
2016-08-06Inline setup_inout(), test ftruncate() return value, move gettimeofday() beforeRob Landley
seek so seek time is included in total.
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-02Fix warning: 'XATTR_NAME_SMACK' macro redefined.Elliott Hughes
Recent Linux uapi <linux/xattr.h> headers define XATTR_NAME_SMACK. The <sys/xattr.h> include at the top of lib/lsm.h means that even though the direct include of <linux/xattr.h> is guarded, it may have already happened transitively anyway. (The alternative fixes would be to hard-code the correct value for XATTR_NAME_SMACK here instead, or #undef XATTR_NAME_SMACK.)
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-23Many failing tests I need to fix grep to pass while adding --color.Rob Landley
2016-07-21Common test infrastructure says command name, don't have sed.tests say 'sed sed'Rob Landley
2016-07-18Add getfattr(1) and setfattr(1).Elliott Hughes
Plus basic tests.
2016-07-17The recent option parsing changes broke the multiplexer, because the "toybox"Rob Landley
command was trying to parse their options and failing. (Commands that aren't just disabled but have no option string even in the allyesconfig case need an OPTSTR of 0.) This is probably only a partial fix, there's some design work to think through here.
2016-07-16Remove sendevent from the Android roadmap.Elliott Hughes
Also update the list of things Android builds from pending, which has shrunk.
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-15Don't close stdin when loopfiles reads "-".Rob Landley
2016-07-15Somebody asked a FAQ on irc, so answer it.Rob Landley
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-13Bugfix: suffixless string was feeding terminating NUL to strchr() and matching.Rob Landley
2016-07-12Implement NOP find -noleafRob Landley
2016-07-12Convert atolx() and friends to use long long internally. Update design.htmlRob Landley
to use this (and tail) as examples of simplicity of implementation winning and losing.
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-08Fix typo in chattr test.Elliott Hughes
2016-07-05Fix generated/make.sh. (Quotes in TOYBOX_VERSION need to wind up inRob Landley
resulting macro.)
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 chattr and date tests.Rob Landley
2016-07-04Now that we're using the adjusted option string, need to skip placeholders ↵Rob Landley
in [groups].
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-30Fix option parsing infrastructure bug.Rob Landley
In main.c: used adjusted string with placeholers for removed options (so flag values don't move based on config, allowing FORCE_FLAGS to work). In scripts/mkflags.c: test was wrong, a bare longopt never matches a single letter command, but it was treated as always matching when comparing allyesconfig vs current config to determine which options were disabled, so there was a corner case that got the flag values wrong.