summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2016-01-14 15:07:37 +0000
commit3e38e90de2e2ead094624f4f140568574c40cae6 (patch)
tree26b96813026ee0e5edbede7f9d9d85c540e79cdb
parent89f2729da6734f2d5e3a31d2a75e817750f6cd95 (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 bbde8afef..0ec1e54e9 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 1b49b2669..189d34a29 100644
--- a/sshd.c
+++ b/sshd.c
@@ -443,7 +443,7 @@ sshd_exchange_identification(int sock_in, int sock_out)
443 } 443 }
444 444
445 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s", 445 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s",
446 major, minor, SSH_VERSION, 446 major, minor, SSH_RELEASE,
447 *options.version_addendum == '\0' ? "" : " ", 447 *options.version_addendum == '\0' ? "" : " ",
448 options.version_addendum, newline); 448 options.version_addendum, newline);
449 449
diff --git a/version.h b/version.h
index 41e1ea931..2969570f7 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_7.1" 3#define SSH_VERSION "OpenSSH_7.1"
4 4
5#define SSH_PORTABLE "p2" 5#define SSH_PORTABLE "p2"
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