mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-27 13:57:26 +03:00
shared/install: refuse template files for non-templateable units
$ systemctl --root=/ enable templated@bar.mount Unit type mount cannot be templated. Failed to enable: Invalid argument.
This commit is contained in:
parent
6597fa6117
commit
133e5b362f
@ -1050,6 +1050,8 @@ static int unit_file_load(
|
||||
{}
|
||||
};
|
||||
|
||||
const char *name;
|
||||
UnitType type;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
struct stat st;
|
||||
@ -1059,6 +1061,12 @@ static int unit_file_load(
|
||||
assert(info);
|
||||
assert(path);
|
||||
|
||||
name = basename(path);
|
||||
type = unit_name_to_type(name);
|
||||
if (unit_name_is_valid(name, UNIT_NAME_TEMPLATE|UNIT_NAME_INSTANCE) &&
|
||||
!unit_type_may_template(type))
|
||||
return log_error_errno(EINVAL, "Unit type %s cannot be templated.", unit_type_to_string(type));
|
||||
|
||||
if (!(flags & SEARCH_LOAD)) {
|
||||
r = lstat(path, &st);
|
||||
if (r < 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user