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. Tim -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Don-t-resend-the-option-ack-during-transfer.patch Type: text/x-patch Size: 1105 bytes Desc: not available URL: <http://www.zytor.com/pipermail/syslinux/attachments/20100901/29a658c8/attachment.bin>
On 09/01/2010 11:06 AM, Tim Newsome 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. > > TimThat 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. -hpa