Skip site navigation (1)Skip section navigation (2)
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>