$ build/systemctl --user cat badinstall
# /home/zbyszek/.config/systemd/user/badinstall.service
[Service]
ExecStart=true
[Install]
WantedBy=asdf
$ build/systemctl --user enable badinstall
Failed to enable unit: "asdf" is not a valid unit name.
Fixes #4209.
"Unit %s is transient or generated.", changes[i].path);
goto found;
+ case -EUCLEAN:
+ r = sd_bus_error_setf(error, BUS_ERROR_BAD_UNIT_SETTING,
+ "\"%s\" is not a valid unit name.",
+ changes[i].path);
+ goto found;
+
case -ELOOP:
r = sd_bus_error_setf(error, BUS_ERROR_UNIT_LINKED,
"Refusing to operate on alias name or linked unit file: %s",
verb, changes[i].path);
logged = true;
break;
+ case -EUCLEAN:
+ log_error_errno(changes[i].type,
+ "Failed to %s unit, \"%s\" is not a valid unit name.",
+ verb, changes[i].path);
+ logged = true;
+ break;
case -ELOOP:
log_error_errno(changes[i].type, "Failed to %s unit, refusing to operate on linked unit file %s",
verb, changes[i].path);
return q;
if (!unit_name_is_valid(dst, UNIT_NAME_ANY)) {
- r = -EINVAL;
+ unit_file_changes_add(changes, n_changes, -EUCLEAN, dst, NULL);
+ r = -EUCLEAN;
continue;
}