On Wed, Jan 31, 2001 at 12:13:54PM +0100, Pascal Hofstee wrote:
> Patches attached:
> Obtained from: NetBSD
> 
> (Committed there about 3 months ago after we first spotted the problem in
> their implementation)

Ok .. I noticed a minor glitch in my previous patch ..
the  "unsigned int" should be "unsigned short"

Apparently NetBSD still uses the "unsigned int" so may still show the same
problem.  New patche attached.

-- 
  Pascal Hofstee      < daeron @ shadowmere . student . utwente . nl >
  begin  LOVE-LETTER-FOR-YOU.TXT.vbs
         I'm a signature virus. Please copy me and help me spread.
  end
--- tftpd.8.orig        Wed Jan 31 11:59:57 2001
+++ tftpd.8     Wed Jan 31 12:04:55 2001
@@ -192,3 +192,9 @@
 .Fl c
 option was introduced in
 .Fx 5.0 .
+.Sh BUGS
+Files larger than 33488896 octets (65535 blocks) cannot be transferred
+without client and server supporting blocksize negotiation (RFC1783).
+.Pp
+Many tftp clients will not transfer files over 16744448 octets (32767 blocks).
+
--- tftpd.c.orig        Wed Jan 31 11:55:53 2001
+++ tftpd.c     Wed Jan 31 11:58:00 2001
@@ -501,7 +501,7 @@
        struct tftphdr *dp, *r_init();
        register struct tftphdr *ap;    /* ack packet */
        register int size, n;
-       volatile int block;
+       volatile unsigned short block;
 
        signal(SIGALRM, timer);
        dp = r_init();
@@ -571,7 +571,7 @@
        struct tftphdr *dp, *w_init();
        register struct tftphdr *ap;    /* ack buffer */
        register int n, size;
-       volatile int block;
+       volatile unsigned short block;
 
        signal(SIGALRM, timer);
        dp = w_init();

Reply via email to