oweals/busybox.git
15 years agotftp: when we infer local name from remote (-r [/]path/path/file),
Denis Vlasenko [Wed, 25 Mar 2009 03:55:53 +0000 (03:55 -0000)]
tftp: when we infer local name from remote (-r [/]path/path/file),
 strip path. This mimics wget and is generally more intuitive.

15 years agodo not make startup banner depend on job support
Mike Frysinger [Mon, 23 Mar 2009 08:44:02 +0000 (08:44 -0000)]
do not make startup banner depend on job support

15 years agolibbb: revent previous version of "concurrent history updating"
Denis Vlasenko [Mon, 23 Mar 2009 06:33:37 +0000 (06:33 -0000)]
libbb: revent previous version of "concurrent history updating"
and replace it with one which does not "snoop" history written
by others. (1) it is what bug 185 needs, and (2) it is less bloaty:

function                                             old     new   delta
load_history                                           -     252    +252
read_line_input                                     3155    3287    +132
next_token                                           914     918      +4
qrealloc                                              36      33      -3
getoptscmd                                           713     708      -5
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/2 up/down: 388/-8)            Total: 380 bytes

15 years agomove parse_stream out of ENABLE_HUSH_TICK to avoid implicit decl/build error
Mike Frysinger [Sun, 22 Mar 2009 22:48:41 +0000 (22:48 -0000)]
move parse_stream out of ENABLE_HUSH_TICK to avoid implicit decl/build error

15 years agolibbb: make history saving/loading concurrent-safe
Denis Vlasenko [Sun, 22 Mar 2009 19:00:05 +0000 (19:00 -0000)]
libbb: make history saving/loading concurrent-safe
* all history writers always append (not overwrite) history files
* they reload history if they detect that file length has changed since last
write
* they trim history file only when it grows 4 times longer than MAXLINES
* they do this atomically by creating new file and renaming it to old

Unfortunately, this comes at a price:

function                                             old     new   delta
load_history                                           -     346    +346
read_line_input                                     3155    3358    +203
new_line_input_t                                      17      31     +14
...irrelevant small jitter...
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 5/5 up/down: 573/-13)           Total: 560 bytes

15 years agotimeout: fix parsing of -t NUM on MMU
Denis Vlasenko [Sun, 22 Mar 2009 14:49:00 +0000 (14:49 -0000)]
timeout: fix parsing of -t NUM on MMU

15 years agohush: rearrange functions to reduce amount of forward references.
Denis Vlasenko [Sun, 22 Mar 2009 14:23:34 +0000 (14:23 -0000)]
hush: rearrange functions to reduce amount of forward references.
 Minimal code changes.

15 years agohush: fix segv at repeated "set -- a b c" + "shift"
Denis Vlasenko [Sun, 22 Mar 2009 11:41:18 +0000 (11:41 -0000)]
hush: fix segv at repeated "set -- a b c" + "shift"

15 years agohush: fix strcpy of potentially overlapping strings
Denis Vlasenko [Sat, 21 Mar 2009 21:51:11 +0000 (21:51 -0000)]
hush: fix strcpy of potentially overlapping strings

15 years agomsh testsuite: fix false positive, tweak run stript
Denis Vlasenko [Sat, 21 Mar 2009 19:58:58 +0000 (19:58 -0000)]
msh testsuite: fix false positive, tweak run stript

15 years agols: make readlink error to not disrupt output (try ls -l /proc/self/fd).
Denis Vlasenko [Sat, 21 Mar 2009 19:11:23 +0000 (19:11 -0000)]
ls: make readlink error to not disrupt output (try ls -l /proc/self/fd).
libbb: make xmalloc_readlink_or_warn warning more specific.

function                                             old     new   delta
xmalloc_readlink_or_warn                              33      61     +28
showfiles                                           1495    1460     -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 28/-35)             Total: -7 bytes

15 years agocpio: more compat: -0 and -L options
Denis Vlasenko [Fri, 20 Mar 2009 23:01:48 +0000 (23:01 -0000)]
cpio: more compat: -0 and -L options

function                                             old     new   delta
cpio_main                                           1417    1473     +56

15 years agoCompatibility fixes:
Denis Vlasenko [Fri, 20 Mar 2009 22:17:13 +0000 (22:17 -0000)]
Compatibility fixes:

grep: support -z
find: support --mindepth
  together +45 bytes
cpio: support -p (configurable, +230 bytes)
libbb: tweaks for cpio

15 years agocd: "support" -v by ignoring it
Denis Vlasenko [Fri, 20 Mar 2009 14:04:00 +0000 (14:04 -0000)]
cd: "support" -v by ignoring it

15 years agohush: tweak testsuite
Denis Vlasenko [Fri, 20 Mar 2009 12:12:33 +0000 (12:12 -0000)]
hush: tweak testsuite

15 years agohush: fix bug 207 and "hush -c" parameter passing.
Denis Vlasenko [Fri, 20 Mar 2009 12:05:14 +0000 (12:05 -0000)]
hush: fix bug 207 and "hush -c" parameter passing.
 Now hush -c 'printf "%s\n" "$@"' (prints "\n")
 and hush -c 'printf "%s\n" "$@"' qwe asd (prints "asd\n")
 both work correctly

15 years agoash: expand comment
Denis Vlasenko [Fri, 20 Mar 2009 10:20:08 +0000 (10:20 -0000)]
ash: expand comment

15 years agohush: fix set [--] params. Closes bug 199.
Denis Vlasenko [Fri, 20 Mar 2009 10:13:08 +0000 (10:13 -0000)]
hush: fix set [--] params. Closes bug 199.

function                                             old     new   delta
builtin_set                                           55     194    +139
add_strings_to_strings                                 -     130    +130
add_string_to_strings                                110      26     -84
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 269/-84)           Total: 185 bytes

15 years agoash: add missing comma in debug scaffolding
Denis Vlasenko [Fri, 20 Mar 2009 07:45:36 +0000 (07:45 -0000)]
ash: add missing comma in debug scaffolding

15 years agoash: fix a case where we close wrong descriptor; add debug hack for that
Denis Vlasenko [Fri, 20 Mar 2009 01:24:08 +0000 (01:24 -0000)]
ash: fix a case where we close wrong descriptor; add debug hack for that

15 years agoash: DEBUG should be 0 :)
Denis Vlasenko [Thu, 19 Mar 2009 23:21:55 +0000 (23:21 -0000)]
ash: DEBUG should be 0 :)

15 years agoash: fix TRACE commands
Denis Vlasenko [Thu, 19 Mar 2009 23:09:58 +0000 (23:09 -0000)]
ash: fix TRACE commands

15 years agoash: make evaltree save/restore int suppression depth.
Denis Vlasenko [Thu, 19 Mar 2009 21:59:35 +0000 (21:59 -0000)]
ash: make evaltree save/restore int suppression depth.
 Hopefully this fixes bug 189. Not confirmed by users yet.

function                                             old     new   delta
evaltree                                             809     842     +33
evalvar                                             1374    1376      +2

15 years agodoc update
Denis Vlasenko [Thu, 19 Mar 2009 13:42:05 +0000 (13:42 -0000)]
doc update

15 years agoash: in dotrap(), do not clear gotsig[] for SIGINT if there is no handler
Denis Vlasenko [Thu, 19 Mar 2009 13:30:04 +0000 (13:30 -0000)]
ash: in dotrap(), do not clear gotsig[] for SIGINT if there is no handler
 for it, otherwise raise interrupt gets confused later.
 The rest are readability fixes.

function                                             old     new   delta
evaltreenr                                           817     818      +1
evaltree                                             817     818      +1
evalstring                                            88      89      +1
cmdloop                                              420     419      -1
evalskip                                               4       1      -3
breakcmd                                              84      81      -3
ash_main                                            1382    1379      -3
evalloop                                             183     177      -6
evalfor                                              231     225      -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/6 up/down: 3/-22)             Total: -19 bytes

15 years agodf: fix FEATURE_DF_FANCY=off, FEATURE_HUMAN_READABLE=on case.
Denis Vlasenko [Thu, 19 Mar 2009 03:56:20 +0000 (03:56 -0000)]
df: fix FEATURE_DF_FANCY=off, FEATURE_HUMAN_READABLE=on case.

15 years agoash: tentatively fix bug 189.
Denis Vlasenko [Thu, 19 Mar 2009 03:36:18 +0000 (03:36 -0000)]
ash: tentatively fix bug 189.

15 years agoinit: test for vt terminal with VT_OPENQRY,
Denis Vlasenko [Thu, 19 Mar 2009 02:35:44 +0000 (02:35 -0000)]
init: test for vt terminal with VT_OPENQRY,
 assume that anything else is TERM=vt102, not TERM=linux.
 (Serial console test is less correct)
 Tentatively closes bug 195.

function                                             old     new   delta
init_main                                            946     919     -27

15 years agoash: fix "ash -c 'exec 1>&0'" complaining that fd 0 is busy
Denis Vlasenko [Thu, 19 Mar 2009 01:59:59 +0000 (01:59 -0000)]
ash: fix "ash -c 'exec 1>&0'" complaining that fd 0 is busy

15 years agols: make color-related code more readable. Fix a case when
Denis Vlasenko [Wed, 18 Mar 2009 22:39:34 +0000 (22:39 -0000)]
ls: make color-related code more readable. Fix a case when
 it was working non-deterministically.

function                                             old     new   delta
bold                                                   -      34     +34
showfiles                                           1508    1495     -13
fgcolor                                               50      34     -16
bgcolor                                               34       -     -34
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 34/-63)            Total: -29 bytes

15 years agohttpd: add comment explaining why SERVER_NAME etc is not set.
Denis Vlasenko [Wed, 18 Mar 2009 20:00:46 +0000 (20:00 -0000)]
httpd: add comment explaining why SERVER_NAME etc is not set.

15 years agoftpd: fix command fetching to not do it in 1-byte reads;
Denis Vlasenko [Wed, 18 Mar 2009 17:32:44 +0000 (17:32 -0000)]
ftpd: fix command fetching to not do it in 1-byte reads;
 fix command de-escaping. Tested to download files with embeeded \xff and LF.
libbb: tweaks for the above

function                                             old     new   delta
ftpd_main                                           2231    2321     +90
xmalloc_fgets_internal                               190     222     +32
xmalloc_fgets_str_len                                  -      27     +27
xmalloc_fgets_str                                      7      23     +16
xmalloc_fgetline_str                                  10      26     +16
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/0 up/down: 181/0)             Total: 181 bytes

15 years agoftpd: add some comments
Denis Vlasenko [Wed, 18 Mar 2009 16:02:54 +0000 (16:02 -0000)]
ftpd: add some comments

15 years agoftpd: trim messages (but make sure they still make sense)
Denis Vlasenko [Wed, 18 Mar 2009 14:25:28 +0000 (14:25 -0000)]
ftpd: trim messages (but make sure they still make sense)
   text    data     bss     dec     hex filename
   4400       0       0    4400    1130 ftpd_old.o
   4346       0       0    4346    10fa ftpd.o

15 years agoftpd: do not use nasty tricks for re-execing if we are on MMU machine.
Denis Vlasenko [Wed, 18 Mar 2009 14:12:22 +0000 (14:12 -0000)]
ftpd: do not use nasty tricks for re-execing if we are on MMU machine.
On NOMMU, code is alomost the same, on MMU:

function                                             old     new   delta
handle_dir_common                                    223     390    +167
ftpd_main                                           2306    2231     -75
popen_ls                                             203       -    -203
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 167/-278)         Total: -111 bytes

15 years agoftpd: add support for MDTM, I see clients often use it,
Denis Vlasenko [Wed, 18 Mar 2009 00:45:00 +0000 (00:45 -0000)]
ftpd: add support for MDTM, I see clients often use it,
 it may allow client-side caching.

function                                             old     new   delta
ftpd_main                                           2232    2306     +74
gmtime_r                                               -      19     +19
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/0 up/down: 93/0)               Total: 93 bytes

15 years agoftpd: document NLST format
Denis Vlasenko [Tue, 17 Mar 2009 13:03:06 +0000 (13:03 -0000)]
ftpd: document NLST format

15 years agoftpd: instead of wordy HELP, implement useful, and smaller, FEAT.
Denis Vlasenko [Tue, 17 Mar 2009 12:40:34 +0000 (12:40 -0000)]
ftpd: instead of wordy HELP, implement useful, and smaller, FEAT.
 (HELP is still "supported" as an alias to FEAT)

   text    data     bss     dec     hex filename
 807331     468    7856  815655   c7227 busybox_old
 807246     468    7856  815570   c71d2 busybox_unstripped

15 years agoftpd: implement -vv verbosity
Denis Vlasenko [Tue, 17 Mar 2009 12:23:24 +0000 (12:23 -0000)]
ftpd: implement -vv verbosity

function                                             old     new   delta
ftpd_main                                           2097    2190     +93
verbose_log                                            -      33     +33
cmdio_write_raw                                       12      34     +22
cmdio_write_ok                                        25      45     +20
cmdio_write_error                                     25      45     +20
cmdio_write                                           62      78     +16
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 5/0 up/down: 204/0)             Total: 204 bytes

15 years agoftpd: tweak timeout code
Denis Vlasenko [Tue, 17 Mar 2009 05:11:51 +0000 (05:11 -0000)]
ftpd: tweak timeout code

15 years agochat: update by Vladimir
Denis Vlasenko [Mon, 16 Mar 2009 23:06:23 +0000 (23:06 -0000)]
chat: update by Vladimir
 1) to treat timeout more correctly (timeout affects whole send command
    duration, not a single char);
 2) to recognize RECORD directive.

function                                             old     new   delta
chat_main                                           1246    1359    +113
exitcode                                               1       -      -1

15 years agoftpd: fix thinko: set_nport takes port in network order
Denis Vlasenko [Mon, 16 Mar 2009 21:01:41 +0000 (21:01 -0000)]
ftpd: fix thinko: set_nport takes port in network order

15 years agoftpd: dont use fdprintf for simple status messages
Denis Vlasenko [Mon, 16 Mar 2009 20:54:45 +0000 (20:54 -0000)]
ftpd: dont use fdprintf for simple status messages

function                                             old     new   delta
ftpd_main                                           2025    2055     +30
cmdio_write_ok                                        17      25      +8
cmdio_write_error                                     17      25      +8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 46/0)               Total: 46 bytes

15 years agoftpd: simplify PORT check by assuming IP = peer's IP.
Denis Vlasenko [Mon, 16 Mar 2009 19:54:06 +0000 (19:54 -0000)]
ftpd: simplify PORT check by assuming IP = peer's IP.
 Should be as safe as before this change.

function                                             old     new   delta
ftpd_main                                           2115    2025     -90

15 years agoftpd: add idle and absolute timeouts. This is a security issue,
Denis Vlasenko [Mon, 16 Mar 2009 16:19:53 +0000 (16:19 -0000)]
ftpd: add idle and absolute timeouts. This is a security issue,
 otherwise ftpd may end up hanging indefinitely.

function                                             old     new   delta
timeout_handler                                        -     110    +110
ftpd_main                                           2019    2115     +96
packed_usage                                       25662   25685     +23
handle_upload_common                                 306     322     +16
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/0 up/down: 245/0)             Total: 245 bytes

15 years agoftpd: security tightened up:
Denis Vlasenko [Mon, 16 Mar 2009 14:53:54 +0000 (14:53 -0000)]
ftpd: security tightened up:
 PORT is not allowed on !IPv4
 PORT must have IP == peer's IP
 upload is allowed only into regular files

function                                             old     new   delta
ftpd_main                                           1815    2019    +204
handle_upload_common                                 260     306     +46
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 250/0)             Total: 250 bytes

15 years agoawk: fix compat issue found by gpm build
Denis Vlasenko [Sun, 15 Mar 2009 22:20:31 +0000 (22:20 -0000)]
awk: fix compat issue found by gpm build

function                                             old     new   delta
as_regex                                             105     131     +26
hash_find                                            247     233     -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 26/-14)             Total: 12 bytes

15 years agotr: support -C as synonym to -c
Denis Vlasenko [Sun, 15 Mar 2009 16:41:55 +0000 (16:41 -0000)]
tr: support -C as synonym to -c

15 years agoftpd: fix the bug where >2GB file ops report errors;
Denis Vlasenko [Sun, 15 Mar 2009 15:54:58 +0000 (15:54 -0000)]
ftpd: fix the bug where >2GB file ops report errors;
 make a few simplifications; add TODOs.

function                                             old     new   delta
port_or_pasv_was_seen                                  -      37     +37
get_remote_transfer_fd                               104     109      +5
handle_upload_common                                 265     260      -5
handle_dir_common                                    228     223      -5
popen_ls                                             211     203      -8
ftpd_main                                           1825    1815     -10
data_transfer_checks_ok                               37       -     -37
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/4 up/down: 42/-65)            Total: -23 bytes

15 years agosha: merge K[] for sha256 and 512
Denis Vlasenko [Sun, 15 Mar 2009 04:56:51 +0000 (04:56 -0000)]
sha: merge K[] for sha256 and 512

function                                             old     new   delta
sha_K                                                  -     640    +640
sha256_process_block64                               440     425     -15
sha512_process_block128                             1336    1283     -53
K512_lo                                              320       -    -320
K256                                                 320       -    -320
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 0/2 up/down: 640/-708)          Total: -68 bytes

15 years agosha: fix thinko in sha512; add FAST_FUNC to sha1/sha256
Denis Vlasenko [Sun, 15 Mar 2009 02:56:00 +0000 (02:56 -0000)]
sha: fix thinko in sha512; add FAST_FUNC to sha1/sha256

function                                             old     new   delta
sha512_process_block128                             1334    1336      +2
sha1_hash                                            112     111      -1
sha256_process_block64                               446     440      -6
sha1_process_block64                                 494     484     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 2/-17)             Total: -15 bytes

15 years agosha: merge sha1/sha256 handling (they are similar enough for this),
Denis Vlasenko [Sun, 15 Mar 2009 02:28:05 +0000 (02:28 -0000)]
sha: merge sha1/sha256 handling (they are similar enough for this),
 shrink sha215 code

function                                             old     new   delta
sha1_end                                             129     142     +13
sha1_process_block64                                 486     494      +8
sha256_begin                                          37      44      +7
sha1_begin                                            49      56      +7
sha1_hash                                            108     112      +4
...
sha512_end                                           204     184     -20
sha512_process_block128                             1405    1334     -71
sha256_process_block64                               520     446     -74
sha256_end                                           147       -    -147
sha512_hash                                          297     130    -167
sha256_hash                                          260       -    -260
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 11/9 up/down: 59/-752)         Total: -693 bytes

15 years agouname: correct cut/paste error
Denis Vlasenko [Sun, 15 Mar 2009 01:28:30 +0000 (01:28 -0000)]
uname: correct cut/paste error
touch: add long options

function                                             old     new   delta
static.longopts                                      137     162     +25
touch_main                                           221     231     +10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 35/0)               Total: 35 bytes

15 years agomount: support "-O option"; stop trying to mount swap partitions
Denis Vlasenko [Sat, 14 Mar 2009 22:57:20 +0000 (22:57 -0000)]
mount: support "-O option"; stop trying to mount swap partitions

function                                             old     new   delta
mount_main                                           975    1152    +177
umount_main                                          640     636      -4
packed_usage                                       25666   25662      -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 177/-8)            Total: 169 bytes

15 years agouname: support long options
Denis Vlasenko [Sat, 14 Mar 2009 18:41:19 +0000 (18:41 -0000)]
uname: support long options

15 years agoinsmod/modprobe: do not pass NULL to kernel as module parameter
Denis Vlasenko [Fri, 13 Mar 2009 23:43:26 +0000 (23:43 -0000)]
insmod/modprobe: do not pass NULL to kernel as module parameter

15 years agotar: make FEATURE_TAR_AUTODETECT work with DESKTOP off too.
Denis Vlasenko [Fri, 13 Mar 2009 14:26:44 +0000 (14:26 -0000)]
tar: make FEATURE_TAR_AUTODETECT work with DESKTOP off too.

15 years agosha: reduce sha256/512 context size. Make sha1/sha256 code more similar
Denis Vlasenko [Thu, 12 Mar 2009 19:06:18 +0000 (19:06 -0000)]
sha: reduce sha256/512 context size. Make sha1/sha256 code more similar

function                                             old     new   delta
sha512_end                                           182     204     +22
sha256_end                                           137     147     +10
sha1_hash                                            113     108      -5
sha1_end                                             143     129     -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 32/-19)             Total: 13 bytes

15 years agosha: tiny shrink
Denis Vlasenko [Thu, 12 Mar 2009 17:50:50 +0000 (17:50 -0000)]
sha: tiny shrink

15 years agoadd comment about sha testing
Denis Vlasenko [Thu, 12 Mar 2009 16:05:02 +0000 (16:05 -0000)]
add comment about sha testing

15 years agoshrink sha hashing a bit more (remove wbuflen field from ctx),
Denis Vlasenko [Thu, 12 Mar 2009 15:40:27 +0000 (15:40 -0000)]
shrink sha hashing a bit more (remove wbuflen field from ctx),
remove the requirement for aligned buffer

function                                             old     new   delta
sha512_hash                                          262     297     +35
sha1_end                                             136     143      +7
passwd_main                                         1019    1023      +4
sha256_end                                           135     137      +2
count_lines                                           72      74      +2
sha256_hash                                          259     260      +1
popstring                                            164     158      -6
sha512_begin                                          88      81      -7
sha256_begin                                          44      37      -7
parse_expr                                           832     824      -8
bbunpack                                             446     438      -8
sha256_process_block64                               529     520      -9
md5_end                                              166     151     -15
evaltreenr                                           817     802     -15
evaltree                                             817     802     -15
sha512_end                                           204     182     -22
sha512_process_block128                             1444    1405     -39
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/11 up/down: 51/-151)         Total: -100 bytes

15 years agoshrink sha hashing
Denis Vlasenko [Thu, 12 Mar 2009 15:39:11 +0000 (15:39 -0000)]
shrink sha hashing

function                                             old     new   delta
sha512_hash                                          262     281     +19
sha512_end                                           204     221     +17
sha1_hash                                            128     113     -15
static.mask                                           16       -     -16
static.bits                                           16       -     -16
sha1_end                                             160     136     -24
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 2/2 up/down: 36/-71)            Total: -35 bytes

15 years agopopmaildir: fix several grave bugs with using memory past end of malloc block
Denis Vlasenko [Thu, 12 Mar 2009 15:35:26 +0000 (15:35 -0000)]
popmaildir: fix several grave bugs with using memory past end of malloc block

15 years agothe -elf2flt flag can be used w/out -Wl, so drop the requirement so people can use...
Mike Frysinger [Thu, 12 Mar 2009 07:56:49 +0000 (07:56 -0000)]
the -elf2flt flag can be used w/out -Wl, so drop the requirement so people can use either form

15 years agosha256/512: code shrink. Run-tested.
Denis Vlasenko [Wed, 11 Mar 2009 21:15:51 +0000 (21:15 -0000)]
sha256/512: code shrink. Run-tested.

function                                             old     new   delta
sha512_process_block128                                -    1444   +1444
sha1_process_block64                                   -     542    +542
sha256_process_block64                                 -     529    +529
K512_lo                                                -     320    +320
K256                                                   -     320    +320
init512_lo                                             -      32     +32
init256                                                -      32     +32
sha1_hash                                             99     128     +29
sha256_end                                           160     135     -25
sha1_end                                             189     160     -29
sha512_end                                           237     204     -33
sha256_begin                                          77      44     -33
sha512_begin                                         154      88     -66
sha256_hash                                          338     259     -79
sha512_hash                                          358     262     -96
sha1_compile                                         542       -    -542
sha256_process_block                                 594       -    -594
static.K                                             896       -    -896
sha512_process_block                                1861       -   -1861
------------------------------------------------------------------------------
(add/remove: 7/4 grow/shrink: 1/7 up/down: 3248/-4254)      Total: -1006 bytes
   text    data     bss     dec     hex filename
 808013     468    7856  816337   c74d1 busybox_old
 807007     468    7856  815331   c70e3 busybox_unstripped

15 years ago*: remove LOG_NOWAIT
Denis Vlasenko [Wed, 11 Mar 2009 15:59:49 +0000 (15:59 -0000)]
*: remove LOG_NOWAIT

15 years agoftpd: stop unconditional logging to syslog. This was the only applet
Denis Vlasenko [Wed, 11 Mar 2009 15:07:44 +0000 (15:07 -0000)]
ftpd: stop unconditional logging to syslog. This was the only applet
 which was doing it. Added option -S to enable it when desired.

function                                             old     new   delta
packed_usage                                       25647   25666     +19
ftpd_main                                           1826    1825      -1

15 years agodocs/logging_and_backgrounding.txt: new mini-doc
Denis Vlasenko [Wed, 11 Mar 2009 14:40:00 +0000 (14:40 -0000)]
docs/logging_and_backgrounding.txt: new mini-doc
dnsd: remove statics, remove nerly-useless SIGINT handler
crond: correct more of logfile to 0666 (as usual, umask allows
 user to remove unwanted bits).
nameif: print errors to stderr too, not just to syslog

function                                             old     new   delta
udhcp_read_interface                                 308     306      -2
ttl                                                    4       -      -4
fileconf                                               4       -      -4
dnsentry                                               4       -      -4
interrupt                                             19       -     -19
dnsd_main                                           1463    1394     -69
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 0/2 up/down: 0/-102)           Total: -102 bytes
   text    data     bss     dec     hex filename
 808161     476    7864  816501   c7575 busybox_old
 807994     468    7856  816318   c74be busybox_unstripped

15 years agomail.c: more robust handling of SIGCHLD
Denis Vlasenko [Tue, 10 Mar 2009 16:01:57 +0000 (16:01 -0000)]
mail.c: more robust handling of SIGCHLD
init: more robust signal handling

15 years agoftpd + ls - timestamp = confused Mozilla. Prevent that.
Denis Vlasenko [Mon, 9 Mar 2009 22:37:23 +0000 (22:37 -0000)]
ftpd + ls - timestamp = confused Mozilla. Prevent that.

15 years agoftpd: add LOG_NDELAY to openlog
Denis Vlasenko [Mon, 9 Mar 2009 17:22:16 +0000 (17:22 -0000)]
ftpd: add LOG_NDELAY to openlog

15 years agouniq: strncmp(a,b, -1) might be problematic, use INT_MAX instead
Denis Vlasenko [Mon, 9 Mar 2009 16:43:28 +0000 (16:43 -0000)]
uniq: strncmp(a,b, -1) might be problematic, use INT_MAX instead

15 years agofix typo in help text
Denis Vlasenko [Mon, 9 Mar 2009 16:25:33 +0000 (16:25 -0000)]
fix typo in help text

15 years agoftpd: reuse ls applet for LIST/NLST/STAT generation
Denis Vlasenko [Mon, 9 Mar 2009 15:46:07 +0000 (15:46 -0000)]
ftpd: reuse ls applet for LIST/NLST/STAT generation

function                                             old     new   delta
popen_ls                                               -     211    +211
ftpd_main                                           1760    1826     +66
handle_dir_common                                    199     228     +29
get_remote_transfer_fd                                89     104     +15
replace_char                                          30      34      +4
handle_upload_common                                 263     265      +2
bind_for_passive_mode                                129     121      -8
cmdio_write                                           84      62     -22
escape_text                                          166     136     -30
init_data_sock_params                                 81       -     -81
ftpdataio_dispose_transfer_fd                         87       -     -87
write_dirstats                                       149       -    -149
write_filestats                                      603       -    -603
------------------------------------------------------------------------------
(add/remove: 1/4 grow/shrink: 11/5 up/down: 384/-986)        Total: -602 bytes
   text    data     bss     dec     hex filename
 808804     476    7864  817144   c77f8 busybox_old
 808156     476    7864  816496   c7570 busybox_unstripped

15 years agoftpd: EPSV and SIZE support. Tested to work on IPv6 too.
Denis Vlasenko [Mon, 9 Mar 2009 13:01:08 +0000 (13:01 -0000)]
ftpd: EPSV and SIZE support. Tested to work on IPv6 too.
libbb: str2sockaddr shuld accept [IPv6] addr without port -
 wget 'ftp://[::1]/file' needs that to work.

function                                             old     new   delta
bind_for_passive_mode                                  -     129    +129
get_nport                                              -      30     +30
ftpd_main                                           1731    1760     +29
str2sockaddr                                         412     431     +19
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/0 up/down: 207/0)             Total: 207 bytes
   text    data     bss     dec     hex filename
 808568     476    7864  816908   c770c busybox_old
 808804     476    7864  817144   c77f8 busybox_unstripped

15 years agoftp: reduce amount of realloc's done in cmdio_write
Denis Vlasenko [Mon, 9 Mar 2009 04:38:37 +0000 (04:38 -0000)]
ftp: reduce amount of realloc's done in cmdio_write

   text    data     bss     dec     hex filename
 808562     476    7864  816902   c7706 busybox_old
 808568     476    7864  816908   c770c busybox_unstripped

15 years agoftpd: code shrink
Denis Vlasenko [Mon, 9 Mar 2009 04:22:52 +0000 (04:22 -0000)]
ftpd: code shrink

15 years agoftpd: code shrink
Denis Vlasenko [Mon, 9 Mar 2009 04:18:00 +0000 (04:18 -0000)]
ftpd: code shrink

15 years agoftp: code shrink
Denis Vlasenko [Mon, 9 Mar 2009 04:13:59 +0000 (04:13 -0000)]
ftp: code shrink

   text    data     bss     dec     hex filename
 809078     476    7864  817418   c790a busybox_old
 808590     476    7864  816930   c7722 busybox_unstripped

15 years agoftpd: code shuffled a bit, added comments
Denis Vlasenko [Mon, 9 Mar 2009 03:15:05 +0000 (03:15 -0000)]
ftpd: code shuffled a bit, added comments

15 years agoftpd: add comment
Denis Vlasenko [Mon, 9 Mar 2009 02:51:46 +0000 (02:51 -0000)]
ftpd: add comment

15 years agoftpd: further code shrink
Denis Vlasenko [Mon, 9 Mar 2009 02:23:45 +0000 (02:23 -0000)]
ftpd: further code shrink

function                                             old     new   delta
port_pasv_cleanup                                      -      50     +50
replace_char                                           -      30     +30
ftp_write_str_common                                 102     104      +2
handle_dir_common                                    209     204      -5
ftpd_main                                           1990    1970     -20
port_cleanup                                          23       -     -23
pasv_cleanup                                          28       -     -28
handle_upload_common                                 320     273     -47
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 1/3 up/down: 82/-123)           Total: -41 bytes

15 years ago*: move get_sock_lsa and xwrite_str to libbb, use where appropriate
Denis Vlasenko [Mon, 9 Mar 2009 00:12:37 +0000 (00:12 -0000)]
*: move get_sock_lsa and xwrite_str to libbb, use where appropriate

function                                             old     new   delta
get_sock_lsa                                           -      72     +72
buffer_fill_and_print                                179     196     +17
parse_expr                                           824     832      +8
read_base64                                          343     348      +5
nameval                                              202     206      +4
fbset_main                                          1694    1698      +4
expand                                              1849    1853      +4
udhcp_send_kernel_packet                             249     252      +3
udhcp_get_option                                     223     222      -1
chat_main                                           1246    1245      -1
pack_gzip                                           1661    1659      -2
doset                                                299     297      -2
bb__parsespent                                       119     117      -2
test_main                                            260     257      -3
qgravechar                                           109     106      -3
tcpudpsvd_main                                      1834    1830      -4
sysctl_display_all                                   589     580      -9
xopen_xwrite_close                                    44      33     -11
prs                                                   30      18     -12
find_main                                            418     406     -12
full_write2_str                                       25      12     -13
adduser_main                                         667     654     -13
evaltreenr                                           817     802     -15
evaltree                                             817     802     -15
tftpd_main                                           526     493     -33
ftpd_main                                           2050    1990     -60
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 7/18 up/down: 117/-211)         Total: -94 bytes

15 years agoftpd: code chrink, fixed some minor bugs
Denis Vlasenko [Sun, 8 Mar 2009 23:46:48 +0000 (23:46 -0000)]
ftpd: code chrink, fixed some minor bugs
ls: update comment
*: openlog fixes (added LOG_PID, set LOG_DAEMON as appropriate)

function                                             old     new   delta
xwrite_str                                             -      26     +26
cmdio_write_ok                                         -      15     +15
handle_cwd                                            40      45      +5
packed_usage                                       25668   25670      +2
cmdio_write_raw                                        7       9      +2
handle_upload_common                                 322     320      -2
udhcpd_main                                         1375    1372      -3
udhcpc_main                                         2362    2359      -3
port_cleanup                                          27      23      -4
handle_dir_common                                    221     209     -12
str_netfd_write                                       26       -     -26
cmdio_get_cmd_and_arg                                122       -    -122
ftpd_main                                           2208    2050    -158
------------------------------------------------------------------------------
   text    data     bss     dec     hex filename
 809933     476    7864  818273   c7c61 busybox_old
 809199     476    7864  817539   c7983 busybox_unstripped

15 years agoadding forgotten new file
Denis Vlasenko [Sun, 8 Mar 2009 09:31:28 +0000 (09:31 -0000)]
adding forgotten new file

15 years agoftpd: new applet by Adam Tkac
Denis Vlasenko [Sun, 8 Mar 2009 09:30:56 +0000 (09:30 -0000)]
ftpd: new applet by Adam Tkac

$ size ftpd.o
   text    data     bss     dec     hex filename
   5703       0       0    5703    1647 ftpd.o

15 years agowebsite: mention fixes to syslogd
Denis Vlasenko [Sun, 8 Mar 2009 01:06:18 +0000 (01:06 -0000)]
website: mention fixes to syslogd

15 years agowebsite: announce 1.13.3
Denis Vlasenko [Sun, 8 Mar 2009 01:00:16 +0000 (01:00 -0000)]
website: announce 1.13.3

15 years agohalt/reboot/poweroff: improve error reporting
Denis Vlasenko [Sat, 7 Mar 2009 01:54:24 +0000 (01:54 -0000)]
halt/reboot/poweroff: improve error reporting

function                                             old     new   delta
halt_main                                            207     185     -22

15 years agofurther work on modprobe
Denis Vlasenko [Fri, 6 Mar 2009 22:48:11 +0000 (22:48 -0000)]
further work on modprobe

function                                             old     new   delta
gather_options_str                                     -      75     +75
config_file_action                                   388     413     +25
load_modules_dep                                     175     192     +17
add_probe                                             67      72      +5
modprobe_main                                        494     488      -6
gather_options                                        89       -     -89
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 3/1 up/down: 122/-95)            Total: 27 bytes

15 years ago- test commit
Bernhard Reutner-Fischer [Thu, 5 Mar 2009 17:27:39 +0000 (17:27 -0000)]
- test commit

15 years agomodprobe: rework/speedup by Timo Teras (timo.teras AT iki.fi)
Denis Vlasenko [Thu, 5 Mar 2009 16:32:27 +0000 (16:32 -0000)]
modprobe: rework/speedup by Timo Teras (timo.teras AT iki.fi)

function                                             old     new   delta
load_modules_dep                                       -     175    +175
helper_get_module                                      -     106    +106
gather_options                                         -      89     +89
add_probe                                              -      67     +67
config_file_action                                   345     388     +43
get_or_add_modentry                                    -      10     +10
loaded                                                 4       -      -4
read_config                                          239     234      -5
llist_find                                            34       -     -34
add_option                                            60       -     -60
modprobe_main                                        567     494     -73
do_modprobe                                          601     273    -328
------------------------------------------------------------------------------
(add/remove: 5/3 grow/shrink: 1/3 up/down: 490/-504)          Total: -14 bytes
   text    data     bss     dec     hex filename
 816778     476    7888  825142   c9736 busybox_old
 816768     476    7880  825124   c9724 busybox_unstripped

15 years agomodutils: delete unused global variable
Denis Vlasenko [Thu, 5 Mar 2009 09:26:17 +0000 (09:26 -0000)]
modutils: delete unused global variable

function                                             old     new   delta
modprobe_main                                        570     567      -3
insmod_main                                          101      98      -3
insmod_outputname                                      4       -      -4
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/2 up/down: 0/-10)             Total: -10 bytes
   text    data     bss     dec     hex filename
 816784     476    7892  825152   c9740 busybox_old
 816778     476    7888  825142   c9736 busybox_unstripped

15 years agonetworking/libiproute/*: code shrink by optimizing numeric conversions
Denis Vlasenko [Thu, 5 Mar 2009 09:21:57 +0000 (09:21 -0000)]
networking/libiproute/*: code shrink by optimizing numeric conversions
 and other misc stuff

function                                             old     new   delta
print_tunnel                                         660     656      -4
format_host                                            5       -      -5
get_unsigned                                          70      54     -16
get_u32                                               70      54     -16
do_iplink                                           1173    1151     -22
get_prefix                                           417     393     -24
print_rule                                           800     771     -29
print_addrinfo                                      1374    1342     -32
print_route                                         1745    1709     -36
iprule_modify                                        905     866     -39
iproute_modify                                      1105    1048     -57
get_integer                                           70       -     -70
parse_args                                          1684    1440    -244
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 0/11 up/down: 0/-594)          Total: -594 bytes
   text    data     bss     dec     hex filename
 817378     476    7892  825746   c9992 busybox_old
 816784     476    7892  825152   c9740 busybox_unstripped

15 years agosendmail: document and fix usage of fd #4, fix check for helper failure.
Denis Vlasenko [Wed, 4 Mar 2009 17:56:00 +0000 (17:56 -0000)]
sendmail: document and fix usage of fd #4, fix check for helper failure.

function                                             old     new   delta
packed_usage                                       25663   25694     +31
signal_handler                                       191     215     +24
kill_helper                                           22      31      +9
launch_helper                                        194     184     -10
get_cred_or_die                                      142     129     -13
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/2 up/down: 64/-23)             Total: 41 bytes

15 years agowget: --post-data support by Harald Kuthe (harald-tuxbox AT arcor.de)
Denis Vlasenko [Wed, 4 Mar 2009 14:13:37 +0000 (14:13 -0000)]
wget: --post-data support by Harald Kuthe (harald-tuxbox AT arcor.de)

function                                             old     new   delta
wget_main                                           2467    2793    +326
static.wget_longopts                                 110     122     +12
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 338/0)             Total: 338 bytes

15 years agomodprobe: emit "can't open 'modules.dep': (errno)" instead of "module not found"
Denis Vlasenko [Tue, 3 Mar 2009 18:47:56 +0000 (18:47 -0000)]
modprobe: emit "can't open 'modules.dep': (errno)" instead of "module not found"
*: s/can't open %s/can't open '%s'/, it's better to use same string.

function                                             old     new   delta
do_modprobe                                          588     601     +13
config_file_action                                   339     345      +6
modprobe_main                                        565     570      +5
unable_to_open                                        14      16      +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 26/0)               Total: 26 bytes
   text    data     bss     dec     hex filename
 816800     476    7892  825168   c9750 busybox_old
 816812     476    7892  825180   c975c busybox_unstripped

15 years agoip: in "ip rule add from all table 1", "all" is taken as 0.0.0.0/32,
Denis Vlasenko [Tue, 3 Mar 2009 14:55:29 +0000 (14:55 -0000)]
ip: in "ip rule add from all table 1", "all" is taken as 0.0.0.0/32,
whereas "any" and "default" would be 0.0.0.0/0. They must be all 0.0.0.0/0.
Closes bug 57.

15 years agoexpr: a bit more robust handling of regexps with groups (closes bug 87)
Denis Vlasenko [Tue, 3 Mar 2009 14:27:36 +0000 (14:27 -0000)]
expr: a bit more robust handling of regexps with groups (closes bug 87)

15 years agoprintf: fix 1.12.0 breakage (from %*d fix). It was misinterpreting "*"
Denis Vlasenko [Tue, 3 Mar 2009 14:14:44 +0000 (14:14 -0000)]
printf: fix 1.12.0 breakage (from %*d fix). It was misinterpreting "*"