Fix a logic bug in sshd_exchange_identification which prevented clients
authorstsp <stsp@openbsd.org>
Tue, 23 Jan 2018 20:00:58 +0000 (20:00 +0000)
committerstsp <stsp@openbsd.org>
Tue, 23 Jan 2018 20:00:58 +0000 (20:00 +0000)
using major protocol version 2 from connecting to the server.
ok millert@

usr.bin/ssh/sshd.c

index 3af4108..1fe65ec 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshd.c,v 1.502 2018/01/23 05:27:21 djm Exp $ */
+/* $OpenBSD: sshd.c,v 1.503 2018/01/23 20:00:58 stsp Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -426,7 +426,7 @@ sshd_exchange_identification(struct ssh *ssh, int sock_in, int sock_out)
        chop(server_version_string);
        debug("Local version string %.200s", server_version_string);
 
-       if (remote_major != 2 ||
+       if (remote_major != 2 &&
            !(remote_major == 1 && remote_minor == 99)) {
                s = "Protocol major versions differ.\n";
                (void) atomicio(vwrite, sock_out, s, strlen(s));