[syslinux] tftpd resends option ack during transfer

Tim Newsome tnewsome at aristanetworks.com
Wed Sep 8 14:23:40 PDT 2010


On Wed, Sep 8, 2010 at 1:42 PM, H. Peter Anvin <hpa at zytor.com> wrote:

> > Uploading a >32MB file from a recent curl to tftpd fails because when the
> > block number rolls back to 0, tftpd transmits the option ack again,
> instead
> > of transmitting an acknowledgment for the block received. You don't see
> this
> > problem when using the bundled tftp client because it doesn't set any of
> the
> > options when uploading a file. Attached is a patch that fixes this,
> tested
> > against the current git repository.
>


> That doesn't look quite right... in particular it will do the wrong
> thing if the original OACK is lost and genuinely does need to be
> retransmitted.  We should clear oap to NULL at the point of sending a
> conventional ACK.


Good point. Here's the patch where we clear oap when we're sending a regular
ACK. I've tested that I can still upload 32MB files, but haven't seen what
happens if any packets get lost.

Tim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Don-t-resend-the-option-ack-during-transfer.-2.patch
Type: text/x-patch
Size: 1224 bytes
Desc: not available
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20100908/6b9b0114/attachment.bin>


More information about the Syslinux mailing list