mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-27 13:32:45 +00:00
Fix tftpd and tftp to support file transfers of over 65535 blocks
(about 31 MB - 32 MB). Submitted (partially) by: Pascal Hofstee <daeron@wit401305.student.utwente.nl>
This commit is contained in:
parent
294156a7ff
commit
67034ac6ad
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=71926
@ -192,3 +192,8 @@ and the
|
||||
.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).
|
||||
|
@ -501,7 +501,7 @@ xmitfile(pf)
|
||||
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 @@ recvfile(pf)
|
||||
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();
|
||||
|
@ -167,6 +167,9 @@ protocol, the remote site will probably have some
|
||||
sort of file-access restrictions in place. The
|
||||
exact methods are specific to each site and therefore
|
||||
difficult to document here.
|
||||
.Pp
|
||||
Files larger than 33488896 octets (65535 blocks) cannot be transferred
|
||||
without client and server supporting blocksize negotiation (RFC1783).
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm
|
||||
|
@ -96,7 +96,8 @@ xmitfile(fd, name, mode)
|
||||
register struct tftphdr *ap; /* data and ack packets */
|
||||
struct tftphdr *r_init(), *dp;
|
||||
register int n;
|
||||
volatile int block, size, convert;
|
||||
volatile unsigned short block;
|
||||
volatile int size, convert;
|
||||
volatile unsigned long amount;
|
||||
struct sockaddr_in from;
|
||||
int fromlen;
|
||||
@ -201,7 +202,8 @@ recvfile(fd, name, mode)
|
||||
register struct tftphdr *ap;
|
||||
struct tftphdr *dp, *w_init();
|
||||
register int n;
|
||||
volatile int block, size, firsttrip;
|
||||
volatile unsigned short block;
|
||||
volatile int size, firsttrip;
|
||||
volatile unsigned long amount;
|
||||
struct sockaddr_in from;
|
||||
int fromlen;
|
||||
|
Loading…
Reference in New Issue
Block a user