aboutsummaryrefslogtreecommitdiff
path: root/toys/posix
AgeCommit message (Collapse)Author
2015-05-19Add -Z support to mkdir, based on a patch from Jose Bollo.Rob Landley
I have no idea why -Z isn't showing up in mkdir --help when enabled, I need to look at that...
2015-05-19Adapted patch from José Bollo to do the "tonight we're gonna api likeRob Landley
it's 1999 and every path ever is from cwd or root" api versions for sockets and as a fallback of the open fails. There are still some holes (symlink to socket with -L will give you info about the symlink, not the socket, and symlink to a file you can't open will give you info about the symlink, not the file) but the correct fix is to make O_PATH work in the kernel for the LSM functions. (If we can read this data by path, we should be able to read it by O_PATH. We should not need two codepaths for this.)
2015-05-18Switch id over to new infrastructure, switch id to use FORCE_FLAGS, andRob Landley
make lib/lsm.h auto-include from toys.h.
2015-05-18Fix "ls -Z . toys" segfaulting, because preprocessing skipped.Rob Landley
strwidth() got called on ->extra which was NULL. Had some other bad effects ala "ls -sk file1 file2 file3" ignored the -k. This should fix that too.
2015-05-18Recent commit broke ls -R (test reversed), and "ls -R singledir" shouldRob Landley
show label: at the start (yes, even "ls -R" in an empty dir).
2015-05-18More ls -Z upgrading. Move TOYBOX_SELINUX and TOYBOX_SMACK support fromRob Landley
portability.h to new lib/lsm.h. Update ls.c to use it. Fix "ls . toys" (two directories when one is . or ..), which was filtering out the . as something we shouldn't recurse into even though it was explicitly listed on the command line. For some reason "ls -Z . toys" is still segfaulting though (but "ls -Z ." isn't), need to figure out why...
2015-05-13Fix bug (len[7] wasn't zeroed if -Z off, thus -C overestimated entry lengths),Rob Landley
and some cleanups while I was there.
2015-05-10Cleanups of dirtree_start() calls. (Don't need to feed in flag values, justRob Landley
symfollow true/false.)
2015-05-09Add DIRTREE_SHUTUP to disable dirtree warnings if file vanishes out fromRob Landley
under traversal. Pass through full flag set in dirtree_add_node(), add dirtree_start() wrapper to provide symlink-only behavior (avoiding a lot of DIRTREE_SYMFOLLOW*!!(logic) repeated in callers).
2015-05-06Re-enable catv command now that flag infrastructure is updated.Rob Landley
2015-05-04Implement SELinux ls -Z support.Elliott Hughes
This patch uses lgetfilecon rather than fgetfilecon because dirtree_parentfd always seems to return -1 in this function. If/when the SMACK code is fixed to work with dirtree_parentfd, I'll send a matching patch for SELinux. In the meantime, this works, and although ls -h is still on my to-do list, I think this patch is sufficient to let us replace toolbox ls with toybox ls.
2015-04-30More ls cleanups from squinting at Jose's most recent smack patch.Rob Landley
Behavior change in flags: allow -long to work together, and -l1 work like -l not -1. I didn't make ls -gCl remember the g, though. (Because -Cg and -gC take the last one: I'll preserve explicit state but not implicit state. And if -1Cl and -lC1 aren't going to behave the same, it wasn't consistent anyway.)
2015-04-30Wild guess at cleaning up smack support. Don't have a test environment yet.Rob Landley
2015-04-29ls: Add -Z (Smack) optionJan Cybulski
Option triggers printing security context, for smack that is file's access smack label. Change-Id: I9054d9bcfe4d149e8fbfa0831b6ab50165d2bd91 Signed-off-by: Jan Cybulski <j.cybulski@samsung.com> Signed-off-by: José Bollo <jose.bollo@open.eurogiciel.org>
2015-04-27Fix ls -s and -i indentation in -C and -x modes. (Spotted by Jan Cybulski.)Rob Landley
2015-04-04To ensure that toybox can be installed alongside busybox withoutPaul Barker
confusing update-alternatives, the paths of the links installed by toybox should match those installed by busybox. This is accomplished by changing the flags of a few tools within toybox.
2015-03-29Fix head bug pointed out by felix janda (recent -123 code broke first file ↵Rob Landley
argument of -n).
2015-03-28Fix sed bug David Halls hit trying to compile libiconv.Rob Landley
2015-03-28Fix printf bug (%.s should be %.0s not %s) reported by Isabella Parakiss.Rob Landley
2015-03-27tail: add old -123 support and comment out #-f until it's actually implemented.Rob Landley
2015-03-21Another bug from David Halls: find -exec wasn't consuming its argument when ↵Rob Landley
it didn't activate. test: find . -name README -exec echo one '{}' ';' -or -exec echo two '{}' ';'
2015-03-21install -D bugfix from David Halls.Rob Landley
(I tweaked some comment text while I was there.)
2015-03-19Add -123 support to head (suggested by Elliott Hughes).Rob Landley
2015-03-13Clean up sort help text.Rob Landley
Use tabs for option indent and don't have -g show up in menu (TOYBOX_FLOAT is the decision).
2015-03-12Remove cat -v help text debris.Rob Landley
2015-03-12The time command depends on floating point support.Rob Landley
2015-03-12Make find accept numeric uid/gid, and simplify makedevs using the new ↵Rob Landley
infrastructure.
2015-03-12Make install support numeric uid/gids (reported by Kylie McClain).Rob Landley
2015-03-12Factor out xgetgrnamid() and xgetpwnamid() into xwrap.c.Rob Landley
2015-03-10Use xsignal() instead of signal().Rob Landley
2015-03-06sed depends on -r to be rightmost flag to simplify the REG_EXTENDED test.Rob Landley
(If a flag is 1, you can multiply it by the value you want and get that value else zero without a branch or conditional assignment.) So move -E one to the left so FLAG_r is 1 again, and add a [+Er] suffix instead of testing FLAG_r | FLAG_E in the users.
2015-03-02On 64 bit, subtracting two pointers produces a long result. On 32 bit, it's ↵Rob Landley
an int. Even though long _is_ 32 bits on a 32 bit systems, gcc warns about it because reasons. Also, the warning being that "expects int, but type is wchar_t"... no, type is not wchar_t. Type is probably long. Specify the ACTUAL TYPE, not the random typedef alias for it. If the translated type _did_ match, there wouldn't be a warning! (This is why c89 promoted all arguments to int, precisely so this wasn't a problem.)
2015-03-01Fix several printf_format warnings.Rob Landley
2015-03-01Patches from Elliott Hughes to fix various printf() format strings.Rob Landley
(Don't specify the space flag when it's the default behavior. The ifconfig stuff was actual bugs.)
2015-03-01Patches from Elliott Hughes to add missing arguments to error_exit() calls.Rob Landley
2015-03-01remove accidental space in format stringElliott Hughes
the ' ' flag makes no sense for %c.
2015-02-28BSD sed uses -E instead of -r to enable ERE.Isabella Bosia
GNU sed silently supports -E as an alias for -r too.
2015-02-15Add --remove-destination longopt for -F because the host version doesn't ↵Rob Landley
have a shortopt for it.
2015-02-14Make egrep and fgrep build standalone.Rob Landley
2015-02-08Rewrite of a patch from Elliott Hughes to implement touch -h and switch API ↵Rob Landley
to utimensat() which offers nanosecond granularity and UTIME_OMIT/UTIME_NOW.
2015-02-07Cleanup pass on env, removing exec_optargs().Rob Landley
2015-02-07Make toy_exec() check if argc is in optargs and deal with it there so we ↵Rob Landley
don't need a separate xexec_optargs().
2015-02-06In rm, init using to AT_REMOVEDIR in the dir case earlier.Rob Landley
(If you had a chmod 000 directory and did rm -r on it without -f, after the prompt it would complain it was a directory.)
2015-02-06Alright, the Android guys agree with the musl guys: ↵Rob Landley
faccessat(AT_SYMLINK_NOFOLLOW) is not supported.
2015-01-22Fix sed s//\[newline]/ line continuations.Rob Landley
The problem was that readline() was returning a newline at the end of each string, which wasn't getting stripped in the parser and thus \ wasn't at the end of a line for -f, it was escaping a literal newline, so the continuation logic didn't trigger. Remove some redundant null checks while we're at it, and don't bother terminating a string we don't return (yes we leak memory in an error path, but it's about to error_exit() anyway).
2015-01-20fix typo in printfElliott Hughes
2015-01-18Lift the basename/libgen.h shenanigans back out of portability.c and make it ↵Rob Landley
a static inline in portability.h, and prototype dirname() while we're at it.
2015-01-16id.c #ifdefectomy. (ifdefs belong in headers, not in C code.)Rob Landley
2015-01-16This patch adds a TOYBOX_SELINUX configuration option to control bothElliott Hughes
the SELinux commands (such as chcon) and the SELinux-specific options to regular commands (such as ls -Z). This lets us #include <selinux/selinux.h> in portability.h. I've also fixed chcon to insist on being given the a context argument. This patch also adds -Z to id and fixes id's regular output (-G should be separated by spaces, non-G output should be separated by commas, and you don't want a double comma where the egid is omitted from the list of groups).
2015-01-14Make touch -d miliseconds work. (Still only 6 digits precision instead of 9, ↵Rob Landley
but it's a start.)