summaryrefslogtreecommitdiff
path: root/ui/qt5/runner/executorprocess.cc
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2023-12-09 21:37:47 -0600
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2023-12-09 21:37:47 -0600
commite415fc62b02d416dae39f2d53765ca839abca419 (patch)
tree83e56661e87462a387e075b69e678d4c05d67a2b /ui/qt5/runner/executorprocess.cc
parent9f971cc0aedae6c89052bedc684245fc8c893cdf (diff)
downloadhorizon-e415fc62b02d416dae39f2d53765ca839abca419.tar.gz
horizon-e415fc62b02d416dae39f2d53765ca839abca419.tar.bz2
horizon-e415fc62b02d416dae39f2d53765ca839abca419.tar.xz
horizon-e415fc62b02d416dae39f2d53765ca839abca419.zip
Qt UI: Runner: Use specialised QProcess subclass
This allows us to set the uid/gid in the executor process so that APK inherits full root, which prevents a weird error that causes APK Tools to write out all files as owned by the live user's GID when run under live media.
Diffstat (limited to 'ui/qt5/runner/executorprocess.cc')
-rw-r--r--ui/qt5/runner/executorprocess.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/ui/qt5/runner/executorprocess.cc b/ui/qt5/runner/executorprocess.cc
new file mode 100644
index 0000000..1712fd9
--- /dev/null
+++ b/ui/qt5/runner/executorprocess.cc
@@ -0,0 +1,20 @@
+/*
+ * executorprocess.cc - Implementation of the QProcess class for the executor
+ * horizon-run-qt5, the Qt 5 executor user interface for
+ * Project Horizon
+ *
+ * Copyright (c) 2023 Adélie Linux and contributors. All rights reserved.
+ * This code is licensed under the AGPL 3.0 license, as noted in the
+ * LICENSE-code file in the root directory of this repository.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+#include "executorprocess.hh"
+
+#include <unistd.h>
+
+void ExecutorProcess::setupChildProcess() {
+ ::setuid(::geteuid());
+ ::setgid(::getegid());
+}