diff options
author | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-18 21:51:26 +0000 |
---|---|---|
committer | jschuh@chromium.org <jschuh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-18 21:51:26 +0000 |
commit | f240351ca7a2b2a32b1e727199be437a6fea027d (patch) | |
tree | de47f2f2fde8b5deb91a2c22d80ce67e87839ca7 /content | |
parent | 91c95c4374d2fb81cfd9994bbe85f7a9837ee483 (diff) | |
download | chromium_src-f240351ca7a2b2a32b1e727199be437a6fea027d.zip chromium_src-f240351ca7a2b2a32b1e727199be437a6fea027d.tar.gz chromium_src-f240351ca7a2b2a32b1e727199be437a6fea027d.tar.bz2 |
Revert 92887 - Add a sandbox API to allow closing open handles at lockdown.
BUG=58069
BUG=74242
TEST=sbox_integration_tests --gtest_filter=HandleCloserTests.*
Review URL: http://codereview.chromium.org/7253054
TBR=jschuh@chromium.org
Review URL: http://codereview.chromium.org/7398035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92906 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/common/sandbox_policy.cc | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/content/common/sandbox_policy.cc b/content/common/sandbox_policy.cc index 2d01bde..dd0473e 100644 --- a/content/common/sandbox_policy.cc +++ b/content/common/sandbox_policy.cc @@ -194,41 +194,6 @@ void AddDllEvictionPolicy(sandbox::TargetPolicy* policy) { BlacklistAddOneDll(kTroublesomeDlls[ix], policy); } -// Returns the object path prepended with the current logon session. -string16 PrependWindowsSessionPath(const char16* object) { - // Cache this because it can't change after process creation. - static string16* session_prefix = NULL; - if (!session_prefix) { - HANDLE token; - DWORD session_id; - DWORD session_id_length; - - CHECK(::OpenProcessToken(::GetCurrentProcess(), TOKEN_QUERY, &token)); - CHECK(::GetTokenInformation(token, TokenSessionId, &session_id, - sizeof(session_id), &session_id_length)); - CloseHandle(token); - - session_prefix = new string16(base::StringPrintf(L"\\Sessions\\%d", - session_id)); - } - - return *session_prefix + object; -} - -// Closes handles that are opened at process creation and initialization. -void AddBaseHandleClosePolicy(sandbox::TargetPolicy* policy) { - // Being able to manipulate anything BaseNamedObjects is bad. - policy->AddKernelObjectToClose(L"Directory", PrependWindowsSessionPath( - L"\\BaseNamedObjects").data()); - policy->AddKernelObjectToClose(L"Section", PrependWindowsSessionPath( - L"\\BaseNamedObjects\\windows_shell_global_counters").data()); -} - -void AddStrictHandleClosePolicy(sandbox::TargetPolicy* policy) { - // This is loaded when rand_s is seeded, but not needed again. - policy->AddKernelObjectToClose(L"File", L"\\Device\\KsecDD"); -} - // Adds the generic policy rules to a sandbox TargetPolicy. bool AddGenericPolicy(sandbox::TargetPolicy* policy) { sandbox::ResultCode result; @@ -314,7 +279,6 @@ void AddPolicyForRenderer(sandbox::TargetPolicy* policy) { } AddDllEvictionPolicy(policy); - AddBaseHandleClosePolicy(policy); } // The Pepper process as locked-down as a renderer execpt that it can @@ -450,8 +414,6 @@ base::ProcessHandle StartProcessWithAccess(CommandLine* cmd_line, return 0; } else { AddPolicyForRenderer(policy); - if (type == ChildProcessInfo::RENDER_PROCESS) - AddStrictHandleClosePolicy(policy); if (type_str != switches::kRendererProcess) { // Hack for Google Desktop crash. Trick GD into not injecting its DLL into |