OSDN Git Service
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.
Rob Landley [Mon, 18 Jan 2016 21:45:56 +0000 (15:45 -0600)]
Implement basic pkill plumbing, and fix FORCE_FLAGS on flag context switch.
Rob Landley [Sun, 17 Jan 2016 23:16:03 +0000 (17:16 -0600)]
Extend utf8 fontmetrics so ps can use them.
Also, I forgot to check in uuid_show() last time.
Rob Landley [Sun, 17 Jan 2016 20:45:45 +0000 (14:45 -0600)]
Add -L label and UUID support to mkswap.
Rob Landley [Sun, 17 Jan 2016 20:08:10 +0000 (14:08 -0600)]
Update draw_str() and friends to do standard escaping for ^X <AB> U+ABCD.
Rob Landley [Sat, 16 Jan 2016 22:59:47 +0000 (16:59 -0600)]
Move create_uuid() to lib and xpoll() to lib/net.c.
Rob Landley [Sat, 16 Jan 2016 19:02:12 +0000 (13:02 -0600)]
Add swapon -d (discard)
Rob Landley [Fri, 15 Jan 2016 22:59:06 +0000 (16:59 -0600)]
Command line files without paths were attempting to use stdin as their dirfd,
(because ls uses nonstandard directory recursion which collates all the
command line arguments under a fake top node, which needs more thorough
initialization).
Rob Landley [Fri, 15 Jan 2016 22:58:42 +0000 (16:58 -0600)]
Locale setting is case sensitive.
Rob Landley [Fri, 15 Jan 2016 22:09:10 +0000 (16:09 -0600)]
More utf8 test files.
Rob Landley [Fri, 15 Jan 2016 18:38:32 +0000 (12:38 -0600)]
Fix sort -f, add tests, make TEST_HOST pass new tests.
Rob Landley [Fri, 15 Jan 2016 05:18:15 +0000 (23:18 -0600)]
Implement most of pgrep and pkill.
Needs testing and a few more options connected up.
Rob Landley [Thu, 14 Jan 2016 18:17:38 +0000 (12:17 -0600)]
Make "find -execdir toys echo {} +" batch correctly and show topdir results.
I dunno if find -execdir should show depth-first like it's doing, bit given
that ubuntu's treating "+" and ";" the same for execdir... eh?
Also, testing "find toys tests -mindepth 2 -execdir echo {} +" against
the toybox source is easy (and why if (revert) fchdir() is needed), but
adding that to the test suite means making a nontrivial hierarchy of files
to test against (don't wanna use the project source because it's expected
to change in ways that would break the tests)... The old "real world data
vs test data" problem.
Rob Landley [Tue, 12 Jan 2016 16:45:58 +0000 (10:45 -0600)]
Expand defconfig/allyesconfig/allnoconfig help text to explain what they're for.
Elliott Hughes [Sat, 9 Jan 2016 20:54:04 +0000 (12:54 -0800)]
Fix tail -f /does/not/exist.
Exit immediately if we don't actually have anything to -f --- it's -f's
big brother -F that retries by name rather than by fd.
Elliott Hughes [Sat, 9 Jan 2016 20:20:50 +0000 (12:20 -0800)]
Fix hwclock -u.
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.)
Elliott Hughes [Sat, 9 Jan 2016 19:47:35 +0000 (11:47 -0800)]
Fix perror_exit_raw.
Some things are worse when you remove the 'p'.
Rob Landley [Sun, 10 Jan 2016 21:59:09 +0000 (15:59 -0600)]
Make cursor left/right change sort type in iotop.
Elliott Hughes [Sat, 9 Jan 2016 01:13:38 +0000 (19:13 -0600)]
Fix cat -.
Commit
4b4ab6a50998 broke loopfiles' handling of "-".
This broke the existing cat tests, so no new test is necessary here.
Elliott Hughes [Sat, 9 Jan 2016 00:43:17 +0000 (18:43 -0600)]
The sense of -L was flipped.
Rob Landley [Thu, 7 Jan 2016 20:34:47 +0000 (14:34 -0600)]
Make scan_key() specify timeout in miliseconds, split out terminal_probesize(),
add function key definitions and shift/ctrl/alt cursor keys.
Rob Landley [Wed, 6 Jan 2016 04:26:58 +0000 (22:26 -0600)]
Add error_msg_raw() and friends, replace error_msg("%s", s) uses, enable format
checking, and fix up format checking complaints.
Added out(type, value) function to stat to avoid a zillion printf typecasts.
Rob Landley [Wed, 6 Jan 2016 00:17:02 +0000 (18:17 -0600)]
Some utf8/unicode stress test files.
Rob Landley [Tue, 5 Jan 2016 18:14:24 +0000 (12:14 -0600)]
Work towards making "find . -execdir echo {} + -execdir ls {} +" work,
(not finished yet) plus some error message improvements.
Rob Landley [Sat, 2 Jan 2016 20:34:53 +0000 (14:34 -0600)]
Fix find --prune.
Rob Landley [Sat, 2 Jan 2016 20:24:56 +0000 (14:24 -0600)]
Fix "find . -exec echo {}" segfault, and stop measuring environment space,
The segfault was spotted/fixed by Daniel K. Levy back in September, and again by
Isabella Parakiss yesterday. While we're there, remove the environment
size measurement code (the 128k limit was lifted by linux commit
b6a2fea39318,
which went into 2.6.22 released July 2007).
Rob Landley [Fri, 1 Jan 2016 21:24:46 +0000 (15:24 -0600)]
First pass at iotop.
Lotsa TODOs: Currently exit it with ctrl-c, not q.
Doesn't show totals, PID instead ofTID, PR instead of PRIO (type/pri),
human_readable can't display fixed point, IO isn't a percentage,
COMM instead of COMMAND (so no [kernelthread] brackets), and no
cursor left/right to change sort field...
Rob Landley [Thu, 31 Dec 2015 20:09:54 +0000 (14:09 -0600)]
Tweak error message.
Rob Landley [Thu, 31 Dec 2015 02:54:19 +0000 (20:54 -0600)]
Don't let mktemp -q /path/to/file delete arbitrary files, and don't have
"mktemp -u > /dev/full" leave file around.
Kylie McClain [Thu, 24 Dec 2015 05:20:24 +0000 (00:20 -0500)]
lsb/mktemp: Add -u flag
The -u flag creates a file, and unlinks it before exiting.
This is usually known as "unsafe mode", or "dry-run" mode.
GNU mktemp has it, as does Busybox's mktemp and likely many others.