diff --git a/admin_phpsettings.php b/admin_phpsettings.php index 5f10145c..4f7f9824 100644 --- a/admin_phpsettings.php +++ b/admin_phpsettings.php @@ -115,6 +115,7 @@ if ($page == 'overview') { $file_extensions = validate($_POST['file_extensions'], 'file_extensions', '/^[a-zA-Z0-9\s]*$/'); $mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', '')); $mod_fcgid_maxrequests = validate($_POST['mod_fcgid_maxrequests'], 'mod_fcgid_maxrequests', '/^[0-9]*$/', '', array('-1', '')); + $mod_fcgid_umask = validate($_POST['mod_fcgid_umask'], 'mod_fcgid_umask', '/^[0-9]*$/'); // disable fpm stuff $fpm_enableslowlog = 0; $fpm_reqtermtimeout = 0; @@ -129,6 +130,7 @@ if ($page == 'overview') { $file_extensions = 'php'; $mod_fcgid_starter = 0; $mod_fcgid_maxrequests = 0; + $mod_fcgid_umask = "022"; } if (strlen($description) == 0 @@ -144,6 +146,7 @@ if ($page == 'overview') { `file_extensions` = :fext, `mod_fcgid_starter` = :starter, `mod_fcgid_maxrequests` = :mreq, + `mod_fcgid_umask` = :umask, `fpm_slowlog` = :fpmslow, `fpm_reqterm` = :fpmreqterm, `fpm_reqslow` = :fpmreqslow, @@ -155,6 +158,7 @@ if ($page == 'overview') { 'fext' => $file_extensions, 'starter' => $mod_fcgid_starter, 'mreq' => $mod_fcgid_maxrequests, + 'umask' => $mod_fcgid_umask, 'fpmslow' => $fpm_enableslowlog, 'fpmreqterm' => $fpm_reqtermtimeout, 'fpmreqslow' => $fpm_reqslowtimeout, @@ -265,6 +269,7 @@ if ($page == 'overview') { $file_extensions = validate($_POST['file_extensions'], 'file_extensions', '/^[a-zA-Z0-9\s]*$/'); $mod_fcgid_starter = validate($_POST['mod_fcgid_starter'], 'mod_fcgid_starter', '/^[0-9]*$/', '', array('-1', '')); $mod_fcgid_maxrequests = validate($_POST['mod_fcgid_maxrequests'], 'mod_fcgid_maxrequests', '/^[0-9]*$/', '', array('-1', '')); + $mod_fcgid_umask = validate($_POST['mod_fcgid_umask'], 'mod_fcgid_umask', '/^[0-9]*$/'); // disable fpm stuff $fpm_enableslowlog = 0; $fpm_reqtermtimeout = 0; @@ -279,6 +284,7 @@ if ($page == 'overview') { $file_extensions = 'php'; $mod_fcgid_starter = 0; $mod_fcgid_maxrequests = 0; + $mod_fcgid_umask = "022"; } if (strlen($description) == 0 @@ -294,6 +300,7 @@ if ($page == 'overview') { `file_extensions` = :fext, `mod_fcgid_starter` = :starter, `mod_fcgid_maxrequests` = :mreq, + `mod_fcgid_umask` = :umask, `fpm_slowlog` = :fpmslow, `fpm_reqterm` = :fpmreqterm, `fpm_reqslow` = :fpmreqslow, @@ -306,6 +313,7 @@ if ($page == 'overview') { 'fext' => $file_extensions, 'starter' => $mod_fcgid_starter, 'mreq' => $mod_fcgid_maxrequests, + 'umask' => $mod_fcgid_umask, 'fpmslow' => $fpm_enableslowlog, 'fpmreqterm' => $fpm_reqtermtimeout, 'fpmreqslow' => $fpm_reqslowtimeout, diff --git a/install/froxlor.sql b/install/froxlor.sql index bbbb2b81..5ea4c9fd 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -539,7 +539,7 @@ INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('panel', 'password_numeric', '0'), ('panel', 'password_special_char_required', '0'), ('panel', 'password_special_char', '!?<>§$%+#=@'), - ('panel', 'version', '0.9.34-dev3'); + ('panel', 'version', '0.9.34-dev4'); DROP TABLE IF EXISTS `panel_tasks`; @@ -713,6 +713,7 @@ CREATE TABLE `panel_phpconfigs` ( `file_extensions` varchar(255) NOT NULL, `mod_fcgid_starter` int(4) NOT NULL DEFAULT '-1', `mod_fcgid_maxrequests` int(4) NOT NULL DEFAULT '-1', + `mod_fcgid_umask` varchar(15) NOT NULL DEFAULT '022', `fpm_slowlog` tinyint(1) NOT NULL default '0', `fpm_reqterm` varchar(15) NOT NULL default '60s', `fpm_reqslow` varchar(15) NOT NULL default '5s', diff --git a/install/updates/froxlor/0.9/update_0.9.inc.php b/install/updates/froxlor/0.9/update_0.9.inc.php index 67ea8d38..a59083ef 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -2984,3 +2984,15 @@ if (isFroxlorVersion('0.9.34-dev2')) { updateToVersion('0.9.34-dev3'); } } + + +if (isFroxlorVersion('0.9.34-dev3')) { + + showUpdateStep("Updating from 0.9.34-dev3 to 0.9.34-dev4", false); + + showUpdateStep("Adding field umask to phpconfig table"); + Database::query("ALTER TABLE `".TABLE_PANEL_PHPCONFIGS."` ADD `mod_fcgid_umask` varchar(15) NOT NULL DEFAULT '022' AFTER `mod_fcgid_maxrequests`"); + lastStepStatus(0); + + updateToVersion('0.9.34-dev4'); +} diff --git a/lib/classes/phpinterface/class.phpinterface_fcgid.php b/lib/classes/phpinterface/class.phpinterface_fcgid.php index b20ebbe5..9f8192ba 100644 --- a/lib/classes/phpinterface/class.phpinterface_fcgid.php +++ b/lib/classes/phpinterface/class.phpinterface_fcgid.php @@ -52,7 +52,7 @@ class phpinterface_fcgid { $starter_file.= "# starter created/changed on " . date("Y.m.d H:i:s") . " for domain '" . $this->_domain['domain'] . "' with id #" . $this->_domain['id'] . " from php template '" . $phpconfig['description'] . "' with id #" . $phpconfig['id'] . "\n"; $starter_file.= "# Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!\n"; $starter_file.= "#\n\n"; - $starter_file.= "umask 022\n"; + $starter_file.= "umask ".$phpconfig['mod_fcgid_umask']."\n"; $starter_file.= "PHPRC=" . escapeshellarg($this->getConfigDir()) . "\n"; $starter_file.= "export PHPRC\n"; diff --git a/lib/version.inc.php b/lib/version.inc.php index a11fa0fc..c40eb019 100644 --- a/lib/version.inc.php +++ b/lib/version.inc.php @@ -16,7 +16,7 @@ */ // Main version variable -$version = '0.9.34-dev3'; +$version = '0.9.34-dev4'; // Database version (unused, old stuff from SysCP) $dbversion = '2'; diff --git a/lng/english.lng.php b/lng/english.lng.php index d0366dae..d2f4bbe8 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -1851,4 +1851,4 @@ $lng['integrity_check']['WebserverGroupMemberForFcgidPhpFpm'] = 'Webserver-user $lng['admin']['specialsettings_replacements'] = "You can use the following variables:
{DOMAIN}, {DOCROOT}, {CUSTOMER}, {IP}, {PORT}, {SCHEME}
"; $lng['serversettings']['default_vhostconf']['description'] = 'The content of this field will be included into this ip/port vHost container directly. '.$lng['admin']['specialsettings_replacements'].' Attention: The code won\'t be checked for any errors. If it contains errors, webserver might not start again!'; $lng['serversettings']['default_vhostconf_domain']['description'] = 'The content of this field will be included into the domain vHost container directly. '.$lng['admin']['specialsettings_replacements'].' Attention: The code won\'t be checked for any errors. If it contains errors, webserver might not start again!'; - +$lng['admin']['mod_fcgid_umask']['title'] = 'Umask (default: 022)'; diff --git a/lng/german.lng.php b/lng/german.lng.php index 47430913..5f236deb 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1578,3 +1578,4 @@ $lng['integrity_check']['WebserverGroupMemberForFcgidPhpFpm'] = 'Webserver-Benut $lng['admin']['specialsettings_replacements'] = "Die folgenden Variablen können verwendet werden:
{DOMAIN}, {DOCROOT}, {CUSTOMER}, {IP}, {PORT}, {SCHEME}
"; $lng['serversettings']['default_vhostconf']['description'] = 'Der Inhalt dieses Feldes wird direkt in den IP/Port-vHost-Container übernommen. '.$lng['admin']['specialsettings_replacements'].'
ACHTUNG: Der Code wird nicht auf Fehler geprüft. Etwaige Fehler werden also auch übernommen. Der Webserver könnte nicht mehr starten!'; $lng['serversettings']['default_vhostconf_domain']['description'] = 'Der Inhalt dieses Feldes wird direkt in jeden Domain-vHost-Container übernommen. '. $lng['admin']['specialsettings_replacements'].'ACHTUNG: Der Code wird nicht auf Fehler geprüft. Etwaige Fehler werden also auch übernommen. Der Webserver könnte nicht mehr starten!'; +$lng['admin']['mod_fcgid_umask']['title'] = 'Umask (Standard: 022)';