summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2016-12-28 20:05:06 +0000
commit9d2f9a1fb49b3d3c73a654e1b4aae6e26ad23075 (patch)
tree7a108410a12560546a635603229f0d6e5935bd4f
parent432a9b5cd1f63c4c1dc678cc0916819bc57280bc (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 1cc556e86..c64c51bbb 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -526,10 +526,10 @@ send_client_banner(int connection_out, int minor1)
526 /* Send our own protocol version identification. */ 526 /* Send our own protocol version identification. */
527 if (compat20) { 527 if (compat20) {
528 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n", 528 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n",
529 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION); 529 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE);
530 } else { 530 } else {
531 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n", 531 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n",
532 PROTOCOL_MAJOR_1, minor1, SSH_VERSION); 532 PROTOCOL_MAJOR_1, minor1, SSH_RELEASE);
533 } 533 }
534 if (atomicio(vwrite, connection_out, client_version_string, 534 if (atomicio(vwrite, connection_out, client_version_string,
535 strlen(client_version_string)) != strlen(client_version_string)) 535 strlen(client_version_string)) != strlen(client_version_string))
diff --git a/sshd.c b/sshd.c
index 9aab36c3f..49f3a2e52 100644
--- a/sshd.c
+++ b/sshd.c
@@ -378,7 +378,7 @@ sshd_exchange_identification(struct ssh *ssh, int sock_in, int sock_out)
378 char remote_version[256]; /* Must be at least as big as buf. */ 378 char remote_version[256]; /* Must be at least as big as buf. */
379 379
380 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s", 380 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s%s",
381 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION, 381 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE,
382 *options.version_addendum == '\0' ? "" : " ", 382 *options.version_addendum == '\0' ? "" : " ",
383 options.version_addendum, newline); 383 options.version_addendum, newline);
384 384
diff --git a/version.h b/version.h
index 269ebcdaf..850a2f7d0 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_7.4" 3#define SSH_VERSION "OpenSSH_7.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