aboutsummaryrefslogtreecommitdiff
path: root/lib/xwrap.c
AgeCommit message (Collapse)Author
2016-08-18Change xgetpwnamid/xgetgrnamid to xgetuid/xgetgid returning the id numberRob Landley
instead of a struct. This means it can return "12345" even if that user/group doesn't exist in /etc/passwd and similar. All the users were immediately dereferencing it to get pw_uid or gr_gid anyway, so just return it directly and adjust the users. This fixes things like "chown 12345:23456 filename".
2016-08-04Make xopen() skip stdin/stdout/stderr, add xopen_stdio() if you want stdout,Rob Landley
add xopenro() that takes one argument and understands "-" means stdin, and switch over lots of users.
2016-06-30Use libbuf instead of stack buffer.Rob Landley
2016-04-23Fix more to not append an extra newline.Elliott Hughes
More's sigatexit handler needs to distinguish between normal exit and exit due to receipt of a signal. Change tty_sigreset to look at the signal number too, so that pressing 'q' to exit top doesn't cause its exit status to be 128.
2016-03-13Split out _xexit() from xexit() and give sigatexit() multiple callbacks.Rob Landley
2016-02-09Fix xpipe. (thinko.)Rob Landley
2016-02-08Add xpipe() to lib.Rob Landley
2016-01-28Bugfix I forgot to checkin, plus a wrapper function.Rob Landley
2016-01-10Fix hwclock -u.Elliott Hughes
You can't pass a NULL value to setenv(3). The "put things back how they were" intent of this code is best achieved by calling unsetenv(3) in the NULL case. (This causes a crash with "hwclock -u" on Android. glibc silently corrupts the environment instead.)
2016-01-05Add error_msg_raw() and friends, replace error_msg("%s", s) uses, enable formatRob Landley
checking, and fix up format checking complaints. Added out(type, value) function to stat to avoid a zillion printf typecasts.
2015-12-31Tweak error message.Rob Landley
2015-10-27Replace xcount_cpus() with a call to sysconf(_SC_NPROCESSORS_CONF)Rob Landley
2015-10-25Add xcount_cpus()Rob Landley
2015-09-29Make defconfig build for nommu.Rob Landley
Adds XVFORK() macro, teaches xpopen_both() to call /proc/self/exe with NULL argv (and converts cpio -p to use that), adds TOYBOX_FORK guards to some unconverted commands.
2015-09-27Another chunk of nommu support, replacing toys.recursion with toys.stacktop.Rob Landley
2015-08-06Adjust xexec() exit code to be 127, and tweaks for nommu friendliness.Rob Landley
2015-03-12Factor out xgetgrnamid() and xgetpwnamid() into xwrap.c.Rob Landley
2015-03-09Upgrade oneit with -r (restart), -3 (send exiting PID values to child), and ↵Rob Landley
signal handling.
2015-03-01Patches from Elliott Hughes to add missing arguments to error_exit() calls.Rob Landley
2015-02-09Cleanup/refactoring pass on hwclock.Rob Landley
Inline open_wall_clock_rtc() into rtc_open(), factor out xtzset(), inline set_sysclock_from_hwclock(), set_hwclock_from_sysclock(), and set_sysclock_timezone(). /etc/adjtime is short enough we don't need to bother with a break. The final "else" case in main() should always trigger because >0 in optstr says "at most zero arguments", so the || at the end is always true, so take the test off.
2015-02-07Remove xexec_optargs().Rob Landley
2015-01-18Remove trailing whitespace.Rob Landley
2015-01-03Move fflush() checking to xexit() and have exit paths in main() call that.Rob Landley
2014-12-04Work with buildroot's extensively patched uClibc, and for nommu support move ↵Rob Landley
xfork() to portability.h and #ifdef based on __uClinux__ (which seems to be the nommu compiler define).
2014-12-04Implement xstrncat() and fix xstrndup().Rob Landley
2014-11-28Make sendfile use libbuf.Rob Landley
2014-10-20More static analysis fixes from Ashwini Sharma.Rob Landley
2014-10-20Add TOYBOX_NORECURSE so xexec() won't make internal function calls.Rob Landley
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-08-03Implement exec -user, -group, and -newer. Enable find in defconfig.Rob Landley
2014-07-30As long as I had to write xabspath(), no point in wrapping realpath().Rob Landley
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-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-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-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-11Move mkpathat to lib, remove redundant function used by patch.Rob Landley
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.
2013-12-27Pass through all the readfile() arguments from xreadfile().Rob Landley
2013-12-23Fix some issues raised (albeit indirectly) by Isaac Dunham.Rob Landley
POLL_IN defined as a constant by some libc. Factor out login.c's change_identity() to xwrap.c as xsetuser(). Replace xsetuid() with xsetuser() Put a space between argument globals and non-argument globals. TT starts zeroed, don't need to re-zero entries in it. STDIN_FILENO has been 0 since 1969, even DOS copied that. Just say 0. Added an xchroot() using xchdir() to lib/xwrap.c. Remove endgrent() call until somebody can explain why it was there.
2013-11-28Add xgetpwnam() to lib/xwrap.c.Rob Landley
2013-11-28Move xgetpwuid() and xgetgrgid() into xwrap.cRob Landley
2013-11-02Give xstrncpy() a more informative error message.Rob Landley
2013-09-06Fix for xpidfile spotted by Felix Janda.Rob Landley
2013-09-03Introduce libbuf analogous to toybuf but for use by lib/*.c. Change ↵Rob Landley
readfile() semantics to be able to read into an existing buffer, or malloc its own if that's NULL.
2013-08-30Add scripts/single.sh to build individual non-multiplexed standalone commands.Rob Landley
Alas, you can't quite do this yet: make defconfig make for i in $(./toybox) do echo $i PREFIX=singles/ scripts/single.sh $i || break done Because the OLDTOY() aliases for commands won't build without the base command. And I can't just skip them because chown/chmod or mv/cp aren't the same thing.
2013-08-26syslogd: cleanupFelix Janda
- fix bugs introduced in the cleanups - inline addrfds() and open_unix_socks() and simplify them - use xpidfile() - remove isNetwork from struct logfile - invert the meaning of facility and level in struct logfile so that they are automatically correctly initialized - fix memory leak regarding the filenames of logfiles - TT.sd was unused
2013-08-07Forgot to check in xfdopen(). My bad.Rob Landley
Failure of fdopen() is most likely failure of malloc() for the FILE structure.