Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-11-27 | toysh: Adjust $0 for scripts. | Rob Landley | |
2020-11-16 | Factor out do_source(), fpathopen(), and prompt_getline(). | Rob Landley | |
Use 0 optstr prefix, fix bug initializing toys.envc one too low. | |||
2020-11-12 | readelf: harden against invalid input. | Elliott Hughes | |
I also promised to fix readelf. Where in file(1) I made no attempt to say what was bad (or even to change `goto bad` to explicitly say that *anything* was bad), I believe that readelf is much more likely to be shown invalid ELF files, and that it would be useful to have some clue as to what's wrong. Relatedly, this patch removes all existing error_exit() calls in case it's being used on multiple files. Again, this survived ~24hrs of AFL++ trying to blow its house down. Test: ~/AFLplusplus/afl-fuzz -i tests/files/elf -o fuzz-out -- ./readelf -a @@ | |||
2020-10-23 | Fix endless recursion bug on nommu for sh -c 'echo $(echo)' | Rob Landley | |
2020-10-21 | Promote watchdog. | Rob Landley | |
2020-10-20 | Can't call daemon() on nommu. | Rob Landley | |
2020-10-19 | More tests, and a workaround to pass one of them. | Rob Landley | |
(The bug is that "echo hello \" followed by just enter should end the $PS2 state but it persists when the line is empty because resulting collated line still ends with \ so it wants another line.) | |||
2020-10-19 | Implement source, fix empty ${x-alt}, use %zu as suggested by e5ten. | Rob Landley | |
2020-10-15 | stty: don't mangle c_iflags. | Elliott Hughes | |
Fixes https://github.com/landley/toybox/issues/251 where `stty 300` was mangling c_iflags to 0x300 because even if we don't match a full hex specification of struct termios, sscanf() will have overwritten the first value, which is c_iflag. | |||
2020-10-15 | Patrick Oppenlander suggested watchdog also catch SIGINT. | Rob Landley | |
2020-10-14 | Fix && || traversing loops, and typecast past size_t being stupidly typed. | Rob Landley | |
2020-10-14 | Implement ${var/search/replace} | Rob Landley | |
2020-10-13 | Fix up ${x%y} ${x^y} ${x,y} and add tests. | Rob Landley | |
2020-10-11 | toysh: more variable/wildcard plumbing and tests. | Rob Landley | |
2020-10-06 | toysh: Yank debug scaffolding. | Rob Landley | |
2020-10-06 | toysh file wildcards: echo toys/*/*.c works now. | Rob Landley | |
2020-10-04 | Implement ${x#y} and ${x##y} | Rob Landley | |
Debug wildcard * match, teach skipslash() to fill out a wildcard deck, make collect_wildcards() flush remove the parsing-only 0th entry. | |||
2020-10-02 | Cleanup pass on route.c | Rob Landley | |
2020-10-01 | Debug wildcard plumbing. | Rob Landley | |
2020-09-27 | Implement wildcard match plumbing. (Not yet fully debugged.) | Rob Landley | |
2020-09-23 | Only attempt to truncate regular files in dd. | Rob Landley | |
2020-09-23 | Add ftruncate logic to handle non-regular files | Chris Sarra | |
ftruncate was failing on device files, leading to whole dd.c failures. This patch allows us to dump device files. | |||
2020-09-23 | Cleanup pass on stty.c | Rob Landley | |
2020-09-14 | Fix multiline case/esac parsing, make syntax_err() exit non-interactve | Rob Landley | |
contexts like scripts, and tweak debug scaffolding. | |||
2020-09-10 | Add ipv6 support to wget.c | Chris Sarra | |
2020-09-05 | Fix segfault for sh -c 'echo {a..Z}' | Rob Landley | |
Bash produces different output for that test, but I'm not sure I care? http://lists.landley.net/pipermail/toybox-landley.net/2020-September/011990.html The problem is parse_word() guarantees its output's quotes/escapes are completed, but brace expansion happens after parse_word() and thus violating assumptions later code depends on to not do redundant error checking. The easy fix is to escape punctuation produced by parse_word (which in bash can only happen when you span upper and lower case ranges so "\" is the only interesting character). I could special case this to match bash exactly, but I'm waiting for someone to complain instead. | |||
2020-09-03 | Implement brace sequence expressions ala {a..z} and {1..37..2} | Rob Landley | |
2020-09-02 | SIGHUP to init.c triggers inittab reload | Chris Sarra via Toybox | |
2020-08-31 | Implement select. | Rob Landley | |
2020-08-31 | Implement case/esac, add more wildcard tests. | Rob Landley | |
2020-08-24 | Cleanup watchdog.c, as described on the list. | Rob Landley | |
2020-08-24 | Introducing toys/pending/watchdog.c | Chris Sarra via Toybox | |
This patch introduces a simple watchdog implementation for toybox. We send the appropriate ioctls to set the relevant timeouts, and intercept signals to safely shut down if required. | |||
2020-08-14 | cleanup: use FLAG() macros, inline parse_arguments(), STDIN_FILENO is 0. | Rob Landley | |
2020-08-12 | getty: ensure utmp is updated. | Elliott Hughes | |
The key issues here turned out to be that getty is responsible for creating the file if it doesn't exist, and that the -H flag doesn't control whether utmp is updated, but whether or not to override the hostname within the utmp entry. While I'm here switch to the more modern utx APIs that all the non-pending parts of toybox use, and remove the duplication. | |||
2020-08-11 | Fix spelling errors | Antoni Villalonga i Noceras | |
2020-08-05 | toysh: next round of wildcard plumbing | Rob Landley | |
2020-07-28 | toysh: more wildcard plumbing | Rob Landley | |
2020-07-22 | toysh: Start of wildcard plumbing. | Rob Landley | |
2020-07-15 | toysh: NOSPLIT shouldn't collate whitespace $IFS | Rob Landley | |
2020-07-14 | toysh: honor nosplit, expand_one_arg shouldn't free (that's what del list for) | Rob Landley | |
2020-07-12 | Fixing up failing tests cases. | Rob Landley | |
2020-07-11 | Chunk of job control plumbing and start of ${x:1:3} variable slicing support. | Rob Landley | |
2020-07-05 | wget: do not append toybox version at runtime | Ariadne Conill | |
The sprintf() call, while technically valid (17 bytes fits in an 18 byte allocation) trips Alpine fortify-headers due to checking for allocations that could potentially overrun. The call is pointless anyway -- as we are appending a constant to another constant, it is better to just let the compiler do so and calculate the size. This is supported by ISO C89 and later, and thus any compiler that would be used to compile toybox. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | |||
2020-07-05 | toys.h already includes poll.h | Rob Landley | |
2020-07-05 | dhcp6: use portable s6_addr instead of linux kernel-specific __in6_u.__u6_addr8 | Ariadne Conill | |
The glibc headers also provide that member, but s6_addr is the portable way. This fixes compilation on musl libc. Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | |||
2020-06-10 | Chunk of job control pumbing. | Rob Landley | |
2020-06-09 | Inline/remove block_end() and skip_andor(). Add ->end pointer to sh_pipeline | Rob Landley | |
pointing to end of current block so we don't have to search for it later. | |||
2020-06-05 | Fix DNS 2 is the DHCP client. | Erik Moqvist | |
2020-06-02 | Build works fine on glibc but breaks on musl, add a workaround. | Rob Landley | |
2020-06-02 | Fix AF_INET6 hostlookups | Eric Molitor | |