aboutsummaryrefslogtreecommitdiff
path: root/toys
AgeCommit message (Collapse)Author
2014-12-15Fix yet another sed bug.Rob Landley
The s/// command would copy the \ of substitutions before deciding what to do with them (generally overwriting the \ with the new data). When the substitution was A) at the very end of the new string, B) resolved to nothing, it could leave a trailing \ that didn't belong there and didn't get overwritten because the "copy trailing data" part that copies the original string's null terminator already happened before the \ overwrote it. The ghostwheel() function restarts regexes after embedded NUL bytes, but if the string it's passed is _longer_ than the length it's told then it gets confused (and it means we're off the end of our allocation so segfaults are likely). Fix: test for \ first and move the "copy byte" logic into an else case.
2014-12-14Make sed a\ line continuations work properly for different pattern input modes.Rob Landley
2014-12-13Fix bug in sed y/// where bytes in target but not in source were replaced by ↵Rob Landley
zeroes (nul terminator overwritten).
2014-12-13Last sed bugfix broke 'b', fix it.Rob Landley
2014-12-13Leftover variable from factoring out base64_init() caused an unused variable ↵Rob Landley
warning.
2014-12-13Add base64.Rob Landley
The tizen guys wanted this. Yeah, I know there's base64 code in uuencode/uudecode, but that this has -i, input lines aren't of fixed length, encode/decode are in same file, there's no prefix/suffix code, it always writes to stdout... Eliminating the code duplication wouldn't be worth the if/else I'd have to add, so I just did a new one. Factored out the base64 table init into lib.c though: that was worth sharing.
2014-12-11here's a patch that should let us replace toolbox's chcon.Elliott Hughes
(it also adds a feature, -R, because toybox makes that so easy.) you'll probably want fancier configuration here because although the --as-needed works okay, a typical Ubuntu box will have the .so but not the .h files. i did consider adding a toys/selinux/ directory, but given that existing tools like ls and id will want -Z SELinux options, i wasn't sure whether you'd think it was worth segregating the SELinux-only toys. note that this won't help the tizen smack users (and patch for smack won't help SELinux users). so you might want to think about where you'd like us to be aiming: #if USE_SELINUX/USE_SMACK in all the relevant places, or a toys/selinux and a toys/smack (though we'd still need #if in at least ls and id), or a lib/security.c that concentrates all the differences into one file?
2014-12-10Make unescape_delimited_string() copy the string so error reporting isn't so ↵Rob Landley
messed up.
2014-12-10Fix some sed bugs and improve error reporting.Rob Landley
A newline after 'b' commands in -e command line patterns was being discarded as whitespace, a single element regex match on a {} was leaving stale state for the next line, and giant -e blobs of instructions were saying things like problem at character 432 (note: nulls inserted for regex processing aren't always cleaned up, screws up error reporting).
2014-12-04Add shred.Rob Landley
2014-12-03More gzip stuff: now creates -0 compression files (store only), and does so ↵Rob Landley
to stdout.
2014-12-02Fix bug pointed out by Elliott Hughes ("vmstat 1" should repeat endlessly), ↵Rob Landley
and remove final delay (after all output) for "vmstat 2 3" case.
2014-12-02Note posix mailing list posting correcting a bug in the web version of the ↵Rob Landley
standard.
2014-12-02Don't mount a filesystem over an existing one with the same /dev and /dir.Rob Landley
The OS mostly catches this for block devices, but calling "mount -a" twice shouldn't overmount tmpfs entries with new tmpfs instances. (This needs a test suite entry, and the test suite needs a root context to run in...)
2014-12-02Switching on fortify was not kind to the pending directory. Fix the actual ↵Rob Landley
build break (open(O_CREAT) without permissions).
2014-12-02Start of deflate compress-side code, mostly refactoring and stubs so far.Rob Landley
2014-12-01Ashwini Sharma pointed out that "mkdir sub; ln -s . sub/up; du -L sub" ↵Rob Landley
shouldn't loop endlessly.
2014-12-01Refactor expr and add another test entry that works with TEST_HOST=1 but not ↵Rob Landley
with the one in pending.
2014-11-30Remove the strncpy from mountpoint, and make a lot of other changes while ↵Rob Landley
I'm here (to be described on the mailing list).
2014-11-29Minor whitespace cleanups.Rob Landley
2014-11-29expr.c: Added '==' sign into list of operations. Also added support for ↵Ashwini Sharma
regex pattern match.
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.