Denis Vlasenko
9f57cf6604
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
2009-03-18 17:32:44 +00:00
Denis Vlasenko
fce4a9454c
ftpd: add some comments
2009-03-18 16:02:54 +00:00
Denis Vlasenko
e3b840ce98
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
2009-03-18 14:25:28 +00:00
Denis Vlasenko
5b492ee876
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
2009-03-18 14:12:22 +00:00
Denis Vlasenko
1432cb4bd9
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
2009-03-18 00:45:00 +00:00
Denis Vlasenko
3a7a1eba2e
ftpd: document NLST format
2009-03-17 13:03:06 +00:00
Denis Vlasenko
1a82555108
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
2009-03-17 12:40:34 +00:00
Denis Vlasenko
edb0de4283
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
2009-03-17 12:23:24 +00:00
Denis Vlasenko
e6c94a611a
ftpd: tweak timeout code
2009-03-17 05:11:51 +00:00
Denis Vlasenko
074c9036b2
ftpd: fix thinko: set_nport takes port in network order
2009-03-16 21:01:41 +00:00
Denis Vlasenko
fbf5846ce1
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
2009-03-16 20:54:45 +00:00
Denis Vlasenko
43bb7bba3b
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
2009-03-16 19:54:06 +00:00
Denis Vlasenko
20c8216897
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
2009-03-16 16:19:53 +00:00
Denis Vlasenko
f2160b6a09
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
2009-03-16 14:53:54 +00:00
Denis Vlasenko
fc58ba1298
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
2009-03-15 15:54:58 +00:00
Denis Vlasenko
54ac03a618
*: remove LOG_NOWAIT
2009-03-11 15:59:49 +00:00
Denis Vlasenko
4221e90ae4
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
2009-03-11 15:07:44 +00:00
Denis Vlasenko
a19e64933c
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
2009-03-11 14:40:00 +00:00
Denis Vlasenko
5b28d314e7
ftpd: add LOG_NDELAY to openlog
2009-03-09 17:22:16 +00:00
Denis Vlasenko
c41cba5a57
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
2009-03-09 15:46:07 +00:00
Denis Vlasenko
9b2fbda538
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
2009-03-09 13:01:08 +00:00
Denis Vlasenko
57a3b17498
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
2009-03-09 04:38:37 +00:00
Denis Vlasenko
d42eb81206
ftpd: code shrink
2009-03-09 04:22:52 +00:00
Denis Vlasenko
3455285339
ftpd: code shrink
2009-03-09 04:18:00 +00:00
Denis Vlasenko
f1a11b5a4e
ftp: code shrink
...
text data bss dec hex filename
809078 476 7864 817418 c790a busybox_old
808590 476 7864 816930 c7722 busybox_unstripped
2009-03-09 04:13:59 +00:00
Denis Vlasenko
9e95920efd
ftpd: code shuffled a bit, added comments
2009-03-09 03:15:05 +00:00
Denis Vlasenko
51c9bb1fd1
ftpd: add comment
2009-03-09 02:51:46 +00:00
Denis Vlasenko
ffb4bb3034
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
2009-03-09 02:23:45 +00:00
Denis Vlasenko
73c571a5ff
*: 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
2009-03-09 00:12:37 +00:00
Denis Vlasenko
5e4fda0aff
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
2009-03-08 23:46:48 +00:00
Denis Vlasenko
bf9d17949e
adding forgotten new file
2009-03-08 09:31:28 +00:00
Denis Vlasenko
16b4a2de97
ftpd: new applet by Adam Tkac
...
$ size ftpd.o
text data bss dec hex filename
5703 0 0 5703 1647 ftpd.o
2009-03-08 09:30:56 +00:00
Denis Vlasenko
76140a77c9
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
2009-03-05 09:21:57 +00:00
Denis Vlasenko
5a2ad699fc
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
2009-03-04 14:13:37 +00:00
Denis Vlasenko
787a492f23
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.
2009-03-03 14:55:29 +00:00
Denis Vlasenko
50af926ecf
wget: fix --header handling
2009-03-02 15:08:06 +00:00
Denis Vlasenko
f09f4e015b
runsv: small optimization
...
*: more paranoia around passing NULL to execl[e]
function old new delta
custom 240 221 -19
2009-02-26 12:29:59 +00:00
Bernhard Reutner-Fischer
30e3df3817
- rephrase helptext for clarity
2009-02-24 10:05:15 +00:00
Bernhard Reutner-Fischer
12aca796ba
- improve wording
2009-02-24 10:03:22 +00:00
Bernhard Reutner-Fischer
97b954decb
- improve wording
2009-02-14 13:17:48 +00:00
Denis Vlasenko
2ca84f6064
httpd: tiny optimization
2009-02-05 12:38:21 +00:00
Denis Vlasenko
1cbfd98ded
httpd:
...
Kill config options by making them always on:
FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
This makes httpd.c remotely readable - it had ~125 #ifdefs, now it has ~100.
The growth on a .config with all FEATURE_HTTPDs off is:
function old new delta
send_file_and_exit - 269 +269
parse_conf 683 763 +80
free_llist - 32 +32
httpd_main 427 454 +27
sighup_handler - 15 +15
handle_incoming_and_exit 1110 905 -205
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 2/1 up/down: 423/-205) Total: 218 bytes
2009-02-04 23:43:44 +00:00
Denis Vlasenko
d814c98692
telnetd: do not advertise TELNET_LFLOW, we do not support
...
it properly.
2009-02-02 23:43:57 +00:00
Denis Vlasenko
04158e0459
udhcpd: add code which rejects lease files with suspicious or old timestamp.
...
*: s/time(0)/time(NULL)/g
2009-02-02 10:48:06 +00:00
Denis Vlasenko
73121c3c8c
dhcpd,dumpleases: write and use 64-bit current time in lease file.
...
without it, determination of remaining lease time is unreliable.
Yes, it's costly in code size, but without it, dumpleases output
is misleading!
function old new delta
read_leases 143 282 +139
dumpleases_main 447 572 +125
write_leases 193 233 +40
hton64 29 58 +29
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 333/0) Total: 333 bytes
2009-02-01 00:40:45 +00:00
Denis Vlasenko
802cab15e5
brctl: fix compilation on 2.4.x kernels
2009-01-31 20:08:21 +00:00
Denis Vlasenko
bdea2c06dc
traceroute: allow -w NUM as small as 1
2009-01-24 21:23:41 +00:00
Denis Vlasenko
766c10c386
traceroute: rewrite. Do not emit raw IP packets, instead send UDP or ICMP
...
packets and rely on the kernel to form IP headers, select source IP
and interface. Doing it in traceroute wasn't working too good,
and was bloating it.
function old new delta
freehostinfo 29 - -29
setsin 30 - -30
in_cksum 57 - -57
gethostinfo 165 - -165
ifaddrlist 364 - -364
traceroute_main 3713 2951 -762
------------------------------------------------------------------------------
(add/remove: 0/5 grow/shrink: 0/1 up/down: 0/-1407) Total: -1407 bytes
2009-01-24 20:14:24 +00:00
Denis Vlasenko
fa65a3d78f
traceroute: preparatory trivial cleanups
...
function old new delta
traceroute_main 3932 3713 -219
2009-01-24 20:11:36 +00:00
Denis Vlasenko
39b681343b
tunctl: new applet by Vladimir
...
function old new delta
tunctl_main - 371 +371
packed_usage 25669 25799 +130
applet_names 1981 1988 +7
applet_main 1192 1196 +4
applet_nameofs 596 598 +2
applet_install_loc 149 150 +1
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 5/0 up/down: 515/0) Total: 515 bytes
2009-01-23 02:07:14 +00:00