Date: Wed, 31 Jan 2001 19:39:34 +0100 From: Pascal Hofstee <daeron@shadowmere.student.utwente.nl> To: freebsd-current@freebsd.org Subject: Re: Bug in tftpd ? Message-ID: <20010131193934.C68538@shadowmere.student.utwente.nl> In-Reply-To: <20010131121353.A21533@shadowmere.student.utwente.nl>; from daeron@shadowmere.student.utwente.nl on Wed, Jan 31, 2001 at 12:13:54PM %2B0100 References: <20010131002024.A77116@shadowmere.student.utwente.nl> <20010131121353.A21533@shadowmere.student.utwente.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
--OwLcNYc0lM97+oe1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 --OwLcNYc0lM97+oe1 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="tftpd.patch" --- 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(); --OwLcNYc0lM97+oe1-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010131193934.C68538>