summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2015-09-08 14:50:02 +0100
commitd0d72d370d0f02c220401029af04065c88055a4c (patch)
treedc49fd8f6f90f354f3ce2fec6c83edde5fc837f1
parent68580f4a03088e52e1d680389a35655c85613c7a (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 4aff104b8..2999061b3 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -524,10 +524,10 @@ send_client_banner(int connection_out, int minor1)
524 /* Send our own protocol version identification. */ 524 /* Send our own protocol version identification. */
525 if (compat20) { 525 if (compat20) {
526 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n", 526 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n",
527 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION); 527 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE);
528 } else { 528 } else {
529 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n", 529 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n",
530 PROTOCOL_MAJOR_1, minor1, SSH_VERSION); 530 PROTOCOL_MAJOR_1, minor1, SSH_RELEASE);
531 } 531 }
532 if (roaming_atomicio(vwrite, connection_out, client_version_string, 532 if (roaming_atomicio(vwrite, connection_out, client_version_string,
533 strlen(client_version_string)) != strlen(client_version_string)) 533 strlen(client_version_string)) != strlen(client_version_string))
diff --git a/sshd.c b/sshd.c
index 9ff9e8ba6..96e75c6d7 100644
--- a/sshd.c
+++ b/sshd.c
@@ -442,7 +442,7 @@ sshd_exchange_identification(int sock_in, int sock_out)
442 } 442 }
443 443
444 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s", 444 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s",
445 major, minor, SSH_VERSION, 445 major, minor, SSH_RELEASE,
446 *options.version_addendum == '\0' ? "" : " ", 446 *options.version_addendum == '\0' ? "" : " ",
447 options.version_addendum, newline); 447 options.version_addendum, newline);
448 448
diff --git a/version.h b/version.h
index b58fbe1eb..bff2b3bbb 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_6.9" 3#define SSH_VERSION "OpenSSH_6.9"
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