summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>1996-03-24 20:28:37 +0000
committerSam Hartman <hartmans@mit.edu>1996-03-24 20:28:37 +0000
commit01519a9849fcb64989e80e5bdf498d6e41b97dac (patch)
tree8dc67b088ef96a2b8e8ede77014f831b74cfdde6
parente723097e4f2e14c637858a95d90cc81f0d4ec7f4 (diff)
downloadkrb5-01519a9849fcb64989e80e5bdf498d6e41b97dac.tar.gz
krb5-01519a9849fcb64989e80e5bdf498d6e41b97dac.tar.xz
krb5-01519a9849fcb64989e80e5bdf498d6e41b97dac.zip
* krshd no longer does non-blocking IO. It never really needed it
* krcp works correctly even if not all data is written in a single request. * Implement temporary patch to make sure des_outbuf is big enough. Proven should be sending the Cygnus patch once he decides how to handle this permanently. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7706 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/appl/bsd/ChangeLog9
-rw-r--r--src/appl/bsd/krcp.c4
-rw-r--r--src/appl/bsd/krshd.c6
3 files changed, 12 insertions, 7 deletions
diff --git a/src/appl/bsd/ChangeLog b/src/appl/bsd/ChangeLog
index 7d15aa3fa..4e4e7e648 100644
--- a/src/appl/bsd/ChangeLog
+++ b/src/appl/bsd/ChangeLog
@@ -1,3 +1,12 @@
+Sat Mar 23 17:20:00 1996 Sam Hartman <hartmans@tertius.mit.edu>
+
+ * krcp.c (des_write): Use krb5_net_write instead of write, because
+ most parts of rcp that call this code ignore the return value and
+ we want to reblock properly.
+
+ * krshd.c (doit): Don't use non-blocking IO; it is unnecessary and
+ may cause problems.
+
Wed Mar 20 19:36:21 1996 Richard Basch <basch@lehman.com>
* krlogind.c (recvauth): use the library routines to do v4 to v5
diff --git a/src/appl/bsd/krcp.c b/src/appl/bsd/krcp.c
index 3ed5c0089..be7f072a2 100644
--- a/src/appl/bsd/krcp.c
+++ b/src/appl/bsd/krcp.c
@@ -1130,7 +1130,7 @@ struct buffer *allocbuf(bp, fd, blksize)
#else
size = roundup(stb.st_blksize, blksize);
#endif
- if (size == 0)
+
size = blksize;
if (bp->cnt < size) {
if (bp->buf != 0)
@@ -1433,7 +1433,7 @@ int des_write(fd, buf, len)
if (fd == 0)
fd = 1;
if (!encryptflag)
- return(write(fd, buf, len));
+ return(krb5_net_write(bsd_context, fd, buf, len));
desoutbuf.length = krb5_encrypt_size(len,eblock.crypto_entry);
if (desoutbuf.length > sizeof(des_outbuf)){
diff --git a/src/appl/bsd/krshd.c b/src/appl/bsd/krshd.c
index 1573939a9..a7ba147fd 100644
--- a/src/appl/bsd/krshd.c
+++ b/src/appl/bsd/krshd.c
@@ -1134,11 +1134,7 @@ if(port)
(void) close(pw[1]);
(void) close(px[0]);
-if(port)
- ioctl(pv[0], FIONBIO, (char *)&one);
- ioctl(pw[0], FIONBIO, (char *)&one);
- /* should set s nbio! */
-
+
FD_ZERO(&readfrom);
FD_SET(f, &readfrom);