From 146b189d54e51609634d9dc4b1ab47f9e3c91d49 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Thu, 19 May 2022 19:28:15 +0200 Subject: disallow running with sudo unless you use the --i-am-really-stupid flag --- src/main.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 7cbef959..cdad06e7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,12 +2,33 @@ #include "debug/Log.hpp" #include "Compositor.hpp" #include "config/ConfigManager.hpp" +#include "init/initHelpers.hpp" + +// I am a bad bad boy and have used some global vars here, +// just for this file +bool ignoreSudo = false; int main(int argc, char** argv) { if (!getenv("XDG_RUNTIME_DIR")) RIP("XDG_RUNTIME_DIR not set!"); + // parse some args + for (int i = 1; i < argc; ++i) { + if (!strcmp(argv[i], "--i-am-really-stupid")) + ignoreSudo = true; + } + + if (!ignoreSudo) { + if (Init::isSudo()) { + Debug::log(CRIT, "Hyprland shall not be run as the root user. If you really want to, use the --i-am-really-stupid flag."); + return 1; + } + } else { + Debug::log(WARN, "Running with ignored root checks, I surely hope you know what you're doing."); + sleep(1); + } + Debug::log(LOG, "Welcome to Hyprland!"); // let's init the compositor. -- cgit v1.2.3