Denys Vlasenko
0a90960f44
ar: hopefully fix out-of-bounds read in get_header_ar()
...
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=882175
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-06 17:39:45 +01:00
Denys Vlasenko
8d943175ce
fix a thinko in parse_pasv_epsv.c
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-06 17:11:15 +01:00
Denys Vlasenko
1783ffa990
wget: add EPSV support
...
function old new delta
parse_pasv_epsv - 151 +151
wget_main 2440 2382 -58
xconnect_ftpdata 223 94 -129
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/2 up/down: 151/-187) Total: -36 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-06 15:48:12 +01:00
Denys Vlasenko
403f2999f9
wget: initial support for ftps://
...
function old new delta
spawn_ssl_client - 185 +185
parse_url 409 461 +52
packed_usage 32259 32278 +19
tls_run_copy_loop 293 306 +13
ssl_client_main 128 138 +10
showmode 330 338 +8
P_FTPS - 5 +5
filter_datapoints 177 179 +2
deflate 907 905 -2
decode_one_format 723 716 -7
wget_main 2591 2440 -151
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 6/3 up/down: 294/-160) Total: 134 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-06 15:15:08 +01:00
Denys Vlasenko
e999657f6d
wget: preparations for ftps:// support (block move, no code changes)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-06 15:02:16 +01:00
Denys Vlasenko
98066662aa
tls: fix hash calculations if client cert is requested and sent
...
Symptoms: connecting to
openssl s_server -cert vsftpd.pem -port 990 -debug -cipher AES128-SHA
works, but with "-verify 1" option added it does not.
function old new delta
tls_xread_record 474 499 +25
tls_handshake 1582 1607 +25
bad_record_die 98 110 +12
tls_run_copy_loop 282 293 +11
tls_xread_handshake_block 58 51 -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/1 up/down: 73/-7) Total: 66 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-06 13:33:00 +01:00
Denys Vlasenko
5740e15de5
ftpd: handle restarts past 2147483647 bytes. closes 10741
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-05 19:06:40 +01:00
Denys Vlasenko
c2a51b0cf1
bzip2: work around bad compiler optimization
...
gc-6.1.1 x86_64:
function old new delta
generateMTFValues 380 367 -13
gcc-4.3.1 386:
function old new delta
inner_loop - 41 +41
generateMTFValues 357 294 -63
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 41/-63) Total: -22 bytes
gcc-6.3.0 386:
function old new delta
inner_loop - 36 +36
generateMTFValues 363 250 -113
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 36/-113) Total: -77 bytes
The last case, gcc-6.3.0, runs almost 3 times faster after this change.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-05 00:34:08 +01:00
Denys Vlasenko
f75a7c0439
ftpd: fix aliasing warning from gcc-6.1.1
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-04 23:55:14 +01:00
Denys Vlasenko
05b84d4e92
ftpgetput: add EPSV support (PASV-like thing for IPv6)
...
Based on a patch by Kev Kitchens.
function old new delta
xconnect_ftpdata 149 223 +74
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-04 19:08:34 +01:00
Denys Vlasenko
daa643205f
ftpgetput: preparations for ESPV support, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-04 18:49:31 +01:00
Denys Vlasenko
565af23222
ftpd: switch to mallced "globals"
...
function old new delta
cmdio_write_ok 45 49 +4
cmdio_write_error 45 49 +4
handle_dir_common 360 363 +3
handle_cwd 40 43 +3
port_or_pasv_was_seen 37 39 +2
pasv_active 13 15 +2
cmdio_write_raw 34 36 +2
cmdio_write 78 80 +2
get_remote_transfer_fd 94 93 -1
port_pasv_cleanup 50 45 -5
bind_for_passive_mode 124 119 -5
cmdio_get_cmd_and_arg 237 230 -7
timeout_handler 104 93 -11
ftpd_main 2222 2152 -70
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/6 up/down: 22/-99) Total: -77 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-04 18:32:21 +01:00
Denys Vlasenko
2598915d43
gunzip: fix from gzip-1.3.12 for gzip file with all zero length codes
...
Corresponding changelog from gzip-1.3.12 reads:
"""
2006-12-20 Paul Eggert <eggert@cs.ucla.edu>
* inflate.c (huft_build): Fix regression that caused gzip to
refuse to uncompress null input (all zero length codes). Problem
reported by Yiorgos Adamopoulos. This regression was caused by
the security patch installed 2006-11-20, which in turn came from
Debian, which in turn apparently came from Thomas Biege of SuSe.
"""
function old new delta
huft_build 1176 1216 +40
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-04 00:15:29 +01:00
Denys Vlasenko
0e60a36c92
bzip2: move runningOrder[] back to stack - 256 bytes is not much
...
function old new delta
mainSort 1119 1108 -11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 22:52:55 +01:00
Denys Vlasenko
86be6d5ba9
bzip2: move ->origPtr out of struct EState, make a few members smaller
...
function old new delta
BZ2_compressBlock 223 228 +5
BZ2_blockSort 85 88 +3
generateMTFValues 356 357 +1
handle_compress 355 349 -6
compressStream 538 531 -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/2 up/down: 9/-13) Total: -4 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 20:51:12 +01:00
Denys Vlasenko
c9ae8d770b
bzip2: pass sorting params through EState* pointer
...
function old new delta
mainGtU 499 515 +16
sendMTFValues 2085 2094 +9
mainSort 1116 1119 +3
generateMTFValues 357 356 -1
fallbackSort 1719 1705 -14
mainQSort3 1163 1141 -22
BZ2_blockSort 118 85 -33
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/4 up/down: 28/-70) Total: -42 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 20:19:51 +01:00
Denys Vlasenko
10f516500e
gzip2: small simplification in mainSimpleSort()
...
function old new delta
mainQSort3 1165 1163 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 19:11:00 +01:00
Denys Vlasenko
0599a137ba
bzip2: a few more locals converted to generic types
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 18:47:34 +01:00
Denys Vlasenko
8e31412231
bzip2: eliminate one parameter to mainQSort3()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 18:28:10 +01:00
Denys Vlasenko
9431bdd189
bzip2: small simplification in mainSort()
...
function old new delta
mainSort 1127 1118 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 18:11:08 +01:00
Denys Vlasenko
fe1bab4d35
bzip2: convert some locals to unsigned's
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 18:03:33 +01:00
Denys Vlasenko
c364d32ccc
bzip2: runningOrder[] values are always 0..255, make it uint8
...
function old new delta
mainSort 1171 1124 -47
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 17:44:00 +01:00
Denys Vlasenko
df23f55e39
bzip2: remove redundant clearing of an alredy unset bit
...
function old new delta
mainSort 1178 1171 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 17:38:23 +01:00
Denys Vlasenko
524fa29a93
bzip2: eliminate write-only local numQSorted
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 17:30:16 +01:00
Denys Vlasenko
2109fce410
bzip2: make locals in mainSort() saner, convert one of them from uint16 to unsigned
...
function old new delta
mainSort 1192 1178 -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 17:22:06 +01:00
Denys Vlasenko
aaa3818a75
bzip2: remove redundant loop termination check in mainSort()
...
function old new delta
mainSort 1202 1192 -10
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 16:43:33 +01:00
Denys Vlasenko
e59e5ff96e
bzip2: reduce indentation, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 15:59:46 +01:00
Denys Vlasenko
9e5662ea74
bzip2: reuse zPend processing code
...
function old new delta
generateMTFValues 378 357 -21
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 15:53:17 +01:00
Denys Vlasenko
2cfe10a558
bzip2: shrink makeMaps_e()
...
function old new delta
generateMTFValues 378 368 -10
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 15:31:54 +01:00
Denys Vlasenko
1cbcb02316
bzip2: optimize zPend variable code
...
function old new delta
generateMTFValues 433 378 -55
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 15:26:00 +01:00
Denys Vlasenko
fc228b48c9
bzip2: have two separate "store bit 0" and "store bit 1" functions
...
function old new delta
sendMTFValues 2051 2085 +34
bsW1_0 - 33 +33
BZ2_compressBlock 225 223 -2
bsW1 52 - -52
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/1 up/down: 67/-54) Total: 13 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 14:56:43 +01:00
Denys Vlasenko
feafb3423e
bzip2: ~1% speedup by special-casing "store 1 bit" function
...
function old new delta
bsW1 - 52 +52
BZ2_compressBlock 230 225 -5
BZ2_blockSort 125 118 -7
sendMTFValues 2070 2051 -19
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/3 up/down: 52/-31) Total: 21 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 04:43:46 +01:00
Denys Vlasenko
982c44d030
bzip2: rewrite bit of code which depends on integer overflow
...
function old new delta
sendMTFValues 2093 2070 -23
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 03:34:40 +01:00
Denys Vlasenko
83dd4ff696
bzip2: delete write-only fave[] array
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 03:17:48 +01:00
Denys Vlasenko
3a2c97bd12
bgip2: fewer specifically-sized [u]int32_t's locals in sendMTFValues
...
Generic ints/unsigneds are usually fine. Yes, really.
function old new delta
sendMTFValues 2100 2093 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 03:14:07 +01:00
Denys Vlasenko
359230da8e
bzip2: code shrink
...
function old new delta
sendMTFValues 2111 2100 -11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 02:03:42 +01:00
Denys Vlasenko
e594fb2171
bzip2: code shrink
...
function old new delta
BZ2_compressBlock 225 230 +5
handle_compress 356 355 -1
bsW16 59 56 -3
bsW 64 61 -3
bsFinishWrite 37 32 -5
prepare_new_block 48 34 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/5 up/down: 5/-26) Total: -21 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-03 01:30:12 +01:00
Denys Vlasenko
125c3ff4b1
bzip2: code shrink
...
function old new delta
bsW16 - 59 +59
sendMTFValues 2116 2111 -5
bsPutU16 36 - -36
bsPutU32 76 31 -45
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 59/-86) Total: -27 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-02 20:59:28 +01:00
Denys Vlasenko
da49e7057a
cksum: code shrink
...
function old new delta
cksum_main 281 262 -19
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-01 11:44:52 +01:00
Denys Vlasenko
ddacb03e87
libbb: commonalize a bit of little-endian CRC32 table generation code
...
function old new delta
global_crc32_new_table_le - 11 +11
crc32_new_table_le - 9 +9
inflate_unzip_internal 560 556 -4
flash_eraseall_main 823 819 -4
unpack_xz_stream 2403 2394 -9
lzop_main 121 112 -9
gzip_main 187 178 -9
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/5 up/down: 20/-35) Total: -15 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-01 10:56:19 +01:00
Denys Vlasenko
06076494da
udhcpd: use ptr_to_globals for its lone global data (g_leases)
...
function old new delta
udhcpd_main 1461 1463 +2
add_lease 320 318 -2
g_leases 4 - -4
write_leases 223 214 -9
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/2 up/down: 2/-15) Total: -13 bytes
text data bss dec hex filename
933232 481 6856 940569 e5a19 busybox_old
933223 481 6852 940556 e5a0c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-01 10:41:14 +01:00
Aaro Koskinen
d15d7a0a4b
cp: implement -T
...
Implement "cp -T". Some Linux kernel Makefiles started using this recently,
so allow also building on systems using busybox cp.
function old new delta
cp_main 360 428 +68
copy_file 1678 1676 -2
packed_usage 32290 32259 -31
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 76/-39) Total: 35 bytes
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-01 09:30:59 +01:00
Denys Vlasenko
d6f0f03b68
libarchive: move bbunpack constants to bb_archive.h
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-01 09:13:14 +01:00
Denys Vlasenko
99ac1759dd
lzop: code shrink
...
function old new delta
lzo_decompress 526 524 -2
lzo_compress 473 470 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-01 01:41:31 +01:00
Denys Vlasenko
97058d0585
unlzop: fix --help: it has -U instead of -k
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-01 01:03:50 +01:00
Denys Vlasenko
1b8ac93a20
bzip2: code shrink, stop using global data variable
...
function old new delta
compressStream 523 538 +15
level 1 - -1
bzip2_main 110 73 -37
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 15/-38) Total: -23 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-01 01:00:58 +01:00
Denys Vlasenko
54a174eb01
gzip: "compressed_len" is unused, stop wasting code and time calculating it
...
function old new delta
flush_block 595 523 -72
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-31 23:26:11 +01:00
Denys Vlasenko
a142926029
gzip: remove unnecessary forward declarations, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-31 18:16:34 +01:00
Denys Vlasenko
919bc9d43c
gzip: flush output buffer after stored blocks only if necessary
...
function old new delta
flush_block 671 680 +9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-31 17:37:32 +01:00
Denys Vlasenko
f21ebeece5
gzip: flush output buffer after stored blocks, they are not 32-bit aligned
...
function old new delta
flush_block 665 671 +6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-31 17:19:59 +01:00