]> andersk Git - openssh.git/commitdiff
- markus@cvs.openbsd.org 2002/04/10 08:21:47
authormouring <mouring>
Wed, 10 Apr 2002 16:22:09 +0000 (16:22 +0000)
committermouring <mouring>
Wed, 10 Apr 2002 16:22:09 +0000 (16:22 +0000)
     [auth1.c compat.c compat.h]
     strip '@' from username only for KerbV and known broken clients, bug #204

Don't mind me.. I just commited a changelog with no patch. <sigh>

auth1.c
compat.c
compat.h

diff --git a/auth1.c b/auth1.c
index 55dbf78facb513253b87b73f887c89bc18a51d8a..c2a8936aebca76656c3590d454e0ffa7959f75b7 100644 (file)
--- a/auth1.c
+++ b/auth1.c
@@ -10,7 +10,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: auth1.c,v 1.39 2002/03/19 14:27:39 markus Exp $");
+RCSID("$OpenBSD: auth1.c,v 1.40 2002/04/10 08:21:47 markus Exp $");
 
 #include "xmalloc.h"
 #include "rsa.h"
@@ -345,7 +345,7 @@ do_authentication(void)
 {
        Authctxt *authctxt;
        u_int ulen;
-       char *p, *user, *style = NULL;
+       char *user, *style = NULL;
 
        /* Get the name of the user that we wish to log in as. */
        packet_read_expect(SSH_CMSG_USER);
@@ -357,9 +357,15 @@ do_authentication(void)
        if ((style = strchr(user, ':')) != NULL)
                *style++ = '\0';
 
+#ifdef KRB5
        /* XXX - SSH.com Kerberos v5 braindeath. */
-       if ((p = strchr(user, '@')) != NULL)
-               *p = '\0';
+       if ((datafellows & SSH_BUG_K5USER) &&
+           options.kerberos_authentication) {
+               char *p;
+               if ((p = strchr(user, '@')) != NULL)
+                       *p = '\0';
+       }
+#endif
 
        authctxt = authctxt_new();
        authctxt->user = user;
index 8671e641b43ce95b3c0d3dcde0d8dcea76308026..406b47c25714df1659c4593658b19fae5fa1d956 100644 (file)
--- a/compat.c
+++ b/compat.c
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: compat.c,v 1.62 2002/03/25 21:13:51 markus Exp $");
+RCSID("$OpenBSD: compat.c,v 1.63 2002/04/10 08:21:47 markus Exp $");
 
 #include "buffer.h"
 #include "packet.h"
@@ -127,8 +127,12 @@ compat_datafellows(const char *version)
                  "1.2.19*,"
                  "1.2.20*,"
                  "1.2.21*,"
-                 "1.2.22*",            SSH_BUG_IGNOREMSG },
-               { "1.3.2*",             SSH_BUG_IGNOREMSG },    /* f-secure */
+                 "1.2.22*",            SSH_BUG_IGNOREMSG|SSH_BUG_K5USER },
+               { "1.3.2*",             /* F-Secure */
+                                       SSH_BUG_IGNOREMSG|SSH_BUG_K5USER },
+               { "1.2.1*,"
+                 "1.2.2*,"
+                 "1.2.3*",             SSH_BUG_K5USER },
                { "*SSH Compatible Server*",                    /* Netscreen */
                                        SSH_BUG_PASSWORDPAD },
                { "*OSU_0*,"
index 3fb0f97999d79a853d69bbd6fb55e2f048e9792a..7afca046019b20a450b8b135ca033a558789d6a9 100644 (file)
--- a/compat.h
+++ b/compat.h
@@ -1,4 +1,4 @@
-/*     $OpenBSD: compat.h,v 1.31 2002/03/25 21:13:51 markus Exp $      */
+/*     $OpenBSD: compat.h,v 1.32 2002/04/10 08:21:47 markus Exp $      */
 
 /*
  * Copyright (c) 1999, 2000, 2001 Markus Friedl.  All rights reserved.
@@ -53,6 +53,7 @@
 #define SSH_BUG_DERIVEKEY      0x00040000
 #define SSH_BUG_DUMMYCHAN      0x00100000
 #define SSH_BUG_EXTEOF         0x00200000
+#define SSH_BUG_K5USER         0x00400000
 
 void     enable_compat13(void);
 void     enable_compat20(void);
This page took 0.489025 seconds and 5 git commands to generate.