From a6fd0c5cc412afd5dac7a9952cab741e48342488 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 25 Jan 2016 14:44:42 +0100 Subject: Log calling SUDO_USER or PKEXEC_UID in history.log Thanks: Thomas Reusch --- apt-pkg/deb/dpkgpm.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'apt-pkg/deb/dpkgpm.cc') diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index ce9224791..e94a8cfdc 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -48,12 +48,28 @@ #include #include #include +#include #include /*}}}*/ using namespace std; +APT_PURE static string +AptHistoryUser() +{ + stringstream out; + const char* env[]{"SUDO_USER", "PKEXEC_UID", nullptr}; + for (int i=0; env[i] != nullptr; i++) + { + if (getenv(env[i]) != nullptr) + { + out << env[i] << "=" << getenv(env[i]) << " "; + } + } + return out.str(); +} + APT_PURE static unsigned int EnvironmentSize() { @@ -876,6 +892,8 @@ bool pkgDPkgPM::OpenLog() } if (_config->Exists("Commandline::AsString") == true) WriteHistoryTag("Commandline", _config->Find("Commandline::AsString")); + if (AptHistoryUser() != "") + WriteHistoryTag("Requested-By", AptHistoryUser()); WriteHistoryTag("Install", install); WriteHistoryTag("Reinstall", reinstall); WriteHistoryTag("Upgrade", upgrade); -- cgit v1.2.3