Denis Vlasenko
d7e6af2dda
tftpd: make open() check r/w permissions instead of doing it ourself.
...
Add -r "prohibit upload" opt for those lazy people who run tftpd as root.
-40 bytes.
2008-03-18 01:13:11 +00:00
Denis Vlasenko
78c5656530
tftpd: fix bugs spotted by Vladimir
2008-03-18 00:11:46 +00:00
Denis Vlasenko
aa9b1828b9
tftpd: new applet (mostly using existing code for tftp)
...
function old new delta
tftp_protocol - 1173 +1173
tftpd_main - 500 +500
tftp_option_get - 102 +102
packed_usage 23650 23662 +12
applet_names 1809 1815 +6
applet_main 1100 1104 +4
applet_nameofs 550 552 +2
tftp_main 302 301 -1
get_nport 32 - -32
tftp 1172 - -1172
------------------------------------------------------------------------------
(add/remove: 3/2 grow/shrink: 4/1 up/down: 1799/-1205) Total: 594 bytes
text data bss dec hex filename
796479 662 7420 804561 c46d1 busybox_old
797153 662 7420 805235 c4973 busybox_unstripped
2008-03-17 09:10:39 +00:00
Denis Vlasenko
1d42665b6b
*: shrink: use Vladimir's "o+" specifier instead of xatou(opt_param)
...
function old new delta
getopt32 1370 1385 +15
sulogin_main 490 494 +4
realpath_main 84 86 +2
sleep_main 76 77 +1
mt_main 256 257 +1
printenv_main 75 74 -1
fdformat_main 546 545 -1
usleep_main 44 42 -2
setlogcons_main 77 75 -2
ed_main 2654 2649 -5
deallocvt_main 69 64 -5
addgroup_main 373 368 -5
mkfs_minix_main 2989 2982 -7
tail_main 1221 1213 -8
sv_main 1254 1241 -13
du_main 348 328 -20
tftp_main 325 302 -23
split_main 581 558 -23
nc_main 1000 977 -23
diff_main 891 868 -23
arping_main 1797 1770 -27
ls_main 893 847 -46
od_main 2797 2750 -47
readprofile_main 1944 1895 -49
tcpudpsvd_main 1973 1922 -51
udhcpc_main 2590 2513 -77
grep_main 824 722 -102
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/22 up/down: 23/-560) Total: -537 bytes
text data bss dec hex filename
796973 658 7428 805059 c48c3 busybox_old
796479 662 7420 804561 c46d1 busybox_unstripped
2008-03-17 09:09:09 +00:00
Denis Vlasenko
68404f13d4
*: add -Wunused-parameter; fix resulting breakage
...
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-17 09:00:54 +00:00
Denis Vlasenko
4e6d5117b8
inetd: make it NOMMU-capable and IPv6-friendly. Lots of renames
...
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-12 22:14:34 +00:00
Bernhard Reutner-Fischer
8c69afd992
- be C99 friendly. Anonymous unions are a GNU extension. This change is
...
size-neutral WRT -std=gnu99 and fixes several compilation errors for strict
C99 mode.
2008-01-29 10:33:34 +00:00
Denis Vlasenko
9b49a5ed85
add -fvisibility=hidden to CC flags, mark XXX_main functions
...
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-10-11 10:05:36 +00:00
Denis Vlasenko
5d61e71c3a
introduce safe_poll (fixes a problem in top)
...
function old new delta
safe_poll - 77 +77
svlogd_main 1470 1466 -4
zcip_main 1530 1524 -6
forkexec 1345 1338 -7
decode_format_string 795 788 -7
collect_blk 474 467 -7
buffer_pread 540 532 -8
tftp 1182 1172 -10
microcom_main 763 749 -14
arpping 441 424 -17
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/9 up/down: 77/-80) Total: -3 bytes
text data bss dec hex filename
770162 1034 10404 781600 bed20 busybox_old
770158 1034 10404 781596 bed1c busybox_unstripped
2007-09-27 10:09:59 +00:00
Denis Vlasenko
87f3b26b3a
*: replace select-for-one descriptor with poll, it's smaller.
...
$ ./.cmk bloatcheck
function old new delta
readit 406 364 -42
syslogd_main 1249 1206 -43
traceroute_main 4115 4060 -55
mysleep 112 45 -67
arpping 579 441 -138
tftp 1575 1182 -393
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-738) Total: -738 bytes
text data bss dec hex filename
770580 1051 10764 782395 bf03b busybox_old
769820 1051 10764 781635 bed43 busybox_unstripped
2007-09-07 13:43:28 +00:00
Paul Fox
40f0bcf9d3
fix infinite retry bug. also, reduce per-packet receive timeout
...
to something more reasonable than 5 seconds, and add simple
exponential backoff to compensate. improves performance on
marginal networks.
2007-09-06 17:52:22 +00:00
Denis Vlasenko
fe7cd642b0
don't pass argc in getopt32, it's superfluous
...
(add/remove: 0/0 grow/shrink: 12/131 up/down: 91/-727) Total: -636 bytes
text data bss dec hex filename
773469 1058 11092 785619 bfcd3 busybox_old
772644 1058 11092 784794 bf99a busybox_unstripped
2007-08-18 15:32:12 +00:00
Denis Vlasenko
a27a11bb2c
introduce and use xdup2(int, int)
...
stop checking whether setsockopt_reuseaddr(int fd) was successful (it always is)
remove second parameter (sockllen) from xmalloc_sockaddr2xxxxx functions
sockaddr2str 142 156 +14
collect_blk 467 474 +7
xdup2 28 33 +5
singlemount 4456 4454 -2
print_host 214 212 -2
nslookup_main 139 137 -2
ftpgetput_main 414 412 -2
udhcpd_main 1258 1255 -3
udhcpc_main 2405 2402 -3
traceroute_main 4125 4122 -3
nc_main 1072 1069 -3
buffer_fill_and_print 76 73 -3
xmalloc_sockaddr2hostonly_noport 18 14 -4
xmalloc_sockaddr2host_noport 18 14 -4
xmalloc_sockaddr2host 15 11 -4
xmalloc_sockaddr2dotted_noport 18 14 -4
xmalloc_sockaddr2dotted 18 14 -4
wget_main 2618 2614 -4
ping_main 393 389 -4
ip_port_str 120 115 -5
dhcprelay_main 1146 1141 -5
dnsd_main 1531 1525 -6
passwd_main 1110 1102 -8
udhcp_kernel_packet 206 197 -9
udhcp_listen_socket 154 144 -10
getty_main 2576 2566 -10
setup 655 640 -15
xmove_fd 51 34 -17
dolisten 759 742 -17
tcpudpsvd_main 1866 1836 -30
startservice 339 299 -40
2007-08-18 14:16:39 +00:00
Denis Vlasenko
6ca409e0e4
trylink: produce even more info about final link stage
...
trylink: explain how to modify link and drastically decrease amount
of padding (unfortunately, needs hand editing ATM).
*: add ALIGN1 / ALIGN2 to global strings and arrays of bytes and shorts
size saving: 0.5k
2007-08-12 20:58:27 +00:00
Denis Vlasenko
80b8b39899
Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms <wharms@bfs.de>)
2007-06-25 10:55:35 +00:00
Denis Vlasenko
4b924f3a5c
whitespace fixes
2007-05-30 00:29:55 +00:00
Denis Vlasenko
b6adbf1be2
usage.c: remove reference to busybox.h
...
*: s/include "busybox.h"/include "libbb.h"
2007-05-26 19:00:18 +00:00
Denis Vlasenko
bf678d5423
tftp: explain "block# 0" codepath; report our decision to bail out to server
...
if blocksize option doesn't look good (it was a FIXME. +33 bytes code);
make code more readable.
2007-05-09 12:50:08 +00:00
Denis Vlasenko
a04561f5f7
tftp: code diet, and I think retransmits were broken.
...
function old new delta
static.errcode_str - 32 +32
tftp_main 359 345 -14
tftp_bb_error_msg 32 - -32
.rodata 130931 130899 -32
tftp 1720 1558 -162
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/3 up/down: 32/-240) Total: -208 bytes
2007-05-08 23:12:21 +00:00
Bernhard Reutner-Fischer
b290889f02
- add xsendto and use where appropriate; shrink iplink; sanitize libiproute a bit.
...
-916 byte
2007-04-12 11:34:39 +00:00
Denis Vlasenko
2856dab477
tcpsvd: new applet
...
It's a GPL-ed 'clone' of Dan Bernstein's tcpserver.
Author: Gerrit Pape <pape@smarden.org>
http://smarden.sunsite.dk/ipsvd/
size tcpsvd.o
text data bss dec hex filename
2571 4 16 2591 a1f tcpsvd.o
2007-04-01 01:18:20 +00:00
Denis Vlasenko
b477e18c1e
tftp: fix my bug
2007-02-08 20:41:41 +00:00
Denis Vlasenko
0850cdabde
tftp: fix IPv6 fallout
2007-02-07 23:20:32 +00:00
Denis Vlasenko
42823d597a
add x to IPv6 functions which can die
2007-02-04 02:39:08 +00:00
Denis Vlasenko
06af216528
suppress warnings about easch <applet>_main() having
...
no preceding prototype
2007-02-03 17:28:39 +00:00
Denis Vlasenko
316355524f
fixing bugs revealed by randomconfig runs
2007-01-20 16:54:19 +00:00
Denis Vlasenko
2c91652bbc
next part of ipv6-ization. dnsd code is "interesting"...
2007-01-12 14:57:37 +00:00
Denis Vlasenko
6536a9b583
next part of ipv6-ization is here: wget & httpd
2007-01-12 10:35:23 +00:00
Denis Vlasenko
8e9ccba371
ipv6-ization efforts continue. Few bugs are found,
...
unknown number likely introduced...
2007-01-11 16:50:23 +00:00
Denis Vlasenko
10f7dd1ea1
tftp: corrupted input packets were killing retransmits - fixed
2006-12-17 01:14:08 +00:00
Denis Vlasenko
9f739445cd
inline strcmp(s, "-") [actually macro-ize it for now - gcc is too stupid]
2006-12-16 23:49:13 +00:00
Denis Vlasenko
04291bc5ae
httpd: slight reduction of #ifdef forest
...
few other applets: #ifdef CONFIG_ -> #if ENABLE_
traceroute: fix exposed bugs
defconfig: update
2006-11-21 10:15:25 +00:00
Denis Vlasenko
1385899416
attempt to regularize atoi mess.
2006-10-08 12:49:22 +00:00
Denis Vlasenko
000b9ba91f
eject: -T fix
2006-10-05 23:12:49 +00:00
Denis Vlasenko
67b23e6043
getopt_ulflags -> getopt32.
...
It is impossible to formulate sane ABI based on
size of ulong because it can be 32-bit or 64-bit.
Basically it means that you cannot portably use
more that 32 option chars in one call anyway...
Make it explicit.
2006-10-03 21:00:06 +00:00
Rob Landley
d921b2ecc0
Remove bb_ prefixes from xfuncs.c (and a few other places), consolidate
...
things like xasprintf() into xfuncs.c, remove xprint_file_by_name() (it only
had one user), clean up lots of #includes... General cleanup pass. What I've
been doing for the last couple days.
And it conflicts! I've removed httpd.c from this checkin due to somebody else
touching that file. It builds for me. I have to catch a bus. (Now you know
why I'm looking forward to Mercurial.)
2006-08-03 15:41:12 +00:00
Rob Landley
534374755d
Cleaup read() and write() variants, plus a couple of new functions like
...
xlseek and fdlength() for the new mkswap.
2006-07-16 08:14:35 +00:00
Rob Landley
14d7065ef1
Make this slightly more readable, and expose the hypocrasy of a comment that
...
says "our implementation makes it impossible to use blocksizes smaller than
22 octets" right above a check for blocksize < 8.
2006-06-18 15:23:13 +00:00
Bernhard Reutner-Fischer
32bf1f9d42
- rename CONFIG_FEATURE_TFTP_DEBUG to CONFIG_DEBUG_TFTP so it's off in defconfig
...
- expand the cmd_get/cmd_put macros
- Jason Schoon writes: unlink only if non-stdio
2006-06-14 17:29:10 +00:00
Rob Landley
575c8bacda
Don't break allbareconfig.
2006-06-13 21:30:09 +00:00
Bernhard Reutner-Fischer
62f9856f54
- revert incorrect select change
2006-06-10 14:32:56 +00:00
Bernhard Reutner-Fischer
b25f98a417
- fix two segfaults (reported by Horst Kronstorfer)
...
- remove dangling file if get fails (spotted and fixed by Jason Schoon)
- shrink it (Bernhard Fischer)
Thanks, all!
text data bss dec hex filename
2684 0 0 2684 a7c networking/tftp.o.orig
2748 0 0 2748 abc networking/tftp.o.allfixed
2666 0 0 2666 a6a networking/tftp.o.+shrink
2006-06-10 14:15:03 +00:00
Bernhard Reutner-Fischer
3b1936dcf9
- use bb_xbind
...
Thanks Erik Hovland
2006-06-10 11:39:09 +00:00
Bernhard Reutner-Fischer
1b9d7c9aa9
- use bb_msg_{read,write}_error where appropriate.
...
text data bss dec hex filename
825015 9100 645216 1479331 1692a3 busybox.old
824919 9100 645216 1479235 169243 busybox
2006-06-03 22:45:37 +00:00
Rob Landley
299a6b4d7b
Consolidate #include <sys/time.h> so libbb.h does it.
2006-05-27 21:42:58 +00:00
Bernhard Reutner-Fischer
dac7ff15b7
- patch from Denis Vlasenko to add and use bb_xsocket() and to use
...
bb_xopen some more while at it.
Also use shorter boilerplate while at it.
2006-04-12 17:55:51 +00:00
Bernhard Reutner-Fischer
886f6afc8a
- this applet should peruse USE_FEATURE_TFTP_...
2006-04-05 16:47:02 +00:00
Tim Riker
c1ef7bdd8d
just whitespace
2006-01-25 00:08:53 +00:00
Rob Landley
5aabf4e415
Fix -g and -p options. Patch from Traceman. (I don't know who that is,
...
it's the darn bug generator again.)
2005-12-15 05:42:55 +00:00
"Vladimir N. Oleynik"
86ac072b44
more const, use bb_getopt_ulflags, insert XXX for show place of problems
2005-10-17 10:47:19 +00:00
Paul Fox
1d4c88c8a5
applying fix for:
...
0000271: [PATCH] tftp -g fails if a TFTP_ACK is lost
2005-07-20 19:49:15 +00:00
Rob Landley
f3133c4149
Thus spake Brenda J. Butler:
...
We were seeing some timeouts when getting files with the busybox tftp
client.
With tcpdump, we saw that the tftp client was receiving blocks and
ack'ing them, but the server was failing to receive the occasional
ack.
When that happened, the server would send the last block over again,
but the tftp client was expecting the next block.
This patch allows the client to recover from this situation
(it sends an ack for the repeat block but does not write it
to the local file).
I hope it meets your approval, please don't hesitate to send
me comments for improvement.
The patch is against "head" in svn, I tested it on an older version
of busybox in our environment. It applied cleanly to the older
version.
Credit for this goes to my co-worker John McCarthy for finding
it and me for fixing it (assuming it works for everyone else too).
cheerio,
bjb
2005-06-07 02:40:39 +00:00
Eric Andersen
14f5c8d764
Patch from Bernhard Fischer to make a bunch of symbols static
...
which were otherwise cluttering the global namespace.
2005-04-16 19:39:00 +00:00
Glenn L McGrath
d4004ee6a9
Patch from Felipe Kellermann, remove some unnecessary dups, i declared a few extra const's also.
2004-09-14 17:24:59 +00:00
Eric Andersen
4872ed9737
Robin Farine writes:
...
Hi,
Package: BusyBox
Version: 1.0.0-pre10
When an incomplete read or write from/to a local file occurs (i.e.
not an EOF condition), the tftp client prematurely exits. This
problem can be reproduced by slowly piping data to the tftp client
like this:
(for v in 1 2 3; do echo $v; sleep 1; done) | \
tftp -p -l - -r output.txt <host>
The output file on the TFTP server will contain "1".
The attached patch provides a possible solution to this problem.
I can reproduce this on ARM sa1110 and ARM xscale boards, both
running Linux-2.6.4 & glibc-2.3.2. Thanks for the wonderful
program!
Robin
2004-06-22 10:18:30 +00:00
Eric Andersen
70060d25d2
s/fileno\(stdin\)/STDIN_FILENO/g
...
s/fileno\(stdout\)/STDOUT_FILENO/g
2004-03-27 10:02:48 +00:00
Eric Andersen
c7bda1ce65
Remove trailing whitespace. Update copyright to include 2004.
2004-03-15 08:29:22 +00:00
Glenn L McGrath
fbe984e1c9
Fix debugging output, patch by Hideki IWAMOTO
2004-03-05 13:04:39 +00:00
Glenn L McGrath
d5d5e54290
Quick fix for tftp truncation bug
2004-02-26 07:47:20 +00:00
Glenn L McGrath
d33278dea5
Patch from Hideki IWAMOTO, output debugging messages to stderr
2004-02-22 07:20:25 +00:00
Glenn L McGrath
c699778fbb
Ptch by Hideki IWAMOTO, fix a bug preventing tftp from getting or
...
putting more than 0xffff blocks.
2004-02-22 03:33:53 +00:00
Glenn L McGrath
036dbaa082
Modify bb_lookup_port to allow the protocol to be specified, allowing
...
/etc/services support for inetd, netcat and tftp.
2004-01-17 05:03:31 +00:00
Eric Andersen
b99aec0ba5
Christian Meyer provided this patch to fix more bugs with the tftp client
2003-07-30 07:16:39 +00:00
Eric Andersen
05e662ab4d
Patch from Christian Meyer:
...
The client gives up way too soon because timeout is set to 0 ...
There's a solution for that problem.
2003-07-26 08:16:10 +00:00
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +00:00
Glenn L McGrath
0f18271a8a
Bugfix, wastn retrieving last block, patch by Jean-Christophe Dubois
2002-12-19 20:16:22 +00:00
Glenn L McGrath
9bf9f1edbe
Forgot to rename foo
2002-12-09 21:52:29 +00:00
Glenn L McGrath
fad90db887
Fix a debug message, from Bastian Blank
2002-12-09 21:05:40 +00:00
Eric Andersen
5ad22c933c
This patch from Magnus Damm fixed a long standing problem
...
with freeing memory.
2002-10-25 12:14:02 +00:00
Eric Andersen
7829b8d067
Fix for handling of "tftp -l -" from Jean Wolter <jw5@os.inf.tu-dresden.de>
2002-09-10 06:03:31 +00:00
Eric Andersen
744ec1d549
Patch from Ben Low <ben@titr.uow.edu.au> to allow tftp to work
...
with stdin as well as stdout.
2002-04-15 07:40:27 +00:00
Eric Andersen
a66a43e8ef
Teach tftp to direct the fetched file to stdout when the
...
user specifies "-l -"
-Erik
2002-04-13 09:30:25 +00:00
Eric Andersen
900c24dc4e
Patch from Jeff Studer <jstuder@aquilagroup.com> to supply a defaults for
...
localfilename from remotefilename, and for remotefilename from localfilename
when the other one is not supplied.
2002-03-20 14:25:27 +00:00
Eric Andersen
744a194f53
Can't use RESERVE_CONFIG_BUFFER here since the allocation
...
size varies meaning BUFFERS_GO_ON_STACK will fail
2001-11-10 11:16:39 +00:00
Eric Andersen
bdfd0d78bc
Major rework of the directory structure and the entire build system.
...
-Erik
2001-10-24 05:00:29 +00:00
Glenn L McGrath
ad117d8a21
Apply Magnus Damm's patch, adds tftp blocksize support, and some cleanups.
2001-10-05 04:40:37 +00:00
Eric Andersen
76fa8ea790
Apply Glenn's tftp rewrite
2001-08-20 17:47:49 +00:00
Matt Kraai
c55b8d41c1
Add xgethostbyname and herror_msg* functions.
2001-05-16 15:40:51 +00:00
Eric Andersen
e76c3b08e1
A number of cleanups. Now compiles with libc5, glibc, and uClibc. Fix a few
...
shadowed variables. Move (almost) all syscalls to libbb/syscalls.c, so I can
handle them sanely and all at once.
-Erik
2001-04-05 03:14:39 +00:00
Eric Andersen
6b2c23d847
xstrdup tftp cleanup from Jeff Garzik
2001-03-23 17:10:19 +00:00
Mark Whitley
8bb7df49c2
Applied patch from Vladimir Oleynik via Magnus Damm that removes newlines from
...
error_msg() calls and uses 'return EXIT_SUCCESS' instead of return 0.
2001-03-06 20:58:48 +00:00
Mark Whitley
450736cd3c
Added Magnus Damm's tftp applet to Busybox.
2001-03-02 19:08:50 +00:00