nsresource: turn feature absence error into EOPNOTSUPP

Let's make it easy for local clients to treat feature absence as a
simple EOPNOTSUPP check.
This commit is contained in:
Lennart Poettering
2025-03-12 18:00:57 +01:00
parent 3b6d1fb49f
commit 6e09c46a51

View File

@@ -144,6 +144,8 @@ int nsresource_register_userns(const char *name, int userns_fd) {
SD_JSON_BUILD_PAIR("userNamespaceFileDescriptor", SD_JSON_BUILD_UNSIGNED(userns_fd_idx)));
if (r < 0)
return log_debug_errno(r, "Failed to call RegisterUserNamespace() varlink call: %m");
if (streq_ptr(error_id, "io.systemd.NamespaceResource.UserNamespaceInterfaceNotSupported"))
return log_debug_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Unprivileged user namespace delegation is not supported on this system.");
if (error_id)
return log_debug_errno(sd_varlink_error_to_errno(error_id, reply), "Failed to register user namespace: %s", error_id);