cURL / Mailing Lists / curl-library / Single Mail


Re: [PATCH] TFTP portability fix

From: Dan Fandrich <>
Date: Mon, 8 May 2006 12:56:50 -0700

On Mon, May 08, 2006 at 03:37:04PM +0200, Daniel Stenberg wrote:
> Hey
> Known bug #28 annoys me so much I wrote up the attached patch as an attempt
> to make the TFTP support portable without assuming a particular struct
> packing.
> It seems to work fine for my own limited testing, but I would feel safer if
> someone else could just try it and tell me it still works before I commit!

It works for me on ARM, at least as far as the rest of the TFTP code goes.
I discovered a number of other problems with the code while I was testing,

* The received file is corrupted when a packet is lost and retransmitted
(this is a serious problem!)

* Transmitting a file aborts if a block is lost and retransmitted

* Data is stored in the wrong location in the buffer for uploads, so
uploads always fail (I don't see how it could have ever worked, but it
did on x86 at least)

* A number of calls are made to strerror instead of Curl_strerror, making the
code not thread safe

* There are references to errno instead of Curl_sockerrno(), causing incorrect
error messages on Windows

* The file name includes a leading / which violates RFC3617. Doing
something similar to ftp, where two slashes after the host name means
an absolute reference seems a reasonable extension to fix this.

* Failures in EBCDIC conversion are not propagated up to the caller but are
silently ignored

I've checked in fixes for the first four issues.

>>> Dan

--              The web change of address service
          Let webmasters know that your web site has moved
Received on 2006-05-08