chiark / gitweb /
systemd-tmpfiles: Fix IGNORE_DIRECTORY_PATH age handling
authorRichard Weinberger <richard@nod.at>
Tue, 9 Sep 2014 09:09:37 +0000 (11:09 +0200)
committerTom Gundersen <teg@jklm.no>
Fri, 26 Sep 2014 15:38:40 +0000 (17:38 +0200)
commit9ed2a35e93f4a9e82585f860f54cdcbbdf3e1f86
tree4a4eaabfca722b4db274693d70210307072521d3
parent37161c5148396448921841ae1026b281c7949652
systemd-tmpfiles: Fix IGNORE_DIRECTORY_PATH age handling

If one has a config like:
d /tmp 1777 root root -
X /tmp/important_mount

All files below /tmp/important_mount will be deleted as the
/tmp/important_mount item will spuriously inherit a max age of 0
from /tmp.
/tmp has a max age of 0 but age_set is (of course) false.

This affects also the PrivateTmp feature of systemd.
All tmp files of such services will be deleted unconditionally
and can cause service failures and data loss.

Fix this by checking ->age_set in the IGNORE_DIRECTORY_PATH logic.
src/tmpfiles/tmpfiles.c