summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Vernon <matthew@debian.org>2014-02-09 16:10:05 +0000
committerColin Watson <cjwatson@debian.org>2014-10-07 14:27:21 +0100
commit8679c96f74ee7dbea6c15c764b036fbab7372740 (patch)
tree46a8fc8a3dbfafb7a0ebaafb3326a29cd5592ac6
parent064453886f4c3d8ac0b0c8d015ad614c8bce3b42 (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 ab83d0cbb..563405ecb 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -521,10 +521,10 @@ send_client_banner(int connection_out, int minor1)
521 /* Send our own protocol version identification. */ 521 /* Send our own protocol version identification. */
522 if (compat20) { 522 if (compat20) {
523 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n", 523 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\r\n",
524 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION); 524 PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE);
525 } else { 525 } else {
526 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n", 526 xasprintf(&client_version_string, "SSH-%d.%d-%.100s\n",
527 PROTOCOL_MAJOR_1, minor1, SSH_VERSION); 527 PROTOCOL_MAJOR_1, minor1, SSH_RELEASE);
528 } 528 }
529 if (roaming_atomicio(vwrite, connection_out, client_version_string, 529 if (roaming_atomicio(vwrite, connection_out, client_version_string,
530 strlen(client_version_string)) != strlen(client_version_string)) 530 strlen(client_version_string)) != strlen(client_version_string))
diff --git a/sshd.c b/sshd.c
index 48a14dded..1710e711a 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 cc8a079a9..0fee7c3c2 100644
--- a/version.h
+++ b/version.h
@@ -3,4 +3,9 @@
3#define SSH_VERSION "OpenSSH_6.7" 3#define SSH_VERSION "OpenSSH_6.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