From: Zbigniew Jędrzejewski-Szmek Date: Fri, 13 Dec 2019 18:25:50 +0000 (+0100) Subject: shared/install: log syntax error for invalid DefaultInstance= X-Git-Tag: v245-rc1~254^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e51712963b817995781534975470f1b54171702b;p=thirdparty%2Fsystemd.git 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. --- diff --git a/TODO b/TODO index aded50fee6a..de560d3f150 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 d291eb6f21f..0e673b33588 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); }