* krshd no longer does non-blocking IO. It never really needed it
authorSam Hartman <hartmans@mit.edu>
Sun, 24 Mar 1996 20:28:37 +0000 (20:28 +0000)
committerSam Hartman <hartmans@mit.edu>
Sun, 24 Mar 1996 20:28:37 +0000 (20:28 +0000)
* 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

src/appl/bsd/ChangeLog
src/appl/bsd/krcp.c
src/appl/bsd/krshd.c

index 7d15aa3fa8d3298fe9e125c2e83c3e03f139c545..4e4e7e64895772c503fc977e98a8b39f98e09f14 100644 (file)
@@ -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
index 3ed5c0089e63cca72a954dc1e7c07a1380eed222..be7f072a266733b77587c2d001e929381e662d80 100644 (file)
@@ -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)){
index 1573939a9142a5b77e64bf4d9e89164f773c610d..a7ba147fd194e922888a9456df9bba75e390ef59 100644 (file)
@@ -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);