summaryrefslogtreecommitdiffstats
path: root/chrome/browser/nacl-loader.sb
diff options
context:
space:
mode:
authormsneck@google.com <msneck@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-02 14:01:42 +0000
committermsneck@google.com <msneck@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-02 14:01:42 +0000
commit179564f585c1b880f754335e68be3b13a6e72e72 (patch)
tree4800b5429fb61b72d5645d1a484c5144f27ff223 /chrome/browser/nacl-loader.sb
parente84e8e8ac15317f9efb5c1cf81f0ddc5463d112d (diff)
downloadchromium_src-179564f585c1b880f754335e68be3b13a6e72e72.zip
chromium_src-179564f585c1b880f754335e68be3b13a6e72e72.tar.gz
chromium_src-179564f585c1b880f754335e68be3b13a6e72e72.tar.bz2
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. See http://codereview.chromium.org/1234003/show and http://codereview.chromium.org/1525005/show which were both reverted because of problems on Mac 10.6. This change is identical except for the ";NACL" lines in renderer.sb files and the corresponding lines in nacl-loader.sb. Unix socket support for the sandbox changed considerably from 10.5 to 10.6. 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/1559012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43473 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/nacl-loader.sb')
-rw-r--r--chrome/browser/nacl-loader.sb39
1 files changed, 39 insertions, 0 deletions
diff --git a/chrome/browser/nacl-loader.sb b/chrome/browser/nacl-loader.sb
new file mode 100644
index 0000000..61716a6
--- /dev/null
+++ b/chrome/browser/nacl-loader.sb
@@ -0,0 +1,39 @@
+;;
+;; Copyright (c) 2009 The Chromium Authors. All rights reserved.
+;; Use of this source code is governed by a BSD-style license that can be
+;; found in the LICENSE file.
+;;
+; This is the Sandbox configuration file used for safeguarding the user's
+; untrusted code within Native Client.
+;
+(version 1)
+(deny default)
+; Support for programmatically enabling verbose debugging.
+;ENABLE_LOGGING (debug deny)
+
+; Allow sending signals to self - http://crbug.com/20370
+(allow signal (target self))
+
+; Needed for full-page-zoomed controls - http://crbug.com/11325
+(allow sysctl-read)
+
+; Each line is marked with the System version that needs it.
+; This profile is tested with the following system versions:
+; 10.5.6, 10.6
+
+; Allow following symlinks
+(allow file-read-metadata) ; 10.5.6
+
+; Needed for IPC on 10.6
+;10.6_ONLY (allow ipc-posix-shm)
+
+; Needed for the Native Client plugin and loader.
+; TODO(msneck): Refactor Native Client to use something other than Unix
+; sockets.
+; See http://code.google.com/p/nativeclient/issues/detail?id=344
+;BEFORE_10.6 (allow network-inbound (from unix-socket))
+;BEFORE_10.6 (allow network-outbound (to unix-socket))
+;10.6_ONLY (allow network-inbound (regex #"^(/private)?/tmp/nacl-"))
+;10.6_ONLY (allow network-outbound (regex #"^(/private)?/tmp/nacl-"))
+;10.6_ONLY (allow network-bind (local ip4))
+;10.6_ONLY (allow file-write* (regex #"^(/private)?/tmp/nacl-"))