OSDN Git Service
Steve Kondik [Wed, 9 Mar 2016 10:54:30 +0000 (02:54 -0800)]
toybox: Fix build of static executable
* Avoid duplicating a symbol in libselinux
Change-Id: I154793f7939aaa172153331313833290621efc50
Steve Kondik [Wed, 9 Mar 2016 08:00:06 +0000 (00:00 -0800)]
Merge branch 'master' of https://android.googlesource.com/platform/external/toybox into cm-13.0
Change-Id: I02c3b9e1f4afd412b9eabaf76190de405f642b96
Elliott Hughes [Mon, 7 Mar 2016 22:00:54 +0000 (14:00 -0800)]
Regenerate generated files.
Change-Id: Ib5698debdbee6b392d23e6114182e5030967a28d
Elliott Hughes [Mon, 7 Mar 2016 21:55:06 +0000 (13:55 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Fri, 4 Mar 2016 19:22:39 +0000 (13:22 -0600)]
Elliott pointed out that we output "unlimited" instead of "infinity", so
accept that as input. (And that I screwed up the test.)
Rob Landley [Thu, 3 Mar 2016 17:07:59 +0000 (11:07 -0600)]
Fix bzcat integer overflow reported by John Regehr.
Elliott Hughes [Tue, 1 Mar 2016 03:35:13 +0000 (19:35 -0800)]
Fix file for Java class files, improve script detection, and add tests.
Rob Landley [Thu, 3 Mar 2016 04:12:02 +0000 (22:12 -0600)]
More minor cleanup (inline a function, simplify name of another).
Rob Landley [Thu, 3 Mar 2016 04:10:49 +0000 (22:10 -0600)]
Minor cleanup.
Rob Landley [Thu, 3 Mar 2016 04:05:21 +0000 (22:05 -0600)]
Fix base64 so == wraps properly.
Rob Landley [Wed, 2 Mar 2016 21:20:04 +0000 (15:20 -0600)]
Factor out command name at the start of test name, have runtest.sh print it.
Rob Landley [Wed, 2 Mar 2016 21:10:24 +0000 (15:10 -0600)]
Print command name at start of each test.
Rob Landley [Wed, 2 Mar 2016 21:01:51 +0000 (15:01 -0600)]
Split lsattr/chattr tests.
Rob Landley [Wed, 2 Mar 2016 20:41:47 +0000 (14:41 -0600)]
Command name at start of each test.
Rob Landley [Wed, 2 Mar 2016 20:29:03 +0000 (14:29 -0600)]
Add fstype test.
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 [Tue, 1 Mar 2016 00:14:51 +0000 (16:14 -0800)]
Regenerate generated files.
Change-Id: I8a889ae35d7846555c3807c4179579e4c7286ac2
Elliott Hughes [Mon, 29 Feb 2016 21:46:26 +0000 (13:46 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
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 [Sat, 20 Feb 2016 05:37:17 +0000 (21:37 -0800)]
Regenerate generated files.
Change-Id: I7c353a8c75fc6de1210e78b5729491e6dbfbe778
Elliott Hughes [Sat, 20 Feb 2016 04:31:44 +0000 (20:31 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
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).
Elliott Hughes [Fri, 12 Feb 2016 03:37:05 +0000 (19:37 -0800)]
Add ulimit.
Change-Id: I3f8bfcd76811a7719d24cb3a753452f9bc7ab99a
Elliott Hughes [Fri, 12 Feb 2016 03:18:13 +0000 (19:18 -0800)]
Regenerate generated files.
Change-Id: I3ce89d325c40621d33f5be3af4bb696d53ed5c44
Elliott Hughes [Fri, 12 Feb 2016 03:17:08 +0000 (19:17 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I8a0d8e892ca8aa9ec84c33ead812701ccf67f7bc
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.
Elliott Hughes [Thu, 11 Feb 2016 04:00:09 +0000 (20:00 -0800)]
Include the upstream toybox version in "toybox --version".
SHAs have their uses, but upstream version numbers are better for getting
a quick ballpark figure for the version.
Before:
afc66714a4e3-android
After:
0.7.0-
afc66714a4e3-android
Change-Id: Id546ddd003bed995043719bd6e8c7b6c42cb498f
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
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
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.)
Steve Kondik [Tue, 9 Feb 2016 06:01:01 +0000 (22:01 -0800)]
Merge branch 'master' of https://android.googlesource.com/platform/external/toybox into cm-13.0
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.
Elliott Hughes [Sat, 6 Feb 2016 06:03:49 +0000 (22:03 -0800)]
Regenerate generated files.
Change-Id: I16b793656a57d6f5bba43bc3cf9d9bcc7a5707f8
Elliott Hughes [Sat, 6 Feb 2016 04:52:49 +0000 (20:52 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
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).
Scott Mertz [Tue, 2 Feb 2016 22:40:31 +0000 (14:40 -0800)]
Don't exit with failure code when cp ownership preservation fails
POSIX spec states that it is unspecified whether '-p' prints errors
to stderr when preserving ownership fails. GNU coreutils implementation
does not write anything to stderr when this fails. Additionally,
'-a' is only specified in GNU coreutils & specifies nothing
is to be written to stderr in the case of failure. Switch the
implementation to align with GNU coreutils while still satisfying
POSIX.
OPO-358
Change-Id: Ibb7c94fbf553a178b3f88a724ef6f737275a4205
Elliott Hughes [Wed, 3 Feb 2016 01:15:43 +0000 (17:15 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
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 [Tue, 2 Feb 2016 16:08:46 +0000 (08:08 -0800)]
Regenerate generated files.
Change-Id: I9fe5ea516113304cf8b3aae4379e1f9c8cacd186
Elliott Hughes [Tue, 2 Feb 2016 15:45:25 +0000 (07:45 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD