aboutsummaryrefslogtreecommitdiff
path: root/toys
AgeCommit message (Collapse)Author
2019-02-23Here's an 'mcookie' implementation for toybox.Isaac Dunham
mcookie simply prints out 16 bytes of entropy in hexadecimal; it is typically used as the source for the "MIT magic cookies" that X11 uses for "secure" connections. The only implementation I know of is in util-linux; the problems with its documented behavior motivated me to write an alternate implementation. Specifically, getting 128 bytes from the kernel and finding the MD5 sum is not a sane PRNG, especially when only 16 bytes are needed.
2019-02-23Bumper typo cleanup.Elliott Hughes
Inspired by some of the small patches that have gone by recently. Limited to only things found in `generated/help.h`, plus a wider cleanup for the more common "milisecond" typo.
2019-02-23Switch losetup to short arg var style and force typecasts for printf.Rob Landley
2019-02-23Switch mount to use FLAG() macros.Rob Landley
2019-02-21Fix typo in helpKevin van der Kamp
2019-02-21getfattr: add --only-values.Elliott Hughes
Needed to improve cp(1) testing.
2019-02-20Exit code should indicate _which_ signal oneit's exiting due to.Rob Landley
2019-02-20Simplify netcat a lot using the net.c upgrades from last commit.Rob Landley
2019-02-20Minor cleanups, mostly wordwrapping.Rob Landley
2019-02-19grep: add --quiet and --silent synonyms for -q.Elliott Hughes
--quiet is used 3x more than --silent in my corpus, but they're both used surprisingly often. (Surprising to someone who thinks -q is part of the core set of grep options that "everybody knows".)
2019-02-18route: fix command argument parsingUros Prestor
2019-02-17top: make the task/thread count add up.Elliott Hughes
Linux has more states than we were giving it credit for, which led to our numbers not adding up. Since the exact details seem to change between versions, and since having code specific to each kernel version is unattractive, go with the heuristic that there are relatively fewer "stopped" states (and they change less frequently), so all unknowns are "sleeping".
2019-02-16Disallow -o "" in top.Rob Landley
2019-02-16top: differentiate tasks (processes) and threads in the header.Elliott Hughes
2019-02-16top: make the column header span the terminal.Elliott Hughes
This also makes everything more readable by separating out the -b no formatting case. The whitespace trimming for -b isn't strictly necessary, but it looks weird if we output unnecessary spaces at the end of the line in -b mode, and we've fixed it before, so let's not regress here. It also seems more logical to do this in the one place where it actually happens.
2019-02-15mountpoint: add missing synopsis.Elliott Hughes
2019-02-15Fix typos: e.g. change "cannonical" to "canonical".Jason Spiro
2019-02-14Use current time for unspecified fields, set weekday to match date.Rob Landley
2019-02-13top: support Enter as a synonym for Space.Elliott Hughes
Both refresh the display in the traditional implementation.
2019-02-13top: use human_readable for the header lines too.Elliott Hughes
Even phones have enough RAM these days that KiB is not a reasonable unit. Traditional top always uses MiB instead of always using KiB, but we may as well just let human_readable pick a unit (that way if KiB is reasonable on your box, that's what you'll get). Before: Tasks: 967 total, 1 running, 581 sleeping, 0 stopped, 0 zombie Mem: 196734820k total,183891564k used, 12843256k free, 5805008k buffers Swap:199888892k total, 719104k used,199169788k free,130367280k cached After: Tasks: 965 total, 2 running, 577 sleeping, 0 stopped, 0 zombie Mem: 188G total, 175G used, 13G free, 5.5G buffers Swap: 191G total, 702M used, 190G free, 124G cached
2019-02-13top: hide the cursor in interactive mode.Elliott Hughes
Matches traditional top.
2019-02-13Oops, missed one.Rob Landley
2019-02-13Use xrecvwait() in ping, and move signal handler setup to start of ping loop.Rob Landley
2019-02-13Move nanomove(), nanodiff(), union socksaddr, and xrecvwait() to lib.Rob Landley
2019-02-13find: fix -path/-ipath and add -wholename/-iwholename synonyms.Elliott Hughes
Plus new tests.
2019-02-13sed: fix endless loop in "b loop" test.Elliott Hughes
Very few places actually check for errors from emit, and I actually see the same endless loop from "sed (GNU sed) 4.4" on current Debian, so I'm not sure this isn't Broken As Designed, but an endless loop spewing "short write" (or saying nothing, in the case of GNU sed) really doesn't feel like useful behavior in face of EPIPE, which really isn't going to fix itself. Certainly not being able to run the sed tests to completion is pretty annoying --- which is why, unless we remove this test as invalid, we should probably also add a SKIP_HOST=1 to the "b loop" test. Note that even with this fix you'll see the error twice: sed: short write: Broken pipe sed: short write: Broken pipe Once from the first = command to fail, and then another from the !FLAG(n) flush of the pattern space.
2019-02-12sed: fix substitution of empty capturing groups.Elliott Hughes
The test for \N where N was larger than the number of capturing groups in the regular expression was incorrect, and firing for cases such as matching __(ARM_)?NR_([a-z]*) against __NR_read, where the first group is empty (because it failed to match) but the second group did match "read". Use regex_t's re_nsub for the error check, and treat rm_so == -1 as a signal to just copy nothing into the result. (Found trying to build minijail in AOSP.)
2019-02-11date: some fixes.Elliott Hughes
Add support for more input formats, primarily the ISO formats used by the AOSP build. I've improved/added to the tests a bit to cover these changes, and to explain the reasons for the various remaining test failures (none of which are regressions caused by this patch).
2019-02-11Inline more functions only called once, unwrap wrappers, etc.Rob Landley
2019-02-10Remove unnecessary macros and typedefs, multipliation by sizeof(char), etc.Rob Landley
2019-02-10Inline more macros only used once, replace BcId with struct str_len from lib,Rob Landley
remove more unnecessary typecasts.
2019-02-09Remove more unnecessary macros. Inline bc_parse_exprs[] with the bit orderRob Landley
reversed so the mask is 1<<(x&7) instead of 1<<(7-(x&7)). Can't _quite_ make printString() use unescape() out of lib because \q is a thing?
2019-02-09Remove more useless typecasts, wrappers, and inline a function.Rob Landley
2019-02-09Remove some unnecessary wrappers, indirection, and typecasts.Rob Landley
2019-02-07ps, top: fix VIRT and SHR fields.Elliott Hughes
2019-02-05Promote sntp to net.Rob Landley
2019-02-05Fix some llvm warnings.Rob Landley
I don't know why NDK llvm is complaining about adjtime(), toys.h is #including <sys/time.h> which http://man7.org/linux/man-pages/man3/adjtime.3.html says is the right header...?
2019-02-05Suppress warnings gcc should not be making (and a comment typo).Rob Landley
2019-02-05Fix server loop timeout logic.Rob Landley
2019-02-05Fix server mode and make request timeout 3 tries of 3 seconds (9 sec total).Rob Landley
2019-02-04Reset screen wrap mode (broken by qemu -nographic output).Rob Landley
2019-02-04sort -o: fix behavior when output file is one of the input files.Elliott Hughes
Bug: http://b/123902291
2019-02-04Next round of sntp work: server and multicast modes, actually set time...Rob Landley
2019-02-04who: make the output more like coreutils who.Elliott Hughes
Also add a TODO for the (undocumented, half-finished) -a option.
2019-02-01Fix record-commands and logwrapper.cRob Landley
record-commands: Delete old log, only delete $WRAPDIR at end if path wasn't externally supplied, don't add the rm at the end to the log. logwrapper.c: don't skip filename when measuring space for command line malloc, use argv[0] instead of /proc/self/exe (which is realpath -f).
2019-01-31Sed assumed FLAG(r) was 1 but didn't document it above the NEWTOY line. (oops)Rob Landley
2019-01-30Command logging wrapper to help analyze what commands scripts call and how.Rob Landley
2019-01-28bc: Update to upstream version 1.1.0Gavin Howard
2019-01-25nc: allow immediate reuse of ports.Josh Gao
Set SO_REUSEADDR when listening so that we can immediately reuse ports that are no longer being listened upon, instead of having to wait 60 seconds for the socket to be shutdown after being closed (even on localhost!).
2019-01-25No real need to copy data into variables and do nothing else with it...Rob Landley