Fix the server side of the krlogin bug detecting eof in connection close
authorSam Hartman <hartmans@mit.edu>
Mon, 26 Feb 1996 00:14:35 +0000 (00:14 +0000)
committerSam Hartman <hartmans@mit.edu>
Mon, 26 Feb 1996 00:14:35 +0000 (00:14 +0000)
Also, import the ops changes to do with enable-athena.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7545 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/bsd/ChangeLog
src/appl/bsd/configure.in
src/appl/bsd/krcp.c
src/appl/bsd/krlogin.c
src/appl/bsd/krlogind.c
src/appl/bsd/krsh.c

index 8549d29f0291f481111e204f8c2a5f0ed9bb8218..c05209c4828773dc5120bd33a13c4907299b88ee 100644 (file)
@@ -1,3 +1,10 @@
+Sun Feb 25 18:50:45 1996  Sam Hartman  <hartmans@tertius.mit.edu>
+
+       * krlogind.c (v5_des_read): Fix server side of bug in detecing eof
+        on the network connection.  Same as client change: v5_des_read
+        needs to return 0 if read returns <= 0, notjust a strict
+        inequality.
+
 Mon Feb 12 22:41:06 1996  Theodore Y. Ts'o  <tytso@dcl>
 
        * kcmd.c (kcmd): Fix lint flame (added missing cast).
@@ -11,6 +18,15 @@ Fri Feb  9 20:18:48 1996  <hartmans@mit.edu>
        * krlogind.c (recvauth): Fix v4 incompatability created by
         checksum code; if using v4, don't try to verify a v5 checksum.
 
+||||||| 5.174.2.1
+Fri Feb  2 16:10:56 1996  Sam Hartman  <hartmans@tertius.mit.edu>
+
+       * configure.in (save_path): Look for "ucb" varients in /usr/athena/bin if --enable-athena specified.
+
+
+       * krsh.c krlogin.c krcp.c (try_normal): If a--enable-athena, don't quit just because we are encrypted.
+
+
 Thu Feb  1 00:09:13 1996  Sam Hartman  <hartmans@tertius.mit.edu>
 
        * rcp.M: Fix typo.
index de267b7b2e6d84a00eb170a432c2424cef494001..c8d859718b9e93ed32be784e09225dc1c8b62c98 100644 (file)
@@ -69,7 +69,10 @@ dnl Check for where the BSD rlogin, rcp, and rsh programs live.
 dnl
 save_path=$PATH
 AC_PROG_ECHO_N
-PATH=/bin:/usr/bin:/usr/bsd:/usr/ucb
+AC_ARG_ENABLE([athena],
+[  --enable-athena         build with MIT Project Athena configuration],
+[PATH=/usr/athena/bin:/bin:/usr/bin:/usr/bsd:/usr/ucb],
+[PATH=/bin:/usr/bin:/usr/bsd:/usr/ucb])
 AC_PATH_PROG(UCB_RLOGIN,rlogin,/usr/ucb/rlogin)
 AC_PATH_PROG(UCB_RSH,rsh,/usr/ucb/rsh)
 AC_PATH_PROG(UCB_RCP,rcp,/usr/ucb/rcp)
index f46e16352b5c6a851e81f2fdc2636e78be7c1252..e96c5f4315ee3449f5799f350791959bd3d5c3c3 100644 (file)
@@ -1220,8 +1220,10 @@ void try_normal(argv)
      char **argv;
 {
     register int i;
-    
-    if (!encryptflag) {
+#ifndef     KRB5_ATHENA_COMPAT
+    if (!encryptflag)
+       #endif
+       {
        fprintf(stderr,"trying normal rcp (%s)\n", UCB_RCP);
        fflush(stderr);
        /* close all but stdin, stdout, stderr */
index 1450a5095d45c5d1e559d851cff930615877af2b..e8b205da886d32ee42cd6c94f780bf0878efabfa 100644 (file)
@@ -1564,8 +1564,10 @@ void try_normal(argv)
 {
     register char *host;
     
+#ifndef KRB5_ATHENA_COMPAT
     if (encrypt_flag)
       exit(1);
+#endif
     fprintf(stderr,"trying normal rlogin (%s)\n",
            UCB_RLOGIN);
     fflush(stderr);
index ab9f5ea3e4a05d24e5e726d2a89e0b06bf4528f8..924a1937a29f5017a53cb45b3a6d4242e165d0d7 100644 (file)
@@ -1226,7 +1226,7 @@ v5_des_read(fd, buf, len)
                cc = krb5_net_read(bsd_context, fd, &c, 1);
                /* we should check for non-blocking here, but we'd have
                   to make it save partial reads as well. */
-               if (cc < 0) return 0; /* read error */
+               if (cc <= 0) return 0; /* read error */
                if (cc == 1) {
                    if (c == 0) gotzero = 1;
                }
index 8ac92ef30aab60053cd939e2a05e0b486b5cbbb3..88c630e2321f8fefc4cc2992680840bfd08816b9 100644 (file)
@@ -547,9 +547,10 @@ void try_normal(argv)
 {
     char *host;
     
+#ifndef KRB5_ATHENA_COMPAT
     if (encrypt_flag)
        exit(1);
-
+#endif
     /*
      * if we were invoked as 'rsh host mumble', strip off the rsh
      * from arglist.
@@ -683,4 +684,3 @@ int des_write(fd, buf, len)
     else return(len); 
 }
 #endif /* KERBEROS */
-