summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2017-08-22 16:24:44 +0100
commit24262015f741a40c9374b15d24c23b8e98b7b7ae (patch)
treedc02a76bebd9b407e0c1d04b8c22f5c933b6a01b
parent78963ce671198209cadd01ebb0aa20ae4fac22d6 (diff)
Include the Debian version in our identification
This makes it easier to audit networks for versions patched against security vulnerabilities. It has little detrimental effect, as attackers will generally just try attacks rather than bothering to scan for vulnerable-looking version strings. (However, see debian-banner.patch.) Forwarded: not-needed Last-Update: 2013-09-14 Patch-Name: package-versioning.patch
-rw-r--r--sshconnect.c4
-rw-r--r--sshd.c2
-rw-r--r--version.h7
3 files changed, 9 insertions, 4 deletions
diff --git a/sshconnect.c b/sshconnect.c
index 881b08860..d9ed5910b 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -526,10 +526,10 @@ send_client_banner(int connection_out, int minor1)
526 /* Send our own protocol version identification. */ 526 /* Send our own protocol version identification. */
527 if (compat20) { 527 if (compat20) {
528 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n", 528 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n",
529 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION); 529 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE);
530 } else { 530 } else {
531 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n", 531 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n",
532 PROTOCOL_MAJOR_1, minor1, SSH_VERSION); 532 PROTOCOL_MAJOR_1, minor1, SSH_RELEASE);
533 } 533 }
534 if (atomicio(vwrite, connection_out, client_version_string, 534 if (atomicio(vwrite, connection_out, client_version_string,
535 strlen(client_version_string)) != strlen(client_version_string)) 535 strlen(client_version_string)) != strlen(client_version_string))
diff --git a/sshd.c b/sshd.c
index 9221632e9..602f47408 100644
--- a/sshd.c
+++ b/sshd.c
@@ -378,7 +378,7 @@ sshd_exchange_identification(struct ssh *ssh, int sock_in, int sock_out)
378 char remote_version[256]; /* Must be at least as big as buf. */ 378 char remote_version[256]; /* Must be at least as big as buf. */
379 379
380 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s\r\n", 380 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s\r\n",
381 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION, 381 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE,
382 *options.version_addendum == '\0' ? "" : " ", 382 *options.version_addendum == '\0' ? "" : " ",
383 options.version_addendum); 383 options.version_addendum);
384 384
diff --git a/version.h b/version.h
index c86e2097c..f4d8b13ab 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_7.5" 3#define SSH_VERSION "OpenSSH_7.5"
4 4
5#define SSH_PORTABLE "p1" 5#define SSH_PORTABLE "p1"
6#define SSH_RELEASE SSH_VERSION SSH_PORTABLE 6#define SSH_RELEASE_MINIMUM SSH_VERSION SSH_PORTABLE
7#ifdef SSH_EXTRAVERSION
8#define SSH_RELEASE SSH_RELEASE_MINIMUM " " SSH_EXTRAVERSION
9#else
10#define SSH_RELEASE SSH_RELEASE_MINIMUM
11#endif