summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2014-02-09 23:43:41 +0000
commit893bd5a6f70b58e1ed98d496c4f465d8c1df71a7 (patch)
treee006ae9c8fe6e1682f2af88f0f23875a7ef59d06
parent6a137c3718ea1afab92b25a018e393cfede4d6a8 (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 bda83b25e..ad960fdbf 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -442,10 +442,10 @@ send_client_banner(int connection_out, int minor1)
442 /* Send our own protocol version identification. */ 442 /* Send our own protocol version identification. */
443 if (compat20) { 443 if (compat20) {
444 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n", 444 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n",
445 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION); 445 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE);
446 } else { 446 } else {
447 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n", 447 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n",
448 PROTOCOL_MAJOR_1, minor1, SSH_VERSION); 448 PROTOCOL_MAJOR_1, minor1, SSH_RELEASE);
449 } 449 }
450 if (roaming_atomicio(vwrite, connection_out, client_version_string, 450 if (roaming_atomicio(vwrite, connection_out, client_version_string,
451 strlen(client_version_string)) != strlen(client_version_string)) 451 strlen(client_version_string)) != strlen(client_version_string))
diff --git a/sshd.c b/sshd.c
index e5c983514..46ec1a715 100644
--- a/sshd.c
+++ b/sshd.c
@@ -440,7 +440,7 @@ sshd_exchange_identification(int sock_in, int sock_out)
440 } 440 }
441 441
442 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s", 442 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s",
443 major, minor, SSH_VERSION, 443 major, minor, SSH_RELEASE,
444 *options.version_addendum == '\0' ? "" : " ", 444 *options.version_addendum == '\0' ? "" : " ",
445 options.version_addendum, newline); 445 options.version_addendum, newline);
446 446
diff --git a/version.h b/version.h
index 39033ed3e..036277d61 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_6.4" 3#define SSH_VERSION "OpenSSH_6.4"
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