OSDN Git Service
Elliott Hughes [Sun, 15 Jan 2017 21:40:23 +0000 (21:40 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
7a49753b15
am:
b3174baf1e
Change-Id: If88369ae132c8069d59266947626780a01962f5c
Elliott Hughes [Sun, 15 Jan 2017 21:35:54 +0000 (21:35 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
7a49753b15
Change-Id: I17361cfd5d1e8add30ebacaa5cac87a304e0f716
Elliott Hughes [Sun, 15 Jan 2017 19:24:30 +0000 (11:24 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: Ifcffe984c4e2cdca85d800300d80cf6dfea5af0b
Elliott Hughes [Sat, 14 Jan 2017 21:12:13 +0000 (13:12 -0800)]
Add "microcom" to pending.
Our device bringup folks wanted a simple serial console, both on the
host and on the device. This is certainly enough to replace what I've
been using personally on the host.
I'd never heard of "microcom" until I asked the internets what busybox
users use, so I don't care what we call this or what the options are
called. (But would like to decide before it gets ossified in a million
factory test scripts and the like!)
The tool that this replaces for me defaulted to /dev/ttyUSB0, but since
I don't know whether that default would be useful for most other people
too, I left that out. Command-line history will solve my transition
problem.
Rob Landley [Sat, 14 Jan 2017 22:51:43 +0000 (16:51 -0600)]
Quick and dirty fix for CVE-2016-6321 but seriously this is in pending
for a reason and I need to completely rewrite it.
Rob Landley [Tue, 10 Jan 2017 01:25:07 +0000 (19:25 -0600)]
More pending shell tests.
Rob Landley [Wed, 4 Jan 2017 20:19:06 +0000 (14:19 -0600)]
Implicit function declarations are an error, not a warning.
(The switch to 64 bits screwed up varargs: everything used to be promoted to 32
bits, but now it's 32 bits or 64 bits depending on type declarations, so you
need the type declarations. Because promoting "char" arguments to 32 bits back
when a megabyte was a lot of memory was ok, but promoting everything to 64 bits
now that you can get 2 gigabytes of ram in a phone is unacceptable.)
Rob Landley [Wed, 4 Jan 2017 20:18:12 +0000 (14:18 -0600)]
Tweak install_airlock help text.
Rob Landley [Wed, 4 Jan 2017 20:16:03 +0000 (14:16 -0600)]
ftpget: implement -mMdDlL, put ftp transactions into their own function so -v
can show both output and reply lines.
Rob Landley [Wed, 4 Jan 2017 07:33:19 +0000 (01:33 -0600)]
First stab at ftpget/ftpput. (Documents a lot of options other than basic
upload/download that aren't implemented yet.)
Rob Landley [Wed, 4 Jan 2017 07:32:44 +0000 (01:32 -0600)]
Some lib fixes: mark xvfork() noinline, make xsendfile() return bytes copied,
make xsocket()'s returned fd CLOEXEC.
Rob Landley [Wed, 4 Jan 2017 07:14:07 +0000 (01:14 -0600)]
An option can't exclude itself, so "abc[-ab][!abc]" with "command -a -b"
shouldn't segfault falling off the end of the list trying to report a
nonexistent error condition.
Rob Landley [Mon, 2 Jan 2017 18:20:13 +0000 (12:20 -0600)]
Alas, the backup list archive went down because https://lwn.net/Articles/695695/
and although it was partially restored by https://lwn.net/Articles/699704/
that didn't include this list.
Elliott Hughes [Fri, 30 Dec 2016 19:19:08 +0000 (11:19 -0800)]
Remove unnecessary casts in stat.c, fix a claimed buffer length.
POSIX does have a name for the struct timespec in struct stat.
Elliott Hughes [Fri, 30 Dec 2016 01:37:27 +0000 (01:37 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
0fcfdec760
am:
cfc9d622f1
Change-Id: Id770d6aa9e42894f0f24ab9b2eb005352f6934d8
Elliott Hughes [Fri, 30 Dec 2016 01:29:58 +0000 (01:29 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
0fcfdec760
Change-Id: I3e66aca67046626b765b37b8b185961afed8e1e5
Elliott Hughes [Thu, 29 Dec 2016 17:35:16 +0000 (09:35 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I7e266954f5079fb2bb2cb623e3bc997465916598
Elliott Hughes [Thu, 29 Dec 2016 02:26:55 +0000 (18:26 -0800)]
Stop lying to the compiler in modprobe's read_line.
sizeof(int) != sizeof(size_t) for LP64, leading to hilarity^Wcrashes.
Elliott Hughes [Tue, 27 Dec 2016 20:27:06 +0000 (12:27 -0800)]
Admit that getprop requires selinux.
The "lsm" portability stuff could abstract this away, but Android doesn't
need it, and getprop is meaningless on non-Android. (And if you're just
building with the NDK, on recent enough versions of Android you won't be
able to read most of the system properties anyway because access to them is
increasingly restricted by selinux.)
Elliott Hughes [Tue, 27 Dec 2016 20:17:50 +0000 (12:17 -0800)]
Switch to bionic <sys/system_properties.h>.
Removes the dependency on libcutils for everything except ps.
Rob Landley [Mon, 26 Dec 2016 18:10:29 +0000 (12:10 -0600)]
Move hostid to toys/example and have it "default n".
A "globally unique 32 bit number" is a concept the Linux world has outgrown.
Elliott Hughes [Sun, 25 Dec 2016 21:06:21 +0000 (13:06 -0800)]
log: use error_msg instead of perror_msg when errno is meaningless.
Rob Landley [Mon, 26 Dec 2016 03:22:23 +0000 (21:22 -0600)]
Add test for last sort commit.
wxj [Sun, 25 Dec 2016 07:58:10 +0000 (15:58 +0800)]
Fix a bug for sort. When the key_separator is not space, the sort commandline tool fails to sort by the 3rd,4th,etc column. For example: when you exec
$ sort -t',' -k 3n
on a file which cotains:
1,2,3,4
2,3,4,1
4,1,2,3
3,4,1,2
you got:
4,1,2,3
1,2,3,4
2,3,4,1
3,4,1,2
but the expected output should be:
3,4,1,2
4,1,2,3
1,2,3,4
2,3,4,1
The bug is due to the dependency of "isspace(str[end])" at line 113.
When searching for the non-space key_separator, the search stopped just at the position of first key_separator it met.
The bug can be easily fixed by adding "end++" when the search have found one separator and exit the for loop.
Rob Landley [Sat, 24 Dec 2016 20:06:12 +0000 (14:06 -0600)]
Cleanup: Have get_hostname() handle its own lookup failures. Inline is_prefix().
Kernel can handle 64k maximum segment size.
Rob Landley [Tue, 20 Dec 2016 22:40:38 +0000 (16:40 -0600)]
Add units for -atime and friends. (Also legacy -amin alias, but not in help text
because there's no -asec or -ahour.)
Elliott Hughes [Tue, 13 Dec 2016 05:07:05 +0000 (05:07 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
f2fa082e9f
am:
f291c6ce19
Change-Id: Ib96adcba0c0d7376307249cb01f78d081f7eef1d
Elliott Hughes [Tue, 13 Dec 2016 05:00:38 +0000 (05:00 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
f2fa082e9f
Change-Id: Ic30010e407bb44ec3ddf7925710010dda3269ef2
Elliott Hughes [Tue, 13 Dec 2016 03:03:37 +0000 (19:03 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: Idcdb6b7ae9100bb6240fc7f6610d0233f728c916
Rob Landley [Mon, 12 Dec 2016 03:12:18 +0000 (21:12 -0600)]
First cleanup pass on new dmesg.
Elliott Hughes [Fri, 9 Dec 2016 22:44:08 +0000 (14:44 -0800)]
Pass DIRTREE_PROC through the ps callbacks.
Rob Landley [Fri, 9 Dec 2016 03:47:15 +0000 (21:47 -0600)]
Have make airlock just warn about missing commands unless $PEDANTIC is sent.
Rob Landley [Fri, 9 Dec 2016 03:44:22 +0000 (21:44 -0600)]
Workaround for Centos' "which" complaining if it can't find the command
(instead of just producing no output on stdout like everybody else).
Rob Landley [Fri, 9 Dec 2016 03:29:00 +0000 (21:29 -0600)]
Add DIRTREE_PROC to skip non-numeric entries and make ps/top etc use it.
Rob Landley [Thu, 8 Dec 2016 05:30:56 +0000 (23:30 -0600)]
Documentation tweak.
Rob Landley [Thu, 8 Dec 2016 05:05:33 +0000 (23:05 -0600)]
Thinko in recent longopt commit.
Rob Landley [Thu, 8 Dec 2016 04:57:12 +0000 (22:57 -0600)]
Change error test to actually exit if first attempt to use .config fails.
Rob Landley [Thu, 8 Dec 2016 04:22:38 +0000 (22:22 -0600)]
People keep wanting to cross-compile from macs, where the stock sed is broken.
So use $SED to indicate the sed to use, and set it to 'gsed' if available.
Rob Landley [Thu, 8 Dec 2016 03:52:00 +0000 (21:52 -0600)]
Bugfix: configuring out a longopt confused the option parsing.
(This made ls -l not work when LS_COLOR was off.)
Elliott Hughes [Tue, 29 Nov 2016 16:31:33 +0000 (16:31 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
d2ed825752
am:
59b7525e7e
Change-Id: Ie4e8169296809996e3064ff0ba1c3f528a04d9cb
Elliott Hughes [Tue, 29 Nov 2016 16:26:04 +0000 (16:26 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
d2ed825752
Change-Id: I8a6c0740b1be8d389004ab1f132ae255b021b7ad
Elliott Hughes [Tue, 29 Nov 2016 00:35:01 +0000 (16:35 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Wed, 23 Nov 2016 23:19:25 +0000 (23:19 +0000)]
du: 32 bit systems were maxing out at 2GB when they should max out at 2TB (1<<32 blocks * 512 bytes, done with unsigned 64 bit math). am:
a801c5019b
am:
ee023b2c4a
Change-Id: Ide4ba86d22fa88ba85046b828c0a4a5af7981c0f
Rob Landley [Mon, 21 Nov 2016 22:47:23 +0000 (16:47 -0600)]
Have dirtree_notdotdot() pass through !node->parent so . and .. on the command
line aren't filtered out. Audited all the callers and removed redundant
calls, adjusted call sequence, etc. (And let rm _not_ do this, because posix.)
Rob Landley [Sat, 19 Nov 2016 17:16:50 +0000 (11:16 -0600)]
Bug report from Justin Cormack, tar was producing a warning to stdout that
screwed up "tar c" to stdout.
Elliott Hughes [Fri, 18 Nov 2016 23:25:24 +0000 (23:25 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
ccb4be08fa
am:
cda243a505
Change-Id: Iff1c778e90368bdda4372d40d3094d0a50ef5685
Elliott Hughes [Fri, 18 Nov 2016 23:21:54 +0000 (23:21 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
ccb4be08fa
Change-Id: Ic1c7d46e93761700114946d2c9066c46221053e1
Elliott Hughes [Fri, 18 Nov 2016 21:30:53 +0000 (13:30 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Fri, 18 Nov 2016 21:15:39 +0000 (15:15 -0600)]
"printf %x 64" wasn't working right on 32 bit because a variable type was wrong.
Elliott Hughes [Sat, 12 Nov 2016 02:25:36 +0000 (02:25 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
4be718d62e
am:
c3095b883f
Change-Id: I939c7a1c7a43ad5b692ab084ee5a55a702e2540a
Elliott Hughes [Sat, 12 Nov 2016 02:18:37 +0000 (02:18 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
4be718d62e
Change-Id: Id8298b77e4d0c3402499dbfc079c7f228cab4034
Elliott Hughes [Fri, 11 Nov 2016 23:45:33 +0000 (15:45 -0800)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I3a54258f757180bc8a40231ed6a72fc0149943c8
Rob Landley [Tue, 8 Nov 2016 09:53:16 +0000 (03:53 -0600)]
Josh Gao pointed out that chmod -R . (and ..) didn't work.
Evgenii Stepanov [Mon, 31 Oct 2016 19:26:11 +0000 (12:26 -0700)]
Fix control flow integrity check failure in ps.
This fixes an indirect function call through a pointer of an
incompatible type.
See http://clang.llvm.org/docs/ControlFlowIntegrity.html for more
details.
Elliott Hughes [Fri, 28 Oct 2016 22:56:01 +0000 (15:56 -0700)]
Implement "dmesg -w".
Annoyingly, this means writing a new dmesg implementation that uses /dev/kmsg
rather than the klogctl system call. Worse, pre-3.5 kernels don't support
that, so we need to keep the old implementation around as long as we still
care about those kernels.
Since I'm here, add the fancy colors from modern dmesg and the -C flag.
Tested on Nexus 9's 3.10 kernel, an Ubuntu 3.13 kernel, and the
Nexus One's 2.6.35 kernel.
Rob Landley [Thu, 27 Oct 2016 04:52:55 +0000 (23:52 -0500)]
Izabera pointed out that split -b -l are exclusive.
Elliott Hughes [Wed, 26 Oct 2016 17:05:05 +0000 (17:05 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
991623dec1
am:
7d37c6e2ff
Change-Id: I9f26b6854b1a09638d3effc21b520dad8d921ebb
Elliott Hughes [Wed, 26 Oct 2016 17:00:35 +0000 (17:00 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
991623dec1
Change-Id: I49da41b2808102bc9c0e4fb8250457968e3332e1
Elliott Hughes [Wed, 26 Oct 2016 16:51:00 +0000 (09:51 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I941b7746e631fd0c69888fa2b8b582dc85b2cb8f
Elliott Hughes [Tue, 25 Oct 2016 22:51:05 +0000 (15:51 -0700)]
Add fallocate -o.
Also improve error reporting.
Rob Landley [Tue, 25 Oct 2016 22:50:32 +0000 (22:50 +0000)]
du: 32 bit systems were maxing out at 2GB when they should max out at 2TB (1<<32 blocks * 512 bytes, done with unsigned 64 bit math).
am:
a801c5019b
Change-Id: Ie9ce288d59fe5280c87586907cafdbcc32e5f47d
Rob Landley [Sat, 1 Oct 2016 23:19:45 +0000 (18:19 -0500)]
du: 32 bit systems were maxing out at 2GB when they should max out at 2TB
(1<<32 blocks * 512 bytes, done with unsigned 64 bit math).
(cherry picked from commit
8d0f0b6ba864155914f88e39076213b4486efee4)
Bug: http://b/
32331571
Test: du -sh /data/local/tmp after filling that directory
Change-Id: I8c8ad146f4c1c1daa6c2cf276ec01aa6e390cc91
Elliott Hughes [Tue, 25 Oct 2016 00:14:22 +0000 (17:14 -0700)]
Android O allows '@' in property names.
Bug: http://b/
32371104
Rob Landley [Mon, 24 Oct 2016 23:25:39 +0000 (18:25 -0500)]
Typos.
Rob Landley [Sat, 22 Oct 2016 23:15:09 +0000 (18:15 -0500)]
Tweak help text.
Elliott Hughes [Sat, 22 Oct 2016 18:05:19 +0000 (18:05 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
fb3ebf8f5d
am:
78585ef609
Change-Id: I12629dcffe8b0a84f87955a7c5b7138bae5a09fd
Elliott Hughes [Sat, 22 Oct 2016 18:02:19 +0000 (18:02 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
fb3ebf8f5d
Change-Id: Ic5e554bd996172c794299b2626dff10af65c7793
Elliott Hughes [Sat, 22 Oct 2016 16:12:59 +0000 (09:12 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: Ief5b3e5e09340c03048048511629f4af38ee16b9
Rob Landley [Fri, 21 Oct 2016 04:14:39 +0000 (23:14 -0500)]
Announce 0.7.2.
Rob Landley [Fri, 21 Oct 2016 03:32:21 +0000 (22:32 -0500)]
Nothing in pending should "default y".
Rob Landley [Fri, 21 Oct 2016 03:30:58 +0000 (22:30 -0500)]
Nothing in pending should "default y".
Rob Landley [Fri, 21 Oct 2016 03:29:10 +0000 (22:29 -0500)]
Close to cutting a release and I don't want to have setfattr in defconfig
without getfattr, so I'm putting it back in pending for now.
Rob Landley [Thu, 20 Oct 2016 21:35:13 +0000 (16:35 -0500)]
Add special "touch -" behavior and require an argument.
Rob Landley [Thu, 20 Oct 2016 20:30:56 +0000 (15:30 -0500)]
Show driver for interface in ifconfig output.
Rob Landley [Thu, 20 Oct 2016 20:29:10 +0000 (15:29 -0500)]
Allow out and escout to be NULL in crunch_str()
Rob Landley [Thu, 20 Oct 2016 20:26:38 +0000 (15:26 -0500)]
Always regenerate config.h for now, so make single and make don't clash.
The problem is that .config and .singleconfig produce the same header file,
so checking that the header is newer than the .config file won't help if
it was last generated from the other file.
Rob Landley [Thu, 20 Oct 2016 01:51:28 +0000 (20:51 -0500)]
More touch tests, and a fix found by one. (The three -t formats can only
reliably be distinguished by checking length, because %H amd %m and such
can match different numbers of digits.)
Elliott Hughes [Thu, 20 Oct 2016 00:24:25 +0000 (00:24 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
5e9108a442
am:
e21288dd9b
Change-Id: I2f792ca97298eb796e325377fc67f57bc0a5eef3
Elliott Hughes [Thu, 20 Oct 2016 00:16:55 +0000 (00:16 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
5e9108a442
Change-Id: I836a48996548b7c2193f122e5ef1df13c76f36f7
Elliott Hughes [Thu, 20 Oct 2016 00:03:06 +0000 (17:03 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I0f0d8078765f95a3092abda819130609b841ac2f
Rob Landley [Tue, 18 Oct 2016 21:52:17 +0000 (16:52 -0500)]
Test infrastructure: collate make "test_single" and "make tests" into common
function, and add $C variable with an absolute path to the command being tested
(you need to call things like printf by path to avoid shell builtins, might as
well be consistent).
Rob Landley [Tue, 18 Oct 2016 21:28:47 +0000 (16:28 -0500)]
Add a printf test that shows a bug.
Rob Landley [Tue, 18 Oct 2016 09:10:01 +0000 (04:10 -0500)]
Unify touch -t and -d handling, allow posix's underspecified "time designator"
T to be a space instead (because the posix says so, no idea why), initialize
default values reliably including zeroing daylight savings time field (which is
handled inconsistently by libc and just screws stuff up).
Rob Landley [Tue, 18 Oct 2016 04:52:51 +0000 (23:52 -0500)]
A few more sed tests.
Rob Landley [Mon, 17 Oct 2016 23:32:35 +0000 (18:32 -0500)]
The recent --help infrastructure fiddling made "toybox --help unknown" segfault
because lookup failure left this->which NULL and error_exit() dereferenced it.
(Oops.)
Elliott Hughes [Tue, 11 Oct 2016 20:03:50 +0000 (13:03 -0700)]
Stop renaming the ADDR field to PC on Android.
It's causing confusion, and it's not obvious that anyone's relying on
it (and even if they are, let's try to find and fix them first).
Rob Landley [Tue, 11 Oct 2016 13:19:41 +0000 (08:19 -0500)]
Make netcat work with nommu and factor out poll() loop into net/net.c.
Elliott Hughes [Mon, 10 Oct 2016 22:41:11 +0000 (22:41 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
64891a65fc am:
8368cdd99f
am:
1954154d9d
Change-Id: Ia4a9aa17adf6d0199ed346c2f2722d7af022d690
Elliott Hughes [Mon, 10 Oct 2016 22:20:42 +0000 (22:20 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
64891a65fc
am:
8368cdd99f
Change-Id: Ie8954cd6ea1141878c4d9b5bd6ea4652d5933493
Elliott Hughes [Mon, 10 Oct 2016 21:59:36 +0000 (21:59 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
64891a65fc
Change-Id: Iba8e51e0b6f1a02d2c80368c68d65dacf1029ea7
Elliott Hughes [Mon, 10 Oct 2016 18:41:47 +0000 (11:41 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I5c32bce3670267f13d5453bc627e2a46b1e570b1
Rob Landley [Sun, 9 Oct 2016 20:35:56 +0000 (15:35 -0500)]
Izabera pointed out that ls defaults to -q when output is a tty.
Rob Landley [Sat, 8 Oct 2016 22:30:50 +0000 (17:30 -0500)]
Teach ps -w not to truncate any fields.
Rob Landley [Sat, 8 Oct 2016 22:27:12 +0000 (17:27 -0500)]
Evgenii Stepanov found a bug where argv0len was set wrong for threads
(no /proc/$PID/cmdline so setting was skipped and previous value retained),
which led to memcpy() with an overlapping source/dest range (annoying asan).
Fix: move temp variable and assignment outside the if() statement so we assign
zero if we can''t read the file.
Rob Landley [Wed, 5 Oct 2016 18:29:55 +0000 (13:29 -0500)]
Explain some generic argument parsing features in toybox --help.
Elliott Hughes [Wed, 5 Oct 2016 04:07:52 +0000 (04:07 +0000)]
Add uudecode/uuencode. am:
eacb349519 am:
d6403b47ef
am:
f71ca9a93a
Change-Id: Ib7bcb1529e38bf9430fee1f1ff820f889a4d332d
Elliott Hughes [Wed, 5 Oct 2016 04:05:53 +0000 (04:05 +0000)]
Add uudecode/uuencode. am:
eacb349519
am:
d6403b47ef
Change-Id: I8fc6b5ba9e01ba404857b296ed62866cea2e3668
Elliott Hughes [Wed, 5 Oct 2016 04:03:22 +0000 (04:03 +0000)]
Add uudecode/uuencode.
am:
eacb349519
Change-Id: Idc00e94d7b2fab07f419c0d55d07756b6734b287
Rob Landley [Tue, 4 Oct 2016 20:08:48 +0000 (15:08 -0500)]
Explain dlist_terminate.
Elliott Hughes [Tue, 4 Oct 2016 16:27:25 +0000 (09:27 -0700)]
Add uudecode/uuencode.
Some firmware flashing scripts rely on sharutils, which rely on
uudecode/uuencode. Since we're several decades too late to expect
anyone to update sharutils to use base64 instead, and POSIX
includes uudecode/uuencode, let's just support them.
Bug: http://b/
31913440
Test: manual
Change-Id: Ia3893de08abfe5b8a8f58349bd298b912fa99e6a