summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2018-04-03 08:26:12 +0100
commit52359fc0d6ee73ee6e24332b2777dc8abdaed652 (patch)
tree46da51904031753c32d13c52f9c3ccfefa0bf85a
parent76ab788bcf265360e1b88f8ced6085198c320fdd (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: 2017-10-04 Patch-Name: package-versioning.patch
-rw-r--r--sshconnect.c2
-rw-r--r--sshd.c2
-rw-r--r--version.h7
3 files changed, 8 insertions, 3 deletions
diff --git a/sshconnect.c b/sshconnect.c
index 58f9eac8a..15d8b807e 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -638,7 +638,7 @@ send_client_banner(int connection_out, int minor1)
638{ 638{
639 /* Send our own protocol version identification. */ 639 /* Send our own protocol version identification. */
640 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n", 640 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n",
641 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION); 641 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE);
642 if (atomicio(vwrite, connection_out, client_version_string, 642 if (atomicio(vwrite, connection_out, client_version_string,
643 strlen(client_version_string)) != strlen(client_version_string)) 643 strlen(client_version_string)) != strlen(client_version_string))
644 fatal("write: %.100s", strerror(errno)); 644 fatal("write: %.100s", strerror(errno));
diff --git a/sshd.c b/sshd.c
index 6d911c19a..9a7f5495c 100644
--- a/sshd.c
+++ b/sshd.c
@@ -384,7 +384,7 @@ sshd_exchange_identification(struct ssh *ssh, int sock_in, int sock_out)
384 char remote_version[256]; /* Must be at least as big as buf. */ 384 char remote_version[256]; /* Must be at least as big as buf. */
385 385
386 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s\r\n", 386 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s\r\n",
387 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION, 387 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE,
388 *options.version_addendum == '\0' ? "" : " ", 388 *options.version_addendum == '\0' ? "" : " ",
389 options.version_addendum); 389 options.version_addendum);
390 390
diff --git a/version.h b/version.h
index ea52b26f5..a3fa6e0b9 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_7.7" 3#define SSH_VERSION "OpenSSH_7.7"
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