summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2016-08-07 12:18:43 +0100
commitc8105413361d3c97b6a2f72c9f1c85da830bed2c (patch)
treec3828c403bb6e82bc48cf3b9a25a429f55535452
parent6a1979d97fbde734a745b5123130fed669bfb145 (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 fd67727b8..07dfc9da1 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -527,10 +527,10 @@ send_client_banner(int connection_out, int minor1)
527 /* Send our own protocol version identification. */ 527 /* Send our own protocol version identification. */
528 if (compat20) { 528 if (compat20) {
529 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n", 529 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n",
530 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION); 530 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE);
531 } else { 531 } else {
532 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n", 532 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n",
533 PROTOCOL_MAJOR_1, minor1, SSH_VERSION); 533 PROTOCOL_MAJOR_1, minor1, SSH_RELEASE);
534 } 534 }
535 if (atomicio(vwrite, connection_out, client_version_string, 535 if (atomicio(vwrite, connection_out, client_version_string,
536 strlen(client_version_string)) != strlen(client_version_string)) 536 strlen(client_version_string)) != strlen(client_version_string))
diff --git a/sshd.c b/sshd.c
index 76306da24..e873557b7 100644
--- a/sshd.c
+++ b/sshd.c
@@ -443,7 +443,7 @@ sshd_exchange_identification(struct ssh *ssh, 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 617ab62ad..fb816550c 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_7.3" 3#define SSH_VERSION "OpenSSH_7.3"
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