diff options
author | Kenny Levinsen <kl@kl.wtf> | 2022-06-01 20:01:19 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2022-06-03 12:37:40 +0200 |
commit | e5728052b59fb5b476c78c9f18b812a85d7f4503 (patch) | |
tree | a456d2cbdc8aad99cc713682447b9e55379b6d18 /sway/server.c | |
parent | ipc: remove chatty debug log messages (diff) | |
download | sway-e5728052b59fb5b476c78c9f18b812a85d7f4503.tar.gz sway-e5728052b59fb5b476c78c9f18b812a85d7f4503.tar.zst sway-e5728052b59fb5b476c78c9f18b812a85d7f4503.zip |
Refuse to start when SUID is detected
This ensures that those surprised by the deprecation of SUID operation
receive an error rather than accidentally having sway run as root.
This detection will be removed in a future release.
Diffstat (limited to 'sway/server.c')
-rw-r--r-- | sway/server.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/sway/server.c b/sway/server.c index 627d80d6..be74b3b3 100644 --- a/sway/server.c +++ b/sway/server.c | |||
@@ -47,19 +47,6 @@ | |||
47 | #include "sway/xwayland.h" | 47 | #include "sway/xwayland.h" |
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | bool server_privileged_prepare(struct sway_server *server) { | ||
51 | sway_log(SWAY_DEBUG, "Preparing Wayland server initialization"); | ||
52 | server->wl_display = wl_display_create(); | ||
53 | server->wl_event_loop = wl_display_get_event_loop(server->wl_display); | ||
54 | server->backend = wlr_backend_autocreate(server->wl_display); | ||
55 | |||
56 | if (!server->backend) { | ||
57 | sway_log(SWAY_ERROR, "Unable to create backend"); | ||
58 | return false; | ||
59 | } | ||
60 | return true; | ||
61 | } | ||
62 | |||
63 | static void handle_drm_lease_request(struct wl_listener *listener, void *data) { | 50 | static void handle_drm_lease_request(struct wl_listener *listener, void *data) { |
64 | /* We only offer non-desktop outputs, but in the future we might want to do | 51 | /* We only offer non-desktop outputs, but in the future we might want to do |
65 | * more logic here. */ | 52 | * more logic here. */ |
@@ -76,6 +63,14 @@ static void handle_drm_lease_request(struct wl_listener *listener, void *data) { | |||
76 | 63 | ||
77 | bool server_init(struct sway_server *server) { | 64 | bool server_init(struct sway_server *server) { |
78 | sway_log(SWAY_DEBUG, "Initializing Wayland server"); | 65 | sway_log(SWAY_DEBUG, "Initializing Wayland server"); |
66 | server->wl_display = wl_display_create(); | ||
67 | server->wl_event_loop = wl_display_get_event_loop(server->wl_display); | ||
68 | server->backend = wlr_backend_autocreate(server->wl_display); | ||
69 | |||
70 | if (!server->backend) { | ||
71 | sway_log(SWAY_ERROR, "Unable to create backend"); | ||
72 | return false; | ||
73 | } | ||
79 | 74 | ||
80 | server->renderer = wlr_renderer_autocreate(server->backend); | 75 | server->renderer = wlr_renderer_autocreate(server->backend); |
81 | if (!server->renderer) { | 76 | if (!server->renderer) { |