OSDN Git Service

android-x86/external-toybox.git
8 years agoam 540923b2: am 2738b318: Merge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Fri, 11 Sep 2015 23:05:17 +0000 (23:05 +0000)]
am 540923b2: am 2738b318: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit '540923b2edc5e6a7f62b65cc3ecaf96dd8bfdbee':
  Squish more warnings in pending.
  Squish a warning in pending.
  Fix netstat -e.
  i already did -l and -t, the positive side of -p, plus name filtering...
  Fix netstat -p.
  increase the size of progname to avoid buffer overflow
  Remove prompt argument from yesno(), caller can fprintf(stderr, "blah") itself.
  Switch HR_SI to HR_1000, make binary the default, make HR_B only affect bytes, and update the tests.
  Two large thinkos in oneit: -3 was always enabled and signal numbers were overwritten before we set up signal handlers.
  Add seq -f tests, tweak help text, and catch one more error case.
  ls -h support.
  df -h and -H.
  Implement lsof.
  Make human_readable() handle base 1024 units without floating point.

8 years agoam 2738b318: Merge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Fri, 11 Sep 2015 22:14:09 +0000 (22:14 +0000)]
am 2738b318: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit '2738b3182300dabdbbef291175752733ec3f05d5':
  Squish more warnings in pending.
  Squish a warning in pending.
  Fix netstat -e.
  i already did -l and -t, the positive side of -p, plus name filtering...
  Fix netstat -p.
  increase the size of progname to avoid buffer overflow
  Remove prompt argument from yesno(), caller can fprintf(stderr, "blah") itself.
  Switch HR_SI to HR_1000, make binary the default, make HR_B only affect bytes, and update the tests.
  Two large thinkos in oneit: -3 was always enabled and signal numbers were overwritten before we set up signal handlers.
  Add seq -f tests, tweak help text, and catch one more error case.
  ls -h support.
  df -h and -H.
  Implement lsof.
  Make human_readable() handle base 1024 units without floating point.

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Fri, 11 Sep 2015 17:30:13 +0000 (10:30 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agoSquish more warnings in pending.
Rob Landley [Wed, 9 Sep 2015 04:17:24 +0000 (23:17 -0500)]
Squish more warnings in pending.

8 years agoSquish a warning in pending.
Rob Landley [Wed, 9 Sep 2015 04:03:48 +0000 (23:03 -0500)]
Squish a warning in pending.

8 years agoFix netstat -e.
Elliott Hughes [Wed, 9 Sep 2015 03:52:21 +0000 (22:52 -0500)]
Fix netstat -e.

The -e flag should add "user" and "inode" columns to the TCP output.

Also truncate IP addresses in non-wide (no -W) mode.

This also removes a bit more of the duplication, though there's still
plenty left in this file!

8 years agoi already did -l and -t, the positive side of -p, plus name filtering...
Elliott Hughes [Wed, 9 Sep 2015 03:38:14 +0000 (22:38 -0500)]
i already did -l and -t, the positive side of -p, plus name filtering...

8 years agoFix netstat -p.
Elliott Hughes [Tue, 8 Sep 2015 15:39:07 +0000 (10:39 -0500)]
Fix netstat -p.

netstat -p was failing for any cmdline longer than 21 characters. (A
typical Chrome render process has about half a kilobyte of cmdline.)

There's still a lot of cleanup to be done later, but this is enough to
fix -p and remove a fair amount of unnecessary custom code into the
bargain.

8 years agoincrease the size of progname to avoid buffer overflow
Lipi Lee [Tue, 8 Sep 2015 10:37:00 +0000 (05:37 -0500)]
increase the size of progname to avoid buffer overflow

8 years agoRemove prompt argument from yesno(), caller can fprintf(stderr, "blah") itself.
Rob Landley [Mon, 7 Sep 2015 22:12:57 +0000 (17:12 -0500)]
Remove prompt argument from yesno(), caller can fprintf(stderr, "blah") itself.

This fixes the build break, the change to yesno() prototype accidentally got
checked in last commit. (Oops, sorry.)

8 years agoSwitch HR_SI to HR_1000, make binary the default, make HR_B only affect bytes,
Rob Landley [Mon, 7 Sep 2015 01:10:04 +0000 (20:10 -0500)]
Switch HR_SI to HR_1000, make binary the default, make HR_B only affect bytes,
and update the tests.

8 years agoTwo large thinkos in oneit: -3 was always enabled and signal numbers were
Rob Landley [Sat, 5 Sep 2015 19:18:38 +0000 (14:18 -0500)]
Two large thinkos in oneit: -3 was always enabled and signal numbers were
overwritten before we set up signal handlers.

8 years agoAdd seq -f tests, tweak help text, and catch one more error case.
Rob Landley [Sat, 5 Sep 2015 10:46:35 +0000 (05:46 -0500)]
Add seq -f tests, tweak help text, and catch one more error case.

8 years agols -h support.
Elliott Hughes [Sat, 5 Sep 2015 10:09:22 +0000 (05:09 -0500)]
ls -h support.

It turns out that people are anticipating the switch to toybox ls from
toolbox ls on the assumption that this will finally bring -h support.
Let's not disappoint.

I've merged two existing buffers in listfiles whose uses didn't
overlap into one. It may be possible to cram this into toybuf with the
other stuff, but it didn't seem worth the extra complexity for 64B of
stack, especially since we were already living with that for time
formatting anyway.

8 years agodf -h and -H.
Elliott Hughes [Sat, 5 Sep 2015 10:00:49 +0000 (05:00 -0500)]
df -h and -H.

This doesn't address the lack of support for a variable-width
"Filesystems" column, but it doesn't make the current situation any
worse either.

This is the last of the missing -h options. The other commands with -h
also have --si, but only for df did it get a corresponding short
option (and I've never personally used --si on du or ls, so let's wait
until someone actually cares).

8 years agoImplement lsof.
Elliott Hughes [Fri, 4 Sep 2015 01:54:53 +0000 (20:54 -0500)]
Implement lsof.

This is a superset of the current AOSP lsof (which is itself a
superset of the lsof in Android M). It fixes several bugs/misfeatures
and adds support for decoding IPv4/IPv6 tcp/udp/raw sockets and Unix
domain sockets.

8 years agoMake human_readable() handle base 1024 units without floating point.
Rob Landley [Fri, 4 Sep 2015 01:36:44 +0000 (20:36 -0500)]
Make human_readable() handle base 1024 units without floating point.

Rounds correctly via brute force, displayed digits are decimal even when
working with powers of 2, shows at most 3 significant (decimal) digits.
(So no "1023M" nonsense, that's 1.0G.)

8 years agoam 43e5cf43: am 888d43b9: Merge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Thu, 3 Sep 2015 22:02:39 +0000 (22:02 +0000)]
am 43e5cf43: am 888d43b9: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit '43e5cf4313232c1ec221e4b6dd9a530c208eb0cd':
  seq -f %0-f is a valid pattern.
  If you start a git commit and then edit the file more on the filesystem before saving, the updates don't go in the commit. Behavior difference between git and mercurial, that.
  Sanitize seq -f string.
  vmstat: fix units for bi and bo columns
  Trivial code style tweak.
  vmstat: reset header pointer when looping
  ls -l user/group/security context should be left-aligned.
  Work around bug in gcc 5.2.0 that miscompiles linux 2.6.12's kconfig.

8 years agoam 888d43b9: Merge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Thu, 3 Sep 2015 21:56:49 +0000 (21:56 +0000)]
am 888d43b9: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit '888d43b94f77ef2c1f126ef6099ee6fba454c682':
  seq -f %0-f is a valid pattern.
  If you start a git commit and then edit the file more on the filesystem before saving, the updates don't go in the commit. Behavior difference between git and mercurial, that.
  Sanitize seq -f string.
  vmstat: fix units for bi and bo columns
  Trivial code style tweak.
  vmstat: reset header pointer when looping
  ls -l user/group/security context should be left-aligned.
  Work around bug in gcc 5.2.0 that miscompiles linux 2.6.12's kconfig.

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Thu, 3 Sep 2015 21:41:43 +0000 (14:41 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agoam ffe6da97: am 2e72007e: Switch to toybox ls.
Elliott Hughes [Thu, 3 Sep 2015 21:17:51 +0000 (21:17 +0000)]
am ffe6da97: am 2e72007e: Switch to toybox ls.

* commit 'ffe6da9757a8eafcb578c0f5156e6f89931b601f':
  Switch to toybox ls.

8 years agoam 2e72007e: Switch to toybox ls.
Elliott Hughes [Thu, 3 Sep 2015 21:07:02 +0000 (21:07 +0000)]
am 2e72007e: Switch to toybox ls.

* commit '2e72007ecb54ff47d7d637a61baacf256513d021':
  Switch to toybox ls.

8 years agoseq -f %0-f is a valid pattern.
Rob Landley [Thu, 3 Sep 2015 01:09:42 +0000 (20:09 -0500)]
seq -f %0-f is a valid pattern.

8 years agoIf you start a git commit and then edit the file more on the filesystem
Rob Landley [Thu, 3 Sep 2015 01:05:34 +0000 (20:05 -0500)]
If you start a git commit and then edit the file more on the filesystem
before saving, the updates don't go in the commit. Behavior difference
between git and mercurial, that.

Good to know.

8 years agoSanitize seq -f string.
Rob Landley [Thu, 3 Sep 2015 00:29:51 +0000 (19:29 -0500)]
Sanitize seq -f string.

8 years agovmstat: fix units for bi and bo columns
Colin Cross [Wed, 2 Sep 2015 06:23:58 +0000 (01:23 -0500)]
vmstat: fix units for bi and bo columns

pgpgin and pgpgout in /proc/vmstat are in kbytes, not pages.
(see http://lxr.free-electrons.com/source/mm/vmstat.c?v=4.2#L1310).
Remove the extra * page_kb for io_in and io_out.

8 years agoTrivial code style tweak.
Rob Landley [Wed, 2 Sep 2015 00:17:12 +0000 (19:17 -0500)]
Trivial code style tweak.

8 years agovmstat: reset header pointer when looping
Colin Cross [Wed, 2 Sep 2015 00:16:06 +0000 (19:16 -0500)]
vmstat: reset header pointer when looping

Modifying the headers pointer when printing the headers causes
a buffer overrun the second time they are printed.  Use a local
header pointer that is reset to the beginning of the buffer for
each loop.

8 years agoam c0a88f9a: am 68640611: Switch to toybox uptime.
Elliott Hughes [Tue, 1 Sep 2015 16:51:28 +0000 (16:51 +0000)]
am c0a88f9a: am 68640611: Switch to toybox uptime.

* commit 'c0a88f9a05921cd0b28ed1803918960557a71e0e':
  Switch to toybox uptime.

8 years agoam f8ed3c3a: am 134791c1: Regenerate generated files.
Elliott Hughes [Tue, 1 Sep 2015 16:51:28 +0000 (16:51 +0000)]
am f8ed3c3a: am 134791c1: Regenerate generated files.

* commit 'f8ed3c3ae5bc3879d1410514207cb3a7a4be17ec':
  Regenerate generated files.

8 years agoam 21e97954: am 226e1671: Merge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Tue, 1 Sep 2015 16:51:27 +0000 (16:51 +0000)]
am 21e97954: am 226e1671: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit '21e9795410e75ea0b24a71b71438e200f505d5de':
  Fix mv on overwrite.
  Add portability.h glue to let uptime build without TOYBOX_UTMPX.
  Build updates: make change should use top level .config for global settings, add NOSTRIP variable to force skipping strip, and save intermediate flag data in generated/flags.raw and have mkflags.c error message point to that.
  Menuconfig option for musl-libc pretending mmu is just pining for the fijords.
  Static analysis from Hyejin Kim found possible pointer underflow.
  I discovered that the reason SIGINT causes a reboot on sysvinit is that it's how the kernel signals that ctrl-alt-delete has been pressed; thus, setting it as the signal for reboot prevents ctrlaltdel scripts from working. SIGTERM is what Busybox uses, so we might as well be compatible.
  Test for human_readable()
  Kylie McClain pointed out that env should clear variables with NAME= by itself.
  Another Android roadmap update.
  Fix ionice default class.

8 years agoam 68640611: Switch to toybox uptime.
Elliott Hughes [Tue, 1 Sep 2015 16:36:45 +0000 (16:36 +0000)]
am 68640611: Switch to toybox uptime.

* commit '68640611f4181b5b6675e652d49b74ab531c96d9':
  Switch to toybox uptime.

8 years agoam 134791c1: Regenerate generated files.
Elliott Hughes [Tue, 1 Sep 2015 16:36:42 +0000 (16:36 +0000)]
am 134791c1: Regenerate generated files.

* commit '134791c1403d47720ccfa46efe026c7e81159e79':
  Regenerate generated files.

8 years agoam 226e1671: Merge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Tue, 1 Sep 2015 16:36:41 +0000 (16:36 +0000)]
am 226e1671: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit '226e167128144090a95197f5d30b7e6d607d52ec':
  Fix mv on overwrite.
  Add portability.h glue to let uptime build without TOYBOX_UTMPX.
  Build updates: make change should use top level .config for global settings, add NOSTRIP variable to force skipping strip, and save intermediate flag data in generated/flags.raw and have mkflags.c error message point to that.
  Menuconfig option for musl-libc pretending mmu is just pining for the fijords.
  Static analysis from Hyejin Kim found possible pointer underflow.
  I discovered that the reason SIGINT causes a reboot on sysvinit is that it's how the kernel signals that ctrl-alt-delete has been pressed; thus, setting it as the signal for reboot prevents ctrlaltdel scripts from working. SIGTERM is what Busybox uses, so we might as well be compatible.
  Test for human_readable()
  Kylie McClain pointed out that env should clear variables with NAME= by itself.
  Another Android roadmap update.
  Fix ionice default class.

8 years agols -l user/group/security context should be left-aligned.
Elliott Hughes [Tue, 1 Sep 2015 02:47:12 +0000 (21:47 -0500)]
ls -l user/group/security context should be left-aligned.

Right-aligned looks pretty good to me, but it's not what anyone else does.

8 years agoWork around bug in gcc 5.2.0 that miscompiles linux 2.6.12's kconfig.
Rob Landley [Tue, 1 Sep 2015 02:42:47 +0000 (21:42 -0500)]
Work around bug in gcc 5.2.0 that miscompiles linux 2.6.12's kconfig.

8 years agoSwitch to toybox ls.
Elliott Hughes [Mon, 31 Aug 2015 19:43:59 +0000 (12:43 -0700)]
Switch to toybox ls.

I think everything that was relying on the non-POSIX output has been fixed,
so time to try again...

This also fixes the ls -R bug (http://b/21171466).

Bug: http://b/23040458
Change-Id: I69279e7acab52a74b914006c541031daeea0e5b1

8 years agoSwitch to toybox uptime.
Elliott Hughes [Mon, 17 Aug 2015 18:13:01 +0000 (11:13 -0700)]
Switch to toybox uptime.

Now we're manually editing .config because we gave up on the repeated
breakage running the script on the host, we don't need to have a fake
<shadow.h>, and we can fix uptime so we don't need a <utmpx.h> either.

Change-Id: If371bb85bd44fec01362f7fbbbfc392bd2cdfe29

8 years agoRegenerate generated files.
Elliott Hughes [Mon, 31 Aug 2015 18:37:31 +0000 (11:37 -0700)]
Regenerate generated files.

Change-Id: I647814ca584713988ad8f104da0cb3bd5c0787ab

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Mon, 31 Aug 2015 18:29:40 +0000 (11:29 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agoFix mv on overwrite.
Elliott Hughes [Sun, 30 Aug 2015 11:35:30 +0000 (06:35 -0500)]
Fix mv on overwrite.

We need to remove the destination, not the source, to be able to overwrite.

8 years agoAdd portability.h glue to let uptime build without TOYBOX_UTMPX.
Rob Landley [Sun, 30 Aug 2015 11:00:32 +0000 (06:00 -0500)]
Add portability.h glue to let uptime build without TOYBOX_UTMPX.

8 years agoBuild updates: make change should use top level .config for global settings,
Rob Landley [Sun, 30 Aug 2015 09:42:49 +0000 (04:42 -0500)]
Build updates: make change should use top level .config for global settings,
add NOSTRIP variable to force skipping strip, and save intermediate flag
data in generated/flags.raw and have mkflags.c error message point to that.

8 years agoMenuconfig option for musl-libc pretending mmu is just pining for the fijords.
Rob Landley [Sun, 30 Aug 2015 03:12:56 +0000 (22:12 -0500)]
Menuconfig option for musl-libc pretending mmu is just pining for the fijords.

8 years agoam 2d95e6f5: (-s ours) am 18465130: Add a base64 symlink.
Elliott Hughes [Thu, 27 Aug 2015 10:50:12 +0000 (10:50 +0000)]
am 2d95e6f5: (-s ours) am 18465130: Add a base64 symlink.

* commit '2d95e6f510e5e6fb1d5364b2514f06e5af14df01':

8 years agoam 2cacaf9b: (-s ours) am a53c8ff7: Switch to toybox ionice, iorenice, and renice.
Elliott Hughes [Thu, 27 Aug 2015 10:50:11 +0000 (10:50 +0000)]
am 2cacaf9b: (-s ours) am a53c8ff7: Switch to toybox ionice, iorenice, and renice.

* commit '2cacaf9b0d17696cb771a117a50478c8e41235cf':

8 years agoam b59ab197: (-s ours) am ede3a451: Regenerate generated files.
Elliott Hughes [Thu, 27 Aug 2015 10:50:11 +0000 (10:50 +0000)]
am b59ab197: (-s ours) am ede3a451: Regenerate generated files.

* commit 'b59ab1977bf3597853006db210f257bfcdb91c00':

8 years agoam 40ea0777: (-s ours) am f6511b27: Merge remote-tracking branch \'toybox/master...
Elliott Hughes [Thu, 27 Aug 2015 10:50:10 +0000 (10:50 +0000)]
am 40ea0777: (-s ours) am f6511b27: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit '40ea07777deb04d09128b6af46a2c858bfca9a06':

8 years agoam e06f9faf: (-s ours) am 97809c21: Regenerate generated files.
Elliott Hughes [Thu, 27 Aug 2015 10:50:10 +0000 (10:50 +0000)]
am e06f9faf: (-s ours) am 97809c21: Regenerate generated files.

* commit 'e06f9faf6fa7ec0eca850887cdc26cca09d9925c':

8 years agoam c728e0d8: (-s ours) am c9eaab1b: Merge remote-tracking branch \'toybox/master...
Elliott Hughes [Thu, 27 Aug 2015 10:50:09 +0000 (10:50 +0000)]
am c728e0d8: (-s ours) am c9eaab1b: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit 'c728e0d8ce84bb31b19a29a0a0b7dc422ba24281':

8 years agoam 00ae9f9d: (-s ours) am a09310a6: Merge remote-tracking branch \'toybox/master...
Elliott Hughes [Thu, 27 Aug 2015 10:50:09 +0000 (10:50 +0000)]
am 00ae9f9d: (-s ours) am a09310a6: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit '00ae9f9db7439892301987bf93005588b7b67857':

8 years agoam c65e7e86: (-s ours) am dce8d624: Add xxd.
Elliott Hughes [Thu, 27 Aug 2015 10:50:08 +0000 (10:50 +0000)]
am c65e7e86: (-s ours) am dce8d624: Add xxd.

* commit 'c65e7e869a370b75340d6b274117fac435be6dc1':

8 years agoam f7400b69: (-s ours) am fc0d50d2: Merge remote-tracking branch \'toybox/master...
Elliott Hughes [Thu, 27 Aug 2015 10:50:07 +0000 (10:50 +0000)]
am f7400b69: (-s ours) am fc0d50d2: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit 'f7400b69c59fa9f8163367916ddb712de4b72be1':

8 years agoam 65f4b245: (-s ours) am f8b41e81: Fix 32-bit bionic toybox build.
Elliott Hughes [Thu, 27 Aug 2015 10:50:06 +0000 (10:50 +0000)]
am 65f4b245: (-s ours) am f8b41e81: Fix 32-bit bionic toybox build.

* commit '65f4b24550dca4da00f44ebd7a35b6a5d8c097d3':

8 years agoam 2adffc89: (-s ours) am 718f34dd: Regenerate generated files after upstream sync.
Elliott Hughes [Thu, 27 Aug 2015 10:50:06 +0000 (10:50 +0000)]
am 2adffc89: (-s ours) am 718f34dd: Regenerate generated files after upstream sync.

* commit '2adffc89d8d009d2c978190e3a1f0afa1387f37a':

8 years agoam 7e612cb8: (-s ours) am f41c7e0b: Merge remote-tracking branch \'toybox/master...
Elliott Hughes [Thu, 27 Aug 2015 10:50:05 +0000 (10:50 +0000)]
am 7e612cb8: (-s ours) am f41c7e0b: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit '7e612cb856f90b83c0a7f48b0e087fdb32de24e1':

8 years agoam 707204ed: (-s ours) Revert "Don\'t add a symlink for killall --- it\'s broken."
Elliott Hughes [Thu, 27 Aug 2015 10:50:03 +0000 (10:50 +0000)]
am 707204ed: (-s ours) Revert "Don\'t add a symlink for killall --- it\'s broken."

* commit '707204ed63047a1d29a978ebef26af9a12fd224c':
  Revert "Don't add a symlink for killall --- it's broken."

8 years agoam f5cef31b: (-s ours) am c96e4249: Don\'t add a symlink for killall --- it\'s broken.
Elliott Hughes [Thu, 27 Aug 2015 10:50:00 +0000 (10:50 +0000)]
am f5cef31b: (-s ours) am c96e4249: Don\'t add a symlink for killall --- it\'s broken.

* commit 'f5cef31b49d40d27fbeea06438ca9668c7cf42ca':

8 years agoam b2fcb6c8: (-s ours) am efac088b: Merge remote-tracking branch \'toybox/master...
Elliott Hughes [Thu, 27 Aug 2015 10:49:57 +0000 (10:49 +0000)]
am b2fcb6c8: (-s ours) am efac088b: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit 'b2fcb6c8b85a103737f49f43d6e986c9bda9d9f0':

8 years agoam 2fc83b71: (-s ours) am 30b9035c: Merge "Redo mkstatus.py to grep pending for pendi...
Elliott Hughes [Thu, 27 Aug 2015 10:49:54 +0000 (10:49 +0000)]
am 2fc83b71: (-s ours) am 30b9035c: Merge "Redo mkstatus.py to grep pending for pending data and trust toybox defconfig output for ready command list, to reduce manual updating."

* commit '2fc83b71bac1a623d22121ddcba5a5ae9016c1f9':

8 years agoam 56b81a01: (-s ours) am 3e713d86: Merge "Move the magic list of commands needing...
Elliott Hughes [Thu, 27 Aug 2015 10:49:53 +0000 (10:49 +0000)]
am 56b81a01: (-s ours) am 3e713d86: Merge "Move the magic list of commands needing cleanup from toys/pending/README to greppable TODO annotations in the individual files. (grep -riw TODO)"

* commit '56b81a0162328db9a1aa98a6fc35f35a9d50782f':

8 years agoam 2657806e: (-s ours) am 9f05d690: Merge "On testing fold command, I found w option...
Elliott Hughes [Thu, 27 Aug 2015 10:49:52 +0000 (10:49 +0000)]
am 2657806e: (-s ours) am 9f05d690: Merge "On testing fold command, I found w option didnt check the range of value."

* commit '2657806e98501cb20097af14a74064446e7e9f36':

8 years agoam 652655eb: (-s ours) am bef6d0ab: Merge "mknod: Add -Z option"
Elliott Hughes [Thu, 27 Aug 2015 10:49:51 +0000 (10:49 +0000)]
am 652655eb: (-s ours) am bef6d0ab: Merge "mknod: Add -Z option"

* commit '652655ebe6e9a9e065c1ea16e8591b975383173c':

8 years agoam fb1ae07a: (-s ours) am e3764ccd: Regenerate generated files after upstream toybox...
Elliott Hughes [Thu, 27 Aug 2015 10:49:50 +0000 (10:49 +0000)]
am fb1ae07a: (-s ours) am e3764ccd: Regenerate generated files after upstream toybox sync.

* commit 'fb1ae07aaca758bf3c6c078b82b9b64cac0f39a7':

8 years agoStatic analysis from Hyejin Kim found possible pointer underflow.
Rob Landley [Tue, 25 Aug 2015 08:22:02 +0000 (03:22 -0500)]
Static analysis from Hyejin Kim found possible pointer underflow.

Now that the kernel's 128k environment size has been lifted, it might be
possible to feed in a gigabyte of suffix so argv[2] is enough larger than
argv[1] that char *s decrements past NULL and points to arbitrary high
memory (I.E. strlen(suffix) > (long)base), at which point the base > s
test is defeated and we strcmp() against a wild pointer.

Which is read only anyway and on 64 bit you probably couldn't hit any
interesting addresses, but the fix is easy enough: compare strlen values
instead of pointers. So do that instead.

8 years agoI discovered that the reason SIGINT causes a reboot on sysvinit is that
Isaac Dunham [Thu, 20 Aug 2015 16:49:16 +0000 (11:49 -0500)]
I discovered that the reason SIGINT causes a reboot on sysvinit is that
it's how the kernel signals that ctrl-alt-delete has been pressed;
thus, setting it as the signal for reboot prevents ctrlaltdel scripts
from working.
SIGTERM is what Busybox uses, so we might as well be compatible.

8 years agoam 18465130: Add a base64 symlink.
Elliott Hughes [Tue, 18 Aug 2015 18:04:49 +0000 (18:04 +0000)]
am 18465130: Add a base64 symlink.

* commit '184651300d6a9a2f5dd00ba9945c9c52af23962c':
  Add a base64 symlink.

8 years agoam 18465130: Add a base64 symlink.
Elliott Hughes [Tue, 18 Aug 2015 18:04:42 +0000 (18:04 +0000)]
am 18465130: Add a base64 symlink.

* commit '184651300d6a9a2f5dd00ba9945c9c52af23962c':
  Add a base64 symlink.

8 years agoAdd a base64 symlink.
Elliott Hughes [Tue, 18 Aug 2015 16:57:45 +0000 (09:57 -0700)]
Add a base64 symlink.

Some Intel testing folks noticed that uudecode/uuencode was removed. Rather
than bring it back from the dead, add the missing symlink for base64 which
is likely to be useful to more people.

Change-Id: I530e3a9faf4846367f4eb4aec341d7ed9f4e413c

8 years agoTest for human_readable()
Rob Landley [Tue, 18 Aug 2015 04:23:29 +0000 (23:23 -0500)]
Test for human_readable()

8 years agoKylie McClain pointed out that env should clear variables with NAME= by itself.
Rob Landley [Sat, 15 Aug 2015 14:09:57 +0000 (09:09 -0500)]
Kylie McClain pointed out that env should clear variables with NAME= by itself.

8 years agoAnother Android roadmap update.
Elliott Hughes [Sat, 15 Aug 2015 02:54:30 +0000 (21:54 -0500)]
Another Android roadmap update.

The three separate lists had got a bit out of sync. The genuinely new
changes are in the top list.

8 years agoFix ionice default class.
Elliott Hughes [Sat, 15 Aug 2015 02:51:30 +0000 (21:51 -0500)]
Fix ionice default class.

8 years agoam a53c8ff7: Switch to toybox ionice, iorenice, and renice.
Elliott Hughes [Fri, 14 Aug 2015 23:47:52 +0000 (23:47 +0000)]
am a53c8ff7: Switch to toybox ionice, iorenice, and renice.

* commit 'a53c8ff768641f5d511b18bdb46b9776926308d7':
  Switch to toybox ionice, iorenice, and renice.

8 years agoam a53c8ff7: Switch to toybox ionice, iorenice, and renice.
Elliott Hughes [Fri, 14 Aug 2015 23:47:38 +0000 (23:47 +0000)]
am a53c8ff7: Switch to toybox ionice, iorenice, and renice.

* commit 'a53c8ff768641f5d511b18bdb46b9776926308d7':
  Switch to toybox ionice, iorenice, and renice.

8 years agoSwitch to toybox ionice, iorenice, and renice.
Elliott Hughes [Fri, 14 Aug 2015 22:55:40 +0000 (15:55 -0700)]
Switch to toybox ionice, iorenice, and renice.

Change-Id: I36f232fc5ab03e6c6f4859c30877f08a22d76906

8 years agoam ede3a451: Regenerate generated files.
Elliott Hughes [Thu, 13 Aug 2015 00:40:38 +0000 (00:40 +0000)]
am ede3a451: Regenerate generated files.

* commit 'ede3a451321e074ceac9cbc9c3f86730df4d3b67':
  Regenerate generated files.

8 years agoam f6511b27: Merge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Thu, 13 Aug 2015 00:40:38 +0000 (00:40 +0000)]
am f6511b27: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit 'f6511b27f08963003afc98b94da28e4de05dd254':
  Fix more date bugs.
  Bugfixes from Elliott Hughes: debug code got checked in (oops) and uninitialized trash in struct tm fields could segfault glibc's strftime().
  Different tools have different ideas about what human-readable output looks like. dd uses "7 MB" where du uses "7M", for example. this patch adds flags, similar to the BSD humanize_number. most callers will pass 0.
  First pass at proper bunzip2 command line handling.
  Fix ls -l user/group field ordering.
  More Android roadmap updates.
  login: execl() requires a path, not a file name
  Isaac Dunham pointed out that SIGINT's handler was set twice in init.c.
  scripts/mkflags.c: add missing unistd.h, ctype.h
  modprobe: use -q to silence
  modprobe: use basename_r()
  modprobe: delete perror_exit() that makes no sense
  Fix switch_root implementation.
  Teach date @unixtime[.fraction], switch -s to be -D (matching busybox and not stomping on gnu's "an extra argument tells it to set the time so let's add -s to do the same thing" extension).
  Reject invalid dates in date(1).

8 years agoam ede3a451: Regenerate generated files.
Elliott Hughes [Thu, 13 Aug 2015 00:40:36 +0000 (00:40 +0000)]
am ede3a451: Regenerate generated files.

* commit 'ede3a451321e074ceac9cbc9c3f86730df4d3b67':
  Regenerate generated files.

8 years agoam f6511b27: Merge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Thu, 13 Aug 2015 00:40:36 +0000 (00:40 +0000)]
am f6511b27: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit 'f6511b27f08963003afc98b94da28e4de05dd254':
  Fix more date bugs.
  Bugfixes from Elliott Hughes: debug code got checked in (oops) and uninitialized trash in struct tm fields could segfault glibc's strftime().
  Different tools have different ideas about what human-readable output looks like. dd uses "7 MB" where du uses "7M", for example. this patch adds flags, similar to the BSD humanize_number. most callers will pass 0.
  First pass at proper bunzip2 command line handling.
  Fix ls -l user/group field ordering.
  More Android roadmap updates.
  login: execl() requires a path, not a file name
  Isaac Dunham pointed out that SIGINT's handler was set twice in init.c.
  scripts/mkflags.c: add missing unistd.h, ctype.h
  modprobe: use -q to silence
  modprobe: use basename_r()
  modprobe: delete perror_exit() that makes no sense
  Fix switch_root implementation.
  Teach date @unixtime[.fraction], switch -s to be -D (matching busybox and not stomping on gnu's "an extra argument tells it to set the time so let's add -s to do the same thing" extension).
  Reject invalid dates in date(1).

8 years agoRegenerate generated files.
Elliott Hughes [Wed, 12 Aug 2015 23:57:42 +0000 (16:57 -0700)]
Regenerate generated files.

Change-Id: I5644b11b7c76e71feaace364d60a03e88cd8fabe

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Wed, 12 Aug 2015 23:49:25 +0000 (16:49 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agoFix more date bugs.
Elliott Hughes [Tue, 11 Aug 2015 21:06:06 +0000 (16:06 -0500)]
Fix more date bugs.

Correctly and portably check for non-normal dates, and explicitly show
the "before" and "after" dates (in the format of the user's choosing).
Clear the struct tm in date_main rather than parse_default because on
one path the struct tm is actually initialized. Explicitly clear the
tm_sec field in parse_default because -- experiment shows -- that
should not be preserved. Only do the "what does this 2-digit year
mean?" dance if we actually parsed a 2-digit year. Show the right
string in the error message if strptime fails.

Also add more tests, and use UTC in the tests to avoid flakiness.

8 years agoBugfixes from Elliott Hughes: debug code got checked in (oops) and
Rob Landley [Tue, 11 Aug 2015 06:50:19 +0000 (01:50 -0500)]
Bugfixes from Elliott Hughes: debug code got checked in (oops) and
uninitialized trash in struct tm fields could segfault glibc's strftime().

8 years agoDifferent tools have different ideas about what human-readable output
Elliott Hughes [Sun, 9 Aug 2015 02:10:44 +0000 (21:10 -0500)]
Different tools have different ideas about what human-readable output
looks like. dd uses "7 MB" where du uses "7M", for example. this patch
adds flags, similar to the BSD humanize_number. most callers will pass 0.

8 years agoFirst pass at proper bunzip2 command line handling.
Rob Landley [Sun, 9 Aug 2015 00:21:42 +0000 (19:21 -0500)]
First pass at proper bunzip2 command line handling.

8 years agoFix ls -l user/group field ordering.
Elliott Hughes [Sat, 8 Aug 2015 22:55:02 +0000 (17:55 -0500)]
Fix ls -l user/group field ordering.

It's user then group, not the other way round.

8 years agoMore Android roadmap updates.
Elliott Hughes [Sat, 8 Aug 2015 22:49:02 +0000 (17:49 -0500)]
More Android roadmap updates.

mkbootimg was rewritten as a python script a while ago, and I just
deleted gpttool. (gptfdisk is in external/, but I'm assuming the
existing entry for fdisk is meant to cover that.)

8 years agologin: execl() requires a path, not a file name
Isaac Dunham [Thu, 6 Aug 2015 00:48:14 +0000 (17:48 -0700)]
login: execl() requires a path, not a file name

8 years agoIsaac Dunham pointed out that SIGINT's handler was set twice in init.c.
Rob Landley [Sat, 8 Aug 2015 22:05:45 +0000 (17:05 -0500)]
Isaac Dunham pointed out that SIGINT's handler was set twice in init.c.

8 years agoscripts/mkflags.c: add missing unistd.h, ctype.h
Isaac Dunham [Wed, 5 Aug 2015 02:40:56 +0000 (19:40 -0700)]
scripts/mkflags.c: add missing unistd.h, ctype.h

8 years agomodprobe: use -q to silence
Isaac Dunham [Wed, 5 Aug 2015 05:15:56 +0000 (22:15 -0700)]
modprobe: use -q to silence

8 years agomodprobe: use basename_r()
Isaac Dunham [Wed, 5 Aug 2015 02:34:00 +0000 (19:34 -0700)]
modprobe: use basename_r()

8 years agomodprobe: delete perror_exit() that makes no sense
Isaac Dunham [Wed, 5 Aug 2015 02:23:55 +0000 (19:23 -0700)]
modprobe: delete perror_exit() that makes no sense

Given modprobe -a, it's important to not exit early for a failure to
load a module; additionally, the rest of the code presumes that this
can fail without exiting.

8 years agoFix switch_root implementation.
Alistair Strachan [Wed, 6 May 2015 22:20:19 +0000 (15:20 -0700)]
Fix switch_root implementation.

Add the MS_MOVE of cwd to / and chroot into it. chdir is also
called to ensure cwd does not point outside the chroot.

The switch_root toy was also blocking any case where NEW_ROOT/init
did not exist, even though NEW_INIT was a required parameter and
did not have to be '/init'. Change it to handle any NEW_INIT
passed as either a relative or absolute path.

With this change, the switch_root toy actually works from initramfs.

8 years agoTeach date @unixtime[.fraction], switch -s to be -D (matching busybox and
Rob Landley [Sat, 8 Aug 2015 21:06:24 +0000 (16:06 -0500)]
Teach date @unixtime[.fraction], switch -s to be -D (matching busybox and
not stomping on gnu's "an extra argument tells it to set the time so let's
add -s to do the same thing" extension).

Nanoseconds aren't uniformly supported by these apis, so had to stick it in
GLOBALS() and pull it out later. Awkward, open to suggestions for a better way.
(Also, the setting API is microseconds, not nanoseconds. Collect nano, convert
to micro so we can switch APIs later without changing date's external UI again.)

Oh, and shrink really_long_name_mktime() with a for() loop (and rename it)
although I may go back and redo that for portability to hypothetical libraries
if I can convert this mess to struct timespec with proper nanoseconds support.
But that needs an extended strptime() which needs an extended struct tm,
and between us and that is convincing posix computers got fast enough to
care about fractions of a second.

(Yes, I'm aware gnu added %N to date without adding it to strptime, implying
they reimplemented strptime longhand inside date. I'm not doing that.)

8 years agoReject invalid dates in date(1).
Elliott Hughes [Sat, 8 Aug 2015 18:39:01 +0000 (13:39 -0500)]
Reject invalid dates in date(1).

Humans get upset when date(1) lets mktime(3) work out what the 99th day
of the 99th month would be rather than rejecting the invalid date. For
the subtly wrong cases, rather than get into the leap year business,
let's rely on localtime_r(3).

8 years agoam 97809c21: Regenerate generated files.
Elliott Hughes [Fri, 7 Aug 2015 21:18:04 +0000 (21:18 +0000)]
am 97809c21: Regenerate generated files.

* commit '97809c213e144e9c06c96da444fbd16c023162dc':
  Regenerate generated files.

8 years agoam 97809c21: Regenerate generated files.
Elliott Hughes [Fri, 7 Aug 2015 21:17:03 +0000 (21:17 +0000)]
am 97809c21: Regenerate generated files.

* commit '97809c213e144e9c06c96da444fbd16c023162dc':
  Regenerate generated files.

8 years agoam c9eaab1b: Merge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Fri, 7 Aug 2015 21:17:03 +0000 (21:17 +0000)]
am c9eaab1b: Merge remote-tracking branch \'toybox/master\' into HEAD

* commit 'c9eaab1bd1a7fb8540126e035281a15feb5a3c42': (22 commits)
  Detect swap partitions, inline loop_partitions(), various cleanups.
  Initialize uninitialized variable. (Oops.)
  Adjust xexec() exit code to be 127, and tweaks for nommu friendliness.
  Make multiplexer's "command not found" exit 127.
  I've added support for running blkid without specifying a partition (so it scans /proc/partitions).
  Minor tweak of reboot.c
  reboot: signal init, add -f option to call reboot(); init: use SIGINT, use xsignal()
  Cosmetic tweak: newline at the end of "make change".
  Switch nbd_client to xconnect() and make xconnect() try all returned addresses before failing.
  Tweak xconnect: socket can be a string (ala "ftp") from /etc/services.
  Factor out xconnect(), plus some other small cleanups to telnet.c.
  Mark command-local functions static.
  Long-overdue cleanup on login.
  Replace xcheckrange() with atolx_range()
  Move strlower() from find to lib.
  '!' replaces '/' in the sysfs paths of older drivers, so properly reverse that to get correct paths. While we're here, reduce the duplication of initialization.
  Whitespace.
  Check in the note about rebuilding the source tarball.
  Promote fsync.
  Promote hostid.
  ...