Changeset 77610 in webkit


Ignore:
Timestamp:
Feb 3, 2011 11:00:58 PM (13 years ago)
Author:
ike@apple.com
Message:

2011-02-03 Ivan Krstić <ike@apple.com>

Reviewed by Maciej Stachowiak.

Make WebProcess pass explicit homedir parameter to the sandbox
<rdar://problem/8405760>
<https://webkit.org/b/53558>

  • WebProcess/com.apple.WebProcess.sb:
  • WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox):
Location:
trunk/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r77607 r77610  
     12011-02-03  Ivan Krstić  <ike@apple.com>
     2
     3        Reviewed by Maciej Stachowiak.
     4
     5        Make WebProcess pass explicit homedir parameter to the sandbox
     6        <rdar://problem/8405760>
     7        <https://webkit.org/b/53558>
     8
     9        * WebProcess/com.apple.WebProcess.sb:
     10        * WebProcess/mac/WebProcessMac.mm:
     11        (WebKit::initializeSandbox):
     12
    1132011-02-03  James Kozianski  <koz@chromium.org>
    214
  • trunk/Source/WebKit2/WebProcess/com.apple.WebProcess.sb

    r77409 r77610  
    1616   ;; Plugins
    1717   (subpath "/Library/Internet Plug-Ins")
    18    (subpath (string-append (param "_HOME") "/Library/Internet Plug-Ins"))
     18   (subpath (string-append (param "HOME_DIR") "/Library/Internet Plug-Ins"))
    1919
    2020   ;; System and user preferences
    2121   (literal "/Library/Preferences/.GlobalPreferences.plist")
    2222   (literal "/Library/Preferences/com.apple.security.plist")
    23    (literal (string-append (param "_HOME") "/Library/Preferences/.GlobalPreferences.plist"))
    24    (regex (string-append "^" (param "_HOME") "/Library/Preferences/ByHost/\.GlobalPreferences\."))
    25    (literal (string-append (param "_HOME") "/Library/Preferences/com.apple.ATS.plist"))
    26    (literal (string-append (param "_HOME") "/Library/Preferences/com.apple.HIToolbox.plist"))
    27    (literal (string-append (param "_HOME") "/Library/Preferences/com.apple.LaunchServices.plist"))
    28    (literal (string-append (param "_HOME") "/Library/Preferences/com.apple.WebFoundation.plist"))
    29    (literal (string-append (param "_HOME") "/Library/Preferences/com.apple.security.plist"))
    30    (literal (string-append (param "_HOME") "/Library/Preferences/com.apple.security.revocation.plist"))
    31    (subpath (string-append (param "_HOME") "/Library/Keychains"))
     23   (literal (string-append (param "HOME_DIR") "/Library/Preferences/.GlobalPreferences.plist"))
     24   (regex (string-append "^" (param "HOME_DIR") "/Library/Preferences/ByHost/\.GlobalPreferences\."))
     25   (literal (string-append (param "HOME_DIR") "/Library/Preferences/com.apple.ATS.plist"))
     26   (literal (string-append (param "HOME_DIR") "/Library/Preferences/com.apple.HIToolbox.plist"))
     27   (literal (string-append (param "HOME_DIR") "/Library/Preferences/com.apple.LaunchServices.plist"))
     28   (literal (string-append (param "HOME_DIR") "/Library/Preferences/com.apple.WebFoundation.plist"))
     29   (literal (string-append (param "HOME_DIR") "/Library/Preferences/com.apple.security.plist"))
     30   (literal (string-append (param "HOME_DIR") "/Library/Preferences/com.apple.security.revocation.plist"))
     31   (subpath (string-append (param "HOME_DIR") "/Library/Keychains"))
    3232
    3333   ;; On-disk WebKit2 framework location, to account for debug installations
     
    4646;; Writable preferences and temporary files
    4747(allow file*
    48    (subpath (string-append (param "_HOME") "/Library/Caches/com.apple.WebProcess"))
    49    (regex (string-append "^" (param "_HOME") "/Library/Preferences/ByHost/com\.apple\.HIToolbox\."))
    50    (regex (string-append "^" (param "_HOME") "/Library/Preferences/com\.apple\.WebProcess\."))
     48   (subpath (string-append (param "HOME_DIR") "/Library/Caches/com.apple.WebProcess"))
     49   (regex (string-append "^" (param "HOME_DIR") "/Library/Preferences/ByHost/com\.apple\.HIToolbox\."))
     50   (regex (string-append "^" (param "HOME_DIR") "/Library/Preferences/com\.apple\.WebProcess\."))
    5151)
    5252
     
    112112;; FIXME: These rules are required until plug-ins are moved out of the web process.
    113113(allow file-read*
    114    (regex (string-append "^" (param "_HOME") "/Library/Preferences/ByHost/com\.apple\.ist\."))
    115    (literal (string-append (param "_HOME") "/Library/Preferences/edu.mit.Kerberos"))
     114   (regex (string-append "^" (param "HOME_DIR") "/Library/Preferences/ByHost/com\.apple\.ist\."))
     115   (literal (string-append (param "HOME_DIR") "/Library/Preferences/edu.mit.Kerberos"))
    116116   (literal "/Library/Preferences/edu.mit.Kerberos")
    117117)
  • trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm

    r76991 r77610  
    122122    char tmpPath[PATH_MAX];
    123123    char tmpRealPath[PATH_MAX];
     124    char homeRealPath[PATH_MAX];
    124125    char cachePath[PATH_MAX];
    125126    char cacheRealPath[PATH_MAX];
    126127    const char* frameworkPath = [[[[NSBundle bundleForClass:NSClassFromString(@"WKView")] bundlePath] stringByDeletingLastPathComponent] UTF8String];
    127128    const char* profilePath = [[[NSBundle mainBundle] pathForResource:@"com.apple.WebProcess" ofType:@"sb"] UTF8String];
     129
     130    if (!realpath([NSHomeDirectory() UTF8String], homeRealPath)) {
     131        fprintf(stderr, "WebProcess: couldn't determine home directory when initializing sandbox");
     132        exit(EX_CONFIG);
     133    }
    128134
    129135    if (confstr(_CS_DARWIN_USER_TEMP_DIR, tmpPath, PATH_MAX) <= 0 || !realpath(tmpPath, tmpRealPath))
     
    134140
    135141    const char* const sandboxParam[] = {
     142        "HOME_DIR", (const char*)homeRealPath,
    136143        "WEBKIT2_FRAMEWORK_DIR", frameworkPath,
    137144        "DARWIN_USER_TEMP_DIR", (const char*)tmpRealPath,
Note: See TracChangeset for help on using the changeset viewer.