aboutsummaryrefslogtreecommitdiff
path: root/main.c
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-20Always call setlocale if I18N is enabled, so nested toy_exec() can switch it ↵Rob Landley
back off if necessary.
2014-09-09Two problems: 1) Sometimes toy_exec() needs to re-exec to gain dropped root ↵Rob Landley
permissions, 2) shouldn't recurse forever without exec, stack depth increases and we may leak other resources. Limit it to ~5 levels.
2014-08-31Give a hint when setuid logic fails.Rob Landley
Toybox expects to be setuid root; setuid some other user confuses the attempt to drop privileges, and we err on the side of avoiding shenanigans.
2014-06-21Forgot to check in main() part of TOYFLAG_LOCALE change.Rob Landley
2014-06-11Move toys.toycount initialization _after_ zeroing toys, so help -a works again.Rob Landley
2014-05-24The "not root" test happens before looking for --help, so "./sulogin --help" ↵Rob Landley
doesn't show it. Instead make the "not root" failure case always show help text.
2014-05-21Add generic_signal() handler, which sets toys.signal and writes byte to ↵Rob Landley
toys.signalfd if set.
2014-04-01bugfix: the multiplexer increments optc and then the command the multiplexer ↵Rob Landley
runs increments it further, resulting in a wrong count. Fix: zero it.
2014-03-28Add help -a (to show all commands) and -h (to produce HTML output).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-12-19Don't permute toys.optargs, cleanup code (xexec()) can free it.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-21Fix --help option to multiplexer.Rob Landley
2013-07-19Start of TOYBOX_SINGLE support, for building standalone commands with no ↵Rob Landley
multiplexer.
2013-06-30Add config option for --help support in all commands.Rob Landley
2013-05-08Add --help option to toybox command when TOYBOX_HELP is enabled.Rob Landley
2013-04-21Fix some comments from way back when toybox first started (in 2006), when I ↵Rob Landley
was still cleaning busybox-isms out of my head...
2013-01-05Use basename() where appropriate.Rob Landley
2012-12-27TOYBOX_DEBUG warns about lack of suid bit when running a STAYROOT command, ↵Rob Landley
but it shouldn't warn just because the multiplexer command "toybox" is stayroot.
2012-12-23Elie De Brauwer pointed out that xputs() isn't reliably reporting errors ↵Rob Landley
because there's no flush. Rather than change the output granularity, flush before exit and check errors there. (We still need xputc() doing it so "yes" doesn't continue forever.)
2012-11-26Cleanup i18n support (#ifdefectomy, move global init to process launch). ↵Rob Landley
Teach make.sh to emit "#define FLAG_x 0" for options inside disabled USE macros so we can unconditionally refer to them.
2012-11-21Make internalization support optionalFelix Janda
2012-11-18Init global context to toybox multiplexer early so error_exit() doesn't ↵Rob Landley
segfault trying to print current command name, and change TOYBOX_DEBUG+TOYBOX_SUID complaint about not having the suid bit set to warning rather than exit..
2012-11-16Set optc when optstring NULL.Rob Landley
2012-11-16Add rebound support to intercept error_exit() and longjmp instead.Rob Landley
2012-11-13Reindent to two spaces per level. Remove vi: directives that haven't worked ↵Rob Landley
right in years (ubuntu broke its' vim implementation). Remove trailing spaces. Add/remove blank lines. Re-wordwrap in places. Update documentation with new coding style. The actual code should be the same afterward, this is just cosmetic refactoring.
2012-08-14Replace TOY_LIST_LEN with more generic ARRAY_LEN()Rob Landley
2012-07-23Workaround longstanding glibc/ld bug, ala ↵0.4.0Rob Landley
http://sources.redhat.com/bugzilla/show_bug.cgi?id=3400, which prevents "./toybox | wc" from producing any output when toybox was statically linked.
2012-02-18Nathan McSween convinced me compilers that inline memset() can optimize the ↵Rob Landley
bzero case pretty well.
2012-02-08Switch from deprecated function to gratuitously renamed identical ↵Rob Landley
non-depricated function. *shrug*
2012-01-14Expand comments.Rob Landley
2010-01-06Make toy_init() reentrant, or else xexec() has funky errors.Rob Landley
2010-01-05Add TOYBOX_SUID.Rob Landley
2008-02-12Add TOYFLAG_UMASK.Rob Landley
2008-01-22Fix crash when running unknown command via symlink.Rob Landley
(The error message was trying to print an uninitialied field. Oops.)
2008-01-20Zap toylist.h, moving contents of global structures into DEFINE_GLOBALS()Rob Landley
macros in each C file, and making generated/globals.h from that. Rename "toy" to "this" along the way to avoid toy/toys confusion.
2008-01-19Move NEWTOY() list from end of toylist.h to generated/newtoys.h.Rob Landley
2007-12-09Changeset 186 assumed that toys.exitval defaults to 0. Actually change theRob Landley
default and have [p]error_exit() always return nonzero anyway.
2007-11-29Change command main() functions to return void, and exit(toys.exitval) fromRob Landley
the toybox infrastructure instead. Eliminates a return call from each command.
2007-11-27Patch from Charlie Shepherd: remove extra \n from error_exit() arguments.Rob Landley
2007-11-15Remove trailing whitespace (thanks to Charlie Shepherd), and a couple commentRob Landley
tweaks.
2007-08-21Tweak error message.Rob Landley
2007-06-07Make warning go away.Rob Landley
2007-06-01Show the compiler how to optimize out the option parsing logic when nothingRob Landley
is using it.
2007-06-01Allow applets with optarg string NULL to use toy.optargs[].Rob Landley
2007-02-02Trim a redundant definition that confuses older compilers. (Regression testingRob Landley
against Red Hat 9.)
2007-01-31Small cleanup to prepare for cross-compile friendly make install.Rob Landley
2007-01-18Save 4 bytes of stack space.Rob Landley