From: Lennart Poettering Date: Tue, 15 Jul 2025 10:34:22 +0000 (+0200) Subject: runtime-scope: add runtime_scope_to_socket_mode() helper X-Git-Tag: v259-rc1~433^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=abf518a8dc7fb068633576343abc37a8a736a9e5;p=thirdparty%2Fsystemd.git runtime-scope: add runtime_scope_to_socket_mode() helper --- diff --git a/src/basic/runtime-scope.h b/src/basic/runtime-scope.h index 54c797e742d..94c2d2ea6af 100644 --- a/src/basic/runtime-scope.h +++ b/src/basic/runtime-scope.h @@ -15,3 +15,20 @@ const char* runtime_scope_to_string(RuntimeScope scope) _const_; RuntimeScope runtime_scope_from_string(const char *s) _const_; const char* runtime_scope_cmdline_option_to_string(RuntimeScope scope) _const_; + +static inline mode_t runtime_scope_to_socket_mode(RuntimeScope scope) { + /* Returns the right socket mode to use for binding AF_UNIX sockets intended for the specified + * scope. If system mode is selected the whole system can connect to it, if user mode is selected + * only the user can connect to it. */ + + switch (scope) { + case RUNTIME_SCOPE_SYSTEM: + return 0666; + + case RUNTIME_SCOPE_USER: + return 0600; + + default: + return MODE_INVALID; + } +}