]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
systemctl: permit "enable" and "add-wants" without any instances (#4992)
authorLennart Poettering <lennart@poettering.net>
Thu, 29 Dec 2016 10:14:49 +0000 (11:14 +0100)
committerMartin Pitt <martin.pitt@ubuntu.com>
Thu, 29 Dec 2016 10:14:49 +0000 (11:14 +0100)
This permits "systemctl enable" and "systemctl add-wants" on template
units without any specifications of an instance name, neither specified
on the command line, nor specified in DefaultInstance= field of the
[install] section.

Fixes: #3473
src/shared/install.c

index 474426d9273997bae5c216c5f9cd386e5ed07aa1..4e047157cc7397b6ab4c096ca4b13eb8e6555033 100644 (file)
@@ -1567,18 +1567,12 @@ static int install_info_symlink_wants(
         if (strv_isempty(list))
                 return 0;
 
-        if (unit_name_is_valid(i->name, UNIT_NAME_TEMPLATE)) {
+        if (unit_name_is_valid(i->name, UNIT_NAME_TEMPLATE) && i->default_instance) {
                 UnitFileInstallInfo instance = {
                         .type = _UNIT_FILE_TYPE_INVALID,
                 };
                 _cleanup_free_ char *path = NULL;
 
-                /* Don't install any symlink if there's no default
-                 * instance configured */
-
-                if (!i->default_instance)
-                        return 0;
-
                 r = unit_name_replace_instance(i->name, i->default_instance, &buf);
                 if (r < 0)
                         return r;