summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2017-03-29 01:40:34 +0100
commit8f127a3c84d2eae8d1fb5529887c880c22c5cf75 (patch)
tree8f5b963027e10264241629dc631c60ce92496798
parent315c5a460b33d076edc27a41b0e790ea73cc3b9d (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 66c495f47..120f09458 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 9221632e9..602f47408 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\r\n", 380 xasprintf(&server_version_string, "SSH-%d.%d-%.100s%s%s\r\n",
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); 383 options.version_addendum);
384 384
diff --git a/version.h b/version.h
index c86e2097c..f4d8b13ab 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_7.5" 3#define SSH_VERSION "OpenSSH_7.5"
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