Remove src/tmpfiles
util: rework word parsing and c unescaping code When parsing words from input files, optionally automatically unescape the passed strings, controllable via a new flags parameter. Make use of this in tmpfiles, and port everything else over, too. This improves parsing quite a bit, since we no longer have to process the same string multiple times with different calls, where an earlier call might corrupt the input for a later call.
tmpfiles: minor simplification
tmpfiles: avoid out of bounds read Otherwise this will go wrong for 'v'.
Allow systemd-tmpfiles to set the file/directory attributes Allow systemd-tmpfiles to set the file/directory attributes, like chattr(1) does. Two more commands are added: 'H' and 'h' to set the attributes, recursively and not.
tmpfiles: remove redundant debug message Mar 13 19:48:30 adam.happyassassin.net systemd-tmpfiles[970]: "/var/lib/machines" has right mode 40700 Mar 13 19:48:30 adam.happyassassin.net systemd-tmpfiles[970]: /var/lib/machines created successfully.
tree-wide: there is no ENOTSUP on linux Replace ENOTSUP by EOPNOTSUPP as this is what linux actually uses.
tmpfiles: port to unquote_many_words()
tmpfiles: Fix handling of duplicate lines Commit 3f93da987 accidentally dropped the "return 0" after detection of a duplicate line. Put it back, to get back the documented and intended "first match wins" behaviour. https://launchpad.net/bugs/1428540
tmpfiles: quietly ignore ACLs on unsupported filesystems A warning is printed if ACLs cannot be retrieved for any reason other than -ENOSYS. For -ENOSYS, debug log is printed.
remove unused includes This patch removes includes that are not used. The removals were found with include-what-you-use which checks if any of the symbols from a header is in use.
tmpfiles: Fix parse_acl error message parse_acl() returns the error instead of setting errno.
tmpfiles: fix compilation without acl support
partial revert of fed6df8 This one was acutally used to free xattr
remove unused variables
tmpfiles: let's always use DEFINE_PRIVATE_STRING_TABLE_LOOKUP_TO_STRING() instead of defining our own string tables
tmpfiles: accurately report creation results
tmpfiles: remove dead branch In the test, p is a path to a directory, always absolute. dent->d_name is a single path component, so they cannot be equal. The comparison was wrong also for other reasons: D type supports globs, so direct comparisons using streq are not enough.
tmpfiles: fix help text The help text, apart from being too long, did not describe what the options really do.
tmpfiles: use casts instead of warning suppression This warning got its own name only in gcc5, so the suppression does not work in gcc4, and generates a warning of its own. Use a cast, which is ugly too, but less so.