summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2020-04-24 15:07:55 +1000
committerDarren Tucker <dtucker@dtucker.net>2020-04-24 15:11:14 +1000
commit20819b962dc1467cd6fad5486a7020c850efdbee (patch)
treec81935a8e7d0b0db8df3b869df7c46c5a15cb17b
parent2c1690115a585c624eed2435075a93a463a894e2 (diff)
Error out if given RDomain if unsupported.
If the config contained 'RDomain %D' on a platform that did not support it, the error would not be detected until runtime resulting in a broken sshd. Detect this earlier and error out if found. bz#3126, based on a patch from jjelen at redhat.com, tweaks and ok djm@
-rw-r--r--servconf.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/servconf.c b/servconf.c
index ce5572db7..ba0a92c7b 100644
--- a/servconf.c
+++ b/servconf.c
@@ -2332,6 +2332,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
2332 goto parse_flag; 2332 goto parse_flag;
2333 2333
2334 case sRDomain: 2334 case sRDomain:
2335#if !defined(__OpenBSD__) && !defined(HAVE_SYS_SET_PROCESS_RDOMAIN)
2336 fatal("%s line %d: setting RDomain not supported on this "
2337 "platform.", filename, linenum);
2338#endif
2335 charptr = &options->routing_domain; 2339 charptr = &options->routing_domain;
2336 arg = strdelim(&cp); 2340 arg = strdelim(&cp);
2337 if (!arg || *arg == '\0') 2341 if (!arg || *arg == '\0')
@@ -2840,7 +2844,9 @@ dump_config(ServerOptions *o)
2840 dump_cfg_string(sHostbasedAcceptedKeyTypes, o->hostbased_key_types); 2844 dump_cfg_string(sHostbasedAcceptedKeyTypes, o->hostbased_key_types);
2841 dump_cfg_string(sHostKeyAlgorithms, o->hostkeyalgorithms); 2845 dump_cfg_string(sHostKeyAlgorithms, o->hostkeyalgorithms);
2842 dump_cfg_string(sPubkeyAcceptedKeyTypes, o->pubkey_key_types); 2846 dump_cfg_string(sPubkeyAcceptedKeyTypes, o->pubkey_key_types);
2847#if defined(__OpenBSD__) || defined(HAVE_SYS_SET_PROCESS_RDOMAIN)
2843 dump_cfg_string(sRDomain, o->routing_domain); 2848 dump_cfg_string(sRDomain, o->routing_domain);
2849#endif
2844 2850
2845 /* string arguments requiring a lookup */ 2851 /* string arguments requiring a lookup */
2846 dump_cfg_string(sLogLevel, log_level_name(o->log_level)); 2852 dump_cfg_string(sLogLevel, log_level_name(o->log_level));