Date: Sun, 31 Jul 2011 03:12:20 +0000 (UTC) From: Craig Rodrigues <rodrigc@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/libexec/tftpd tftp-transfer.c Message-ID: <201107310312.p6V3CeYK071644@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
rodrigc 2011-07-31 03:12:20 UTC FreeBSD src repository Modified files: libexec/tftpd tftp-transfer.c Log: SVN rev 224536 on 2011-07-31 03:12:20Z by rodrigc In the old TFTP server, there was an undocumented behavior where the block counter would rollover to 0 if a file larger than 65535 blocks was transferred. With the default block size of 512 octets per block, this is a file size of approximately 32 megabytes. The new TFTP server code would report an error and stop transferring the file if a file was larger than 65535 blocks. This patch restores the old TFTP server's behavior to the new TFTP server code. If a TFTP client transfers a file larger than 65535 blocks, and does *not* specify the "rollover" option, then automatically rollover the block counter to 0 every time we reach 65535 blocks. This restores interoperability with the FreeBSD 6 TFTP client. Without this change, if a FreeBSD 6 TFTP client tried to retrieve a file larger than 65535 blocks from a FreeBSD 9 TFTP server , the transfer would fail. The same file could be retrieved successfully if the same FreeBSD 6 TFTP client was used against a FreeBSD 6 TFTP server. Approved by: re (kib) Tested by: Pawan Gupta <pawang at juniper dot net>, Obtained from: Juniper Networks Revision Changes Path 1.2 +16 -12 src/libexec/tftpd/tftp-transfer.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107310312.p6V3CeYK071644>