From: Lennart Poettering Date: Wed, 12 Mar 2025 17:00:57 +0000 (+0100) Subject: nsresource: turn feature absence error into EOPNOTSUPP X-Git-Tag: v258-rc1~1062^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6e09c46a51fbaedd5c03fc376201f7c538894e2b;p=thirdparty%2Fsystemd.git nsresource: turn feature absence error into EOPNOTSUPP Let's make it easy for local clients to treat feature absence as a simple EOPNOTSUPP check. --- diff --git a/src/shared/nsresource.c b/src/shared/nsresource.c index 2652d2a6245..0255a6860cf 100644 --- a/src/shared/nsresource.c +++ b/src/shared/nsresource.c @@ -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);