diff options
author | Kenny Levinsen <kl@kl.wtf> | 2022-01-11 11:08:44 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2022-01-11 12:05:55 +0100 |
commit | e1db1f8218998c428e8b087dda6660449ef2891a (patch) | |
tree | 5a90ce9af35404d979167fcca542cb86a610df06 | |
parent | meson: check: false on run_command (diff) | |
download | sway-e1db1f8218998c428e8b087dda6660449ef2891a.tar.gz sway-e1db1f8218998c428e8b087dda6660449ef2891a.tar.zst sway-e1db1f8218998c428e8b087dda6660449ef2891a.zip |
Print deprecation notice when running SUID
SUID privilege drop is needed for the "builtin"-backend of libseat,
which copied our old "direct" backend behavior for the sake of
compatibility and ease of transition.
libseat now has a better alternative in the form of seatd-launch. It
uses the normal seatd daemon and libseat backend and takes care of SUID
for us.
Add a soft deprecation warning to highlight our future intent of
removing this code. The deprecation cycle is needed to avoid surprises
when sway no longer drops privileges.
-rw-r--r-- | sway/main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sway/main.c b/sway/main.c index 6c71048b..b6f8a8bf 100644 --- a/sway/main.c +++ b/sway/main.c | |||
@@ -153,6 +153,9 @@ static void log_kernel(void) { | |||
153 | 153 | ||
154 | static bool drop_permissions(void) { | 154 | static bool drop_permissions(void) { |
155 | if (getuid() != geteuid() || getgid() != getegid()) { | 155 | if (getuid() != geteuid() || getgid() != getegid()) { |
156 | sway_log(SWAY_ERROR, "!!! DEPRECATION WARNING: " | ||
157 | "SUID privilege drop will be removed in a future release, please migrate to seatd-launch"); | ||
158 | |||
156 | // Set the gid and uid in the correct order. | 159 | // Set the gid and uid in the correct order. |
157 | if (setgid(getgid()) != 0) { | 160 | if (setgid(getgid()) != 0) { |
158 | sway_log(SWAY_ERROR, "Unable to drop root group, refusing to start"); | 161 | sway_log(SWAY_ERROR, "Unable to drop root group, refusing to start"); |