]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journal-remote: show error if SplitMode=host with 'active' source is specified
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 30 Aug 2017 07:56:41 +0000 (16:56 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 30 Aug 2017 07:56:41 +0000 (16:56 +0900)
src/journal-remote/journal-remote.c

index 7201421d915a689b559516a961c6f96b4961bb67..64b1105901aed2f405a949a1dc77abc8616b8445 100644 (file)
@@ -66,7 +66,7 @@ static int arg_seal = false;
 static int http_socket = -1, https_socket = -1;
 static char** arg_gnutls_log = NULL;
 
-static JournalWriteSplitMode arg_split_mode = JOURNAL_WRITE_SPLIT_HOST;
+static JournalWriteSplitMode arg_split_mode = _JOURNAL_WRITE_SPLIT_INVALID;
 static char* arg_output = NULL;
 
 static char *arg_key = NULL;
@@ -1492,9 +1492,17 @@ static int parse_argv(int argc, char *argv[]) {
                         return -EINVAL;
                 }
 
+                if (!IN_SET(arg_split_mode, JOURNAL_WRITE_SPLIT_NONE, _JOURNAL_WRITE_SPLIT_INVALID)) {
+                        log_error("For active sources, only --split-mode=none is allowed.");
+                        return -EINVAL;
+                }
+
                 arg_split_mode = JOURNAL_WRITE_SPLIT_NONE;
         }
 
+        if (arg_split_mode == _JOURNAL_WRITE_SPLIT_INVALID)
+                arg_split_mode = JOURNAL_WRITE_SPLIT_HOST;
+
         if (arg_split_mode == JOURNAL_WRITE_SPLIT_NONE && arg_output) {
                 if (is_dir(arg_output, true) > 0) {
                         log_error("For SplitMode=none, output must be a file.");