diff options
author | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-30 17:12:13 +0000 |
---|---|---|
committer | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-30 17:12:13 +0000 |
commit | bd9337ce8f7afe8dda38ee3afe3dd260507f7c2c (patch) | |
tree | 5cf40fd48476896c4d4148f6953b5f106ca03c77 /chrome/common/sandbox_mac.mm | |
parent | 8bcdfc9fbecfea07eed5b410c4e7b4e118e12dc1 (diff) | |
download | chromium_src-bd9337ce8f7afe8dda38ee3afe3dd260507f7c2c.zip chromium_src-bd9337ce8f7afe8dda38ee3afe3dd260507f7c2c.tar.gz chromium_src-bd9337ce8f7afe8dda38ee3afe3dd260507f7c2c.tar.bz2 |
Revert 43086 - 1. Create a new sandbox type which allows access to Unix sockets in the Mac
renderer sandbox to support running Native Client.
2. Put the Native Client sel_ldr (which contains the user's untrusted code
into a new Mac sandbox type.
3. Open /dev/random in SandboxWarmup().
4. Remove the "nosandbox" flag when running Mac tests.
BUG=http://code.google.com/p/nativeclient/issues/detail?id=327
TEST=nacl_ui_tests still pass while running in the sandbox.
Review URL: http://codereview.chromium.org/1234003
TBR=msneck@google.com
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43093 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/sandbox_mac.mm')
-rw-r--r-- | chrome/common/sandbox_mac.mm | 40 |
1 files changed, 1 insertions, 39 deletions
diff --git a/chrome/common/sandbox_mac.mm b/chrome/common/sandbox_mac.mm index 63869ee..ca8ac6c 100644 --- a/chrome/common/sandbox_mac.mm +++ b/chrome/common/sandbox_mac.mm @@ -15,7 +15,6 @@ extern "C" { #include "base/command_line.h" #include "base/file_util.h" #include "base/mac_util.h" -#include "base/rand_util_c.h" #include "base/scoped_cftyperef.h" #include "base/scoped_nsautorelease_pool.h" #include "base/string16.h" @@ -235,10 +234,6 @@ void SandboxWarmup() { NULL)); CGImageSourceGetStatus(img); } - - { // Native Client access to /dev/random. - GetUrandomFD(); - } } // Turns on the OS X sandbox for this process. @@ -255,37 +250,16 @@ bool EnableSandbox(SandboxProcessType sandbox_type, // TODO(jeremy): Look at using include syntax to unify common parts of sandbox // definition files. NSString* sandbox_config_filename = nil; - bool allow_nacl_lines = false; switch (sandbox_type) { case SANDBOX_TYPE_RENDERER: sandbox_config_filename = @"renderer"; break; - case SANDBOX_TYPE_MOST_RESTRICTIVE: case SANDBOX_TYPE_WORKER: - sandbox_config_filename = @"most-restrictive"; + sandbox_config_filename = @"worker"; break; case SANDBOX_TYPE_UTILITY: sandbox_config_filename = @"utility"; break; - case SANDBOX_TYPE_NACL_PLUGIN: - // The Native Client plugin is a standard renderer sandbox with some - // additional lines to support use of Unix sockets. - // TODO(msneck): Remove the use of Unix sockets from Native Client and - // then remove the associated rules from chrome/renderer/renderer.sb. - // See http://code.google.com/p/nativeclient/issues/detail?id=344 - sandbox_config_filename = @"renderer"; - allow_nacl_lines = true; - break; - case SANDBOX_TYPE_NACL_LOADER: - // The Native Client loader is the most-restrictive sandbox with some - // additional lines to support use of Unix sockets. - // TODO(msneck): Remove the use of Unix sockets from Native Client and - // then remove the associated rules from - // chrome/browser/most-restrictive.sb. - // See http://code.google.com/p/nativeclient/issues/detail?id=344 - sandbox_config_filename = @"most-restrictive"; - allow_nacl_lines = true; - break; default: NOTREACHED(); return false; @@ -314,13 +288,6 @@ bool EnableSandbox(SandboxProcessType sandbox_type, withString:@""]; } - // Enable Native Client lines if they are allowed. - if (allow_nacl_lines) { - sandbox_data = [sandbox_data - stringByReplacingOccurrencesOfString:@";NACL" - withString:@""]; - } - if (!allowed_dir.empty()) { // The sandbox only understands "real" paths. This resolving step is // needed so the caller doesn't need to worry about things like /var @@ -374,11 +341,6 @@ bool EnableSandbox(SandboxProcessType sandbox_type, sandbox_data = [sandbox_data stringByReplacingOccurrencesOfString:@"USER_HOMEDIR" withString:home_dir_escaped_ns]; - } else { - // Sandbox rules only for versions before 10.6. - sandbox_data = [sandbox_data - stringByReplacingOccurrencesOfString:@";BEFORE_10.6" - withString:@""]; } char* error_buff = NULL; |