From e51712963b817995781534975470f1b54171702b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 13 Dec 2019 19:25:50 +0100 Subject: [PATCH] shared/install: log syntax error for invalid DefaultInstance= Ideally, we would want to report this over back over dbus. But that is pretty hard, because the unitfile parsing logic doesn't provide any feedback. systemd-analyze verify also doesn't notice the issue, because it doesn't look at the [Install] section at all. Let's print a message in the logs at least. --- TODO | 1 + src/shared/install.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index aded50fee6..de560d3f15 100644 --- a/TODO +++ b/TODO @@ -1039,6 +1039,7 @@ Features: - introduce mix of BindTo and Requisite - add a concept of RemainAfterExit= to scope units - Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely + - add verification of [Install] section to systemd-analyze verify * udev-link-config: - Make sure ID_PATH is always exported and complete for diff --git a/src/shared/install.c b/src/shared/install.c index d291eb6f21..0e673b3358 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -1197,7 +1197,8 @@ static int config_parse_default_instance( } if (!unit_instance_is_valid(printed)) - return -EINVAL; + return log_syntax(unit, LOG_WARNING, filename, line, SYNTHETIC_ERRNO(EINVAL), + "Invalid DefaultInstance= value \"%s\".", printed); return free_and_replace(i->default_instance, printed); }