diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2023-12-09 21:37:47 -0600 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2023-12-09 21:37:47 -0600 |
commit | e415fc62b02d416dae39f2d53765ca839abca419 (patch) | |
tree | 83e56661e87462a387e075b69e678d4c05d67a2b /ui/qt5/runner/executorprocess.cc | |
parent | 9f971cc0aedae6c89052bedc684245fc8c893cdf (diff) | |
download | horizon-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.cc | 20 |
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()); +} |