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 16:18:42 +0000
commitda3ff9786c4c03b2aac4936b28f06b3c152e230d (patch)
tree48072289f38ce3cbcccb8e64d72e0a57548cc5a6
parent7a20ce0712e7b7174a0c079e84568a9e8321c42b (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 fbe3284a9..7efa7ef9e 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