OSDN Git Service
Elliott Hughes [Mon, 13 Jun 2016 21:23:15 +0000 (14:23 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: Ib0a2f504182aa42c934bd5fb99d6ed0afe8a2b8a
Rob Landley [Sun, 12 Jun 2016 08:35:57 +0000 (03:35 -0500)]
Lots of netstat cleanup, including a rewrite of the unix domain socket output.
(Ubuntu's netstat is left justifying the inode field, and they're wrong.)
Elliott Hughes [Sun, 12 Jun 2016 05:00:54 +0000 (22:00 -0700)]
Finish switching to dev_major/dev_minor.
7ca5dc4232b9ac5ee5cd25c8b5b33a58904cd251 didn't switch all callers over
to the new functions.
Rob Landley [Sat, 11 Jun 2016 00:00:25 +0000 (19:00 -0500)]
Missing parentheses. (Oops.)
Elliott Hughes [Fri, 10 Jun 2016 16:08:33 +0000 (09:08 -0700)]
Fix trailing whitespace bug in netstat.
Spotted while trying to diff netstat -nt against toybox netstat -nt.
Rob Landley [Fri, 10 Jun 2016 23:54:10 +0000 (18:54 -0500)]
xreadlink() only exits for memory allocation, it returns 0 if file not found.
(I forget who reported this bug, wasn't me.)
Elliott Hughes [Mon, 6 Jun 2016 22:41:39 +0000 (15:41 -0700)]
Update Android roadmap section.
We killed toolbox ioctl and wouldn't build a toybox one anyway.
Also admit that -- although toybox has a grep -- we're not actually using
it yet (and why we're not).
Rob Landley [Fri, 10 Jun 2016 23:37:41 +0000 (18:37 -0500)]
Shuffle arguments around (TNAME->NAME->COMM->CMD), working around posix
constraints while still trying to get sane behavior. Discard the old CMD,
move COMM to CMD, move the old NAME to COMM, and move TNAME to NAME.
Posix assumes argv[] is the only source of process name data, but Linux has
three sources (/proc/$PID/cmdline, /proc/$PID/exe, /proc/$PID/stat field 2)
and android uses multiple sources simultaneously to identify its processes
and threads.
Toybox ps also assumes that the field names displayed in the headers
can be fed to -o to get that output, which is an assumption posix's
ps spec clearly does not have. Before we were erring on the side of posix,
now we're erring on the side of sanity.
CMD now shows stat[2], all the time. The posix -f behavior change is now
just an ARGS=CMD alias in the -f default command line, which -o overrides.
(Before -f changed the behavior of -o CMD, which is closer to what
posix says but is _insane_ and we've stopped doing it.)
COMM now shows /proc/$PID/exe minus the path. (I'm aware posix says argv[0]
here, but it says argv everywhere.)
NAME is now argv[0] of $PID.
TNAME went away.
Both $COMM and $NAME show the data for $PID, which is a thread's parent
process when $TID != $PID.
Rob Landley [Fri, 10 Jun 2016 22:58:56 +0000 (17:58 -0500)]
Revert commit
e02e41373ea3, we're always initializing the TNAME string
field (that's the ptb/tb switching in get_ps) so it's never blank, so
this doesn't trigger. (Conditionally initializing it would save runtime
memory, but at the expense of more complex code.)
Elliott Hughes [Fri, 10 Jun 2016 16:42:10 +0000 (09:42 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Thu, 9 Jun 2016 00:03:26 +0000 (17:03 -0700)]
HACK: restore Android ps behavior.
"NAME" is no longer doing what we want; "TNAME" is what "NAME" used to be,
except that "TNAME" implies -T. This patch switches us over to "TNAME",
disables the implicit -T.
Change-Id: I5553703d3939b24eaf39976162d2f75a591e1ce8
Kyungsik Lee [Thu, 9 Jun 2016 09:36:34 +0000 (18:36 +0900)]
Fix dangling link after cp command
"toybuf" should be initialized before calling symlinkat() or
dangling link could occur.
Elliott Hughes [Thu, 9 Jun 2016 15:21:00 +0000 (08:21 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I703e4ec03f0eb2a5a215ac07407e094a92f0d161
Rob Landley [Thu, 9 Jun 2016 03:53:51 +0000 (22:53 -0500)]
Fix ps bug, last field wasn't expanding to width.
(Still fixing the fallout from that "Don't truncate number fields" logic rewrite.)
Rob Landley [Thu, 9 Jun 2016 01:30:08 +0000 (20:30 -0500)]
Change the TNAME behavior to "Show parent argv[0]. If that's blank, showour argv[0]. If that's blank, show [stat2]."
That way threads show their parents, parents show themselves, and
kernel threads show the [stat2] name.
Rob Landley [Tue, 7 Jun 2016 23:16:25 +0000 (18:16 -0500)]
Izabera pointed out that cmp -ls are contradictory.
Elliott Hughes [Mon, 6 Jun 2016 18:09:21 +0000 (11:09 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I0e66b038cc5e409bb5c47dd851d37efc98e4a356
Paul Barker [Sat, 4 Jun 2016 14:05:49 +0000 (15:05 +0100)]
Fix TOYBOX_VERSION
The latest tagged version is 0.7.1.
Elliott Hughes [Sat, 4 Jun 2016 16:26:14 +0000 (09:26 -0700)]
Basic success/failure return from pgrep/pkill.
The man page says they also return 2 for syntax errors and 3 for "fatal
error: out of memory etc", but I don't know how to implement that and
don't need it (or have any reason to believe anyone needs it).
Bug:
29092208
Rob Landley [Sat, 4 Jun 2016 19:36:39 +0000 (14:36 -0500)]
ps: Show [stat2] for any otherwise blank process name field, expand TNAME to 27,
use generated constant for stat field parsing loop.
Rob Landley [Tue, 31 May 2016 22:33:23 +0000 (17:33 -0500)]
In cp -a, don't complain if non-root user can't chown, failure is expected.
Rob Landley [Mon, 30 May 2016 18:43:17 +0000 (13:43 -0500)]
Add output path to cp error message filenames.
Elliott Hughes [Fri, 27 May 2016 22:15:29 +0000 (15:15 -0700)]
Regenerate generated files.
Change-Id: I475d806d0d4c7a403a1b42aee4d5077bd4fe38df
Elliott Hughes [Fri, 27 May 2016 20:57:40 +0000 (13:57 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Fri, 27 May 2016 19:54:27 +0000 (14:54 -0500)]
Add -o TNAME for android, fix display of last field (retain left justifification
when trimmed for screen width), make ARGS path trimming logic work with
spaces in path.
Elliott Hughes [Wed, 25 May 2016 21:43:56 +0000 (14:43 -0700)]
Stabilize another sort.
Unstable sorting means confusing diffs if you're checking in the generated
files. (Which I shouldn't be doing, but getting this bundle of random scripts
into Android's build system isn't going to be easy...)
Elliott Hughes [Wed, 25 May 2016 21:47:37 +0000 (14:47 -0700)]
Stop building toybox route.
From the commit that stopped creating the symlink:
We should remove the "route" command because its output is irrelevant and
misleading. This is because it only looks at the "main" routing table,
which is a last resort routing table that is a) trumped by all other
networks, b) empty except for directly-connected routes c) cannot even be
used by non-root users.
The proper way to understand device routing is to look at the output of
"ip rule" and "ip route", both of which are already available.
Example of how this is confusing:
$ adb shell route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
160.249.218.72 * 255.255.255.248 U 0 0 0 rmnet_data0
192.168.144.0 * 255.255.240.0 U 0 0 0 wlan0
These aren't guaranteed to be used. For example, according to the output
above 160.249.218.73 should go through rmnet_data0, but it doesn't:
$ adb shell ip route get 160.249.218.73
160.249.218.73 via 192.168.159.254 dev wlan0 src 192.168.159.164 uid 0
cache
Also, there is no default route. But the device has networking just fine:
$ adb shell ip route get 8.8.8.8
8.8.8.8 via 192.168.159.254 dev wlan0 src 192.168.159.164 uid 0
cache
Bug: http://b/
27603033
Change-Id: I40be0a7e2841144797a67f9aeb82b9097cec5400
Rob Landley [Wed, 25 May 2016 17:56:56 +0000 (12:56 -0500)]
Stand alone builds of OLDTOY should show help text for corresponding NEWTOY.
Elliott Hughes [Tue, 24 May 2016 22:27:49 +0000 (15:27 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Tue, 24 May 2016 21:17:55 +0000 (16:17 -0500)]
The "show parent command path" commit changed the criteria for active nodes,
and the collate logic wasn't updated. (Oops.)
Elliott Hughes [Tue, 24 May 2016 16:13:35 +0000 (09:13 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Tue, 24 May 2016 16:12:04 +0000 (09:12 -0700)]
Regenerate generated files.
Change-Id: I2014135856d6316a53c22cace2cc935cf65434f6
Elliott Hughes [Mon, 23 May 2016 17:46:47 +0000 (10:46 -0700)]
Fix remaining pkill tests.
I don't know that anyone cares, but these failures made me think I'd
broken something while testing the -SIGNAL patch.
The -s parsing wasn't taking into account that -s 0 is a special case,
and the -o test was assuming that pkill can tell the difference between
two processes started at roughly the same time. Hopefully there's
higher-resolution data available that can avoid the need for yet another
sleep in the tests.
Elliott Hughes [Mon, 23 May 2016 17:34:01 +0000 (10:34 -0700)]
Fix pkill -9.
This fixes the existing test. Internal Android bug
28877702.
I've left -l as-is, even though the desktop doesn't support that.
Rob Landley [Mon, 23 May 2016 00:44:10 +0000 (19:44 -0500)]
Don't truncate number fields for anything but right edge of screen, instead
let them overflow and try to reclaim extra space from later short fields.
Rob Landley [Sun, 22 May 2016 17:16:06 +0000 (12:16 -0500)]
Make -o COMMAND show parent command path for threads, and use saved length
calculations instead of doing strlen() on strings again to store lengths.
Rob Landley [Sun, 22 May 2016 17:00:16 +0000 (12:00 -0500)]
Comment and help text tweaks.
Rob Landley [Fri, 20 May 2016 19:28:13 +0000 (14:28 -0500)]
Add bufgetgrgid()
Rob Landley [Fri, 20 May 2016 12:32:51 +0000 (07:32 -0500)]
Make build dependencies more granular. This should fix the problem where
"make top; make ps" produces a ps that can't do -A because generated/obj/ps.o
didn't get rebuilt.
Rob Landley [Tue, 17 May 2016 17:10:07 +0000 (12:10 -0500)]
Add bufgetpwuid. (Repeated calls to getpwuid() are really expensive.)
Rob Landley [Mon, 16 May 2016 19:51:37 +0000 (14:51 -0500)]
Add top -O
Rob Landley [Mon, 16 May 2016 17:24:42 +0000 (12:24 -0500)]
Add stat -tL and -c %m%t%T.
Suggested by Sameer Pradhan, or possibly Bilal Qureshi.
Elliott Hughes [Tue, 10 May 2016 22:03:41 +0000 (15:03 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Tue, 10 May 2016 08:26:02 +0000 (03:26 -0500)]
Use CFG_TOYBOX_NORECURSE to avoid
<strike>all that tedious mucking about with hyperspace</strike>
stack measuring in ways that confuse security stuff.
Elliott Hughes [Sat, 7 May 2016 18:09:44 +0000 (11:09 -0700)]
Turn on CONFIG_TOYBOX_NORECURSE for SafeStack.
Bug: http://b/
27729263
Change-Id: Ibe1f530198045e4133960af61800b40d4348c59a
Rob Landley [Sat, 7 May 2016 05:21:34 +0000 (00:21 -0500)]
Work around increasingly insane compiler developers wanting to make everything
undefined behavior so the optimizer can silently eliminate your entire program.
Elliott Hughes [Fri, 6 May 2016 19:49:08 +0000 (12:49 -0700)]
Regenerate generated files.
Change-Id: I781e947ca3cf323262b0acb4269727357d7f9347
Elliott Hughes [Fri, 6 May 2016 18:06:20 +0000 (11:06 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Alistair Strachan [Thu, 5 May 2016 23:11:35 +0000 (16:11 -0700)]
Fix static linkage of toybox binary.
If toybox was compiled statically e.g. for use in a recovery ramdisk,
it would not build after
b66a29a. This is because libselinux already
exports a selinux_log_callback() function which getprop.c is trying
to override.
This change simply makes the second symbol static, since it is only
used in a function table so we do not actually need to export it
from toybox.
Change-Id: I603258877ae2286660df35738bbf4f4285df5b54
Signed-off-by: Alistair Strachan <alistair.strachan@imgtec.com>
Elliott Hughes [Thu, 5 May 2016 17:27:56 +0000 (10:27 -0700)]
Add top -H.
Also enable the same behavior we have with ps, where adding a thread-related
field implies that you're interested in threads.
Also clean up the help text slightly --- we're still not including the
TOP_COMMON help, but at least when we do, we'll have each option covered with
no duplicates.
Elliott Hughes [Thu, 5 May 2016 16:23:07 +0000 (09:23 -0700)]
Android roadmap update.
I removed iftop a while back but didn't remove it everywhere in the
documentation. I switched over to toybox ps yesterday.
Elliott Hughes [Thu, 5 May 2016 16:34:17 +0000 (09:34 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Thu, 5 May 2016 01:25:41 +0000 (18:25 -0700)]
"top -b -n1" should end with a newline.
The use of TT.time to determine whether to use \r or \n is a little odd,
but let's stick with that for now. Correct the spelling of millitime and
add a test.
Rob Landley [Wed, 4 May 2016 23:43:19 +0000 (18:43 -0500)]
Elliott says -T should fetch threads even when not displaying thread fields.
Rob Landley [Wed, 4 May 2016 23:37:50 +0000 (18:37 -0500)]
Simplify ps android scheduling policy fetch slightly.
Elliott Hughes [Wed, 4 May 2016 22:18:27 +0000 (15:18 -0700)]
Switch to toybox ps.
Change-Id: I1f0307a8c9511d02a173555b92ebd0f83df229c9
Elliott Hughes [Wed, 4 May 2016 20:42:18 +0000 (13:42 -0700)]
Regenerate generated files.
Change-Id: I8d1590a61a7339f65cd1bdf28601f85768563b57
Elliott Hughes [Wed, 4 May 2016 20:36:49 +0000 (13:36 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Wed, 4 May 2016 10:14:35 +0000 (05:14 -0500)]
Hostname cleanup, as described on the list.
Paul Barker [Sun, 1 May 2016 14:42:57 +0000 (15:42 +0100)]
Add -b and -F arguments to hostname
These arguments are required to correctly set the hostname at boot time. They
are used by the '/etc/init.d/hostname.sh' init script in an OpenEmbedded system.
Rob Landley [Mon, 2 May 2016 23:59:57 +0000 (18:59 -0500)]
Fluff up README.
Elliott Hughes [Sat, 30 Apr 2016 01:04:20 +0000 (18:04 -0700)]
Add a ps "PCY" field for Android scheduling policy.
Elliott Hughes [Sat, 30 Apr 2016 16:52:51 +0000 (09:52 -0700)]
Regenerate generated files.
Change-Id: Id500eb735af13344c65dfce96f37199e65d4fe53
Elliott Hughes [Sat, 30 Apr 2016 16:26:12 +0000 (09:26 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Sat, 30 Apr 2016 00:45:18 +0000 (19:45 -0500)]
First guess at showing thread names properly.
Elliott Hughes [Fri, 29 Apr 2016 21:04:40 +0000 (14:04 -0700)]
Show "-" rather 0 if we don't know whether a process is 32- or 64-bit.
Elliott Hughes [Fri, 29 Apr 2016 20:44:01 +0000 (13:44 -0700)]
Fix ps -O help output alignment.
Elliott Hughes [Fri, 29 Apr 2016 21:10:40 +0000 (14:10 -0700)]
Regenerate generated files.
Change-Id: Ifbb9056f6fa700c3426012d4ec6c43b70a4947c4
Elliott Hughes [Fri, 29 Apr 2016 18:57:24 +0000 (11:57 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Mon, 25 Apr 2016 22:46:26 +0000 (17:46 -0500)]
ps thread supportand 32/64 bit detection.
Add ps -o BIT,TID,TCNT, and make -T display "PID,TID" for default output types
(adding TCNT to -f)
Rob Landley [Mon, 25 Apr 2016 05:55:01 +0000 (00:55 -0500)]
Fix find bug reported by Tom Marshall, add test for it, and while we're at it
fix two tests looking for a too-specific error message (so TEST_HOST failed).
Rob Landley [Sun, 24 Apr 2016 19:30:31 +0000 (14:30 -0500)]
Add "infrastructure in search of a user" to cleanup.html.
Elliott Hughes [Sun, 24 Apr 2016 16:19:49 +0000 (09:19 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Sat, 23 Apr 2016 21:20:38 +0000 (14:20 -0700)]
Add the non-tty more(1) test.
(This was supposed to be in the earlier patch, but I was fooled by
"git commit -a" yet again...)
Elliott Hughes [Fri, 22 Apr 2016 01:18:05 +0000 (18:18 -0700)]
Fix more to not append an extra newline.
More's sigatexit handler needs to distinguish between normal exit and exit
due to receipt of a signal.
Change tty_sigreset to look at the signal number too, so that pressing 'q'
to exit top doesn't cause its exit status to be 128.
Elliott Hughes [Fri, 22 Apr 2016 00:41:40 +0000 (17:41 -0700)]
Fix more to a non-tty.
And add a test.
Rob Landley [Sat, 23 Apr 2016 10:26:17 +0000 (05:26 -0500)]
Remove inappropriate bzip tests (we're not comparing with random "host version")
replace with testing 2 known files out of blkid tests, and add badcrc test.
Rob Landley [Sat, 23 Apr 2016 10:04:37 +0000 (05:04 -0500)]
Fiz bzcat segfault reported by John Regehr (bad crc didn't set error message).
Rob Landley [Sat, 23 Apr 2016 00:08:56 +0000 (19:08 -0500)]
Allow EVAL= to run test under a different shell (for sh.test)
Elliott Hughes [Fri, 22 Apr 2016 15:34:27 +0000 (08:34 -0700)]
Regenerate generated files.
Change-Id: I2557e28527c58f25c814a961c003371b1a3214fc
Rob Landley [Thu, 21 Apr 2016 22:46:25 +0000 (17:46 -0500)]
Have dirtree_recurse() take the new dirfd as an argument.
Davis Mosenkovs [Wed, 20 Apr 2016 21:44:13 +0000 (14:44 -0700)]
Fix touch -t seconds parsing
Elliott Hughes [Thu, 21 Apr 2016 01:22:50 +0000 (18:22 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Rob Landley [Wed, 20 Apr 2016 06:56:10 +0000 (01:56 -0500)]
Start of shell tests: $(()) and $'' expansion.
Rob Landley [Wed, 20 Apr 2016 05:47:05 +0000 (00:47 -0500)]
Replace list_working with just list, "make list list_pending" shows combined list.
Rob Landley [Wed, 20 Apr 2016 04:03:12 +0000 (23:03 -0500)]
ps and top are implemented from the android todo. Record enh's wishlist items.
Rob Landley [Sun, 17 Apr 2016 21:34:47 +0000 (16:34 -0500)]
Dust off toysh, remove ancient config debris, add start of prompt logic.
Elliott Hughes [Sat, 16 Apr 2016 15:19:23 +0000 (08:19 -0700)]
Fix tail -NUM again.
This time with a test.
Elliott Hughes [Sat, 16 Apr 2016 01:48:12 +0000 (18:48 -0700)]
Fix "ssh top".
The ps.c change allows us to start. The interestingtimes.c change allows
us to clean up properly afterwards if you ^C out (which you usually do).
Tested with both ssh and "adb shell" (the latter being where I noticed
the problem).
Elliott Hughes [Sat, 16 Apr 2016 01:38:53 +0000 (18:38 -0700)]
Fix top -b.
Batch mode should never output terminal escape sequences, should ignore
the keyboard, and should include a gap between datasets.
Rob Landley [Sat, 16 Apr 2016 19:03:36 +0000 (14:03 -0500)]
Rename gratuitous references to Roger Zelazny's amber series, add comments.
Elliott Hughes [Fri, 15 Apr 2016 18:57:05 +0000 (11:57 -0700)]
Stop creating a symlink for route.
We should remove the "route" command because its output is irrelevant and
misleading. This is because it only looks at the "main" routing table,
which is a last resort routing table that is a) trumped by all other
networks, b) empty except for directly-connected routes c) cannot even be
used by non-root users.
The proper way to understand device routing is to look at the output of
"ip rule" and "ip route", both of which are already available.
Example of how this is confusing:
$ adb shell route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
160.249.218.72 * 255.255.255.248 U 0 0 0 rmnet_data0
192.168.144.0 * 255.255.240.0 U 0 0 0 wlan0
These aren't guaranteed to be used. For example, according to the output
above 160.249.218.73 should go through rmnet_data0, but it doesn't:
$ adb shell ip route get 160.249.218.73
160.249.218.73 via 192.168.159.254 dev wlan0 src 192.168.159.164 uid 0
cache
Also, there is no default route. But the device has networking just fine:
$ adb shell ip route get 8.8.8.8
8.8.8.8 via 192.168.159.254 dev wlan0 src 192.168.159.164 uid 0
cache
This is a first step. If no device breaks, I'll stop building it too. In the
meantime, it's still available as "toybox route".
Bug: http://b/
27603033
Change-Id: Ie444bfa9083e1f11b332d5d050a07cec48436e11
Andy Chu [Sun, 20 Mar 2016 06:11:30 +0000 (23:11 -0700)]
Fix a buffer overflow in diff -r.
We were doing two 32-byte memset()s instead of two 16-byte memset()s.
'dir' referred to the instance (array of 2) and not the struct type.
Add some test coverage for diff, including a case that hit this bug.
The bug was found by running cp.test under AddressSanitizer, since it
happens to use diff.
Rob Landley [Fri, 15 Apr 2016 02:00:54 +0000 (21:00 -0500)]
Andy Chu pointed out an out of bounds access for zero length lines.
While we're at it, use unsigned for the line length.
Rob Landley [Mon, 11 Apr 2016 16:32:36 +0000 (11:32 -0500)]
sed -f - should read from stdin.
Rob Landley [Sun, 10 Apr 2016 19:35:51 +0000 (14:35 -0500)]
Didn't check in all my local basename_r->getbasename changes. (Oops.)
Rob Landley [Sat, 9 Apr 2016 16:04:16 +0000 (11:04 -0500)]
Jakob Flierl pointed out a broken URL in the README.
Rob Landley [Fri, 8 Apr 2016 23:25:59 +0000 (18:25 -0500)]
Redefining basename_r to mean something random seems popular (bionic and freebsd
both did it) so use getbasename instead.
Elliott Hughes [Wed, 30 Mar 2016 17:22:06 +0000 (10:22 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Wed, 30 Mar 2016 17:20:45 +0000 (10:20 -0700)]
Regenerate generated files.
Change-Id: I5323d381d9dd2e10c90fc10d16ef21dbffdd716b