summaryrefslogtreecommitdiff
path: root/networking/tftp.c
AgeCommit message (Collapse)Author
2007-09-27introduce safe_poll (fixes a problem in top)Denis Vlasenko
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-07*: replace select-for-one descriptor with poll, it's smaller.Denis Vlasenko
$ ./.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-06fix infinite retry bug. also, reduce per-packet receive timeoutPaul Fox
to something more reasonable than 5 seconds, and add simple exponential backoff to compensate. improves performance on marginal networks.
2007-08-18don't pass argc in getopt32, it's superfluousDenis Vlasenko
(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-18introduce and use xdup2(int, int)Denis Vlasenko
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-12trylink: produce even more info about final link stageDenis Vlasenko
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-06-25Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms ↵Denis Vlasenko
<wharms@bfs.de>)
2007-05-30whitespace fixesDenis Vlasenko
2007-05-26usage.c: remove reference to busybox.hDenis Vlasenko
*: s/include "busybox.h"/include "libbb.h"
2007-05-09tftp: explain "block# 0" codepath; report our decision to bail out to serverDenis Vlasenko
if blocksize option doesn't look good (it was a FIXME. +33 bytes code); make code more readable.
2007-05-08tftp: code diet, and I think retransmits were broken.Denis Vlasenko
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-04-12- add xsendto and use where appropriate; shrink iplink; sanitize libiproute ↵Bernhard Reutner-Fischer
a bit. -916 byte
2007-04-01tcpsvd: new appletDenis Vlasenko
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-02-08tftp: fix my bugDenis Vlasenko
2007-02-07tftp: fix IPv6 falloutDenis Vlasenko
2007-02-04add x to IPv6 functions which can dieDenis Vlasenko
2007-02-03suppress warnings about easch <applet>_main() havingDenis Vlasenko
no preceding prototype
2007-01-20fixing bugs revealed by randomconfig runsDenis Vlasenko
2007-01-12next part of ipv6-ization. dnsd code is "interesting"...Denis Vlasenko
2007-01-12next part of ipv6-ization is here: wget & httpdDenis Vlasenko
2007-01-11ipv6-ization efforts continue. Few bugs are found,Denis Vlasenko
unknown number likely introduced...
2006-12-17tftp: corrupted input packets were killing retransmits - fixedDenis Vlasenko
2006-12-16inline strcmp(s, "-") [actually macro-ize it for now - gcc is too stupid]Denis Vlasenko
2006-11-21httpd: slight reduction of #ifdef forestDenis Vlasenko
few other applets: #ifdef CONFIG_ -> #if ENABLE_ traceroute: fix exposed bugs defconfig: update
2006-10-08attempt to regularize atoi mess.Denis Vlasenko
2006-10-05eject: -T fixDenis Vlasenko
2006-10-03getopt_ulflags -> getopt32.Denis Vlasenko
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-08-03Remove bb_ prefixes from xfuncs.c (and a few other places), consolidateRob Landley
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-07-16Cleaup read() and write() variants, plus a couple of new functions likeRob Landley
xlseek and fdlength() for the new mkswap.
2006-06-18Make this slightly more readable, and expose the hypocrasy of a comment thatRob Landley
says "our implementation makes it impossible to use blocksizes smaller than 22 octets" right above a check for blocksize < 8.
2006-06-14- rename CONFIG_FEATURE_TFTP_DEBUG to CONFIG_DEBUG_TFTP so it's off in defconfigBernhard Reutner-Fischer
- expand the cmd_get/cmd_put macros - Jason Schoon writes: unlink only if non-stdio
2006-06-13Don't break allbareconfig.Rob Landley
2006-06-10- revert incorrect select changeBernhard Reutner-Fischer
2006-06-10- fix two segfaults (reported by Horst Kronstorfer)Bernhard Reutner-Fischer
- 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- use bb_xbindBernhard Reutner-Fischer
Thanks Erik Hovland
2006-06-03- use bb_msg_{read,write}_error where appropriate.Bernhard Reutner-Fischer
text data bss dec hex filename 825015 9100 645216 1479331 1692a3 busybox.old 824919 9100 645216 1479235 169243 busybox
2006-05-27Consolidate #include <sys/time.h> so libbb.h does it.Rob Landley
2006-04-12- patch from Denis Vlasenko to add and use bb_xsocket() and to useBernhard Reutner-Fischer
bb_xopen some more while at it. Also use shorter boilerplate while at it.
2006-04-05- this applet should peruse USE_FEATURE_TFTP_...Bernhard Reutner-Fischer
2006-01-25just whitespaceTim Riker
2005-12-15Fix -g and -p options. Patch from Traceman. (I don't know who that is,Rob Landley
it's the darn bug generator again.)
2005-10-17more const, use bb_getopt_ulflags, insert XXX for show place of problems"Vladimir N. Oleynik"
2005-07-20applying fix for:Paul Fox
0000271: [PATCH] tftp -g fails if a TFTP_ACK is lost
2005-06-07Thus spake Brenda J. Butler:Rob Landley
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-04-16Patch from Bernhard Fischer to make a bunch of symbols staticEric Andersen
which were otherwise cluttering the global namespace.
2004-09-14Patch from Felipe Kellermann, remove some unnecessary dups, i declared a few ↵Glenn L McGrath
extra const's also.
2004-06-22Robin Farine writes:Eric Andersen
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-03-27s/fileno\(stdin\)/STDIN_FILENO/gEric Andersen
s/fileno\(stdout\)/STDOUT_FILENO/g
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
2004-03-05Fix debugging output, patch by Hideki IWAMOTOGlenn L McGrath