From 6e09c46a51fbaedd5c03fc376201f7c538894e2b Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 12 Mar 2025 18:00:57 +0100 Subject: [PATCH] nsresource: turn feature absence error into EOPNOTSUPP Let's make it easy for local clients to treat feature absence as a simple EOPNOTSUPP check. --- src/shared/nsresource.c | 2 ++ 1 file changed, 2 insertions(+) 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); -- 2.47.3