summaryrefslogtreecommitdiff
path: root/servconf.c
diff options
context:
space:
mode:
authorKees Cook <kees@debian.org>2014-02-09 16:10:06 +0000
committerColin Watson <cjwatson@debian.org>2017-03-29 01:40:55 +0100
commitddf05e4adc7feda2421bdf641bab79b76c1a918e (patch)
tree1d230ca6a447222e333cd58d977c32f6e87efef3 /servconf.c
parent8f127a3c84d2eae8d1fb5529887c880c22c5cf75 (diff)
Add DebianBanner server configuration option
Setting this to "no" causes sshd to omit the Debian revision from its initial protocol handshake, for those scared by package-versioning.patch. Bug-Debian: http://bugs.debian.org/562048 Forwarded: not-needed Last-Update: 2015-11-29 Patch-Name: debian-banner.patch
Diffstat (limited to 'servconf.c')
-rw-r--r--servconf.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/servconf.c b/servconf.c
index ca73f7c55..a391cf4b2 100644
--- a/servconf.c
+++ b/servconf.c
@@ -166,6 +166,7 @@ initialize_server_options(ServerOptions *options)
166 options->version_addendum = NULL; 166 options->version_addendum = NULL;
167 options->fingerprint_hash = -1; 167 options->fingerprint_hash = -1;
168 options->disable_forwarding = -1; 168 options->disable_forwarding = -1;
169 options->debian_banner = -1;
169} 170}
170 171
171/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ 172/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */
@@ -339,6 +340,8 @@ fill_default_server_options(ServerOptions *options)
339 options->fingerprint_hash = SSH_FP_HASH_DEFAULT; 340 options->fingerprint_hash = SSH_FP_HASH_DEFAULT;
340 if (options->disable_forwarding == -1) 341 if (options->disable_forwarding == -1)
341 options->disable_forwarding = 0; 342 options->disable_forwarding = 0;
343 if (options->debian_banner == -1)
344 options->debian_banner = 1;
342 345
343 assemble_algorithms(options); 346 assemble_algorithms(options);
344 347
@@ -425,6 +428,7 @@ typedef enum {
425 sAuthenticationMethods, sHostKeyAgent, sPermitUserRC, 428 sAuthenticationMethods, sHostKeyAgent, sPermitUserRC,
426 sStreamLocalBindMask, sStreamLocalBindUnlink, 429 sStreamLocalBindMask, sStreamLocalBindUnlink,
427 sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, 430 sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding,
431 sDebianBanner,
428 sDeprecated, sIgnore, sUnsupported 432 sDeprecated, sIgnore, sUnsupported
429} ServerOpCodes; 433} ServerOpCodes;
430 434
@@ -577,6 +581,7 @@ static struct {
577 { "allowstreamlocalforwarding", sAllowStreamLocalForwarding, SSHCFG_ALL }, 581 { "allowstreamlocalforwarding", sAllowStreamLocalForwarding, SSHCFG_ALL },
578 { "fingerprinthash", sFingerprintHash, SSHCFG_GLOBAL }, 582 { "fingerprinthash", sFingerprintHash, SSHCFG_GLOBAL },
579 { "disableforwarding", sDisableForwarding, SSHCFG_ALL }, 583 { "disableforwarding", sDisableForwarding, SSHCFG_ALL },
584 { "debianbanner", sDebianBanner, SSHCFG_GLOBAL },
580 { NULL, sBadOption, 0 } 585 { NULL, sBadOption, 0 }
581}; 586};
582 587
@@ -1866,6 +1871,10 @@ process_server_config_line(ServerOptions *options, char *line,
1866 options->fingerprint_hash = value; 1871 options->fingerprint_hash = value;
1867 break; 1872 break;
1868 1873
1874 case sDebianBanner:
1875 intptr = &options->debian_banner;
1876 goto parse_int;
1877
1869 case sDeprecated: 1878 case sDeprecated:
1870 case sIgnore: 1879 case sIgnore:
1871 case sUnsupported: 1880 case sUnsupported: