Skip to content
Snippets Groups Projects
Commit 6bf20147 authored by Tim Newsome's avatar Tim Newsome Committed by Daniel Stenberg
Browse files

TFTP: Work around tftpd-hpa upload bug

tftpd-hpa has a bug where it will send an incorrect ack when the block
counter wraps and tftp options have been sent. Work around that by
accepting an ack for 65535 when we're expecting one for 0.
parent a10f5b34
No related branches found
No related tags found
No related merge requests found
......@@ -719,7 +719,13 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
/* Ack the packet */
rblock = getrpacketblock(&state->rpacket);
if(rblock != state->block) {
if(rblock != state->block &&
/* There's a bug in tftpd-hpa that causes it to send us an ack for
* 65535 when the block number wraps to 0. So when we're expecting
* 0, also accept 65535. See
* http://syslinux.zytor.com/archives/2010-September/015253.html
* */
!(state->block == 0 && rblock == 65535)) {
/* This isn't the expected block. Log it and up the retry counter */
infof(data, "Received ACK for block %d, expecting %d\n",
rblock, state->block);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment