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-10 02:40:17 +0000
commit03b1ae877da1db4c517747bee89f1a494cce8566 (patch)
treed8abfd987071bf1d91d3313d6d5b86a7a536b2cd
parent9c6deb4e89ad1ac2c2046b1371f378a80b0b4dec (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 4ff5c73bc..a2fbf9e65 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -517,10 +517,10 @@ send_client_banner(int connection_out, int minor1)
517 /* Send our own protocol version identification. */ 517 /* Send our own protocol version identification. */
518 if (compat20) { 518 if (compat20) {
519 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n", 519 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n",
520 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION); 520 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE);
521 } else { 521 } else {
522 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n", 522 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n",
523 PROTOCOL_MAJOR_1, minor1, SSH_VERSION); 523 PROTOCOL_MAJOR_1, minor1, SSH_RELEASE);
524 } 524 }
525 if (roaming_atomicio(vwrite, connection_out, client_version_string, 525 if (roaming_atomicio(vwrite, connection_out, client_version_string,
526 strlen(client_version_string)) != strlen(client_version_string)) 526 strlen(client_version_string)) != strlen(client_version_string))
diff --git a/sshd.c b/sshd.c
index 0a3010175..82168a186 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 83d70c6fc..0c6ea0fc9 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_6.5" 3#define SSH_VERSION "OpenSSH_6.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