Kjeld Mortensen
2008-Dec-16 23:27 UTC
[syslinux] [PATCH] Fixed bug where client recv ACKs error messages from server
---
tftp/tftp.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tftp/tftp.c b/tftp/tftp.c
index d15da22..81cb930 100644
--- a/tftp/tftp.c
+++ b/tftp/tftp.c
@@ -262,12 +262,12 @@ void tftp_recvfile(int fd, const char *name,
const char *mode)
}
amount += size;
} while (size == SEGSIZE);
- abort: /* ok to ack, since user */
- ap->th_opcode = htons((u_short) ACK); /* has seen err msg */
+ ap->th_opcode = htons((u_short) ACK);
ap->th_block = htons((u_short) block);
(void)sendto(f, ackbuf, 4, 0, (struct sockaddr *)&peeraddr,
SOCKLEN(&peeraddr));
write_behind(file, convert); /* flush last buffer */
+ abort:
fclose(file);
stopclock();
if (amount > 0)
--
1.5.3.4
Geert Stappers
2008-Dec-17 20:05 UTC
[syslinux] [PATCH] Fixed bug where client recv ACKs error messages from server
Op 20081217 om 00:27 schreef Kjeld Mortensen:> --- > tftp/tftp.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tftp/tftp.c b/tftp/tftp.c > index d15da22..81cb930 100644 > --- a/tftp/tftp.c > +++ b/tftp/tftp.c > @@ -262,12 +262,12 @@ void tftp_recvfile(int fd, const char *name, > const char *mode) > } > amount += size; > } while (size == SEGSIZE); > - abort: /* ok to ack, since user */ > - ap->th_opcode = htons((u_short) ACK); /* has seen err msg */ > + ap->th_opcode = htons((u_short) ACK); > ap->th_block = htons((u_short) block); > (void)sendto(f, ackbuf, 4, 0, (struct sockaddr *)&peeraddr, > SOCKLEN(&peeraddr)); > write_behind(file, convert); /* flush last buffer */ > + abort: > fclose(file); > stopclock(); > if (amount > 0)Hey, that is most likely a follow-up on the thread from October 17th 2008 Cheers Geert Stappers