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>2019-06-05 13:11:52 +0100
commit085c44daefaee16df97e1b2a0967b2140cc86de0 (patch)
tree4db0ecfc67c71202126eda6812fac6e49fa20f97 /servconf.c
parent85e700a732e9a308eeee67f5a284e19fd6befbb8 (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: 2019-06-05 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 c01e0690e..8d2bced52 100644
--- a/servconf.c
+++ b/servconf.c
@@ -184,6 +184,7 @@ initialize_server_options(ServerOptions *options)
184 options->fingerprint_hash = -1; 184 options->fingerprint_hash = -1;
185 options->disable_forwarding = -1; 185 options->disable_forwarding = -1;
186 options->expose_userauth_info = -1; 186 options->expose_userauth_info = -1;
187 options->debian_banner = -1;
187} 188}
188 189
189/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ 190/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */
@@ -437,6 +438,8 @@ fill_default_server_options(ServerOptions *options)
437 options->disable_forwarding = 0; 438 options->disable_forwarding = 0;
438 if (options->expose_userauth_info == -1) 439 if (options->expose_userauth_info == -1)
439 options->expose_userauth_info = 0; 440 options->expose_userauth_info = 0;
441 if (options->debian_banner == -1)
442 options->debian_banner = 1;
440 443
441 assemble_algorithms(options); 444 assemble_algorithms(options);
442 445
@@ -523,6 +526,7 @@ typedef enum {
523 sStreamLocalBindMask, sStreamLocalBindUnlink, 526 sStreamLocalBindMask, sStreamLocalBindUnlink,
524 sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, 527 sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding,
525 sExposeAuthInfo, sRDomain, 528 sExposeAuthInfo, sRDomain,
529 sDebianBanner,
526 sDeprecated, sIgnore, sUnsupported 530 sDeprecated, sIgnore, sUnsupported
527} ServerOpCodes; 531} ServerOpCodes;
528 532
@@ -682,6 +686,7 @@ static struct {
682 { "exposeauthinfo", sExposeAuthInfo, SSHCFG_ALL }, 686 { "exposeauthinfo", sExposeAuthInfo, SSHCFG_ALL },
683 { "rdomain", sRDomain, SSHCFG_ALL }, 687 { "rdomain", sRDomain, SSHCFG_ALL },
684 { "casignaturealgorithms", sCASignatureAlgorithms, SSHCFG_ALL }, 688 { "casignaturealgorithms", sCASignatureAlgorithms, SSHCFG_ALL },
689 { "debianbanner", sDebianBanner, SSHCFG_GLOBAL },
685 { NULL, sBadOption, 0 } 690 { NULL, sBadOption, 0 }
686}; 691};
687 692
@@ -2211,6 +2216,10 @@ process_server_config_line(ServerOptions *options, char *line,
2211 *charptr = xstrdup(arg); 2216 *charptr = xstrdup(arg);
2212 break; 2217 break;
2213 2218
2219 case sDebianBanner:
2220 intptr = &options->debian_banner;
2221 goto parse_flag;
2222
2214 case sDeprecated: 2223 case sDeprecated:
2215 case sIgnore: 2224 case sIgnore:
2216 case sUnsupported: 2225 case sUnsupported: