summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2015-11-24 20:45:16 +0000
commit2c39fe957130704a00871229c53116db4a25e0c3 (patch)
tree0b7229134469a54036bd4ff07f4e2889c00a48a5
parent7fed650902de773980b1de83cec3c4cf6bb282da (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