git: 9front

Download patch

ref: 5a51f6fe5fbe26630b9ef13eecdcb77be72d6a7e
parent: 78844aeaf21c1144b1f92165d6384d407152057f
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon May 21 21:53:15 EDT 2018

ip/tftpd: deal with block wrap arround

--- a/sys/src/cmd/ip/tftpd.c
+++ b/sys/src/cmd/ip/tftpd.c
@@ -542,9 +542,9 @@
 		if (Debug)
 			syslog(dbg, flog, "tftpd %d read ack of %d bytes "
 				"for block %d", pid, al, ackblock);
-		if(ackblock == block)
+		if(ackblock == (block & 0xffff))
 			return Ackok;		/* for block just sent */
-		else if(ackblock == block + 1)	/* intel pxe eof bug */
+		else if(ackblock == (block + 1 & 0xffff))	/* intel pxe eof bug */
 			return Ackok;
 		else if(ackblock == 0xffff)
 			return Ackrexmit;
--