from 1.1 branch:
authorKen Raeburn <raeburn@mit.edu>
Wed, 1 Sep 1999 21:51:42 +0000 (21:51 +0000)
committerKen Raeburn <raeburn@mit.edu>
Wed, 1 Sep 1999 21:51:42 +0000 (21:51 +0000)
* krlogin.c (main): Error out if -D isn't followed by another argument.  Based
on patch from Brad Thompson.

* krshd.c (v4_kdata, v4_ticket): Don't define if KRB5_KRB4_COMPAT is not
defined.  Patch from Brad Thompson.

* kcmd.c (kcmd): If krb5_get_credentials returns a nonzero error code, print an
error message before returning.

* krlogin.c (main): If ospeed is outside of compiled-in table index range but
not high enough to be a baud rate, use the highest rate in the table.

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

src/appl/bsd/ChangeLog
src/appl/bsd/kcmd.c
src/appl/bsd/krlogin.c
src/appl/bsd/krshd.c

index 629dcfb1f4b31da57c583a189e0a92aca824e04d..6108bdb2d9292a92783f49d17ce029ff89fbbf30 100644 (file)
@@ -1,3 +1,18 @@
+1999-09-01  Ken Raeburn  <raeburn@mit.edu>
+
+       * krlogin.c (main): Error out if -D isn't followed by another
+       argument.  Based on patch from Brad Thompson.
+
+       * krshd.c (v4_kdata, v4_ticket): Don't define if KRB5_KRB4_COMPAT
+       is not defined.  Patch from Brad Thompson.
+
+       * kcmd.c (kcmd): If krb5_get_credentials returns a nonzero error
+       code, print an error message before returning.
+
+       * krlogin.c (main): If ospeed is outside of compiled-in table
+       index range but not high enough to be a baud rate, use the highest
+       rate in the table.
+
 1999-08-24  Tom Yu  <tlyu@mit.edu>
 
        * Makefile.in (kshd): Remove $(LOGINLIBS) from kshd dependencies.
index 6b0eafcdeb53189aaa71a286c4ad455bd8e4760c..0e68f88e7c0503967783e73befb61f003c4601cf 100644 (file)
@@ -339,7 +339,11 @@ kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm,
     status = krb5_get_credentials(bsd_context, 0, cc, get_cred, &ret_cred);
     krb5_free_creds(bsd_context, get_cred);
     (void) krb5_cc_close(bsd_context, cc);
-    if (status) goto bad2;
+    if (status) {
+       fprintf (stderr, "error getting credentials: %s\n",
+                error_message (status));
+       goto bad2;
+    }
 
     /* Reset internal flags; these should not be sent. */
     authopts &= (~OPTS_FORWARD_CREDS);
index 0bfb3ef571acbfa90d9e3b34c4d0650faec0b557..0a8e7902e7e9a8dca9c57e028a145dbb1fa80d3a 100644 (file)
@@ -383,6 +383,11 @@ main(argc, argv)
 
     if (argc > 0 && !strcmp(*argv, "-D")) {
        argv++; argc--;
+       if (*argv == NULL) {
+           fprintf (stderr,
+                    "rlogin: -D flag must be followed by the debug port.\n");
+           exit (1);
+       }
        debug_port = htons(atoi(*argv));
        argv++; argc--;
        goto another;
@@ -545,6 +550,10 @@ main(argc, argv)
                        /* On some systems, ospeed is the baud rate itself,
                           not a table index.  */
                        sprintf (term + strlen (term), "%d", ospeed);
+               else if (ospeed >= sizeof(speeds)/sizeof(char*))
+                       /* Past end of table, but not high enough to
+                          look like a real speed.  */
+                       (void) strcat (term, speeds[sizeof(speeds)/sizeof(char*) - 1]);
                else {
                        (void) strcat(term, speeds[ospeed]);
                }
index 2a13917042a2e239c6838cf0eff52762706ed1a4..3844087bb533b36fafef64974d4eda14a67807c8 100644 (file)
@@ -529,8 +529,10 @@ char *kremuser;
 krb5_principal client;
 krb5_authenticator *kdata;
 
+#ifdef KRB5_KRB4_COMPAT
 AUTH_DAT       *v4_kdata;
 KTEXT          v4_ticket;
+#endif
 
 int auth_sys = 0;      /* Which version of Kerberos used to authenticate */