aboutsummaryrefslogtreecommitdiff
path: root/toys
AgeCommit message (Collapse)Author
2014-11-28Tiny in-passing cleanups to more.c.Rob Landley
2014-11-27sed: c needs to trigger range logic like d, D works like d when there isn't ↵Rob Landley
anything left in the line, and more tests.
2014-11-25Update dmesg, loosely based on a patch from Elliott Hughes.Rob Landley
Probe the default buffer size, replace the constants with FLAG_x macros, add -r, replace the byte at a time output with a single xwrite(), more comments.
2014-11-25Variant of a patch from Ashwini Sharma, making df /dev/node work and ↵Rob Landley
tweaking the spacing. I didn't apply the POSIXLY_CORRECT gnuism because it's a can of worms (as would be LSB_CORRECT), and you can presumably alias df="df -P" if you want that. Possibly in future I should factor out the "readahead and align columns based on measuring the largest value in each" code from ls and apply it here.
2014-11-24Tweak the "ignoring return value" fortify workaround for readlinkat.Rob Landley
We zero the buffer and if the link read fails that's left alone, so it's ok for the symlink not to be there. Unfortunately, typecasting the return value to (void) doesn't shut up gcc, and having an if(); with the semicolon on the same line doesn't shut up llvm. (The semicolon on a new line would, but C does not have significant whitespace and I'm not going to humor llvm if it plans to start.) So far, empty curly brackets consistently get the warning to shut up.
2014-11-22As long as Android's going to require fortify, fixup the warnings it generates.Rob Landley
2014-11-22Whitespace/code style.Rob Landley
2014-11-21A patch against your current ToT that builds in AOSP master.Elliott Hughes
2014-11-19Make md5sum and sha1sum work on big endian systems.0.5.1Rob Landley
2014-11-19Fixups for the android/bionic build probes patch.Rob Landley
The CFG_* symbols are always defined so if() can use them as compile-time constants, so don't if defined() them. Doing USE_BLAH() around variable definitions opens up the same potential for config-dependent build breaks as #ifdefs do, just make the whole command depend on the symbol for now, factor out the utmpx infrastructure later. The PTY probe was always failing because it used NULL without #including the header that defines it. Substitute 0 instead.
2014-11-19probe for getspnam(), forkpty(), utmpx, replace sethostname()Isaac Dunham
Android is missing all of these; we need to probe for some so we have a config symbol to depend on. sethostname() is easily replaced. We got termios.h via pty.h; now it's not included in configure-step tools, so we need termios.h to generate globals.
2014-11-19Fix "tail -c 10" segfault spotted by Lukasz Szpakowski.Rob Landley
Once we've read through the initial TT.bytes backlog we discard the extra data, meaning we adjust the remaining amount each time so the overflow is zero bytes. We were doing the adjustment right, but not zeroing out the overflow counter after we did so.
2014-11-18More sed bugfixes.Rob Landley
2014-11-17sed: fix 'q', and { }, and } after s/// with no semicolon.Rob Landley
2014-11-17More sed corner cases. (Empty regex repeats previous regex, implement -i, etc.)Rob Landley
2014-11-16Fix more sed bugs.Rob Landley
2014-11-16Fix sed 'b' with no label and 'N' in general.Rob Landley
2014-11-15More sed bugfixes. (Did you know s/[/]// is a valid sed expression?)Rob Landley
2014-11-15Debugging pass on sed: make the existing test suite pass.Rob Landley
2014-11-14sed: implement s & and \1 backrefs.Rob Landley
2014-11-12Implement more sed plumbing, including s/// (without \1 or & yet).Rob Landley
2014-11-10Implement another largeish chunk of sed. Untested, unfinished, do not use yet.Rob Landley
2014-11-10First cleanup pass on hwclock.Rob Landley
2014-11-10hwclock: get and set the hwclockAshwini Sharma
2014-11-10ipcrm : remove msg que, sem or shared memoryAshwini Sharma
2014-11-08Implement a few sed commands. Not done, and not tested yet.Rob Landley
2014-11-04Next round of sed infrastructure, parses most commands now, doesn't ↵Rob Landley
implement them yet.
2014-10-30Attached are new toys TR and CRONTAB.Ashwini Sharma
*tr.c*: It translate, squezze and delete characters. Supported classes are alpha, alnum, digit, lower, upper space, blank, puct, cntrl and xdigit. *crontab.c*: Companion of crond. It maintains crontab files.
2014-10-30Test for ls -d from Isaac Dunham, and he pointed out -F also disables ↵Rob Landley
symlink following.
2014-10-30Bug report from Isaac Dunham: ls -d shouldn't follow command line symlinks ↵Rob Landley
without -H or -L (just like ls -l).
2014-10-29Next drop of sed infrastructure, mostly argument parsing, doesn't do ↵Rob Landley
anything interesting yet.
2014-10-28Fill out rest of help text for sed.Rob Landley
2014-10-27Fix use after free error spotted by ?ukasz Szpakowski.Rob Landley
2014-10-24Basic sed range support, enough for "sed -n 9,11p README" to work.Rob Landley
2014-10-22Teach ln -f to leave original target alone if link creation fails.Rob Landley
Suggested by Ashwini Sharma, I wound up implementing it by creating the new link at a temporary name and renaming it over the old one instead of renaming the old file out of the way and putting it back if it failed. (Because "mkdir -p one/one/blah && ln -sf /bin/one one" would otherwise rename one/one out of the way and only notice it can't delete it way at the end when recovery's darn awkward, vs create new thing and if rename fails (including EISDIR) that's the main error path. And yes the temporary name is in the same directory as the destination so we never rename between mounts.) link over the old one instead of renaming the old file and renaming it back.
2014-10-20Random in-progress snapshot of sed, not finished yet.Rob Landley
2014-10-20More static analysis fixes from Ashwini Sharma.Rob Landley
2014-10-19nsenter: A tool to use setns(2)Andy Lutomirski
This implements all of the namespace parts of nsenter, but UID and GID switching are missing, as are -r and -w (both because they're not strictly necessary and because the nsenter manpage has an insufficient description of how they work).
2014-10-17unshare: Fix help and option parsingAndy Lutomirski
The help text was inconsistent, and option parsing was completely broken (the options mostly did the wrong thing).
2014-10-18Factor out printf-style escape parsing logic from echo.c.Rob Landley
2014-10-16Even bigger ip.c, from Ashwini Sharma.Rob Landley
2014-10-14Use O_CLOEXEC instead of O_RDONLY to signal loopfiles_rw() to close filehandles.Rob Landley
2014-10-14Fix last night's mv commit (use dest, not source).Rob Landley
2014-10-14Implement mv -f and -i.Rob Landley
2014-10-13Started over on sed (by reading the posix spec).Rob Landley
2014-10-10acpi: implement -ctV, fix recursion, plug a small leakIsaac Dunham
* acpi_callback had blindly assumed that a path of 26 chars or more was the right depth; rely on depth from dirtree root * acpi -c shows cooling device state some backlights are set up so that they will report dimmer as higher, but that's a hardware issue that can't be sanely worked around. * acpi -t shows temperatures this implementation will pick up fan, battery temperatures, etc. (but currently not hwmon-type temperatures, or hdd temps; acpi 1.7 does not measure these either) we handle milli-C (typical) and deci-C (I've seen this on Qualcomm batteries, and not yet anywhere else) we do *not* handle deci-K yet * acpi -V shows all sensors * without saving the result of dirtree_path() to free later, we had a slow leak. all callbacks call this once, so save it in GLOBALS() acpi -t happens to need this anyhow, though using openat()/readall() instead of readfile() would work.
2014-10-09Various bugfixes (mostly resource leaks) from Ashwini Sharma's static ↵Rob Landley
analysis, plus occasional tweak by me while reviewing them.
2014-10-09Fix use-after-free spotted by Ashwini Sharma's static analysis.Rob Landley
We xstrdup() an optargs string to avoid modifying our environment space (because it can change what "ps" shows to other processes), and then parse out colon delimited strings and save them in globals that can later be used in the -v codepath and so on. But those globals _aren't_ strdup (no point) which means we can't free the string while we're still using pointers into the middle of it. So move the free to the end. (I hardly ever test with CFG_TOYBOX_FREE switched on because even nommu doesn't need it.)
2014-10-01Bugfix from Ashwini Sharma: Z timezone required by posix for touch but not ↵Rob Landley
for libc, so we have to implement it here.
2014-09-28Updated version, having complete support for ip _link_, _addr_, _rule_, ↵Ashwini Sharma
_route_ and _tunnel_ options.