]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
runtime-scope: add runtime_scope_to_socket_mode() helper
authorLennart Poettering <lennart@poettering.net>
Tue, 15 Jul 2025 10:34:22 +0000 (12:34 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 25 Sep 2025 20:43:59 +0000 (22:43 +0200)
src/basic/runtime-scope.h

index 54c797e742d8a861a94258f58647258e725c9fa7..94c2d2ea6af89f8e4f1da1e28dbcd4af6580f0d0 100644 (file)
@@ -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;
+        }
+}