diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-24 19:26:26 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-24 19:26:26 +0000 |
commit | 89d4dc272b08346d1a08f2a633cfea0469ba5e30 (patch) | |
tree | 4609df8e5627ad2adcb14998b57688979c7063f7 /chrome/installer/gcapi_mac | |
parent | c27541f38b1c115e18869eeffd15a10498966dd0 (diff) | |
download | chromium_src-89d4dc272b08346d1a08f2a633cfea0469ba5e30.zip chromium_src-89d4dc272b08346d1a08f2a633cfea0469ba5e30.tar.gz chromium_src-89d4dc272b08346d1a08f2a633cfea0469ba5e30.tar.bz2 |
mac gcapi: Make keystone registration work with existing system keystone and user chrome.
BUG=138849
TEST=gcapi_example on a system with system keystone, but runnin gcapi_example as user.
Review URL: https://chromiumcodereview.appspot.com/10446020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138858 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/gcapi_mac')
-rw-r--r-- | chrome/installer/gcapi_mac/gcapi.mm | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/chrome/installer/gcapi_mac/gcapi.mm b/chrome/installer/gcapi_mac/gcapi.mm index ff246ca..bb56289 100644 --- a/chrome/installer/gcapi_mac/gcapi.mm +++ b/chrome/installer/gcapi_mac/gcapi.mm @@ -211,8 +211,14 @@ NSString* PathToKeystoneResources( } NSString* FindOrInstallKeystone(NSString* app_path, NSDictionary* info_plist) { - NSString* ks_path = geteuid() == 0 ? - kSystemKsadminPath : [kUserKsadminPath stringByExpandingTildeInPath]; + NSString* ks_path = kSystemKsadminPath; + + // Use user Keystone only if system Keystone doesn't exist / + // isn't accessible. + if (geteuid() != 0 && + ![[NSFileManager defaultManager] isExecutableFileAtPath:ks_path]) { + ks_path = [kUserKsadminPath stringByExpandingTildeInPath]; + } // Always run install.py. It won't overwrite an existing keystone, but // it might update it or repair a broken existing installation. |