mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-10 08:52:39 +01:00
Reset umask to 022 for all Phabricator processes
Summary: Fixes T7475. If you do something like: $ umask 123 $ ./bin/phd start ...the daemons might inherit the weird umask, do a `git fetch` with the weird umask, and end up creating files with weird permissions in repositories. Instead, just normalize the umask to 022 in all cases. This is overwhelmingly the most common setting, and the one we assume things are configured with. (When we want to force permissions to a certain setting, we do so explicitly.) Test Plan: - Added `var_dump(umask())` to observe umask. - Ran `bin/phd`, saw proper umask (`18`, which is decimal of `022` octal). - Set `umask 123`, then ran `bin/phd`, saw it correct properly again. Reviewers: chad Reviewed By: chad Maniphest Tasks: T7475 Differential Revision: https://secure.phabricator.com/D15721
This commit is contained in:
parent
f05c3e41b9
commit
20bad9a4ba
1 changed files with 14 additions and 0 deletions
14
src/infrastructure/env/PhabricatorEnv.php
vendored
14
src/infrastructure/env/PhabricatorEnv.php
vendored
|
@ -91,6 +91,7 @@ final class PhabricatorEnv extends Phobject {
|
|||
private static function initializeCommonEnvironment() {
|
||||
PhutilErrorHandler::initialize();
|
||||
|
||||
self::resetUmask();
|
||||
self::buildConfigurationSourceStack();
|
||||
|
||||
// Force a valid timezone. If both PHP and Phabricator configuration are
|
||||
|
@ -863,4 +864,17 @@ final class PhabricatorEnv extends Phobject {
|
|||
self::$cache = array();
|
||||
}
|
||||
|
||||
private static function resetUmask() {
|
||||
// Reset the umask to the common standard umask. The umask controls default
|
||||
// permissions when files are created and propagates to subprocesses.
|
||||
|
||||
// "022" is the most common umask, but sometimes it is set to something
|
||||
// unusual by the calling environment.
|
||||
|
||||
// Since various things rely on this umask to work properly and we are
|
||||
// not aware of any legitimate reasons to adjust it, unconditionally
|
||||
// normalize it until such reasons arise. See T7475 for discussion.
|
||||
umask(022);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue