From 8571962ca31a468959eedce26fda278587327ba5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 21 Sep 2011 01:07:25 +0200 Subject: [PATCH] condition: always follow symlinks for condition checks, to mimic test --- man/systemd.unit.xml | 12 ++++++------ src/condition.c | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index 4e2590d0..4437510d 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -691,7 +691,7 @@ is prefixed with an exclamation mark (!), the test is negated, and the unit is only started if the path does not - exist. The test follows symlinks. + exist. ConditionPathExistsGlob= works in a similar way, but checks for the existence of at least one file or @@ -701,9 +701,8 @@ is similar to ConditionPathExists= but verifies whether a certain path - exists and is a directory. It does not - follow - symlinks. ConditionPathIsMountPoint= + exists and is a + directory. ConditionPathIsMountPoint= is similar to ConditionPathExists= but verifies whether a certain path @@ -713,7 +712,7 @@ ConditionPathExists= but verifies whether a certain path exists, is a regular file and marked - executable. It follows symlinks. + executable. ConditionDirectoryNotEmpty= is similar to ConditionPathExists= @@ -781,7 +780,8 @@ prefix an argument with the pipe symbol and an exclamation mark the pipe symbol must be passed first, the - exclamation second. + exclamation second. All path checks + follow symlinks. diff --git a/src/condition.c b/src/condition.c index 131b4568..7f856496 100644 --- a/src/condition.c +++ b/src/condition.c @@ -162,7 +162,7 @@ bool condition_test(Condition *c) { case CONDITION_PATH_IS_DIRECTORY: { struct stat st; - if (lstat(c->parameter, &st) < 0) + if (stat(c->parameter, &st) < 0) return !c->negate; return S_ISDIR(st.st_mode) == !c->negate; } -- 2.39.5