summaryrefslogtreecommitdiffstats
path: root/remoting/host/setup
diff options
context:
space:
mode:
authorweitaosu <weitaosu@chromium.org>2015-09-18 10:30:52 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-18 17:31:27 +0000
commite09928dae0a3f48d6686fddf52bf22951384d105 (patch)
tree28052668833994c5e1ab0f66bee937db5462dec4 /remoting/host/setup
parent8f3768781792d088730de219b8abbc23c2d259d1 (diff)
downloadchromium_src-e09928dae0a3f48d6686fddf52bf22951384d105.zip
chromium_src-e09928dae0a3f48d6686fddf52bf22951384d105.tar.gz
chromium_src-e09928dae0a3f48d6686fddf52bf22951384d105.tar.bz2
Allow local admins access to the pipe created by the unprivileged native messaging host process. If not, the privileged NM host process won't be able to connect to the named pipe created by the unprivileged NM host process.
BUG=477471 Review URL: https://codereview.chromium.org/1351453005 Cr-Commit-Position: refs/heads/master@{#349703}
Diffstat (limited to 'remoting/host/setup')
-rw-r--r--remoting/host/setup/me2me_native_messaging_host.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/remoting/host/setup/me2me_native_messaging_host.cc b/remoting/host/setup/me2me_native_messaging_host.cc
index 49d2b74..37c004d 100644
--- a/remoting/host/setup/me2me_native_messaging_host.cc
+++ b/remoting/host/setup/me2me_native_messaging_host.cc
@@ -588,11 +588,14 @@ void Me2MeNativeMessagingHost::EnsureElevatedHostCreated() {
}
// Create a security descriptor that gives full access to the caller and
- // denies access by anyone else.
+ // BUILTIN_ADMINISTRATORS and denies access by anyone else.
+ // Local admins need access because the privileged host process will run
+ // as a local admin which may not be the same user as the current user.
std::string user_sid_ascii = base::UTF16ToASCII(user_sid);
std::string security_descriptor =
- base::StringPrintf("O:%sG:%sD:(A;;GA;;;%s)", user_sid_ascii.c_str(),
- user_sid_ascii.c_str(), user_sid_ascii.c_str());
+ base::StringPrintf("O:%sG:%sD:(A;;GA;;;%s)(A;;GA;;;BA)",
+ user_sid_ascii.c_str(), user_sid_ascii.c_str(),
+ user_sid_ascii.c_str());
ScopedSd sd = ConvertSddlToSd(security_descriptor);
if (!sd) {