]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Error out if given RDomain if unsupported.
authorDarren Tucker <dtucker@dtucker.net>
Fri, 24 Apr 2020 05:07:55 +0000 (15:07 +1000)
committerDarren Tucker <dtucker@dtucker.net>
Fri, 24 Apr 2020 05:11:14 +0000 (15:11 +1000)
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@

servconf.c

index ce5572db771c7e0b1ddb17c0d6fc7e57ece95ceb..ba0a92c7b306eb157eabbe28ac4160236ac9ebad 100644 (file)
@@ -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));