aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-09-23less: make -E workAaro Koskinen
function old new delta buffer_print 71 104 +33 Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-22less: trivial code shrinkDenys Vlasenko
function old new delta read_lines 715 695 -20 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-22less: move "retry-on-EAGAIN" logic closer to read opsDenys Vlasenko
This makes "G" (goto end of input) command work as well as /search_for_nonexistent_string: both will read to EOF now even from somewhat slow input (such as kernel's "git log"). function old new delta ndelay_on 35 43 +8 ndelay_off 35 43 +8 read_lines 695 691 -4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 16/-4) Total: 12 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-21less: disable "suppress empty wraparound" optimizationDenys Vlasenko
It is buggy wrt another use case... Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-20df: fix -T option when ENABLE_FEATURE_HUMAN_READABLE=0Ari Sundholm
Signed-off-by: Ari Sundholm <ari@tuxera.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-18false: make "false --help" exit with 1Denys Vlasenko
function old new delta run_applet_no_and_exit 447 445 -2 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-17df: implement -T optionAri Sundholm
function old new delta df_main 863 998 +135 packed_usage 29827 29861 +34 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 169/0) Total: 169 bytes Signed-off-by: Ari Sundholm <ari@tuxera.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-16sed: fix a buglet in s///NUM handlingDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-15ftpd: make LIST command show dotfiles tooDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-15vi: fix incorrect memory access on brace matching. Closes 7256Denys Vlasenko
While at it, fix brace matching to actually show the match (missed fflush was causing cursor positioning to be buffered); shorten brace matching code; remove unused macro indirection in indicate_error(). Custom linker script 'busybox_ldscript' found, using it function old new delta indicate_error - 61 +61 mysleep 43 56 +13 char_insert 483 486 +3 find_pair 167 124 -43 Indicate_Error 61 - -61 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 2/1 up/down: 77/-104) Total: -27 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-08mdev: treat zero-length /dev/mdev.seq the same as "\n" one. Closes 7334Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-08ash: fix off-by-one in "jobs %4" handling. closes 7310Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-08ash: factor out ASH_HELP config optionDenys Vlasenko
It used to be aliased to !FEATURE_SH_EXTRA_QUIET for ash, while hush had it separate from FEATURE_SH_EXTRA_QUIET. Bring ash in line with hush. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-05find: support -perm /BITS. Closes 7340Denys Vlasenko
function old new delta parse_params 1487 1497 +10 func_perm 57 61 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 14/0) Total: 14 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-04tftpd: tweak HP PA-RISC firmware bug compatibilityDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-03tftpd: support full 512-byte requestsDenys Vlasenko
Some HP PA-RISC firmware always sends fixed 512-byte requests, with trailing garbage. function old new delta tftpd_main 578 572 -6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-31taskset: fix logic error in "if it doesn't start with 0x..."Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-28grep: fix "grep -r PATTRN SYMLINK_TO_DIR"Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-27ping: add -p to specify data patternFlorian Fainelli
function old new delta common_ping_main 1788 1831 +43 sendping6 56 82 +26 sendping4 82 108 +26 packed_usage 29959 29938 -21 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/1 up/down: 95/-21) Total: 74 bytes Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-17taskset: support CPU masks for more than 64 CPUsDenys Vlasenko
function old new delta taskset_main 522 631 +109 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-15addgroup: mention -S in the help textDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-13ash: make ${#var} unicode-awareDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-13ash,hush: run reinit_unicode() only if makes senseDenys Vlasenko
With static Unicode support, no need to check $LANG et al. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-13hush: make ${#var} unicode-awareDenys Vlasenko
This mimics bash Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-11init: if libc-based Unicode support is on, run setlocale(LC_ALL, "") at startupDenys Vlasenko
It is not clear why we were excluding init from this. The "getpid() != 1" clause was there from the beginning (2001) but not explained. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-05ftpd: add optional support for authenticationMorten Kvistgaard
function old new delta cmdio_get_cmd_and_arg - 237 +237 get_passwd - 97 +97 check_password - 82 +82 ftpd_main 2297 2178 -119 ask_and_check_password_extended 206 84 -122 ------------------------------------------------------------------------------ (add/remove: 3/0 grow/shrink: 0/2 up/down: 416/-241) Total: 175 bytes Signed-off-by: Morten Kvistgaard <MK@pch-engineering.dk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-30sha3: tweak comments and indentationDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-30sha3: code shrink (and speedup for SHA3_SMALL=0)Denys Vlasenko
function old new delta sha3_process_block72 1454 1359 -95 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-29top: fix memset length (sizeof(ptr) vs sizeof(array) problem)Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-27top: fix and merge code to parse /proc/meminfoTimo Teräs
display_header() code to parse meminfo as is was buggy: - uninitialized variables were used if meminfo was not as expected - meminfo parsing failed on new kernels (3.14+) as new field 'MemAvailable' was introduced between MemFree and Buffers - shared memory was handled only for ancient kernels (2.4.x and earlier) as result Buffers and shared memory fields were shown with bogus values on current kernels. The new code does not try to parse the old style summary header, as the separated fields are always present (it saves code size). Additionally, both Shmem (2.6+) and MemShared (2.4 and earlier) fields are now parsed and summed for shared memory usage; as only one of them exists depending on kernel version. display_topmem_header() parses also meminfo so this makes it use the same code for code shrink. function old new delta display_header - 681 +681 display_topmem_process_list 465 684 +219 parse_meminfo - 189 +189 static.fields - 106 +106 static.match 132 - -132 .rodata 120254 120117 -137 display_topmem_header 513 - -513 display_process_list 1705 667 -1038 ------------------------------------------------------------------------------ (add/remove: 3/2 grow/shrink: 1/2 up/down: 1195/-1820) Total: -625 bytes Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-25sha3: add 32-bit optimized bit-sliced implementationDenys Vlasenko
It is an interesting trick, but so far I only managed to make it work correctly, not to make it faster and/or smaller. The code is ifdefed out for now. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-20zcip: fix link-local IP conflict detectionKen Sharp
During link-local IP resolution, if a regular ARP request is received during the ARP probe period, it will incorrectly cause a target IP conflict. This then leads to a new IP being picked unnecessarily. Per RFC 3927, section 2.2.1, we should flag a target IP conflict only if the source IP is null, the target IP matches our IP, and the source hw addr does not match our hw addr. function old new delta zcip_main 1354 1322 -32 Signed-off-by: Ken Sharp <ken.sharp@ni.com> Signed-off-by: Ben Shelton <ben.shelton@ni.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-16udhcp: add PXELINUX path prefix option (code 210) definitionJeremy Kerr
Like d3092c99, this change adds support for the DHCP "path-prefix" option, as defined in RFC 5071. We use the string identifer "pxepathprefix". Adding this option makes string parsing in the hook scripts simpler. function old new delta dhcp_option_strings 255 269 +14 dhcp_optflags 72 74 +2 Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-15ntpd: add support for -I IFACEDenys Vlasenko
function old new delta packed_usage 29908 29947 +39 ntp_init 428 460 +32 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 71/0) Total: 71 bytes Signed-off-by: Nikolaus Froehlich <nikolaus@mathematik.uni-marburg.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-04modinfo: fix module parsing with kernel >= 2.6.37David Marchand
display() function returns the length of the value we are displaying + 1. As a consequence, if we have field=value\0field=value\0field=value in the binary, then the second occurence will be skipped as ptr will miss the first character of the following field. Example trying to list aliases from ixgbe.ko on a 3.2 kernel. - In the module we have: alias=pci:v00008086d00001560sv*sd*bc*sc*i*\0 alias=pci:v00008086d0000154Asv*sd*bc*sc*i*\0 alias=pci:v00008086d00001557sv*sd*bc*sc*i*\0 alias=pci:v00008086d0000154Fsv*sd*bc*sc*i*\0 alias=pci:v00008086d0000154Dsv*sd*bc*sc*i*\0 ... - Using modinfo -F alias ixgbe returns: alias: pci:v00008086d00001560sv*sd*bc*sc*i* alias: pci:v00008086d00001557sv*sd*bc*sc*i* alias: pci:v00008086d0000154Dsv*sd*bc*sc*i* ... This problem appeared with kernel commit "modules: no need to align .modinfo strings" b6472776816af1ed52848c93d26e3edb3b17adab in 2.6.37. Fix this by not trusting display() return value but increment ptr by strlen(ptr) (the same way as depmod.c does). Signed-off-by: David Marchand <david.marchand@6wind.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-04fatattr: use the standard type for 32-bit intDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-04setlogcons: fix help textDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-03syslogd: make "reopen log file every second" logic work for multiple logsJoshua Judson Rosen
Move last_log_time from a single global to *each logFile_t* so that we can actually apply the logic to every log-file in multi-file configurations, rather than working only for the first file written in each 1-second interval and then leaving the others connected to possibly wrong files. Signed-off-by: Joshua Judson Rosen <jrosen@harvestai.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-02syslogd: syslogd: don't *decrement* log_file->size on write failuresJoshua Judson Rosen
Even if we fail to write to a log-file, and it's not growing, it's not *shrinking* either.... Signed-off-by: Joshua Judson Rosen <jrosen@harvestai.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-02syslogd: make "-O -" log to stdoutDenys Vlasenko
function old new delta packed_usage 29871 29908 +37 log_locally 404 440 +36 syslogd_main 1966 1956 -10 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 73/-10) Total: 63 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-01test: fix mishandling of "test '(' = '('" and similarDenys Vlasenko
function old new delta test_main 246 350 +104 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-07-01libbb: fix bb_ask() to flush input before prompt, not after. Closes 7190Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-30cpio: reinstate "options:" line in help textDenys Vlasenko
Otherwise, help text is confusing: where do operation modes end and where options start? Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-30Rename INIT_LAST to INIT_FUNC to avoid confusionBartosz Golaszewski
We don't have an INIT_FIRST, so let's rename INIT_LAST to INIT_FUNC to imply that the function is called at program start-up. Also: the priority argument for __attribute__((constructor)) isn't used, so let's remove it. Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-30fatattr: new appletPascal Bellard
function old new delta fatattr_main - 281 +281 packed_usage 29821 29871 +50 bit_to_char - 10 +10 applet_names 2472 2480 +8 applet_main 1436 1440 +4 applet_nameofs 718 720 +2 ------------------------------------------------------------------------------ (add/remove: 3/0 grow/shrink: 4/0 up/down: 355/0) Total: 355 bytes Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-30lzop: add overflow checkDenys Vlasenko
See CVE-2014-4607 http://www.openwall.com/lists/oss-security/2014/06/26/20 function old new delta lzo1x_decompress_safe 1010 1031 +21 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-27stat: fix printing selinux context and null-dereferenceMichael Gernoth
busybox stat tries to always print the selinux context, even if it is not requested which leads to a segmentation fault due to dereferencing a null-pointer. This also changes the format-string used to print the context to so it actually produces useful output. Signed-off-by: Michael Gernoth <michael@gernoth.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-27ftpd: do not use root_fd if we are not in chrootDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-27ftpd: for LIST, open current directory *in the child*Denys Vlasenko
Last change introduced an open fd leak. This is the fix. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-27ftpd: escape chroot prior to re-executing ls helperDenys Vlasenko
When we merely chdir to saved "real" root fd, exec("proc/self/exe") works for static executables but not for dynamic ones (they can't find their interpreter). With this patch, we also *chroot* to real root. As a bonus, this gives us proper usernames, timezone conversion etc. function old new delta popen_ls 203 259 +56 ftpd_main 2362 2366 +4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>