aboutsummaryrefslogtreecommitdiffstats
path: root/sway/server.c
diff options
context:
space:
mode:
authorLibravatar Kenny Levinsen <kl@kl.wtf>2022-06-01 20:01:19 +0200
committerLibravatar Simon Ser <contact@emersion.fr>2022-06-03 12:37:40 +0200
commite5728052b59fb5b476c78c9f18b812a85d7f4503 (patch)
treea456d2cbdc8aad99cc713682447b9e55379b6d18 /sway/server.c
parentipc: remove chatty debug log messages (diff)
downloadsway-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.c21
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
50bool 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
63static void handle_drm_lease_request(struct wl_listener *listener, void *data) { 50static 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
77bool server_init(struct sway_server *server) { 64bool 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) {