summaryrefslogtreecommitdiffstats
path: root/src/appl/gssftp/ftp/ftp.c
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>1996-07-27 01:56:47 +0000
committerSam Hartman <hartmans@mit.edu>1996-07-27 01:56:47 +0000
commit558444b37c64554d1d67242c88de9972b87fdaff (patch)
tree6549b58fdcc9bafe98f3152116ba24dae206f58b /src/appl/gssftp/ftp/ftp.c
parent52b8d0ca3bc884064f288fc936ee82a6a7a04569 (diff)
downloadkrb5-558444b37c64554d1d67242c88de9972b87fdaff.tar.gz
krb5-558444b37c64554d1d67242c88de9972b87fdaff.tar.xz
krb5-558444b37c64554d1d67242c88de9972b87fdaff.zip
* Define a non-zero FUDGE_FACTOR for GSSAPI; I have it set to 64 now,
even though I tend to see 52 bytes of increased data because I'm not sure that the 52 bytes is constant across all implementations ands options. * When allocating outbuf, set bufsize to the size that was actually allocated; it tends not to be nbyte+FUDGE_FACTOR exactly, and you smash the heap if you store a different size than you actually allocate. * If a secure_putbyte fails, set nout to zero so you don't run off the end of the buffer next time around. * Only write out foure bytes of net_len, no matter how big it is. The right answer is to have it be some 32-bit type but I'm not sure if I should use the krb5 type, the GSSAPI type, or what. (Remember, this code has ifdefs for KerberosIV without GSSAPI) * While we're at it, if secure_write fails while writing out a file in the client, notice the error. (a break in an inner loop didn't break out quite far enough) With these changes, I am able to get and put multi-megabyte files even on an Alpha. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8847 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/appl/gssftp/ftp/ftp.c')
-rw-r--r--src/appl/gssftp/ftp/ftp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/appl/gssftp/ftp/ftp.c b/src/appl/gssftp/ftp/ftp.c
index a90987f9f5..0a2f4d1544 100644
--- a/src/appl/gssftp/ftp/ftp.c
+++ b/src/appl/gssftp/ftp/ftp.c
@@ -892,6 +892,8 @@ sendrequest(cmd, local, remote, printnames)
}
(void) fflush(stdout);
}
+ if (d <= 0 )
+ break;
}
if (hash && bytes > 0) {
if (bytes < HASHBYTES)