Skip to content

Commit 66220fe

Browse files
author
Till Brehm
committed
Merge branch 'ispconfig-3-3-p2' into 'develop'
Fixes for ISPConfig 3.3 Patch 2 Closes #6869, #6884, #6885, #6889, #6890, and #6881 See merge request ispconfig/ispconfig3!2025
2 parents d464fbd + e9a0556 commit 66220fe

File tree

76 files changed

+197
-61
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+197
-61
lines changed

install/dist/lib/fedora.lib.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1104,6 +1104,7 @@ public function install_ispconfig()
11041104
if(!is_dir($conf['ispconfig_log_dir'])) mkdir($conf['ispconfig_log_dir']);
11051105
if(!is_file($conf['ispconfig_log_dir'].'/ispconfig.log')) exec('touch '.$conf['ispconfig_log_dir'].'/ispconfig.log');
11061106
chmod($conf['ispconfig_log_dir'].'/ispconfig.log', 0600);
1107+
exec('chmod o-rw /var/log/ispconfig/*.gz /var/log/ispconfig/*.log');
11071108

11081109
if(is_user('getmail')) {
11091110
exec('mv /usr/local/ispconfig/server/scripts/run-getmail.sh /usr/local/bin/run-getmail.sh');

install/dist/lib/opensuse.lib.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,6 +1329,7 @@ public function install_ispconfig()
13291329
if(!is_dir($conf['ispconfig_log_dir'])) mkdir($conf['ispconfig_log_dir']);
13301330
if(!is_file($conf['ispconfig_log_dir'].'/ispconfig.log')) exec('touch '.$conf['ispconfig_log_dir'].'/ispconfig.log');
13311331
chmod($conf['ispconfig_log_dir'].'/ispconfig.log', 0600);
1332+
exec('chmod o-rw /var/log/ispconfig/*.gz /var/log/ispconfig/*.log');
13321333

13331334
if(is_user('getmail')) {
13341335
exec('mv /usr/local/ispconfig/server/scripts/run-getmail.sh /usr/local/bin/run-getmail.sh');

install/lib/installer_base.lib.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3909,6 +3909,7 @@ public function install_ispconfig() {
39093909
touch($conf['ispconfig_log_dir'].'/ispconfig.log');
39103910
}
39113911
chmod($conf['ispconfig_log_dir'].'/ispconfig.log', 0600);
3912+
exec('chmod o-rw /var/log/ispconfig/*.gz /var/log/ispconfig/*.log');
39123913

39133914
//* Create the ispconfig auth log file and set uid/gid
39143915
if(!is_file($conf['ispconfig_log_dir'].'/auth.log')) {

interface/lib/classes/remoting_lib.inc.php

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,16 @@ function ispconfig_sysuser_add($params, $insert_id){
297297
$modules = $conf['interface_modules_enabled'];
298298
} else {
299299
$modules = $params['modules'];
300+
301+
// Check if modules are allowed and remove unknown modules
302+
$allowed_modules = explode(',', $conf['interface_modules_enabled']);
303+
$modules_array = explode(',', $modules);
304+
foreach($modules_array as $key => $module) {
305+
if(!in_array($module, $allowed_modules)) {
306+
unset($modules_array[$key]);
307+
}
308+
}
309+
$modules = implode(',', $modules_array);
300310
}
301311
if(isset($params['limit_client']) && $params['limit_client'] > 0) {
302312
$modules .= ',client';
@@ -306,7 +316,7 @@ function ispconfig_sysuser_add($params, $insert_id){
306316
$startmodule = 'dashboard';
307317
} else {
308318
$startmodule = $params["startmodule"];
309-
if(!preg_match('/'.$startmodule.'/', $modules)) {
319+
if(!in_array($startmodule, explode(',', $modules))) {
310320
$_modules = explode(',', $modules);
311321
$startmodule=$_modules[0];
312322
}
@@ -325,13 +335,23 @@ function ispconfig_sysuser_add($params, $insert_id){
325335
}
326336

327337
function ispconfig_sysuser_update($params, $client_id){
328-
global $app;
338+
global $app, $conf;
329339
$username = $params["username"];
330340
$clear_password = $params["password"];
331341
$language = $params['language'];
332342
$modules = $params['modules'];
333343
$client_id = $app->functions->intval($client_id);
334344

345+
// Check if modules are allowed and remove unknown modules
346+
$allowed_modules = explode(',', $conf['interface_modules_enabled']);
347+
$modules_array = explode(',', $modules);
348+
foreach($modules_array as $key => $module) {
349+
if(!in_array($module, $allowed_modules)) {
350+
unset($modules_array[$key]);
351+
}
352+
}
353+
$modules = implode(',', $modules_array);
354+
335355
if(!isset($params['_ispconfig_pw_crypted']) || $params['_ispconfig_pw_crypted'] != 1) $password = $app->auth->crypt_password(stripslashes($clear_password));
336356
else $password = $clear_password;
337357
$params = array($username);

interface/web/admin/directive_snippets_del.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444

4545
//* Check permissions for module
4646
$app->auth->check_module_permissions('admin');
47+
if(!$app->auth->is_admin()) die('Allowed for administrators only.');
4748

4849
$app->load("tform_actions");
4950

interface/web/admin/directive_snippets_edit.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343

4444
//* Check permissions for module
4545
$app->auth->check_module_permissions('admin');
46+
if(!$app->auth->is_admin()) die('Allowed for administrators only.');
4647

4748
// Loading classes
4849
$app->uses('tpl,tform,tform_actions');

interface/web/admin/directive_snippets_list.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343

4444
//* Check permissions for module
4545
$app->auth->check_module_permissions('admin');
46+
if(!$app->auth->is_admin()) die('Allowed for administrators only.');
4647

4748
$app->uses('listform_actions');
4849

interface/web/admin/extension_edit.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333

3434
//* Check permissions for module
3535
$app->auth->check_module_permissions('admin');
36+
if(!$app->auth->is_admin()) die('Allowed for administrators only.');
3637

3738
//* load language file
3839
$lng_file = 'lib/lang/'.$app->functions->check_language($_SESSION['s']['language']).'_extension_install_list.lng';

interface/web/admin/extension_install_list.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
$app->auth->check_module_permissions('admin');
3636

3737
//* This is only allowed for administrators
38-
if(!$app->auth->is_admin()) die('only allowed for administrators.');
38+
if(!$app->auth->is_admin()) die('Allowed for administrators only.');
3939

4040
$app->uses('tpl,extension_installer');
4141

interface/web/admin/extension_repo_list.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
$app->auth->check_module_permissions('admin');
3636

3737
//* This is only allowed for administrators
38-
if(!$app->auth->is_admin()) die('only allowed for administrators.');
38+
if(!$app->auth->is_admin()) die('Allowed for administrators only.');
3939

4040
$app->uses('tpl,extension_installer');
4141

0 commit comments

Comments
 (0)