diff --git a/checkin_notes b/checkin_notes index 3f20ecbe1f..a09f6d17d2 100644 --- a/checkin_notes +++ b/checkin_notes @@ -8776,3 +8776,12 @@ Charlie 2 Dec 2011 Installer.cpp PostInstall.cpp release_boinc.sh + +Charlie 2 Dec 2011 + - Mac installer: for files in projects and slots directories, if the + executable-by-owner permission is set, ensure that the + executable-by-group bit is also set. + + clientgui/ + mac/ + SetupSecurity.cpp diff --git a/clientgui/mac/SetupSecurity.cpp b/clientgui/mac/SetupSecurity.cpp index f2d2f71c0e..350faaaebd 100644 --- a/clientgui/mac/SetupSecurity.cpp +++ b/clientgui/mac/SetupSecurity.cpp @@ -691,6 +691,12 @@ static OSStatus UpdateNestedDirectories(char * basepath) { retval = UpdateNestedDirectories(fullpath); if (retval) break; + } else { + // Since we are changing ownership from boinc_project to boinc_master, + // make sure executable-by-group bit is set if executable-by-owner is set + if ((sbuf.st_mode & 0110) == 0100) { // If executable by owner but not by group + retval = DoPrivilegedExec(chmodPath, "g+x", fullpath, NULL, NULL, NULL); + } } } // End while (true)