Set the default umask automatically upon install

This commit is contained in:
Kijin Sung 2016-07-03 21:48:09 +09:00
parent f0e6b818af
commit 63b6ac9e37
4 changed files with 12 additions and 7 deletions

View file

@ -5,6 +5,7 @@ namespace Rhymix\Framework\Parsers;
use Rhymix\Framework\Config; use Rhymix\Framework\Config;
use Rhymix\Framework\DateTime; use Rhymix\Framework\DateTime;
use Rhymix\Framework\Security; use Rhymix\Framework\Security;
use Rhymix\Framework\Storage;
/** /**
* Config parser class for XE compatibility. * Config parser class for XE compatibility.
@ -242,6 +243,7 @@ class ConfigParser
} }
// Convert miscellaneous configuration. // Convert miscellaneous configuration.
$config['file']['umask'] = Storage::recommendUmask();
$config['mobile']['enabled'] = $db_info->use_mobile_view === 'N' ? false : true; $config['mobile']['enabled'] = $db_info->use_mobile_view === 'N' ? false : true;
$config['use_prepared_statements'] = $db_info->use_prepared_statements === 'Y' ? true : false; $config['use_prepared_statements'] = $db_info->use_prepared_statements === 'Y' ? true : false;
$config['use_rewrite'] = $db_info->use_rewrite === 'Y' ? true : false; $config['use_rewrite'] = $db_info->use_rewrite === 'Y' ? true : false;

View file

@ -738,7 +738,7 @@ class Storage
// On Windows, set the umask to 0000. // On Windows, set the umask to 0000.
if (strncasecmp(\PHP_OS, 'Win', 3) === 0) if (strncasecmp(\PHP_OS, 'Win', 3) === 0)
{ {
return 0000; return '0000';
} }
// Get the UID of the owner of the current file. // Get the UID of the owner of the current file.
@ -770,13 +770,13 @@ class Storage
// If both UIDs are the same, set the umask to 0022. // If both UIDs are the same, set the umask to 0022.
if ($file_uid == $php_uid) if ($file_uid == $php_uid)
{ {
return 0022; return '0022';
} }
// Otherwise, set the umask to 0000. // Otherwise, set the umask to 0000.
else else
{ {
return 0000; return '0000';
} }
} }
} }

View file

@ -195,6 +195,9 @@ class installController extends install
// Set the default URL. // Set the default URL.
$config['url']['default'] = Context::getRequestUri(); $config['url']['default'] = Context::getRequestUri();
// Set the default umask.
$config['file']['umask'] = Rhymix\Framework\Storage::recommendUmask();
// Load the new configuration. // Load the new configuration.
Rhymix\Framework\Config::setAll($config); Rhymix\Framework\Config::setAll($config);
Context::loadDBInfo($config); Context::loadDBInfo($config);
@ -240,7 +243,7 @@ class installController extends install
} }
// Apply site lock. // Apply site lock.
if (Context::get('use_sitelock') === 'Y') if (Context::get('use_sitelock') === 'Y')
{ {
$user_ip_range = getView('install')->detectUserIPRange(); $user_ip_range = getView('install')->detectUserIPRange();

View file

@ -333,16 +333,16 @@ class StorageTest extends \Codeception\TestCase\Test
{ {
if (get_current_user() === exec('whoami')) if (get_current_user() === exec('whoami'))
{ {
$this->assertEquals(0022, $umask); $this->assertEquals('0022', $umask);
} }
else else
{ {
$this->assertEquals(0, $umask); $this->assertEquals('0000', $umask);
} }
} }
else else
{ {
$this->assertEquals(0, $umask); $this->assertEquals('0000', $umask);
} }
$this->assertFalse(file_exists(\RX_BASEDIR . 'files/cache/uidcheck')); $this->assertFalse(file_exists(\RX_BASEDIR . 'files/cache/uidcheck'));