[openssh-commits] [openssh] 01/02: upstream: Remove the SSH_OLD_SESSIONID bug compatibility bit. It

git+noreply at mindrot.org git+noreply at mindrot.org
Tue Oct 13 15:41:59 AEDT 2026


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit 9da385e2440300a4101ff27b70b45197587af151
Author: dtucker at openbsd.org <dtucker at openbsd.org>
AuthorDate: Sun Oct 11 20:41:20 2026 +0000

    upstream: Remove the SSH_OLD_SESSIONID bug compatibility bit. It
    
    was only set for SecureCRT 3.0 and SecureFX 1.7.  Both date back to some time
    prior to 2002 (vandyke's release history only goes back to 2002, and these
    releases predate that).
    
    Prompted by rhowe425 at gmail.com via bz#4030, ok markus@
    
    OpenBSD-Commit-ID: 31a08831b953c711a97c230701248bf4428d34c8
---
 auth2-pubkey.c | 13 ++++---------
 compat.c       |  4 +---
 compat.h       |  4 ++--
 monitor.c      | 25 +++++++------------------
 sshconnect2.c  | 13 ++++---------
 5 files changed, 18 insertions(+), 41 deletions(-)

diff --git a/auth2-pubkey.c b/auth2-pubkey.c
index 1a4afd473..ad8e7353b 100644
--- a/auth2-pubkey.c
+++ b/auth2-pubkey.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2-pubkey.c,v 1.131 2026/10/01 02:01:51 djm Exp $ */
+/* $OpenBSD: auth2-pubkey.c,v 1.132 2026/10/11 20:41:20 dtucker Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  * Copyright (c) 2010 Damien Miller.  All rights reserved.
@@ -210,14 +210,9 @@ userauth_pubkey(struct ssh *ssh, const char *method)
 			fatal_fr(r, "parse signature packet");
 		if ((b = sshbuf_new()) == NULL)
 			fatal_f("sshbuf_new failed");
-		if (ssh->compat & SSH_OLD_SESSIONID) {
-			if ((r = sshbuf_putb(b, ssh->kex->session_id)) != 0)
-				fatal_fr(r, "put old session id");
-		} else {
-			if ((r = sshbuf_put_stringb(b,
-			    ssh->kex->session_id)) != 0)
-				fatal_fr(r, "put session id");
-		}
+		if ((r = sshbuf_put_stringb(b,
+		    ssh->kex->session_id)) != 0)
+			fatal_fr(r, "put session id");
 		if (!authctxt->valid || authctxt->user == NULL) {
 			debug2_f("disabled because of invalid user");
 			goto done;
diff --git a/compat.c b/compat.c
index 4cc7ca61a..cb47e5e88 100644
--- a/compat.c
+++ b/compat.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: compat.c,v 1.128 2026/03/02 02:40:15 djm Exp $ */
+/* $OpenBSD: compat.c,v 1.129 2026/10/11 20:41:20 dtucker Exp $ */
 /*
  * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl.  All rights reserved.
  *
@@ -74,8 +74,6 @@ compat_banner(struct ssh *ssh, const char *version)
 		{ "OpenSSH*",		SSH_NEW_OPENSSH },
 		{ "*MindTerm*",		0 },
 		{ "3.0.*",		SSH_BUG_DEBUG },
-		{ "3.0 SecureCRT*",	SSH_OLD_SESSIONID },
-		{ "1.7 SecureFX*",	SSH_OLD_SESSIONID },
 		{ "Cisco-1.*",		SSH_BUG_DHGEX_LARGE|
 					SSH_BUG_HOSTKEYS },
 		{ "*SSH_Version_Mapper*",
diff --git a/compat.h b/compat.h
index 1a19060fc..9e2293a86 100644
--- a/compat.h
+++ b/compat.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: compat.h,v 1.62 2023/03/06 12:14:48 dtucker Exp $ */
+/* $OpenBSD: compat.h,v 1.63 2026/10/11 20:41:20 dtucker Exp $ */
 
 /*
  * Copyright (c) 1999, 2000, 2001 Markus Friedl.  All rights reserved.
@@ -31,7 +31,7 @@
 #define SSH_BUG_SIGTYPE		0x00000002
 #define SSH_BUG_SIGTYPE74	0x00000004
 /* #define unused		0x00000008 */
-#define SSH_OLD_SESSIONID	0x00000010
+/* #define unused		0x00000010 */
 /* #define unused		0x00000020 */
 #define SSH_BUG_DEBUG		0x00000040
 /* #define unused		0x00000080 */
diff --git a/monitor.c b/monitor.c
index 940dc275a..9bd92a2f7 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor.c,v 1.259 2026/09/16 00:37:07 djm Exp $ */
+/* $OpenBSD: monitor.c,v 1.260 2026/10/11 20:41:20 dtucker Exp $ */
 /*
  * Copyright 2002 Niels Provos <provos at citi.umich.edu>
  * Copyright 2002 Markus Friedl <markus at openbsd.org>
@@ -1386,23 +1386,12 @@ monitor_valid_userblob(struct ssh *ssh, const u_char *data, u_int datalen)
 	if ((b = sshbuf_from(data, datalen)) == NULL)
 		fatal_f("sshbuf_from");
 
-	if (ssh->compat & SSH_OLD_SESSIONID) {
-		p = sshbuf_ptr(b);
-		len = sshbuf_len(b);
-		if ((session_id2 == NULL) ||
-		    (len < session_id2_len) ||
-		    (timingsafe_bcmp(p, session_id2, session_id2_len) != 0))
-			fail++;
-		if ((r = sshbuf_consume(b, session_id2_len)) != 0)
-			fatal_fr(r, "consume");
-	} else {
-		if ((r = sshbuf_get_string_direct(b, &p, &len)) != 0)
-			fatal_fr(r, "parse sessionid");
-		if ((session_id2 == NULL) ||
-		    (len != session_id2_len) ||
-		    (timingsafe_bcmp(p, session_id2, session_id2_len) != 0))
-			fail++;
-	}
+	if ((r = sshbuf_get_string_direct(b, &p, &len)) != 0)
+		fatal_fr(r, "parse sessionid");
+	if ((session_id2 == NULL) ||
+	    (len != session_id2_len) ||
+	    (timingsafe_bcmp(p, session_id2, session_id2_len) != 0))
+		fail++;
 	if ((r = sshbuf_get_u8(b, &type)) != 0)
 		fatal_fr(r, "parse type");
 	if (type != SSH2_MSG_USERAUTH_REQUEST)
diff --git a/sshconnect2.c b/sshconnect2.c
index 265ebfccc..1f28d845d 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect2.c,v 1.394 2026/09/16 00:31:27 djm Exp $ */
+/* $OpenBSD: sshconnect2.c,v 1.395 2026/10/11 20:41:20 dtucker Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  * Copyright (c) 2008 Damien Miller.  All rights reserved.
@@ -1410,14 +1410,9 @@ sign_and_send_pubkey(struct ssh *ssh, Identity *id)
 		sshbuf_free(b);
 		if ((b = sshbuf_new()) == NULL)
 			fatal_f("sshbuf_new failed");
-		if (ssh->compat & SSH_OLD_SESSIONID) {
-			if ((r = sshbuf_putb(b, ssh->kex->session_id)) != 0)
-				fatal_fr(r, "sshbuf_putb");
-		} else {
-			if ((r = sshbuf_put_stringb(b,
-			    ssh->kex->session_id)) != 0)
-				fatal_fr(r, "sshbuf_put_stringb");
-		}
+		if ((r = sshbuf_put_stringb(b,
+		    ssh->kex->session_id)) != 0)
+			fatal_fr(r, "sshbuf_put_stringb");
 		skip = sshbuf_len(b);
 		if ((r = sshbuf_put_u8(b, SSH2_MSG_USERAUTH_REQUEST)) != 0 ||
 		    (r = sshbuf_put_cstring(b, authctxt->server_user)) != 0 ||

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list