aboutsummaryrefslogtreecommitdiff
path: root/toys
AgeCommit message (Collapse)Author
2017-01-30Improve file's ELF parsing.Elliott Hughes
An ELF file with no program headers is valid, and binutils leaves e_phentsize zero in that case. Fix the corruption check to cope. Also, since notes are in both the program and section headers (and I'm not aware of the possibility of having no sections but still having notes --- where would they be?), look for them in the section headers instead. Also extend the parsing of the .android.note.ident ELF note to include the NDK version information if present. (This won't be present for platform binaries, but will be present for NDK-built binaries such as app libraries.)
2017-01-29Izabera suggested seq should multiply to avoid accumulating rounding errorsRob Landley
from incrementing by a double.
2017-01-28Tweak -w help text to clarify that it prevents truncating _any_ fields, notRob Landley
just for terminal width.
2017-01-28Add missing `static`s and remove an unused function.Elliott Hughes
2017-01-28Whitespace.Rob Landley
2017-01-28modprobe: Small cleanup pass, described on the list.Rob Landley
2017-01-28modprobe: use finit_module when possibleSteve Muckle
The finit_module() system call, introduced in Linux 3.8, reads the module from a supplied file descriptor. This allows the kernel to do security checks based on the file's location.
2017-01-28modprobe: add -d option to specify module directory path(s)Steve Muckle
While most systems have their kernel modules, modules.dep etc located at /lib/modules/`uname -r` this is not always the case. The -d option may be used to specify a nonstandard path for these files. It may be used more than once to specify multiple directories where these files may be found.
2017-01-28top -H is more useful if it shows thread names.Elliott Hughes
I knew that just showing the process name was a divergence from traditional Android behavior, but I was curious to see whether anyone cared. Bug reports show that they do. I've not made this conditional on CFG_TOYBOX_ON_ANDROID on the assumption that this is more useful for everyone else too. (Why are you asking for per-thread information if you don't actually want to be able to identify individual threads?) Why not _just_ show the thread name? Because on Android at least, every process has lots of identically-named threads; everyone has GC threads, everyone has JIT threads, and so knowing _just_ the thread name is rarely useful. Why show thread name first? Because the kernel limits thread names to 15 bytes plus a NUL, so any left-over space should go to the process name, so that should come last. Why call the thread name THREAD? Because "CMD" isn't obviously "thread name" to folks who don't know how this is implemented behind the scenes. This change also removes an incorrect "usage:" comment. None of the other commands in this file duplicated their "usage:" lines, and this copy wasn't even close to being correct. Bug: http://b/34610082
2017-01-25Remove name length limit for system propertiesDimitry Ivanov
Android O removes name length limit for system properties. Use __system_property_read_callback instead of deprecated __system_property_read in getprop and remove check for property name length in setprop. Test: adb shell setprop debug.test.very.very.long.property.name valueforpropertywithlongname Test: adb shell getprop | grep debug.test.very.very.long.property.name Bug: http://b/33926793 Change-Id: I57ca99ea33283d069cd1b7b9f110ec9fb27f3d19
2017-01-25Promote microcom to net.Rob Landley
2017-01-25Switch escape charcter to ^] (ascii 29, doesn't conflict with emacs or joe).Rob Landley
Recognize full range of linux serial speeds (only error cfsetspeed returns is invalid speed value).
2017-01-17Fix microcom command-line help and -X.Elliott Hughes
2017-01-14Add "microcom" to pending.Elliott Hughes
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.
2017-01-14Quick and dirty fix for CVE-2016-6321 but seriously this is in pendingRob Landley
for a reason and I need to completely rewrite it.
2017-01-04ftpget: implement -mMdDlL, put ftp transactions into their own function so -vRob Landley
can show both output and reply lines.
2017-01-04First stab at ftpget/ftpput. (Documents a lot of options other than basicRob Landley
upload/download that aren't implemented yet.)
2016-12-30Remove unnecessary casts in stat.c, fix a claimed buffer length.Elliott Hughes
POSIX does have a name for the struct timespec in struct stat.
2016-12-28Stop lying to the compiler in modprobe's read_line.Elliott Hughes
sizeof(int) != sizeof(size_t) for LP64, leading to hilarity^Wcrashes.
2016-12-28Admit that getprop requires selinux.Elliott Hughes
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.)
2016-12-28Switch to bionic <sys/system_properties.h>.Elliott Hughes
Removes the dependency on libcutils for everything except ps.
2016-12-26Move hostid to toys/example and have it "default n".Rob Landley
A "globally unique 32 bit number" is a concept the Linux world has outgrown.
2016-12-26log: use error_msg instead of perror_msg when errno is meaningless.Elliott Hughes
2016-12-25Fix a bug for sort. When the key_separator is not space, the sort ↵wxj
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.
2016-12-24Cleanup: Have get_hostname() handle its own lookup failures. Inline is_prefix().Rob Landley
Kernel can handle 64k maximum segment size.
2016-12-20Add units for -atime and friends. (Also legacy -amin alias, but not in help textRob Landley
because there's no -asec or -ahour.)
2016-12-11First cleanup pass on new dmesg.Rob Landley
2016-12-09Pass DIRTREE_PROC through the ps callbacks.Elliott Hughes
2016-12-08Add DIRTREE_PROC to skip non-numeric entries and make ps/top etc use it.Rob Landley
2016-11-21Have dirtree_notdotdot() pass through !node->parent so . and .. on the commandRob Landley
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.)
2016-11-19Bug report from Justin Cormack, tar was producing a warning to stdout thatRob Landley
screwed up "tar c" to stdout.
2016-11-18"printf %x 64" wasn't working right on 32 bit because a variable type was wrong.Rob Landley
2016-11-08Josh Gao pointed out that chmod -R . (and ..) didn't work.Rob Landley
2016-11-02Fix control flow integrity check failure in ps.Evgenii Stepanov
This fixes an indirect function call through a pointer of an incompatible type. See http://clang.llvm.org/docs/ControlFlowIntegrity.html for more details.
2016-10-30Implement "dmesg -w".Elliott Hughes
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.
2016-10-26Izabera pointed out that split -b -l are exclusive.Rob Landley
2016-10-25Add fallocate -o.Elliott Hughes
Also improve error reporting.
2016-10-24Android O allows '@' in property names.Elliott Hughes
Bug: http://b/32371104
2016-10-22Tweak help text.Rob Landley
2016-10-20Nothing in pending should "default y".Rob Landley
2016-10-20Nothing in pending should "default y".Rob Landley
2016-10-20Close to cutting a release and I don't want to have setfattr in defconfigRob Landley
without getfattr, so I'm putting it back in pending for now.
2016-10-20Add special "touch -" behavior and require an argument.Rob Landley
2016-10-20Show driver for interface in ifconfig output.Rob Landley
2016-10-19More touch tests, and a fix found by one. (The three -t formats can onlyRob Landley
reliably be distinguished by checking length, because %H amd %m and such can match different numbers of digits.)
2016-10-18Unify touch -t and -d handling, allow posix's underspecified "time designator"Rob Landley
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).
2016-10-12Stop renaming the ADDR field to PC on Android.Elliott Hughes
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).
2016-10-11Make netcat work with nommu and factor out poll() loop into net/net.c.Rob Landley
2016-10-09Izabera pointed out that ls defaults to -q when output is a tty.Rob Landley
2016-10-08Teach ps -w not to truncate any fields.Rob Landley