aboutsummaryrefslogtreecommitdiff
path: root/include/libbb.h
AgeCommit message (Collapse)Author
2008-03-24lpd: fix OOM vulnerability (was eating arbitrarily large commands)Denis Vlasenko
2008-03-20small NOMMU fixesDenis Vlasenko
2008-03-19adduser/addgroup: check username for invalid charsDenis Vlasenko
(by Tito <farmatito AT tiscali.it>). +129 bytes when enabled.
2008-03-19*: s/BB_SIGS_FATAL/BB_FATAL_SIGS/ (latter proved easier to remember)Denis Vlasenko
top: fix "top </dev/null" case (by Cristian Ionescu-Idbohrn)
2008-03-17*: fix various kinds of damage to letter 'c' in Arkadiusz Mickiewicz' surname.Denis Vlasenko
chrt,taskset,dc,eject: shrink crontab: call "vi" with just name, no path watchdog: intercept all fatal signals function old new delta xstrtoull_range - 35 +35 static.sg_commands - 18 +18 packed_usage 23698 23712 +14 watchdog_main 148 151 +3 crontab_main 637 638 +1 base 1 - -1 static.ps 4 - -4 pointer 4 - -4 stack_machine 99 92 -7 run_command 273 260 -13 eject_main 360 343 -17 static.C 30 12 -18 ptok 61 38 -23 xstrtol_range 27 - -27 get_token 35 - -35 taskset_main 586 550 -36 chrt_main 411 372 -39 dc_main 158 117 -41 time_main 1127 1037 -90 ------------------------------------------------------------------------------ (add/remove: 2/5 grow/shrink: 3/9 up/down: 71/-355) Total: -284 bytes text data bss dec hex filename 793680 662 7420 801762 c3be2 busybox_old 793327 662 7412 801401 c3a79 busybox_unstripped
2008-03-17*: shrink by using [f]open_or_warn_stdin where appropriateDenis Vlasenko
function old new delta lsattr_main 62 143 +81 open_or_warn_stdin - 36 +36 fclose_if_not_stdin 20 47 +27 xfopen_stdin - 20 +20 tac_main 336 356 +20 cksum_main 249 259 +10 bb_argv_dash - 8 +8 su_main 448 455 +7 cmp_main 630 633 +3 passwd_main 1072 1074 +2 uudecode_main 317 315 -2 text_yank 110 108 -2 handle_incoming_and_exit 2653 2651 -2 flags 5 1 -4 write_leases 235 230 -5 fopen_or_warn_stdin 48 42 -6 fold_main 648 642 -6 static.argv_dash 8 - -8 sum_main 142 128 -14 tail_main 1237 1221 -16 sed_main 711 695 -16 cmp_xfopen_input 17 - -17 bb_cat 113 96 -17 catv_main 328 306 -22 strings_main 457 434 -23 hash_file 298 274 -24 sum_file 353 325 -28 sort_main 904 859 -45 expand_main 736 686 -50 cut_main 1116 1065 -51 md5_sha1_sum_main 549 493 -56 lsattr_args 90 - -90 read_stduu 408 255 -153 ------------------------------------------------------------------------------ (add/remove: 3/3 grow/shrink: 7/20 up/down: 214/-657) Total: -443 bytes text data bss dec hex filename 797417 658 7428 805503 c4a7f busybox_old 796973 658 7428 805059 c48c3 busybox_unstripped
2008-03-17*: fix fallout from -Wunused-parameterDenis Vlasenko
function old new delta bbunpack 358 366 +8 passwd_main 1070 1072 +2 handle_incoming_and_exit 2651 2653 +2 getpty 88 86 -2 script_main 975 972 -3 inetd_main 2036 2033 -3 dname_enc 377 373 -4 make_new_session 474 462 -12 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/5 up/down: 12/-24) Total: -12 bytes text data bss dec hex filename 797429 658 7428 805515 c4a8b busybox_old 797417 658 7428 805503 c4a7f busybox_unstripped
2008-03-17dnsd: properly set _src_ IP:port on outgoing UDP packetsDenis Vlasenko
function old new delta send_to_from - 258 +258 dnsd_main 1500 1568 +68 interrupt 17 19 +2 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/0 up/down: 328/0) Total: 328 bytes text data bss dec hex filename 797101 658 7428 805187 c4943 busybox_old 797429 658 7428 805515 c4a8b busybox_unstripped
2008-03-17*: add -Wunused-parameter; fix resulting breakageDenis Vlasenko
function old new delta procps_scan 1265 1298 +33 aliascmd 278 283 +5 parse_file_cmd 116 120 +4 dname_enc 373 377 +4 setcmd 90 93 +3 execcmd 57 60 +3 count_lines 72 74 +2 process_command_subs 340 339 -1 test_main 409 407 -2 mknod_main 179 177 -2 handle_incoming_and_exit 2653 2651 -2 argstr 1312 1310 -2 shiftcmd 131 128 -3 exitcmd 46 43 -3 dotcmd 297 294 -3 breakcmd 86 83 -3 evalpipe 353 349 -4 evalcommand 1180 1176 -4 evalcmd 109 105 -4 send_tree 374 369 -5 mkfifo_main 82 77 -5 evalsubshell 152 147 -5 typecmd 75 69 -6 letcmd 61 55 -6 add_cmd 1190 1183 -7 main 891 883 -8 ash_main 1415 1407 -8 parse_stream 1377 1367 -10 alloc_procps_scan 55 - -55 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 7/21 up/down: 54/-148) Total: -94 bytes text data bss dec hex filename 797195 658 7428 805281 c49a1 busybox_old 797101 658 7428 805187 c4943 busybox_unstripped
2008-03-17dos2unix: tiny shrinkDenis Vlasenko
login,su: fix setup_environment() so that it works as intended (parameter names were a bit misleading) fdisk: shrink help text: shrink function old new delta login_main 1658 1701 +43 setup_environment 206 203 -3 dos_compatible_flag 4 1 -3 dos2unix_main 383 375 -8 get_boot 1724 1702 -22 fdisk_main 2949 2889 -60 packed_usage 24250 23948 -302 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/6 up/down: 43/-398) Total: -355 bytes text data bss dec hex filename 798768 661 7428 806857 c4fc9 busybox_old 798327 658 7428 806413 c4e0d busybox_unstripped
2008-03-17libbb: introduce and use sigprocmask_allsigs and sigaction_set.Denis Vlasenko
libbb: rename sig_pause to wait_for_any_sig.
2008-03-12libbb: introduse and use signal_[no_]SA_RESTART_empty_mask and sigaction_setDenis Vlasenko
signal_SA_RESTART_empty_mask - 65 +65 signal_no_SA_RESTART_empty_mask - 54 +54 dd_main 1325 1369 +44 sigaction_set - 19 +19 dname_enc 373 377 +4 UNSPEC_print 64 66 +2 setsignal 296 294 -2 bb_signals_recursive 95 92 -3 bb_askpass 367 361 -6 inetd_main 1810 1797 -13 rx_main 912 883 -29 sigdelset 32 - -32 __sigdelset 32 - -32 __GI_sigdelset 32 - -32 sighup_handler 84 37 -47 arping_main 1844 1797 -47 fsck_main 1869 1807 -62 run_list 1917 1844 -73 vlock_main 492 409 -83 progressmeter 883 798 -85 handle_incoming_and_exit 2737 2651 -86 ------------------------------------------------------------------------------ (add/remove: 3/3 grow/shrink: 3/12 up/down: 188/-632) Total: -444 bytes
2008-03-12inetd: make it NOMMU-capable and IPv6-friendly. Lots of renamesDenis Vlasenko
of variable/function names Total: -2474 bytes text data bss dec hex filename 802215 661 7452 810328 c5d58 busybox_old 800120 661 7428 808209 c5511 busybox_unstripped
2008-03-12crond: make it NOMMU-capableDenis Vlasenko
function old new delta safe_setenv4 - 62 +62 ForkJob 472 511 +39 change_identity 21 57 +36 ParseField 564 571 +7 SynchronizeDir 178 176 -2 LogLevel 4 - -4 LogFile 4 - -4 FileBase 4 - -4 DebugOpt 4 - -4 CDir 4 - -4 DeleteFile 141 132 -9 packed_usage 24248 24228 -20 crondlog 157 113 -44 change_identity_e2str 54 - -54 SynchronizeFile 729 671 -58 crond_main 1555 1404 -151 ------------------------------------------------------------------------------ (add/remove: 1/6 grow/shrink: 3/6 up/down: 144/-358) Total: -214 bytes
2008-03-02libbb: inntroduce and use bb_pstrcmp() and qsort_string_vector()Denis Vlasenko
msh: glob0/glob1/glob2/glob3 are just a sorting routine! remove them. bb_pstrcmp - 25 +25 qsort_string_vector - 24 +24 expand 2209 2227 +18 getopt32 1359 1370 +11 passwd_main 1072 1074 +2 handle_incoming_and_exit 2737 2735 -2 UNSPEC_print 66 64 -2 forkexec 1343 1339 -4 input_tab 3338 3330 -8 get_dir 185 177 -8 expmeta 481 473 -8 cmdputs 405 397 -8 xstrcmp 12 - -12 find_pair 187 167 -20 match_compare 25 - -25 dir_strcmp 25 - -25 glob2 27 - -27 glob3 34 - -34 glob1 256 - -256 ------------------------------------------------------------------------------ (add/remove: 2/6 grow/shrink: 3/8 up/down: 80/-439) Total: -359 bytes
2008-02-27*: add optimization barrier to all "G trick" locationsDenis Vlasenko
2008-02-27script: new applet by Pascal Bellard <pascal.bellard AT ads-lu.com>Denis Vlasenko
2008-02-25*: intrduce and use safe_gethostname. By Tito <farmatito AT tiscali.it>Denis Vlasenko
safe_gethostname - 48 +48 glob3 35 37 +2 timestamp_and_log 314 315 +1 udhcp_send_kernel_packet 234 231 -3 scan_tree 275 271 -4 passwd_main 1074 1070 -4 print_login_prompt 68 58 -10 obscure 392 377 -15 syslogd_main 882 866 -16 print_login_issue 516 478 -38 hostname_main 278 223 -55 parse_and_put_prompt 825 756 -69 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/9 up/down: 51/-214) Total: -163 bytes text data bss dec hex filename 798791 728 7484 807003 c505b busybox_old 798631 728 7484 806843 c4fbb busybox_unstripped
2008-02-25lpd: spool mode added by VladimirDenis Vlasenko
lpr: more robust error reporting *: introduce and use xchroot libbb: full_read/write now will report partial data counts prior to error isdirectory.c: style fixes lpd_main 249 486 +237 xchroot - 29 +29 get_response_or_say_and_die 110 139 +29 full_write 52 60 +8 full_read 55 63 +8 static.newline 1 - -1 switch_root_main 404 400 -4 chpst_main 1089 1079 -10 getopt32 1370 1359 -11 chroot_main 115 101 -14 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 4/4 up/down: 311/-40) Total: 271 bytes text data bss dec hex filename 798472 728 7484 806684 c4f1c busybox_old 798775 728 7484 806987 c504b busybox_unstripped
2008-02-24less,klogd,syslogd,nc,tcpudp: exit on signal by killing itself, not exit(1)Denis Vlasenko
*: minor shrink
2008-02-23less: update line input so that it doesn't interfere withDenis Vlasenko
screen update. Makes "man bash", [enter], [/], <enter search pattern>, [enter] more usable - manpage draws as you enter the pattern! Yay!! less: fix bug where backspace wasn't actually deleting chars less: "examine file with empty name" doesn't abort anymore. libbb: add "all fatal signals" mask. getch_nowait - 207 +207 status_print - 105 +105 examine_file 64 87 +23 move_cursor - 16 +16 m_status_print 185 195 +10 less_main 1656 1663 +7 decode_format_string 790 795 +5 test_main 403 405 +2 process0_stdin 247 249 +2 passwd_main 1070 1072 +2 less_gets 196 178 -18 buffer_print 169 71 -98 less_getch 362 138 -224 ------------------------------------------------------------------------------ (add/remove: 3/0 grow/shrink: 7/3 up/down: 379/-340) Total: 39 bytes text data bss dec hex filename 798329 740 7484 806553 c4e99 busybox_old 798368 740 7484 806592 c4ec0 busybox_unstripped
2008-02-20libbb: introduce and use nonblock_safe_read(). Yay!Denis Vlasenko
Our shells are immune from this nasty O_NONBLOCK now! function old new delta nonblock_safe_read - 78 +78 file_get 276 295 +19 generateMTFValues 428 435 +7 read_line_input 1776 1772 -4 preadbuffer 543 450 -93 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/2 up/down: 104/-97) Total: 7 bytes text data bss dec hex filename 615190 715 23924 639829 9c355 busybox_old 615168 715 23924 639807 9c33f busybox_unstripped
2008-02-18mount: recognize "dirsync" (closes bug 835)Denis Vlasenko
mount: sanitize environ if called by non-root *: adjust for slightly different sanitize routine
2008-02-17libbb: introduce and use xrename and rename_or_warn.Denis Vlasenko
2008-02-16libbb: introduce bb_signals and bb_signals_recursive,Denis Vlasenko
which sets same handler for many signals. sig_catch is nuked (bb_signals_recursive is more descriptive name). *: use them as appropriate. function old new delta bb_signals_recursive - 95 +95 bb_signals - 52 +52 run_command 258 273 +15 svlogd_main 1368 1377 +9 runsv_main 1746 1752 +6 runsvdir_main 1643 1646 +3 UNSPEC_print 64 66 +2 time_main 1128 1127 -1 ... resize_main 246 210 -36 sig_catch 63 - -63 set_fatal_sighandler 85 14 -71 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 5/24 up/down: 182/-548) Total: -366 bytes
2008-02-16*: more readable handling of pipe fds. No code changes.Denis Vlasenko
2008-02-16random s/short/int/Denis Vlasenko
add_cmd 1189 1190 +1 xconnect_ftpdata 118 117 -1 data_align 86 84 -2 process_files 2101 2096 -5 forkexec 1345 1334 -11
2008-02-10hush: reinstate `cmd` handling for NOMMU (with fat big warning).Denis Vlasenko
hush: fix a case where none of pipe members could be started because of fork failure hush: rename functions: xxx_real -> xxx hush: try to add a bit more of vfork-friendliness hush: add rudimentary design docs hush: add TODO (newly discovered bug with globbing)
2008-02-07some more fixes for cross-compiling on an OS X host: apple provides core ↵Mike Frysinger
types so dont redefine them, sys/statfs.h is not available, and only use some newer AF_* defines if they are actually available
2008-02-07only include mntent.h according to HAVE_MNTENT_H and dont define this on OS XMike Frysinger
2008-02-02msh: fix Ctrl-C handling with line editingDenis Vlasenko
2008-01-29- be C99 friendly. Anonymous unions are a GNU extension. This change isBernhard Reutner-Fischer
size-neutral WRT -std=gnu99 and fixes several compilation errors for strict C99 mode.
2008-01-28*: tidy up usage of char **environDenis Vlasenko
2008-01-13- fix commentary typoBernhard Reutner-Fischer
2008-01-06ps: fix overflow in USER and VSZ columnsDenis Vlasenko
function old new delta smart_ulltoa4 - 280 +280 smart_ulltoa5 283 408 +125 ulltoa6_and_space - 25 +25 scale 28 38 +10 bbunpack 358 366 +8 ps_main 259 261 +2 glob3 35 37 +2 fill_bounds 172 174 +2 process_stdin 456 446 -10 smart_ulltoa6 406 - -406 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 6/1 up/down: 454/-416) Total: 38 bytes
2008-01-05ps: add conditional support for -o [e]timeDenis Vlasenko
2008-01-02libbb: introduce and use safe_waitpid (loops in EINTR)Denis Vlasenko
*: use more approproate (shorter) versions of wait() function old new delta safe_waitpid - 48 +48 wait_any_nohang - 17 +17 send_tree 365 369 +4 processorstop 432 435 +3 text_yank 110 108 -2 make_human_readable_str 202 200 -2 crond_main 1368 1366 -2 handle_sigchld 49 43 -6 reapchild 166 159 -7 custom 260 250 -10 checkscript 191 177 -14 wait_nohang 17 - -17 wait_pid 43 - -43 ------------------------------------------------------------------------------ (add/remove: 2/2 grow/shrink: 2/7 up/down: 72/-103) Total: -31 bytes
2007-12-30libbb: introduce fputc_printable (from ed)Denis Vlasenko
netstat: print control chars as ^C etc vi: style fixlet function old new delta fputc_printable - 100 +100 unix_do_one 451 487 +36 printLines 258 190 -68 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/1 up/down: 136/-68) Total: 68 bytes
2007-12-26Fix xmalloc_fgets_str so that it really does NOT strip terminator.Denis Vlasenko
Add xmalloc_fgetline_str which does strip terminator, and use it in dpkg instead of xmalloc_fgets_str. netstat: use xmalloc_fgets_str - allows to eat strings with NULs (this fixes bug with some weird /proc/net/unix input) function old new delta xmalloc_fgets_internal - 191 +191 xmalloc_fgetline_str - 18 +18 do_info 116 120 +4 unix_do_one 451 447 -4 tcp_do_one 423 419 -4 send_tree 369 365 -4 xmalloc_fgets_str 178 15 -163 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 1/4 up/down: 213/-175) Total: 38 bytes text data bss dec hex filename 778445 832 7344 786621 c00bd busybox_old 778483 832 7344 786659 c00e3 busybox_unstripped
2007-11-28reorganize applet table. Eliminates pointers to names.Denis Vlasenko
Should be a big win for libbusybox. busybox wins too: text data bss dec hex filename 776524 929 9100 786553 c0079 busybox_old 775903 929 9100 785932 bfe0c busybox_unstripped
2007-11-24remove echo_main -> bb_echo indirectionDenis Vlasenko
2007-11-22ash: fix bug where redirection of closed fd was leaving it open afterwards.Denis Vlasenko
redirect 983 1024 +41 bb_echo 276 301 +25 popredir 118 132 +14 evalcommand 1163 1176 +13 bbunpack 358 366 +8 echocmd 13 5 -8 echo_main 13 5 -8 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/2 up/down: 101/-16) Total: 85 bytes text data bss dec hex filename 774999 962 9236 785197 bfb2d busybox_old 775084 962 9236 785282 bfb82 busybox_unstripped
2007-11-18ip: stop propagating argc; optimize ip_parse_common_argsDenis Vlasenko
function old new delta find_pair 167 187 +20 static.families - 17 +17 die_must_be_on_off - 11 +11 ... on_off 33 22 -11 do_ipaddr 103 90 -13 do_iptunnel 1001 986 -15 iproute_list_or_flush 1237 1217 -20 static.ip_common_commands 43 22 -21 do_iproute 2217 2193 -24 parse_args 1444 1414 -30 ip_do 47 16 -31 do_iprule 994 963 -31 ip_main 153 113 -40 ipaddr_modify 1357 1305 -52 ipaddr_list_or_flush 2543 2490 -53 ip_parse_common_args 294 159 -135 ------------------------------------------------------------------------------ (add/remove: 4/1 grow/shrink: 4/24 up/down: 85/-563) Total: -478 bytes text data bss dec hex filename 775561 966 9236 785763 bfd63 busybox_old 775073 962 9236 785271 bfb77 busybox_unstripped
2007-11-16dmesg,klogd: make code more readableDenis Vlasenko
libbb: explain why we declare klogctl libbb: move defs around so that order makes more sense
2007-11-08xmalloc_follow_symlinks() -- fix ELOOP issue with absolute paths,Paul Fox
return full path in cases where path doesn't resolve to a link. change name to better differentiate from xmalloc_readlink().
2007-11-08new xmalloc_readlink_follow() routine to fully expand trailing symlinksPaul Fox
to get to a "real" file (or directory).
2007-11-06login: clear dangerous environment variables if started by non-rootDenis Vlasenko
2007-11-04ifconfig: code shrinkDenis Vlasenko
adjtimex: code shrink libbb: move nth_string function into libbb hdparm: nth_string was here text data bss dec hex filename 730013 10334 12032 752379 b7afb busybox_old 730093 10134 12032 752259 b7a83 busybox_unstripped
2007-10-20ping: fix breakage from -I fixDenis Vlasenko
passwd: SELinux support by KaiGai Kohei <kaigai@ak.jp.nec.com>
2007-10-13bzip2: port bzip2 1.0.4 to busybox. note: bzip2 code residesDenis Vlasenko
in separate directory (archival/bz/*) and is covered by BSD-style license. code size: 13k