summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-05-26 09:43:36 +0200
committerCarl Hetherington <cth@carlh.net>2021-05-26 20:05:49 +0200
commit93048e5a6f33cc8e2fc547bf65c41551696e23c6 (patch)
treed23e059ef8012b2e62bc14ee7674f45b2878b505 /src/lib
parent1fdc2991cbe0c7a03567e69b36632dca6ab8b8ef (diff)
Remove privilege escalation via seteuid() etc. on Linux.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/cross.h8
-rw-r--r--src/lib/cross_linux.cc36
-rw-r--r--src/lib/ext.cc4
3 files changed, 0 insertions, 48 deletions
diff --git a/src/lib/cross.h b/src/lib/cross.h
index b70d84a0e..25b3b3820 100644
--- a/src/lib/cross.h
+++ b/src/lib/cross.h
@@ -71,14 +71,6 @@ namespace dcpomatic {
std::string get_process_id ();
}
-class PrivilegeEscalator
-{
-public:
- PrivilegeEscalator ();
- ~PrivilegeEscalator ();
-
- static bool test;
-};
/** @class Waker
* @brief A class which tries to keep the computer awake on various operating systems.
diff --git a/src/lib/cross_linux.cc b/src/lib/cross_linux.cc
index 326e590b8..65151791c 100644
--- a/src/lib/cross_linux.cc
+++ b/src/lib/cross_linux.cc
@@ -371,7 +371,6 @@ bool
Drive::unmount ()
{
for (auto i: _mount_points) {
- PrivilegeEscalator esc;
int const r = umount(i.string().c_str());
LOG_DISK("Tried to unmount %1 and got %2 and %3", i.string(), r, errno);
if (r == -1) {
@@ -382,41 +381,6 @@ Drive::unmount ()
}
-void
-unprivileged ()
-{
- uid_t ruid, euid, suid;
- if (getresuid(&ruid, &euid, &suid) == -1) {
- cerr << "getresuid() failed.\n";
- }
- if (seteuid(ruid) == -1) {
- cerr << "seteuid() failed.\n";
- }
-}
-
-
-bool PrivilegeEscalator::test = false;
-
-
-PrivilegeEscalator::~PrivilegeEscalator ()
-{
- if (!test) {
- unprivileged ();
- }
-}
-
-
-PrivilegeEscalator::PrivilegeEscalator ()
-{
- if (!test) {
- int const r = seteuid(0);
- if (r < 0) {
- throw PrivilegeError (String::compose("seteuid() call failed with %1", errno));
- }
- }
-}
-
-
boost::filesystem::path
config_path ()
{
diff --git a/src/lib/ext.cc b/src/lib/ext.cc
index 86821bfa1..feba68c1f 100644
--- a/src/lib/ext.cc
+++ b/src/lib/ext.cc
@@ -304,10 +304,6 @@ try
parts.division[2] = 0;
parts.division[3] = 0;
-#ifdef DCPOMATIC_LINUX
- PrivilegeEscalator e;
-#endif
-
/* XXX: not sure if disk_id matters */
int r = ext4_mbr_write (bd, &parts, 0);
if (r) {