Rob Landley [Mon, 18 May 2015 18:33:36 +0000 (13:33 -0500)]
Recent commit broke ls -R (test reversed), and "ls -R singledir" should
show label: at the start (yes, even "ls -R" in an empty dir).
Rob Landley [Mon, 18 May 2015 07:00:43 +0000 (02:00 -0500)]
More ls -Z upgrading. Move TOYBOX_SELINUX and TOYBOX_SMACK support from
portability.h to new lib/lsm.h. Update ls.c to use it.
Fix "ls . toys" (two directories when one is . or ..), which was filtering
out the . as something we shouldn't recurse into even though it was explicitly
listed on the command line. For some reason "ls -Z . toys" is still segfaulting
though (but "ls -Z ." isn't), need to figure out why...
José Bollo [Wed, 6 May 2015 12:57:51 +0000 (14:57 +0200)]
stat: fix group name
Change-Id: I0ad65a40bf380d789c4396ebdc01be217901a2e3
Rob Landley [Thu, 14 May 2015 18:48:55 +0000 (13:48 -0500)]
Bugfix from Hyejin Kim: su should not prompt root user for new user's password.
Rob Landley [Thu, 14 May 2015 18:43:01 +0000 (13:43 -0500)]
Promote reset (actually write a new one using the simple man 4 console_codes
terminal reset escape sequence) and add gettty() function to lib so terminal
gets reset even when we redirect stdout/stderr. (This is apparently the
expected behavior.)
Rob Landley [Wed, 13 May 2015 06:34:01 +0000 (01:34 -0500)]
Print name of file at the bottom of the screen.
And yes, I tested $PWD/私はガラスを食べられま す。それは私を傷つけません。
as a name and made it work. If you throw newlines or ascii escapes in the
name it'll use the fancy printing logic for chars, otherwise it does the
full utf8 fontmetrics deal.
Rob Landley [Wed, 13 May 2015 05:22:26 +0000 (00:22 -0500)]
More hexedit cursor boundary tweaking.
Rob Landley [Wed, 13 May 2015 05:04:50 +0000 (00:04 -0500)]
Fix bug (len[7] wasn't zeroed if -Z off, thus -C overestimated entry lengths),
and some cleanups while I was there.
Rob Landley [Tue, 12 May 2015 18:24:26 +0000 (13:24 -0500)]
Set the executable bits on all the *.test files. (Wasn't consistent, is now.)
Rob Landley [Sun, 10 May 2015 23:56:49 +0000 (18:56 -0500)]
Git hates me.
Rob Landley [Sun, 10 May 2015 05:21:42 +0000 (00:21 -0500)]
Cleanups of dirtree_start() calls. (Don't need to feed in flag values, just
symfollow true/false.)
Rob Landley [Sat, 9 May 2015 23:11:22 +0000 (18:11 -0500)]
Add DIRTREE_SHUTUP to disable dirtree warnings if file vanishes out from
under traversal. Pass through full flag set in dirtree_add_node(), add
dirtree_start() wrapper to provide symlink-only behavior (avoiding a lot
of DIRTREE_SYMFOLLOW*!!(logic) repeated in callers).
Rob Landley [Sat, 9 May 2015 22:07:22 +0000 (17:07 -0500)]
Probe for -Wno-string-plus-int.
LLVM has its own nuts warnings about things that aren't wrong, but disabling
them with the relevant -Wno-* warning disabling command line option drives
gcc nuts because it's a command line option it doesn't recognize. (gcc 4.2.1
dies with an error. gcc 4.6 warns about it _only_ if it's warning about
something else. (PICK ONE, either you warn about this or you don't, distract
people from actual problems with noise about something clearly unrelated to
what just changed is extra-stupid.)
So just probe for it, and add the flag only if it doesn't complain about it
while we're producing an unrelated warning.
Rob Landley [Sat, 9 May 2015 01:20:29 +0000 (20:20 -0500)]
Move not-curses code into interstingtimes.c
Elliott Hughes [Wed, 6 May 2015 21:39:12 +0000 (16:39 -0500)]
Fix more with missing files.
Previously we'd go into an infinite loop because we weren't
incrementing optargs.
Also add a missing flush so an error on stderr won't overtake the
escape code that resets reverse video.
Disclaimer: the new behavior isn't exactly like the desktop version;
surprisingly they try to open the next file _before_ they prompt. That
feels weird to me as a user, and seems like it would lead to a more
awkward implementation, but if you're more concerned about
authenticity...
Rob Landley [Wed, 6 May 2015 21:21:19 +0000 (16:21 -0500)]
Re-enable catv command now that flag infrastructure is updated.
Elliott Hughes [Mon, 4 May 2015 17:56:16 +0000 (12:56 -0500)]
Implement SELinux ls -Z support.
This patch uses lgetfilecon rather than fgetfilecon because
dirtree_parentfd always seems to return -1 in this function. If/when
the SMACK code is fixed to work with dirtree_parentfd, I'll send a
matching patch for SELinux.
In the meantime, this works, and although ls -h is still on my to-do
list, I think this patch is sufficient to let us replace toolbox ls
with toybox ls.
Rob Landley [Mon, 4 May 2015 01:18:53 +0000 (20:18 -0500)]
Replace android-specific hack with just signal(SIGPIPE, SIG_IGN).
Rob Landley [Mon, 4 May 2015 01:15:52 +0000 (20:15 -0500)]
Yank smack from singleconfig.
Need to come up with a better solution to this, but the problem is that
single.sh's symbol enabling isn't dependency aware, and "silentoldconfig"
prompts. I suspect the better solution is "write a kconfig replacement".
Elliott Hughes [Sun, 3 May 2015 21:25:09 +0000 (16:25 -0500)]
Fix dmesg -c error output.
Use perror_exit to show the likely "Operation not permitted" if klogctl fails.
Rob Landley [Sun, 3 May 2015 21:20:27 +0000 (16:20 -0500)]
Move a prototype to the start of portability.h (suggested by Elliott Hughes)
Hyejin Kim [Sun, 3 May 2015 20:53:37 +0000 (15:53 -0500)]
dhcpd writes leases on "dhcpd.leases" file.
but, dumpleases read from "udhcpd.leases".
Elliott Hughes [Sun, 3 May 2015 20:31:41 +0000 (15:31 -0500)]
Fix getprop sorting and error reporting.
Use qstrcmp instead of alphasort (which expects struct dirent arguments).
Don't use perror_exit because property_list doesn't set errno.
Rob Landley [Sun, 3 May 2015 20:13:41 +0000 (15:13 -0500)]
Minor dmesg cleanup.
Rob Landley [Sun, 3 May 2015 17:41:05 +0000 (12:41 -0500)]
If a shortopt is configured out right before a bare longopt, the option parsing infrastructure segfaults because there's no next shortopt but the list isn't empty. (There was a test for this, but we're simultaneously traversing two lists and it was testing the wrong one.)
Mark Salyzyn [Sat, 2 May 2015 22:41:27 +0000 (17:41 -0500)]
dmesg: add -t suppress timestamp flag
Rob Landley [Fri, 1 May 2015 19:40:49 +0000 (14:40 -0500)]
Portability bits for the recent ls smack changes.
Rob Landley [Thu, 30 Apr 2015 21:51:50 +0000 (16:51 -0500)]
More ls cleanups from squinting at Jose's most recent smack patch.
Behavior change in flags: allow -long to work together, and -l1 work like -l
not -1.
I didn't make ls -gCl remember the g, though. (Because -Cg and -gC take
the last one: I'll preserve explicit state but not implicit state. And if
-1Cl and -lC1 aren't going to behave the same, it wasn't consistent anyway.)
Rob Landley [Thu, 30 Apr 2015 20:11:34 +0000 (15:11 -0500)]
Add default sigpipe handler for android (as suggested by Elliott Hughes).
Rob Landley [Thu, 30 Apr 2015 19:18:47 +0000 (14:18 -0500)]
And remove the header part too.
Rob Landley [Thu, 30 Apr 2015 19:02:34 +0000 (14:02 -0500)]
Wild guess at cleaning up smack support. Don't have a test environment yet.
Rob Landley [Thu, 30 Apr 2015 19:01:35 +0000 (14:01 -0500)]
Remove redundant numlen.
Jan Cybulski [Mon, 20 Oct 2014 13:26:12 +0000 (15:26 +0200)]
ls: Add -Z (Smack) option
Option triggers printing security context,
for smack that is file's access smack label.
Change-Id: I9054d9bcfe4d149e8fbfa0831b6ab50165d2bd91
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
Signed-off-by: José Bollo <jose.bollo@open.eurogiciel.org>
Rob Landley [Tue, 28 Apr 2015 17:18:17 +0000 (12:18 -0500)]
Fix truncate prefix bug and add truncate test suite entry.
Rob Landley [Tue, 28 Apr 2015 16:45:13 +0000 (11:45 -0500)]
Add prefix support Hyejin Kim asked about.
Rob Landley [Mon, 27 Apr 2015 23:56:11 +0000 (18:56 -0500)]
Fix ls -s and -i indentation in -C and -x modes. (Spotted by Jan Cybulski.)
Rob Landley [Mon, 27 Apr 2015 16:14:46 +0000 (11:14 -0500)]
Promote hexedit to other.
Rob Landley [Mon, 27 Apr 2015 16:13:19 +0000 (11:13 -0500)]
Some infrastructure hexedit needs. (Poor man's curses.)
Rob Landley [Mon, 27 Apr 2015 16:08:40 +0000 (11:08 -0500)]
Teach hexedit to actually edit. Add -r option for read only mode.
Rob Landley [Sat, 25 Apr 2015 20:52:59 +0000 (15:52 -0500)]
Fix display and cursor control (to respect bottom boundary).
No actual editing yet.
Rob Landley [Fri, 24 Apr 2015 22:09:51 +0000 (17:09 -0500)]
Too tired on the flight back from Japan to work on thinky stuff, so...
Rob Landley [Tue, 21 Apr 2015 06:45:07 +0000 (01:45 -0500)]
Bugfix from Hyejin Kim (count=1 shouldn't change name), plus a bounds check.
Test is 'echo "AAA c 1 0 0 2 5 0 0 1" | makedevs' makes AAA not AAA0.
Rob Landley [Tue, 21 Apr 2015 01:59:00 +0000 (20:59 -0500)]
Switch setprop to use TOYBOX_ON_ANDROID and fix getprop include.
(I commented out the android-only #include in getprop to do what compile
testing I could, and then forgot to uncomment it.)
Rob Landley [Mon, 20 Apr 2015 02:50:51 +0000 (21:50 -0500)]
Cleanup getprop, add qstrcmp() to lib for qsort (because posix-2008 broke
alphasort), add compile-time probe for config symbol TOYBOX_ON_ANDROID.
Isaac Dunham [Sat, 18 Apr 2015 18:25:06 +0000 (18:25 +0000)]
mdev: implement hotplug support.
Use DEVPATH, DEVNAME, MAJOR, MINOR, and SUBSYSTEM instead of
checking the current path and reading .../dev.
While we're here, probe for partitions in block devices.
This uses a very lame check for ACTION (which can be add, remove,
or change): if it is "remove", then unlink the device.
Rob Landley [Sun, 19 Apr 2015 05:15:46 +0000 (00:15 -0500)]
Roadmap update, mostly from enh with a few other pending bits mixed in.
Rob Landley [Sun, 19 Apr 2015 01:28:15 +0000 (20:28 -0500)]
Android getprop and setprop from Elliott Hughes.
Xavier Roche [Sat, 18 Apr 2015 01:18:30 +0000 (20:18 -0500)]
Link against libattr and libsmack.
Elliott Hughes [Fri, 17 Apr 2015 07:52:11 +0000 (02:52 -0500)]
Fix a trivial typo in www/about.html.
Sticky shift key...
Rob Landley [Fri, 17 Apr 2015 07:46:11 +0000 (02:46 -0500)]
Make toybox --version use the "git describe" info if it's available.
Elliott Hughes [Fri, 17 Apr 2015 02:21:02 +0000 (21:21 -0500)]
terminal_size should use LINES, not ROWS.
The shell's pseudo-variable is called LINES. This is true of at least
bash and mksh.
Rob Landley [Fri, 17 Apr 2015 01:10:23 +0000 (20:10 -0500)]
Shout from the rooftops that pending is not like other directories.
Rob Landley [Thu, 16 Apr 2015 01:53:00 +0000 (20:53 -0500)]
Put SELINUX in a a menu, and add config option for SMACK.
Rob Landley [Wed, 15 Apr 2015 00:37:55 +0000 (19:37 -0500)]
Yet more ps work. Still not there yet.
Samuel Holland [Sun, 12 Apr 2015 21:00:16 +0000 (16:00 -0500)]
unshare: fix -r
Calling unshare(2) immediately puts us in the new namespace
with the "overflow" user and group ID. By calling geteuid()
and getegid() in handle_r() after calling unshare(), we try
to map that to root, which Linux refuses to let us do.
What we really want to map to root is the caller's uid/gid
in the original namespace. So we have to save them before
calling unshare().
Rob Landley [Sun, 12 Apr 2015 11:17:11 +0000 (06:17 -0500)]
Before trying to remount read only, see if block device responds to "become rw"
ioctl(). (This is a thing Android's old mount already does.)
Elliott Hughes [Tue, 7 Apr 2015 21:07:46 +0000 (14:07 -0700)]
Implement Android restorecon.
On Android, much of the restorecon logic is in libselinux, so this
isn't portable. We do want to be able to build on the host for
testing *other* toys, though, so #if keeps this building.
Change-Id: Ida5a6713a926140c549d5770d62798f4aedca748
Elliott Hughes [Tue, 7 Apr 2015 20:11:55 +0000 (13:11 -0700)]
Fix load_policy error reporting.
Also switch to xopen for O_CLOEXEC paranoia and to avoid a conditional.
Change-Id: Iee5c4c124bcac800313f586768ffcaade542bd22
Elliott Hughes [Tue, 7 Apr 2015 20:08:51 +0000 (13:08 -0700)]
getenforce takes no arguments.
Change-Id: Icbee1df8b316039c68ef326f9d4d80f32c603b21
Elliott Hughes [Tue, 7 Apr 2015 20:07:47 +0000 (13:07 -0700)]
setenforce takes exactly one argument.
Change-Id: I83c478ea9ddd456c61e3f0f99506a1028a7027a1
Elliott Hughes [Fri, 10 Apr 2015 22:04:28 +0000 (17:04 -0500)]
Make more(1) usable.
> Yes, I know, "don't use pending". Sadly, more(1) is pretty useless
> without this. It gets confused by long lines or tabs.
>
> This patch also adds the missing prompt between multiple files.
actually, it looks like we're already hard-coding some escape
sequences? more(1) doesn't need anything that isn't in ANSI, so here's
an alternative patch that fixes the same bugs as the other patch but
also has a reverse-video prompt:
Elliott Hughes [Fri, 10 Apr 2015 21:57:54 +0000 (16:57 -0500)]
Update www/roadmap.html with Android progress.
Not much progress this week. Just route and umount.
Also remove a stray reference to load_policy which already switched.
Also remove an outdated claim that Android logging is done in the
kernel. It's been in userspace for a while now.
Rob Landley [Fri, 10 Apr 2015 05:14:56 +0000 (00:14 -0500)]
Tweak .gitignore.
Rob Landley [Tue, 7 Apr 2015 19:59:32 +0000 (14:59 -0500)]
Tweak README
Rob Landley [Tue, 7 Apr 2015 19:57:55 +0000 (14:57 -0500)]
Update multiplexer help text for --version
Rob Landley [Wed, 8 Apr 2015 09:20:31 +0000 (04:20 -0500)]
Revert last mdev commit because it copied code out of a GPLv2 program.
Guys, you CANNOT COPY CODE FROM BUSYBOX. I don't care if I was the initial
author of that file, other people have touched it since.
I know I added "pending" because I couldn't keep up with code review in
realtime and stuff was getting lost, so we needed a place to park things
before they underwent the full dorodango process. I also know none of the
binaries I distribute has anything in pending enabled. But dude, if I'm going
to find stuff like this I have to start reviewing the code BEFORE applying
it to pending, and we all know where that leads.
Please don't do this again.
Rob Landley [Tue, 7 Apr 2015 16:54:36 +0000 (11:54 -0500)]
Adding --version broke ./toybox command list. (Oops.)
Rob Landley [Mon, 6 Apr 2015 01:00:33 +0000 (20:00 -0500)]
Announce switch to git.
Rob Landley [Mon, 6 Apr 2015 00:23:36 +0000 (19:23 -0500)]
Add --version to multiplexer.
Can't think of a better place to stick the actual version info than a #define
at the top of main. Makefile and toys.h are equally awkward, querying git
tags wouldn't work if building a release tarball... watch me forget to update
this when cutting a release.
Rob Landley [Mon, 6 Apr 2015 00:21:39 +0000 (19:21 -0500)]
Bite the bullet and switch over to git.
Paul Barker [Sat, 4 Apr 2015 16:58:06 +0000 (11:58 -0500)]
To ensure that toybox can be installed alongside busybox without
confusing update-alternatives, the paths of the links installed by toybox should
match those installed by busybox. This is accomplished by changing the flags
of a few tools within toybox.
Rob Landley [Sat, 4 Apr 2015 06:26:58 +0000 (01:26 -0500)]
Another in-progress ps snapshot.
Rob Landley [Fri, 3 Apr 2015 16:49:31 +0000 (11:49 -0500)]
Add readfileat() to lib
Rob Landley [Fri, 3 Apr 2015 16:46:44 +0000 (11:46 -0500)]
ps checkpoint du jour. Does not work yet.
Rob Landley [Thu, 2 Apr 2015 20:07:36 +0000 (15:07 -0500)]
Redoing ps from scratch. Random checkpoint that probably doesn't even compile.
Checking in a stopping point where I figured out what I did wrong, before changing it.
Rob Landley [Sun, 29 Mar 2015 17:03:46 +0000 (12:03 -0500)]
Add head test for -123.
Rob Landley [Sun, 29 Mar 2015 17:01:30 +0000 (12:01 -0500)]
Fix head bug pointed out by felix janda (recent -123 code broke first file argument of -n).
Rob Landley [Sun, 29 Mar 2015 01:21:03 +0000 (20:21 -0500)]
Fix sed bug David Halls hit trying to compile libiconv.
Rob Landley [Sat, 28 Mar 2015 18:22:27 +0000 (13:22 -0500)]
Fix printf bug (%.s should be %.0s not %s) reported by Isabella Parakiss.
Elliott Hughes [Sat, 28 Mar 2015 18:13:42 +0000 (13:13 -0500)]
Fix an obvious typo in Makefile.
Elliott Hughes [Sat, 28 Mar 2015 07:53:08 +0000 (02:53 -0500)]
update the Android section of roadmap.html
Four obsolete tools were removed from Android, and runcon moved to toybox.
Rob Landley [Sat, 28 Mar 2015 03:03:13 +0000 (22:03 -0500)]
Promote setenforce to android.
Rob Landley [Sat, 28 Mar 2015 03:00:17 +0000 (22:00 -0500)]
Cleanup setenforce.
Rob Landley [Sat, 28 Mar 2015 02:54:58 +0000 (21:54 -0500)]
Promote getenforce.
Rob Landley [Sat, 28 Mar 2015 02:52:24 +0000 (21:52 -0500)]
Cleanup getenforce.
Rob Landley [Sat, 28 Mar 2015 02:41:14 +0000 (21:41 -0500)]
Flag to make llvm shut up about a broken warning.
Rob Landley [Sat, 28 Mar 2015 02:25:44 +0000 (21:25 -0500)]
tail: add old -123 support and comment out #-f until it's actually implemented.
Rob Landley [Sat, 28 Mar 2015 01:50:28 +0000 (20:50 -0500)]
Promote load_policy to android.
Rob Landley [Sat, 28 Mar 2015 01:48:12 +0000 (20:48 -0500)]
Minor cleanup of load_policy.
Rob Landley [Thu, 26 Mar 2015 18:25:20 +0000 (13:25 -0500)]
Explain the craptacular nature of kconfig, and the plan to replace it.
Bernhard Rosenkr?nzer [Wed, 25 Mar 2015 18:46:34 +0000 (13:46 -0500)]
Fix toybox build with C99 compilers
toybox "make menuconfig" currently fails to build if the compiler is in C99
mode (clang 3.6 and gcc 5.0 snapshots default to C99 mode, you can also
reproduce the failure with older gcc by using 'make menuconfig HOSTCC="gcc
-std=gnu99"').
The problem is that inline semantics changed in C99, and kconf_id_lookup's
inline-ness depends on C89 semantics there.
Elliott Hughes [Tue, 24 Mar 2015 19:17:03 +0000 (14:17 -0500)]
Implement load_policy.
Note that this is a case where Android's tool isn't the same as the
usual tool. Ours takes an explicit file containing the policy to be
loaded. restorecon is at least command-line compatible, but the
implementation is all in Android's libselinux where there's a
selinux_android_restorecon function.
Rob Landley [Mon, 23 Mar 2015 18:45:47 +0000 (13:45 -0500)]
Promote runcon to android (and add an android menu).
Rob Landley [Mon, 23 Mar 2015 18:09:48 +0000 (13:09 -0500)]
Trivial runcon cleanups.
Elliott Hughes [Mon, 23 Mar 2015 17:46:20 +0000 (12:46 -0500)]
Add runcon(1).
Elliott Hughes [Mon, 23 Mar 2015 17:39:05 +0000 (12:39 -0500)]
add missing space in dd output
Also, coreutils says "s" instead of "seconds". POSIX specifies the
format of the previous two lines, but doesn't even mention this line.
Rob Landley [Mon, 23 Mar 2015 16:49:58 +0000 (11:49 -0500)]
Tweak of Elliott Hughes's fix for an off by one error in human_readable
(137 returned "137 KB".)
Elliott Hughes [Mon, 23 Mar 2015 16:44:56 +0000 (11:44 -0500)]
Update the Android section of the roadmap.
I've removed the reference to fs_mgr, since that's really part of vold
rather than a subset of mount(1), and I've removed the reference to
ifconfig because we're already using the toybox ifconfig and the
reference in this document to the Android command that it referred to
(netcfg) was already removed.
Rob Landley [Sat, 21 Mar 2015 22:15:09 +0000 (17:15 -0500)]
Another bug from David Halls: find -exec wasn't consuming its argument when it didn't activate.
test: find . -name README -exec echo one '{}' ';' -or -exec echo two '{}' ';'
Rob Landley [Sat, 21 Mar 2015 20:49:38 +0000 (15:49 -0500)]
install -D bugfix from David Halls.
(I tweaked some comment text while I was there.)