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>2020-02-21 12:08:02 +0000
commit7d20d00ea24ec0c3fffacc80ab271d0699d198c6 (patch)
tree2a59419afa18a01c9f1982fad485111e1d4fd6ac /servconf.c
parenta4f868858c3395cacb59c58786b501317b9a3d03 (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: 2020-02-21 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 bf3cd84a4..7bbc25c2e 100644
--- a/servconf.c
+++ b/servconf.c
@@ -194,6 +194,7 @@ initialize_server_options(ServerOptions *options)
194 options->fingerprint_hash = -1; 194 options->fingerprint_hash = -1;
195 options->disable_forwarding = -1; 195 options->disable_forwarding = -1;
196 options->expose_userauth_info = -1; 196 options->expose_userauth_info = -1;
197 options->debian_banner = -1;
197} 198}
198 199
199/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ 200/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */
@@ -468,6 +469,8 @@ fill_default_server_options(ServerOptions *options)
468 options->expose_userauth_info = 0; 469 options->expose_userauth_info = 0;
469 if (options->sk_provider == NULL) 470 if (options->sk_provider == NULL)
470 options->sk_provider = xstrdup("internal"); 471 options->sk_provider = xstrdup("internal");
472 if (options->debian_banner == -1)
473 options->debian_banner = 1;
471 474
472 assemble_algorithms(options); 475 assemble_algorithms(options);
473 476
@@ -556,6 +559,7 @@ typedef enum {
556 sStreamLocalBindMask, sStreamLocalBindUnlink, 559 sStreamLocalBindMask, sStreamLocalBindUnlink,
557 sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, 560 sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding,
558 sExposeAuthInfo, sRDomain, sPubkeyAuthOptions, sSecurityKeyProvider, 561 sExposeAuthInfo, sRDomain, sPubkeyAuthOptions, sSecurityKeyProvider,
562 sDebianBanner,
559 sDeprecated, sIgnore, sUnsupported 563 sDeprecated, sIgnore, sUnsupported
560} ServerOpCodes; 564} ServerOpCodes;
561 565
@@ -719,6 +723,7 @@ static struct {
719 { "rdomain", sRDomain, SSHCFG_ALL }, 723 { "rdomain", sRDomain, SSHCFG_ALL },
720 { "casignaturealgorithms", sCASignatureAlgorithms, SSHCFG_ALL }, 724 { "casignaturealgorithms", sCASignatureAlgorithms, SSHCFG_ALL },
721 { "securitykeyprovider", sSecurityKeyProvider, SSHCFG_GLOBAL }, 725 { "securitykeyprovider", sSecurityKeyProvider, SSHCFG_GLOBAL },
726 { "debianbanner", sDebianBanner, SSHCFG_GLOBAL },
722 { NULL, sBadOption, 0 } 727 { NULL, sBadOption, 0 }
723}; 728};
724 729
@@ -2382,6 +2387,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
2382 *charptr = xstrdup(arg); 2387 *charptr = xstrdup(arg);
2383 break; 2388 break;
2384 2389
2390 case sDebianBanner:
2391 intptr = &options->debian_banner;
2392 goto parse_flag;
2393
2385 case sDeprecated: 2394 case sDeprecated:
2386 case sIgnore: 2395 case sIgnore:
2387 case sUnsupported: 2396 case sUnsupported: