summaryrefslogtreecommitdiff
path: root/src/core/unit.h
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2023-04-24 22:03:06 +0200
committerGitHub <noreply@github.com>2023-04-24 22:03:06 +0200
commit208a59c15fd41f87248a1a981e558acd3de5e47b (patch)
tree45f73492212a2c220305ab41bb3c74cd6265efeb /src/core/unit.h
parent91ce42f008764c3c6d8d72c5fb3b72d0945b7de2 (diff)
parent2ed7a221fafb25eea937c4e86fb88ee501dba51e (diff)
downloadsystemd-208a59c15fd41f87248a1a981e558acd3de5e47b.tar.gz
Merge pull request #27113 from keszybz/variable-expansion-rework
Rework serialization of command lines in pid1 and make run not expand variables
Diffstat (limited to 'src/core/unit.h')
-rw-r--r--src/core/unit.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/core/unit.h b/src/core/unit.h
index ea236d933c..7e85150643 100644
--- a/src/core/unit.h
+++ b/src/core/unit.h
@@ -534,22 +534,25 @@ typedef struct UnitStatusMessageFormats {
/* Flags used when writing drop-in files or transient unit files */
typedef enum UnitWriteFlags {
/* Write a runtime unit file or drop-in (i.e. one below /run) */
- UNIT_RUNTIME = 1 << 0,
+ UNIT_RUNTIME = 1 << 0,
/* Write a persistent drop-in (i.e. one below /etc) */
- UNIT_PERSISTENT = 1 << 1,
+ UNIT_PERSISTENT = 1 << 1,
/* Place this item in the per-unit-type private section, instead of [Unit] */
- UNIT_PRIVATE = 1 << 2,
+ UNIT_PRIVATE = 1 << 2,
- /* Apply specifier escaping before writing */
- UNIT_ESCAPE_SPECIFIERS = 1 << 3,
+ /* Apply specifier escaping */
+ UNIT_ESCAPE_SPECIFIERS = 1 << 3,
- /* Escape elements of ExecStart= syntax before writing */
- UNIT_ESCAPE_EXEC_SYNTAX = 1 << 4,
+ /* Escape elements of ExecStart= syntax, incl. prevention of variable expansion */
+ UNIT_ESCAPE_EXEC_SYNTAX_ENV = 1 << 4,
+
+ /* Escape elements of ExecStart=: syntax (no variable expansion) */
+ UNIT_ESCAPE_EXEC_SYNTAX = 1 << 5,
/* Apply C escaping before writing */
- UNIT_ESCAPE_C = 1 << 5,
+ UNIT_ESCAPE_C = 1 << 6,
} UnitWriteFlags;
/* Returns true if neither persistent, nor runtime storage is requested, i.e. this is a check invocation only */