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-10-04 13:54:48 +0100
commitae96c03ce51af2c529bfa2f2de57f4fa938ea552 (patch)
treeb3968069b9eca037dfcfa1595073dc24b803e1ca /servconf.c
parent326b09bce8058629980cc92f289fd7912269eb98 (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: 2017-10-04 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 9889fb0a0..b01464059 100644
--- a/servconf.c
+++ b/servconf.c
@@ -167,6 +167,7 @@ initialize_server_options(ServerOptions *options)
167 options->fingerprint_hash = -1; 167 options->fingerprint_hash = -1;
168 options->disable_forwarding = -1; 168 options->disable_forwarding = -1;
169 options->expose_userauth_info = -1; 169 options->expose_userauth_info = -1;
170 options->debian_banner = -1;
170} 171}
171 172
172/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ 173/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */
@@ -342,6 +343,8 @@ fill_default_server_options(ServerOptions *options)
342 options->disable_forwarding = 0; 343 options->disable_forwarding = 0;
343 if (options->expose_userauth_info == -1) 344 if (options->expose_userauth_info == -1)
344 options->expose_userauth_info = 0; 345 options->expose_userauth_info = 0;
346 if (options->debian_banner == -1)
347 options->debian_banner = 1;
345 348
346 assemble_algorithms(options); 349 assemble_algorithms(options);
347 350
@@ -429,6 +432,7 @@ typedef enum {
429 sStreamLocalBindMask, sStreamLocalBindUnlink, 432 sStreamLocalBindMask, sStreamLocalBindUnlink,
430 sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, 433 sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding,
431 sExposeAuthInfo, 434 sExposeAuthInfo,
435 sDebianBanner,
432 sDeprecated, sIgnore, sUnsupported 436 sDeprecated, sIgnore, sUnsupported
433} ServerOpCodes; 437} ServerOpCodes;
434 438
@@ -582,6 +586,7 @@ static struct {
582 { "fingerprinthash", sFingerprintHash, SSHCFG_GLOBAL }, 586 { "fingerprinthash", sFingerprintHash, SSHCFG_GLOBAL },
583 { "disableforwarding", sDisableForwarding, SSHCFG_ALL }, 587 { "disableforwarding", sDisableForwarding, SSHCFG_ALL },
584 { "exposeauthinfo", sExposeAuthInfo, SSHCFG_ALL }, 588 { "exposeauthinfo", sExposeAuthInfo, SSHCFG_ALL },
589 { "debianbanner", sDebianBanner, SSHCFG_GLOBAL },
585 { NULL, sBadOption, 0 } 590 { NULL, sBadOption, 0 }
586}; 591};
587 592
@@ -1907,6 +1912,10 @@ process_server_config_line(ServerOptions *options, char *line,
1907 intptr = &options->expose_userauth_info; 1912 intptr = &options->expose_userauth_info;
1908 goto parse_flag; 1913 goto parse_flag;
1909 1914
1915 case sDebianBanner:
1916 intptr = &options->debian_banner;
1917 goto parse_int;
1918
1910 case sDeprecated: 1919 case sDeprecated:
1911 case sIgnore: 1920 case sIgnore:
1912 case sUnsupported: 1921 case sUnsupported: