aboutsummaryrefslogtreecommitdiff
path: root/lib/tftp.c
AgeCommit message (Collapse)Author
2007-11-24reqdata doesn't exist anymore and the path moved to the UrlState structDaniel Stenberg
2007-11-24struct HandleData is now called struct SingleRequest, and is only for data thatDaniel Stenberg
is inited at the start of the DO action. I removed the Curl_transfer_keeper struct completely, and I had to move out a few struct members (that had to be set before DO or used after DONE) to the UrlState struct. The SingleRequest struct is accessed with SessionHandle->req. One of the biggest reasons for doing this was the bunch of duplicate struct members in HandleData and Curl_transfer_keeper since it was really messy to keep track of two variables with the same name and basically the same purpose!
2007-11-15Rearranged code and changed Curl_readwrite_init() and Curl_pre_readwrite() intoDaniel Stenberg
do_init() and do_complete() which now are called first and last in the DO function. It simplified the flow in multi.c and the functions got more sensible names!
2007-11-14use the existing variable insteadDaniel Stenberg
2007-11-14Fix how TFTP connections are treated when re-used, if the SessionHandle hasDaniel Stenberg
been used for other protocols in between. I found this when test 2004 started to fail for me!
2007-11-07if () => if()Daniel Stenberg
while () => while() and some other minor re-indentings
2007-10-25fix the checkDaniel Stenberg
2007-10-25Fixed a TFTP memory leak. Enabled test 2003 to verify this.Daniel Stenberg
2007-10-17We use this ZERO_NULL to avoid picky compiler warnings,Yang Tse
when assigning a NULL pointer to a function pointer var.
2007-10-12Added per-protocol callback static tables, replacing callback ptr storagePatrick Monnerat
in the connectdata structure by a single handler table ptr.
2007-10-04Kim Rinnewitz reported that --local-port didn't work with TFTP transfers.Daniel Stenberg
This happened because the tftp code always uncondionally did a bind() without caring if one already had been done and then it failed. I wrote a test case (1009) to verify this, but it is a bit error-prone since it will have to pick a fixed local port number and since the tests are run on so many different hosts in different situations I add it in disabled state.
2007-09-07TFTP now reports the "not defined" TFTP error code 0 as an error,Dan Fandrich
not success.
2007-08-30Renamed several libcurl error codes and options to make them more generalDan Fandrich
and allow reuse by multiple protocols. Several unused error codes were removed. In all cases, macros were added to preserve source (and binary) compatibility with the old names. These macros are subject to removal at a future date, but probably not before 2009. An application can be tested to see if it is using any obsolete code by compiling it with the CURL_NO_OLDIES macro defined. Documented some newer error codes in libcurl-error(3)
2007-08-29Added lots of constsDan Fandrich
2007-06-12remove unused field in the state structDaniel Stenberg
2007-05-24Song Ma filed bug report #1724016Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1724016) noticing that downloading glob-ranges for TFTP was broken in CVS.
2007-05-18better fix for the dl/ul countersDaniel Stenberg
2007-05-18Feng Tu reported that curl -w did wrong on TFTP transfers inDaniel Stenberg
bug report #1715394 (http://curl.haxx.se/bug/view.cgi?id=1715394), and the transfer-related info "variables" were indeed overwritten with zeroes wrongly and have now been adjusted. The upload size still isn't accurate.
2007-05-18bail out with error codes on failuresDaniel Stenberg
2007-05-17Feng Tu pointed out a division by zero error in the TFTP connect timeoutDaniel Stenberg
code for timeouts less than fice seconds, and also provided a fix for it.
2007-04-11Fixed some out of memory handling issues.Dan Fandrich
2007-03-26Internal function Curl_select() renamed to Curl_socket_ready()Yang Tse
2007-02-26Removed inclusion of <sys/types.h> and <sys/stat.h> in .c-filesGisle Vanem
since they're already included through "setup.h".
2007-02-16use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handlingYang Tse
2007-02-06fix for millisecond resolution timeoutsYang Tse
2007-02-05- Michael Wallner provided a patch that adds support for CURLOPT_TIMEOUT_MSDaniel Stenberg
and CURLOPT_CONNECTTIMEOUT_MS that, as their names should hint, do the timeouts with millisecond resolution instead. The only restriction to that is the alarm() (sometimes) used to abort name resolves as that uses full seconds. I fixed the FTP response timeout part of the patch. Internally we now count and keep the timeouts in milliseconds but it also means we multiply set timeouts with 1000. The effect of this is that no timeout can be set to more than 2^31 milliseconds (on 32 bit systems), which equals 24.86 days. We probably couldn't before either since the code did *1000 on the timeout values on several places already.
2007-02-05compiler warning fixYang Tse
2007-01-16- Armel Asselin improved libcurl to behave a lot better when an easy handleDaniel Stenberg
doing an FTP transfer is removed from a multi handle before completion. The fix also fixed the "alive counter" to be correct on "premature removal" for all protocols.
2007-01-16Fixed a small memory leak in tftp uploads discovered by curl's memory leakDan Fandrich
detector. Also changed tftp downloads to URL-unescape the downloaded file name.
2006-11-09Ciprian Badescu found a SIGSEGV when doing multiple TFTP transfers using theDaniel Stenberg
multi interface, but I could also repeat it doing multiple sequential ones with the easy interface. Using Ciprian's test case, I could fix it.
2006-09-07Major overhaul introducing http pipelining support and shared connectionDaniel Stenberg
cache within the multi handle.
2006-08-30Removed "#ifndef__WATCOMC__". Use "#ifdef HAVE_SYS_TIME_H" instead.Gisle Vanem
2006-08-29Watcom lacks <sys/time.h>.Gisle Vanem
2006-08-19Based on a patch by Armel Asselin, the FTP code no longer re-issues the TYPEDaniel Stenberg
command on subsequent requests on a re-used connection unless it has to.
2006-07-29Winsock and Cygwin need address family specification before bind(), this ↵Yang Tse
should be harmless for others.
2006-07-19Fix compiler warningsYang Tse
2006-05-09oops, could return an uninitialized variableDaniel Stenberg
2006-05-08check more return codes and skip the initial slash in given file namesDaniel Stenberg
2006-05-08no longer uses errno but Curl_sockerrno() and now acknowledges return codesDaniel Stenberg
from Curl_client_write
2006-05-08Stop sending retransmitted received blocks up to clientDan Fandrich
Fixed handling of retransmitted blocks on transmit Properly aligned data to transmit within packet Replaced calls to strerror() with Curl_strerror()
2006-05-08Fixed known bug #28. The TFTP code no longer assumes a packed struct andDaniel Stenberg
thus works reliably on more platforms.
2006-05-04Roland Blom filed bug report #1481217Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1481217), with follow-ups by Michele Bini and David Byron. libcurl previously wrongly used GetLastError() on windows to get error details after socket-related function calls, when it really should use WSAGetLastError() instead. When changing to this, the former function Curl_ourerrno() is now instead called Curl_sockerrno() as it is necessary to only use it to get errno from socket-related functions as otherwise it won't work as intended on Windows.
2006-04-07First commit of David McCreedy's EBCDIC and TPF changes.Daniel Stenberg
2006-03-26Tor Arntsen figured out that TFTP was broken on a lot of systems since weDaniel Stenberg
called bind() with a too big argument in the 3rd parameter and at least Tru64, AIX and IRIX seem to be very picky about it.
2006-03-20Fixed a bug whereby a received file whose length was a multiple ofDan Fandrich
512 bytes could have random garbage appended. Also, stop processing TFTP packets which are too short to be legal.
2006-03-20fixed tftp packet overflow riskDaniel Stenberg
2005-12-08Fix compiler warningYang Tse
2005-12-05Added a run-time check to warn if TFTP is going to fail due to portabilityDan Fandrich
issues in the code.
2005-12-05Another Yang Tse warning cleanup raid!Daniel Stenberg
2005-12-02Yang Tse fixed the 4th argument in the sendto() callsDaniel Stenberg