Index: content/common/common.sb |
diff --git a/content/common/common.sb b/content/common/common.sb |
index a3cf89b96c2b002bc846c086c2ffeffaa76f83ee..79b96e0bee7db572cd20baaef2077fc4b5374474 100644 |
--- a/content/common/common.sb |
+++ b/content/common/common.sb |
@@ -7,30 +7,14 @@ |
; included at the start of all other sandbox configuration files in Chrome. |
(version 1) |
-; Helper function to check if a param is set to true. |
-(define (param-true? str) (string=? (param str) "TRUE")) |
- |
-; Helper function to determine if a parameter is defined or not. |
-(define (param-defined? str) (string? (param str))) |
- |
-; Define constants for all of the parameter strings passed in. |
-(define disable-sandbox-denial-logging "DISABLE_SANDBOX_DENIAL_LOGGING") |
-(define enable-logging "ENABLE_LOGGING") |
-(define component-build-workaround "COMPONENT_BUILD_WORKAROUND") |
-(define permitted-dir "PERMITTED_DIR") |
-(define lion-or-later "LION_OR_LATER") |
-(define homedir-as-literal "USER_HOMEDIR_AS_LITERAL") |
- |
-; Consumes a subpath and appends it to the user's homedir path. |
-(define (user-homedir-path subpath) (string-append (param homedir-as-literal) subpath)) |
- |
-; DISABLE_SANDBOX_DENIAL_LOGGING turns off log messages in the system log. |
-(if (param-true? disable-sandbox-denial-logging) |
- (deny default (with no-log)) |
- (deny default)) |
+; DISABLE_SANDBOX_DENIAL_LOGGING expands to syntax that turns off log message |
+; printing on sandbox exceptions; this functionality only exists on 10.6. The |
+; --enable-sandbox-logging flag or system versions <10.6 cause this flag to |
+; expand to an empty string. http://crbug.com/26621 |
+(deny default @DISABLE_SANDBOX_DENIAL_LOGGING@) |
; Support for programmatically enabling verbose debugging. |
-(if (param-true? enable-logging) (debug deny)) |
+;ENABLE_LOGGING (debug deny) |
; Allow sending signals to self - http://crbug.com/20370 |
(allow signal (target self)) |
@@ -38,20 +22,24 @@ |
; 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 |
+ |
; Loading System Libraries. |
(allow file-read* |
(regex #"^/System/Library/Frameworks($|/)") |
(regex #"^/System/Library/PrivateFrameworks($|/)") |
- (regex #"^/System/Library/CoreServices($|/)")) |
+ (regex #"^/System/Library/CoreServices($|/)")) ; 10.5.6 |
+; Needed for IPC on 10.6 |
(allow ipc-posix-shm) |
; Allow direct access to /dev/urandom, similar to Linux/POSIX, to allow |
; third party code (eg: bits of Adobe Flash and NSS) to function properly. |
(allow file-read-data file-read-metadata (literal "/dev/urandom")) |
+; Component build workaround for a dyld bug, used on OS X <= 10.6. |
; Enables reading file metadata for the Chrome bundle and its parent paths. |
; http://crbug.com/127465 |
-(if (and (param-defined? component-build-workaround) |
- (param-true? component-build-workaround)) |
- (allow file-read-metadata )) |
+@COMPONENT_BUILD_WORKAROUND@ |