summaryrefslogtreecommitdiffstats
path: root/chrome/installer/gcapi_mac
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/installer/gcapi_mac')
-rw-r--r--chrome/installer/gcapi_mac/gcapi.mm10
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.