summaryrefslogtreecommitdiffstats
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 ce5572db..ba0a92c7 100644
--- a/servconf.c
+++ b/servconf.c
@@ -2332,6 +2332,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
goto parse_flag;
case sRDomain:
+#if !defined(__OpenBSD__) && !defined(HAVE_SYS_SET_PROCESS_RDOMAIN)
+ fatal("%s line %d: setting RDomain not supported on this "
+ "platform.", filename, linenum);
+#endif
charptr = &options->routing_domain;
arg = strdelim(&cp);
if (!arg || *arg == '\0')
@@ -2840,7 +2844,9 @@ dump_config(ServerOptions *o)
dump_cfg_string(sHostbasedAcceptedKeyTypes, o->hostbased_key_types);
dump_cfg_string(sHostKeyAlgorithms, o->hostkeyalgorithms);
dump_cfg_string(sPubkeyAcceptedKeyTypes, o->pubkey_key_types);
+#if defined(__OpenBSD__) || defined(HAVE_SYS_SET_PROCESS_RDOMAIN)
dump_cfg_string(sRDomain, o->routing_domain);
+#endif
/* string arguments requiring a lookup */
dump_cfg_string(sLogLevel, log_level_name(o->log_level));