OSDN Git Service
Rob Landley [Wed, 2 Mar 2016 19:49:47 +0000 (13:49 -0600)]
Try to consistently print command name at the start of each test.
Rob Landley [Wed, 2 Mar 2016 19:46:52 +0000 (13:46 -0600)]
split pgrep/pkill tests.
Rob Landley [Wed, 2 Mar 2016 17:52:38 +0000 (11:52 -0600)]
For years the man pages have said to #include <sys/types.h> to get
major/minor/makedev, but glibc has vowed to break existing programs
(https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html)
and replace it with _another_ non-standard header (not in posix or lsb),
so let's just add functions to lib/ that do the transform ourselves.
Rob Landley [Wed, 2 Mar 2016 05:50:23 +0000 (23:50 -0600)]
The last-ever release of uClibc hasn't got prlimit, so probe.
Rob Landley [Wed, 2 Mar 2016 05:41:01 +0000 (23:41 -0600)]
SYS_finit_module isn't there on Ubuntu 12.04 because it was only added to the
3.8 kernel in 2012. That's way too new to assume the build environment has
it, so #ifdef and simulate a failure if it's not there.
Rob Landley [Wed, 2 Mar 2016 05:39:27 +0000 (23:39 -0600)]
Use shell builtins instead of calling wc/awk/sed. (Fewer forks in build loop.)
Based on suggestions from Nicholas Boichat.
Rob Landley [Wed, 2 Mar 2016 03:14:55 +0000 (21:14 -0600)]
The last-ever release of uClibc didn't #define MS_RELATIME.
George Burgess IV [Thu, 25 Feb 2016 05:25:52 +0000 (21:25 -0800)]
Use the correct types for recvfrom.
The clang FORITFY implementation doesn't like pointer signedness mismatch.
"What mismatch?", you say. "The historical bug in LP32 Android that left
it with a signed socklen_t".
Elliott Hughes [Sat, 27 Feb 2016 21:27:26 +0000 (13:27 -0800)]
Fix "make help" again.
Same missing quote at end of line as last time. The new additions to
the help are very useful though.
Mike Frysinger [Mon, 29 Feb 2016 19:13:38 +0000 (13:13 -0600)]
config2help: add missing ctype.h include
This file uses isspace which is defined in the ctype.h header.
Rob Landley [Tue, 1 Mar 2016 05:30:03 +0000 (23:30 -0600)]
do_regular_file() prints output line, don't fall through to print default.
Elliott Hughes [Mon, 29 Feb 2016 18:34:07 +0000 (10:34 -0800)]
Fix trailing spaces on ps -o cmdline.
Rob Landley [Mon, 29 Feb 2016 17:40:28 +0000 (11:40 -0600)]
Fix inverted test.
Isaac Dunham [Mon, 29 Feb 2016 17:29:21 +0000 (11:29 -0600)]
pending/file: add cpio, tar, zip formats.
Rob Landley [Mon, 29 Feb 2016 17:21:43 +0000 (11:21 -0600)]
Fix a typo from last time, and Isaac Dunham's todo list:
- per POSIX, 'cannot open' must be in the 'type' string if open() fails
(both EPERM and ENOENT); we only do that if open() succeeds and fstat(fd)
fails.
- symlink detection (as per POSIX) won't work: opening them O_RDONLY
results in following the link, then we fstat() the fd.
- file 'FIFO' causes a hang; open() won't return till there's a writer.
Rob Landley [Mon, 29 Feb 2016 06:57:11 +0000 (00:57 -0600)]
Second pass at the ELF type table.
Rob Landley [Fri, 26 Feb 2016 06:22:15 +0000 (00:22 -0600)]
Switch to $! for make.sh process enumeration.
Rob Landley [Fri, 26 Feb 2016 00:10:35 +0000 (18:10 -0600)]
Fix more warnings on 32 bit builds.
Rob Landley [Fri, 26 Feb 2016 00:03:08 +0000 (18:03 -0600)]
Fix bug where mount -o leftover string didn't get passed through to kernel
for 2-argument version.
Rob Landley [Thu, 25 Feb 2016 23:49:40 +0000 (17:49 -0600)]
Typecast a printf argument because wchar_t isn't a rigidly defined size.
Rob Landley [Thu, 25 Feb 2016 23:16:32 +0000 (17:16 -0600)]
Musl needs an extra #include.
Lipi C. H. Lee [Mon, 22 Feb 2016 21:25:46 +0000 (15:25 -0600)]
implement simple 'wget' and port name can be specified in URL if default
port 80 is not used.
Rob Landley [Sun, 21 Feb 2016 20:03:21 +0000 (14:03 -0600)]
lsof cleanup
Accept multiple -p, inline filter_matches, convert misleading "char* a, b" to
"char *a, b", use readfile() to read a file, use DIRTREE_SHUTUP, don't need
{ } around a single line, don't modify command line environment space
(which changes what ps/pgrep sees).
Elliott Hughes [Fri, 19 Feb 2016 00:24:02 +0000 (16:24 -0800)]
Implement "insmod -".
Also use finit_module if available. Given that "insmod -" requires
init_module, maybe this isn't a worthwhile optimization. Given that
"insmod /actual/file.ko" is the common use case, maybe it is.
Fix a bug in readfileat where *plen would be corrupted if you didn't supply
your own buffer (because ibuf is 0 in that case, not a pointer to the start
of the allocated space).
Rob Landley [Fri, 19 Feb 2016 23:56:01 +0000 (17:56 -0600)]
Add test_COMMAND for each command, update "make help" to describe TEST_HOST
and VERBOSE=fail, and fix a quote mismatch.
Rob Landley [Fri, 19 Feb 2016 17:58:17 +0000 (11:58 -0600)]
Help text update from Isaac Dunham, tweaked slightly.
Elliott Hughes [Fri, 19 Feb 2016 05:11:07 +0000 (21:11 -0800)]
Add xxd -p and -r.
SELinux denials include hex-encoded paths in the log messages; xxd -r -p is
a convenient way to decode them.
The heuristics are a little weird to my mind, but match the documentation
and observed behavior.
Rob Landley [Fri, 19 Feb 2016 02:31:22 +0000 (20:31 -0600)]
RLIMIT_RTTIME was added to the kernel in 2008, you can't expect uClibc to have noticed yet.
Rob Landley [Thu, 18 Feb 2016 01:21:44 +0000 (19:21 -0600)]
The perl build's attempt to escape spaces and such in LD_LIBRARY_PATH is _SAD_.
It uses a sed expression that assumes you can escape - to use it as a literal
(you can't, it has to be first or last char of the range), and assumes
you have to escape delimiters in sed [] context (you don't), and/or that
non-printf escapes become the literal character (they don't, the backslash
is preserved as a literal), meaning it winds up doing "s/[\-\]//" which is
a length 1 range, which is officially undefined behavior according to posix,
and regcomp errors out.
But if we don't accept it (like other implementations do) the perl build
breaks. So collapse [A-A] into just [A].
Testcae taken from perl 5.22.0 file Makefile.SH line 8.
(While we're at it, remove an unused argument from a function.)
Tom Cherry [Thu, 18 Feb 2016 00:27:08 +0000 (16:27 -0800)]
Add support for getprop -Z
Add support for a -Z option to getprop that will either print the
SELabel of a given property if one is provided or print all properties
that have been set along with their SELabel.
Also, correct a memory leak when freeing TT.nv.
Elliott Hughes [Thu, 18 Feb 2016 00:40:17 +0000 (16:40 -0800)]
Fix remounting /system on Android.
This adds the missing "relatime" option, fixes error handling logic (mount
returns 0/-1, not an errno value, and I at least get EACCES rather than
EROFS in the case where the underlying block device is read-only; we should
also probably only try again if the ioctl actually succeeded), and adds the
missing newline in case where we go around and try again read-only.
The test case was "mount -o rw,remount /system" on Android.
Rob Landley [Wed, 17 Feb 2016 23:35:42 +0000 (17:35 -0600)]
Testfile with the 3 different types of "not utf8 output" escaped chars in it.
Rob Landley [Wed, 17 Feb 2016 20:01:19 +0000 (14:01 -0600)]
Add dynamic/static checking to file (printing dynamic linker if found).
Rob Landley [Wed, 17 Feb 2016 18:30:31 +0000 (12:30 -0600)]
Add the sed invocations to convert tabs/spaces and back, plus some tweaks.
Rob Landley [Mon, 15 Feb 2016 22:41:14 +0000 (16:41 -0600)]
Cleanup pass on file.c, and add detection of different ELF architectures.
Rob Landley [Sun, 14 Feb 2016 20:04:21 +0000 (14:04 -0600)]
Add "make list", rename make working->list_working and pending->list_pending,
and filter out commands that aren't nofork but aren't installed either
(toyflags 0, I.E. recognized aliases like "-sh" called from login).
Elliott Hughes [Sat, 13 Feb 2016 17:50:20 +0000 (09:50 -0800)]
Implement file(1).
Unlike the POSIX file(1), there's no magic file here, just hard-coded
common (non-obsolete) file formats. Personally most of my use of file(1)
is as a one-line readelf(1) summarizer, so although I assume a full POSIX
file(1) is out of scope (because just the database would likely be larger
than all the rest of toybox), a subset that only supports in-use file types
actually covers most of the use cases I encounter personally.
Also fix peek_be/peek_le.
Elliott Hughes [Fri, 12 Feb 2016 16:13:06 +0000 (08:13 -0800)]
Fix wc -c optimization.
Check the fstat(2) return value rather than read uninitialized memory if
it failed, and add a special case for files that claim to be zero-length
but aren't (as is common in /proc on Linux).
lovelycuppatea [Thu, 11 Feb 2016 21:42:28 +0000 (21:42 +0000)]
removed unread assignment in sed.c
clang scan-build flags up this line as being unread, so clearing from code.
Rob Landley [Thu, 11 Feb 2016 05:30:45 +0000 (23:30 -0600)]
Ignore .singlemake.
Rob Landley [Thu, 11 Feb 2016 05:27:55 +0000 (23:27 -0600)]
Wean scripts/install.c off toys.h so cross compiling less brittle.
Rob Landley [Thu, 11 Feb 2016 05:06:12 +0000 (23:06 -0600)]
Don't include toys.h from config2help.c (so cross-compiling from systems we
don't run on is easier), and use HELP_ instead of help_ for macro prefixes
to avoid name collisions (such as help_exit() the function).
Tom Marshall [Wed, 10 Feb 2016 05:01:41 +0000 (00:01 -0500)]
toybox: tar: Fix support for long names
Pathnames may be longer than the name field in the header, so use
strncpy() instead of xstrncpy() to avoid bailing out.
Also add unit tests to ensure proper handling of short and long
pathnames.
Change-Id: Id025891993746889564b479e5185cf9721b54a55
Tom Marshall [Tue, 9 Feb 2016 23:32:40 +0000 (18:32 -0500)]
toybox: tar: Fix tar tests
Don't rely on ordering of readdir for tests.
Change-Id: Ice24bb64ce453acb0006e3746677d619db933ab1
Patrick Ohly [Tue, 9 Feb 2016 15:43:35 +0000 (16:43 +0100)]
main.c: fix non-root usage when installed suid root
When toybox is installed suid root and invoked by a non-root user for
commands which do not require root privileges, it drops the root
privileges during initialization.
However, since commit
afba5b8efd the result check of setuid() was
inverted such that it aborted on success, making toybox unusuable for
non-root users.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Rob Landley [Thu, 11 Feb 2016 04:31:59 +0000 (22:31 -0600)]
Add seq -w, suggested by izabera.
Rob Landley [Thu, 11 Feb 2016 03:05:22 +0000 (21:05 -0600)]
Factor out strnstr() since posix hasn't got it, and add a config option for
the deeply sad passwd heuristics that don't even check numbers and punctuation.
izabera [Sat, 6 Feb 2016 14:41:59 +0000 (15:41 +0100)]
make wc -c faster
izabera [Sat, 6 Feb 2016 14:25:35 +0000 (15:25 +0100)]
use unsigned long with factor
Rob Landley [Wed, 10 Feb 2016 22:23:31 +0000 (16:23 -0600)]
Although printf("%.*s", INT_MAX, s) works fine on ubuntu 12.04, it broke since.
izabera [Wed, 10 Feb 2016 00:26:01 +0000 (01:26 +0100)]
implement env -u
Rob Landley [Tue, 9 Feb 2016 23:23:31 +0000 (17:23 -0600)]
Add ulimit.
This isn't a shell builtin, it uses prlimit to target any pid (without -P
it defaults to $PPID, so acts like historical ulimit by default).
Rob Landley [Tue, 9 Feb 2016 23:06:12 +0000 (17:06 -0600)]
Fix xpipe. (thinko.)
Rob Landley [Mon, 8 Feb 2016 21:24:33 +0000 (15:24 -0600)]
Add xpipe() to lib.
Rob Landley [Mon, 8 Feb 2016 01:09:39 +0000 (19:09 -0600)]
Dependencies for "make COMMAND"
Rob Landley [Mon, 8 Feb 2016 00:15:53 +0000 (18:15 -0600)]
Add "make ls" and friends targets, with "make working" and "make pending" lists.
Rob Landley [Sun, 7 Feb 2016 18:27:40 +0000 (12:27 -0600)]
Add a warning when building commands out of pending.
Rob Landley [Fri, 5 Feb 2016 21:13:24 +0000 (15:13 -0600)]
Debian unstable is even more pedantic than previous debian.
Rob Landley [Fri, 5 Feb 2016 18:37:50 +0000 (12:37 -0600)]
Another fix from Josh Gao to avoid a null pointer dereference, and
minor cleanup of previous commit.
Josh Gao [Thu, 4 Feb 2016 18:49:52 +0000 (10:49 -0800)]
Fix segfault when `find -iname` gets no argument.
Rob Landley [Thu, 4 Feb 2016 20:10:36 +0000 (14:10 -0600)]
Fix -H and -n with -ABC, and add tests.
Rob Landley [Thu, 4 Feb 2016 20:10:30 +0000 (14:10 -0600)]
Merge branch 'master' of ssh://github.com/landley/toybox
Rob Landley [Thu, 4 Feb 2016 04:33:04 +0000 (22:33 -0600)]
Commit
d20b9ff3ee0f fixed most of yocto building, but there was a leftover
(redundant) file built from the makefile (which _should_ just be a wrapper
for scripts/make.sh and scripts/install.sh).
Rob Landley [Tue, 2 Feb 2016 20:56:27 +0000 (14:56 -0600)]
Update to status.html and some test suite cosmetic tweaks.
Rob Landley [Tue, 2 Feb 2016 20:23:37 +0000 (14:23 -0600)]
Editorial comment.
Rob Landley [Tue, 2 Feb 2016 20:20:16 +0000 (14:20 -0600)]
Fluffier release notes.
Rob Landley [Tue, 2 Feb 2016 17:18:50 +0000 (11:18 -0600)]
Release notes.
Rob Landley [Tue, 2 Feb 2016 17:12:05 +0000 (11:12 -0600)]
Release time.
Calling it 0.7.0 because the fullscreen (cursor/utf8) infrasructure is in now.
Elliott Hughes [Wed, 6 Jan 2016 16:38:46 +0000 (08:38 -0800)]
Fix directory test in cp.
Commit
3d33dd80f8cb931e293d7f64c44bc357fec11120 fixed a use of S_ISDIR
on st_dev rather than st_mode in find, but there was another instance
of the same error in cp.
Rob Landley [Mon, 1 Feb 2016 18:46:15 +0000 (12:46 -0600)]
Add find -delete
Rob Landley [Sun, 31 Jan 2016 22:28:43 +0000 (16:28 -0600)]
More testsuite tweaks.
Rob Landley [Sun, 31 Jan 2016 21:37:51 +0000 (15:37 -0600)]
chmod.test had umask assumptions which broke, so set explicit umask.
Rob Landley [Sun, 31 Jan 2016 21:30:48 +0000 (15:30 -0600)]
Fix broken test in cat.test.
"cat /proc/self/exe && cmp /proc/self/exe" won't see the same file if cat
and cmp aren't both in a toybox multiplexer binary, so snapshot and pick one.
Rob Landley [Sun, 31 Jan 2016 20:33:20 +0000 (14:33 -0600)]
Fix blkid typo (label wasn't detected in murderfs).
Rob Landley [Sun, 31 Jan 2016 18:42:16 +0000 (12:42 -0600)]
Tweak to "find" tests.
Rob Landley [Sun, 31 Jan 2016 04:07:58 +0000 (22:07 -0600)]
Add grep -B -C
Rob Landley [Sun, 31 Jan 2016 00:28:39 +0000 (18:28 -0600)]
Add grep -A
Rob Landley [Sat, 30 Jan 2016 22:28:13 +0000 (16:28 -0600)]
Fix two CFG_TOYBOX_SUID corner cases:
1) Don't try to force re-exec unless we actually dropped permissions.
(Fixes "./toybox mount" when no suid bit on toybox binary, which
previously exited.)
2) Set temporary toys.which value for error reporting.
(Fixes "ln -s toybox mount && ./mount" with CFG_TOYBOX_DEBUG and
no suid bit, which previously segfaulted.)
Rob Landley [Fri, 29 Jan 2016 04:10:06 +0000 (22:10 -0600)]
Add SIGWINCH support to top, and implement -o and -n in pgrep/pkill.
Rob Landley [Thu, 28 Jan 2016 20:22:46 +0000 (14:22 -0600)]
Adding -M broke ps -k header printing without -M.
Rob Landley [Thu, 28 Jan 2016 19:36:12 +0000 (13:36 -0600)]
Bugfix I forgot to checkin, plus a wrapper function.
Rob Landley [Thu, 28 Jan 2016 03:19:12 +0000 (21:19 -0600)]
Don't resort or recalculate headers for cursor up/down, do PGUP PGDN, and
down move way down past end of list.
Rob Landley [Thu, 28 Jan 2016 02:27:33 +0000 (20:27 -0600)]
Add cpu line to top, and fix a bug initializing upticks slot.
izabera [Wed, 27 Jan 2016 18:31:58 +0000 (19:31 +0100)]
long opts and -f for unshare
Rob Landley [Wed, 27 Jan 2016 06:46:56 +0000 (00:46 -0600)]
Don't try to be fancy with top headers, just hardwired the standardish ones.
Still need to do the cpu(s) line in top.
Rob Landley [Tue, 26 Jan 2016 20:33:50 +0000 (14:33 -0600)]
Add ps -M to measure/expand field widths if they don't fit.
(Still truncates at the right edge to fit terminal width, but last commit
made -w the default when no terminal width detected.)
Rob Landley [Tue, 26 Jan 2016 19:41:51 +0000 (13:41 -0600)]
Add ps -O (inserts extra args before last field), and make -w the default
when we haven't got a terminal width. Replace top CMDLINE with ARGS.
More ps infrastructure genericization: parse reverse unconditionally.
Break out get_headers() with global references moved to caller.
change quick_ko() to default_ko() (dlist_terminate is now caller's job).
Elliott Hughes [Sun, 24 Jan 2016 18:51:17 +0000 (10:51 -0800)]
Fix comma_args error reporting.
None of the current callers' callbacks set errno, so this was resulting in
bogus errors like "No device or address" when ps tried to complain about a
misspelled field.
Elliott Hughes [Fri, 22 Jan 2016 19:05:04 +0000 (11:05 -0800)]
Fix compiler warnings in traceroute.
If we're fixing warnings in pending...
Rob Landley [Mon, 25 Jan 2016 17:43:17 +0000 (11:43 -0600)]
Next lump of top work. Add -o DISPLAY_FIELDS -k FALLBACK_SORTS -s SORT_BY plus
the start of -h HEADER (mostly parses text, but doesn't display %ESCAPES yet).
Added UP, DOWN, and R keys.
Made only iotop STAYROOT (not top), added comment explaining why.
Bumped iotop's historical -O and -K to capital letters.
Added quick_ko() to add argument list from string instead of arg_list.
Rob Landley [Sat, 23 Jan 2016 03:35:48 +0000 (21:35 -0600)]
Factor out insanitize() from seq.c to next_printf() in lib.
Rob Landley [Fri, 22 Jan 2016 01:05:25 +0000 (19:05 -0600)]
Replace slot[] constants with SLOT_blah, fix some that weren't displaying right.
Make fallback sort do string sort after numeric tie, retain absolute uptime
even though relative is needed for %CPU (hence utime2).
Lipi Lee [Thu, 21 Jan 2016 20:03:10 +0000 (14:03 -0600)]
I cleaned up the code in 'netstat.c' as belows.
- Adjust to 80 columns
- remove a useless function(strchr_nul), variable, type casting and
compile warnings(fgets)
- clean up netstat command option condition
- change useless double pointer to single point and dynamic memory
allocation to static one
- fix a ambiguous return type and typo
Rob Landley [Thu, 21 Jan 2016 19:04:51 +0000 (13:04 -0600)]
Add a sed test from the posix mailing list.
Rob Landley [Wed, 20 Jan 2016 23:33:31 +0000 (17:33 -0600)]
Correct units of %MEM and %VSZ.
Rob Landley [Wed, 20 Jan 2016 22:51:17 +0000 (16:51 -0600)]
Add basic top support to ps.c, delete toys/pending/top.c.
While I'm there, pack the ps help text, break out TOP_COMMON (todo: update
config2help to collate that properly), add -o CPU showing which processor
this pid is running on, implement -o C (it's %cpu without the fractional
part), add -o %MEM, fix header padding.
Rob Landley [Wed, 20 Jan 2016 22:48:01 +0000 (16:48 -0600)]
First stab at making readfileat() realloc() in a loop to read long files.
Rob Landley [Wed, 20 Jan 2016 00:26:41 +0000 (18:26 -0600)]
Another CFG_TOYBOX_DEBUG test.
Rob Landley [Wed, 20 Jan 2016 00:03:17 +0000 (18:03 -0600)]
runcon needs to exec, not recurse.
Rob Landley [Tue, 19 Jan 2016 00:20:56 +0000 (18:20 -0600)]
Implement pgrep -clv (and remove some accidentally checked in debug code).
Still need to do -n and -o.