aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2014-09-27Don't segfault for --help of single.sh build of OLDTOY commands that use ↵Rob Landley
another command's help.
2014-09-26The only illegal characters in a username are ":" (field separator), "\n" ↵Rob Landley
(line separator), and "/" (filename separator). Restricting usernames to the legacy posix character allowed set (for filenames, so the $HOME directory is creatable on VFAT and similar) means you can't have UTF-8 usernames. Linux allows any character but / and NUL in filenames. Since root is creating these entries, we assume root knows what it's doing.
2014-09-22Respond to two static analysis issues in dirtree_path() reported by Ashwini ↵Rob Landley
Sharma. dirtree->name is an array, not a pointer, so can't be zero. Remove the test. We dereference plen without checking it for null but calling dirtree_path(0, 0) is pilot error: only the _first_ call can have plen = 0. Add a comment.
2014-09-20Tweak portability.h for uClibc version in buildroot defconfig.Rob Landley
I've been locally patching uClibc to not violate posix-2008 (you don't need to define a GNU macro to get a posix function), but uClibc is obsolete and moribund (development peaked in 2006, last bugfix release was over 2 years ago), and the largest remaining user (buildroot) doesn't bother to apply such a patch. Since even buildroot is slowly migrating to musl-libc, just do the portability tweak for what the last release of the old thing actually did.
2014-09-14Second attempt at one way xpopen().Rob Landley
2014-09-14Split xpopen() into xpopen_both(), xpopen(), and xrun() depending on whether ↵Rob Landley
we want to redirect both, one, or neither of stdin/stdout.
2014-09-07Debugging pass on mount. Not quite done yet, but the basics seem to work now.Rob Landley
2014-09-06Work around uClibc brain-damage.Rob Landley
2014-08-24Work in progress snapshot of mount, with fallout to umount. (Not done yet.)Rob Landley
2014-08-18Cleanups on useradd/groupadd/groupdel, and put TOYBOX_UID_SYS and ↵Rob Landley
TOYBOX_UID_USR in the top level Config.
2014-08-15Fix bug reported by Ashwini Sharma: [-abc] syntax to switch off a command forgetRob Landley
s _all_ saved command line arguments in GLOBALS(), not just for the command bein g dropped.
2014-08-15If string_to_mode() is called on a base mode with S_ISDIR() and such set, ↵Rob Landley
pass those extra bits through.
2014-08-12Patches to commands for issues reported from static analysis tool.Ashwini Sharma
portability.h.patch - it is for O_CLOEXEC, as compiler complained of it. Makefile.patch - for cleaning generated/*.o files and libopts.dat file [Fixup to uniq.c from Rob.]
2014-08-03Implement exec -user, -group, and -newer. Enable find in defconfig.Rob Landley
2014-08-02Yank xrealpath prototype since the function's gone.Rob Landley
2014-07-30As long as I had to write xabspath(), no point in wrapping realpath().Rob Landley
2014-07-29Actually set the again flag when calling the dirtree comeagain callback.Rob Landley
2014-07-26Move DIRTREE_COMEAGAIN second callback up to when the filehandle is still ↵Rob Landley
open, and add dir->again variable to distinguish second call instead of checking for -1 filehandle.
2014-07-26Default xcreate/xopen to O_CLOEXEC. (Pass O_CLOEXEC in the flags to switch ↵Rob Landley
it back off.) This way we're not leaking filehandles to children from things like find -exec.
2014-07-21Improve gid/uid error messages.Rob Landley
2014-07-21Little endian and big endian versions of peek (for host.c).Rob Landley
2014-07-21Fix memory leak in error path.Rob Landley
2014-07-20Add utf8 support to ls -C.Rob Landley
Use wcwidth() instead of strlen(), and extend the -q substitution to also whiteout nonprintable characters that are nonparseable utf8 snippets.
2014-07-19find needs "c" suffix to -size.Rob Landley
2014-07-17Use libc daemon() instead of pending daemonize.Rob Landley
2014-06-28Cleanup read_password(), factor out set_terminal(), fix salt bug (des wants ↵Rob Landley
the salt raw, no $ at the beginning).
2014-06-25Cleanup pass on mkpasswd.cRob Landley
2014-06-24find_in_path() is supposed to work with a NULL path, but didn't. Fix it.Rob Landley
2014-06-09Forgot to check in strstart().Rob Landley
2014-06-03mount: start on option parsing, implement loopback and bind mount autodetection.Rob Landley
2014-05-31Introduce xfork() and make commands use it, and make some WEXITSTATUS() use ↵Rob Landley
WIFEXITED() and WTERMSIG()+127.
2014-05-29Switch mtab_list to doubly linked so we can traverse in either order. ↵Rob Landley
Convert umount and df. Add dlist_terminate() to break lists for traversal in either direction.
2014-05-27Add mount options to data getmountlist collects.Rob Landley
2014-05-26Isaac Dunham suggested xprintf() should call fflush() instead of ferror(), ↵Rob Landley
and posix-2008 doesn't say if fflush() covers ferror() (or can return success when the stream's error state is set), so call both.
2014-05-24patch from ashwini sharma: treat 0 length read at the start of password read ↵Rob Landley
as EOF.
2014-05-21Add generic_signal() handler, which sets toys.signal and writes byte to ↵Rob Landley
toys.signalfd if set.
2014-05-21Add free functions for predefined llist types.Rob Landley
2014-05-06Switch human_readable() to just outputing decimal kilo/mega/gigabytes, make ↵Rob Landley
du use it, move it from lib/pending.c to lib.c.
2014-05-06Use compiler built-in macros to determine if argument parsing can use double ↵Rob Landley
or float for FLOAT arguments. (I.E. whether double fits in a long's memory.) Check in a way that the macros not being defined just gives us the shorter one.
2014-05-02In function readfile(), the buffer buf is free'd when readall() fails. This ↵Ashwini Sharma
free can cause a crash, if the buffer passed by user of function is not malloc'ed one. names_to_pid() is one usecase example here.
2014-04-15Probes for O_NOFOLLOW that compile and run something aren't compatible with ↵Rob Landley
cross compiling, so just #define it to 0 if it's not in fcntl.h where posix-2008 says.
2014-03-29Group headers by standard (POSIX or LSB) or function (internationalization, ↵Rob Landley
networking). Move headers standards ignore (but which have been there >15 years) to lib/portability.h. Fold xregcomp into lib since it's posix.
2014-03-24Fix mkdir -p with absolute paths.Rob Landley
Stripping leading / is not the right thing to do there. Broken when the code moved to lib and was genericized for use elsewhere.
2014-03-11Move mkpathat to lib, remove redundant function used by patch.Rob Landley
2014-03-11Add "volatile" annotation to peek/poke to stop potential optimizer overreach.Rob Landley
2014-02-28Fix another bug reported by Ashwini Sharma.Rob Landley
2014-02-16Various cleanups found by Tom Sparrow's static analysis.Rob Landley
2014-02-07Move bunzip2 logic from lib into bzcat.Rob Landley
2014-01-28Two changes to shut up GCC:Isaac Dunham
* __GLIBC__ was checked unconditionally; this made for a very messy build on musl. * int fd in chvt is always initialized; GCC 3.4 does not recognize this.
2014-01-16Rename xmsprintf() to just xmprintf().Rob Landley
Partly because there's no supplied target string ala sprintf, and partly because I can never remember what order the m and s go in.