summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-08-12Merge remote-tracking branch 'toybox/master' into upstreamupstreamHyejin Kim45-424/+1286
2015-08-11Fix more date bugs.Elliott Hughes2-24/+43
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.
2015-08-11Bugfixes from Elliott Hughes: debug code got checked in (oops) andRob Landley1-3/+2
uninitialized trash in struct tm fields could segfault glibc's strftime().
2015-08-08Different tools have different ideas about what human-readable outputElliott Hughes4-7/+9
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.
2015-08-08First pass at proper bunzip2 command line handling.Rob Landley2-12/+83
2015-08-08Fix ls -l user/group field ordering.Elliott Hughes1-6/+7
It's user then group, not the other way round.
2015-08-08More Android roadmap updates.Elliott Hughes1-10/+4
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.)
2015-08-08login: execl() requires a path, not a file nameIsaac Dunham1-2/+2
2015-08-08Isaac Dunham pointed out that SIGINT's handler was set twice in init.c.Rob Landley1-1/+0
2015-08-08scripts/mkflags.c: add missing unistd.h, ctype.hIsaac Dunham1-0/+2
2015-08-08modprobe: use -q to silenceIsaac Dunham1-2/+3
2015-08-08modprobe: use basename_r()Isaac Dunham1-4/+2
2015-08-08modprobe: delete perror_exit() that makes no senseIsaac Dunham1-1/+0
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.
2015-08-08Fix switch_root implementation.Alistair Strachan1-1/+24
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.
2015-08-08Teach date @unixtime[.fraction], switch -s to be -D (matching busybox andRob Landley1-45/+70
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.)
2015-08-08Reject invalid dates in date(1).Elliott Hughes2-2/+30
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).
2015-08-06Detect swap partitions, inline loop_partitions(), various cleanups.Rob Landley1-29/+24
2015-08-06Initialize uninitialized variable. (Oops.)Rob Landley1-0/+2
2015-08-06Adjust xexec() exit code to be 127, and tweaks for nommu friendliness.Rob Landley1-3/+6
2015-08-06Make multiplexer's "command not found" exit 127.Rob Landley1-1/+4
Somebody (carsonh on freenode) objected that they were running something like "toybox test 1 == 2" and couldn't distinguish the test failing from toybox not having the test command. Why they were running toybox out of the multiplexer instead of having a test symlink in the $PATH, I couldn't tell you. (Is "I know toybox is on this system, but don't know how it was configured" a problem people actually have?) *shrug* They care about it more than I do, so now you can't distinguish between the multiplexer not being found and the command the multiplexer tried to run not being found. Progress!
2015-08-05I've added support for running blkid without specifying a partition (so it ↵Dima Krasner1-4/+29
scans /proc/partitions).
2015-08-05Minor tweak of reboot.cRob Landley1-6/+5
2015-08-05reboot: signal init, add -f option to call reboot();Isaac Dunham2-8/+15
init: use SIGINT, use xsignal() Now that oneit supports the same signals as our "sysv"-init for shutdown, make reboot et al. signal pid 1 with the appropriate signal. Of these signals, only SIGINT works with sysvinit 2.88, causing a reboot. The others are only supported in Busybox init. Also, make init accept SIGINT and use xsignal().
2015-08-05Cosmetic tweak: newline at the end of "make change".Rob Landley1-0/+1
2015-08-05Switch nbd_client to xconnect() and make xconnect() try all returned addressesRob Landley2-20/+11
before failing.
2015-08-05Tweak xconnect: socket can be a string (ala "ftp") from /etc/services.Rob Landley3-9/+7
Still need a rethink on how to handle socket/bind/connect sequence.
2015-08-03Factor out xconnect(), plus some other small cleanups to telnet.c.Rob Landley3-40/+35
2015-08-02Mark command-local functions static.Rob Landley15-24/+21
2015-08-02Long-overdue cleanup on login.Rob Landley1-152/+94
Only tested that it compiled so far.
2015-08-01Replace xcheckrange() with atolx_range()Rob Landley1-10/+2
2015-08-01Move strlower() from find to lib.Rob Landley3-35/+36
2015-08-01'!' replaces '/' in the sysfs paths of older drivers, so properlyIsaac Dunham1-16/+17
reverse that to get correct paths. While we're here, reduce the duplication of initialization. While this is enough for some drivers, it won't get 'input/' stuff in the right folder.
2015-07-31Whitespace.Rob Landley1-1/+1
2015-07-31Check in the note about rebuilding the source tarball.Rob Landley1-0/+7
2015-07-24Promote fsync.Rob Landley1-3/+4
2015-07-24Promote hostid.Rob Landley1-1/+1
2015-07-24Attached are new toys.Sameer Pradhan3-0/+509
tftp - Client for tftp daemon. hostid -Print the numeric identifier for the current host. fsync -Synchronize a file's in-core state with storage device.
2015-07-20Release notes for 0.6.0.upstream/0.6.0Rob Landley1-23/+255
2015-07-20Fix llvm build break.Rob Landley1-1/+1
2015-07-19Tweak version number.Rob Landley1-1/+1
2015-07-16Merge branch from toybox/masterHyejin Kim205-2917/+6675
Conflicts: both modified: lib/portability.c both modified: lib/portability.h both modified: scripts/genconfig.sh both modified: scripts/runtest.sh both added: tests/sed.test both modified: toys/other/acpi.c both modified: toys/other/ifconfig.c deleted by them: toys/other/unshare.c both added: toys/pending/hwclock.c both modified: toys/pending/ip.c deleted by them: toys/pending/sed.c both modified: toys/posix/chgrp.c both modified: toys/posix/cp.c both modified: toys/posix/id.c both modified: toys/posix/ls.c Change-Id: Ib36c5267ec054a5683ca37da2383d83b3cb1b5b4 Signed-off-by: Hyejin Kim <hyejin0906.kim@samsung.com>
2015-07-13Produce an error message for "cat /mnt", not just return code.Rob Landley1-1/+4
2015-07-12Commit rss feed.Rob Landley1-0/+1
2015-07-11Fix 32-bit bionic toybox build.Elliott Hughes1-2/+10
https://android-review.googlesource.com/159035/
2015-07-10Add a basename_r() and use it in names_to_pid() to avoid basename() overwritingRob Landley2-1/+10
itself on some inputs. (Which makes killall really impolite. Bug report from Nicholas Noury via Elliott Hughes.)
2015-07-10More explanation of TOYBOX_DEBUG for option string checking.Rob Landley1-0/+12
2015-07-10Move comment about TOYBOX_DEBUG to start of file so it's more obvious.Rob Landley1-4/+6
2015-07-10ifconfig MAC addresses should be lowercase.Elliott Hughes1-1/+1
A minor nit, but for some reason this really stands out every time I run ifconfig...
2015-07-10I added dhcpd -6 option.Yeongdeok Suh1-190/+1042
It's for supporting ipv6, and I referred to RFC 3315 Specification http://www.rfc-base.org/txt/rfc-3315.txt There are some different kind of requests in dhcpd6, but I inplemented only a basic protocol. (Solicit - Advertise - Request - Reply) There's a sample packet as below. toybox dhcpd works in the same way. http://packetlife.net/captures/DHCPv6.cap
2015-07-10find: add -inum optionGreg Hackmann1-0/+4
-inum is a commonly implemented extension to search by inode number. Linux's fs-layer tracepoints log many events in terms of inodes, so "find -inum" is useful for mapping those events back to specific files.