From: Michael Vogt Date: Fri, 27 Nov 2015 11:29:22 +0000 (+0100) Subject: Check if the Apt::Sandbox::User exists in CheckDropPrivsMustBeDisabled() X-Git-Tag: 1.1.1~7 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/ef39c148105cf30aea822022a5f41a120897cc65?ds=sidebyside Check if the Apt::Sandbox::User exists in CheckDropPrivsMustBeDisabled() If it does not exist disabled priv dropping as there is nothing we can drop to. This will unblock people with special chroots or systems that deleted the "_apt" user. Closes: #806406 --- diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index a86bcef1a..b229a61b6 100644 --- a/apt-pkg/acquire.cc +++ b/apt-pkg/acquire.cc @@ -507,7 +507,11 @@ static void CheckDropPrivsMustBeDisabled(pkgAcquire const &Fetcher) struct passwd const * const pw = getpwnam(SandboxUser.c_str()); if (pw == NULL) + { + _error->Warning(_("No sandbox user '%s' on the system, can not drop privileges"), SandboxUser.c_str()); + _config->Set("APT::Sandbox::User", ""); return; + } gid_t const old_euid = geteuid(); gid_t const old_egid = getegid();