journal: losen restrictions on journal file suffix (#8013)
authorLennart Poettering <lennart@poettering.net>
Sat, 27 Jan 2018 08:32:36 +0000 (09:32 +0100)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 27 Jan 2018 08:32:36 +0000 (17:32 +0900)
Previously, we'd refuse open journal files with suffixes that aren't
either .journal or .journal~. With this change we only care when we are
creating the journal file.

I looked over the sources to see whether we ever pass files discovered
by directory enumeration to journal_file_open() without first checking
the suffix (in which case the old check made sense), but I couldn't find
any. hence I am pretty sure removing this check is safe.

Fixes: #7972

src/journal/journal-file.c

index ae15f4b..3353b3a 100644 (file)
@@ -3253,11 +3253,8 @@ int journal_file_open(
         if (!IN_SET((flags & O_ACCMODE), O_RDONLY, O_RDWR))
                 return -EINVAL;
 
-        if (fname) {
-                if (!endswith(fname, ".journal") &&
-                    !endswith(fname, ".journal~"))
-                        return -EINVAL;
-        }
+        if (fname && (flags & O_CREAT) && !endswith(fname, ".journal"))
+                return -EINVAL;
 
         f = new0(JournalFile, 1);
         if (!f)