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)';