*/
-#include "compose.hpp"
#include "config.h"
#include "cross.h"
#include "dcpomatic_log.h"
#include "exceptions.h"
#include "log.h"
#include "warnings.h"
+#include <dcp/compose.h>
#include <dcp/raw_convert.h>
#include <glib.h>
DCPOMATIC_DISABLE_WARNINGS
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) {
}
-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 ()
{