diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index d0aab930882c2bd9ac60fee2637e1a7e533a2180..482a8444bfddf68c6797b608bdf680a5ebd8b83e 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -1136,7 +1136,7 @@ class installer_base { //* If there are RBL's defined, format the list and add them to smtp_recipient_restrictions to prevent removal after an update $rbl_list = ''; - if (@isset($server_ini_array['mail']['realtime_blackhole_list']) && $server_ini_array['mail']['realtime_blackhole_list'] != '') { + if(@isset($server_ini_array['mail']['realtime_blackhole_list']) && $server_ini_array['mail']['realtime_blackhole_list'] != '') { $rbl_hosts = explode(",", str_replace(" ", "", $server_ini_array['mail']['realtime_blackhole_list'])); foreach ($rbl_hosts as $key => $value) { $rbl_list .= ", reject_rbl_client ". $value; @@ -1146,13 +1146,13 @@ class installer_base { //* If Postgrey is installed, configure it $greylisting = ''; - if($conf['postgrey']['installed'] == true) { + if(isset($conf['postgrey']['installed']) && ($conf['postgrey']['installed'] == true)) { $greylisting = ', check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf'; } $reject_sender_login_mismatch = ''; $reject_authenticated_sender_login_mismatch = ''; - if (isset($server_ini_array['mail']['reject_sender_login_mismatch']) && ($server_ini_array['mail']['reject_sender_login_mismatch'] == 'y')) { + if(isset($server_ini_array['mail']['reject_sender_login_mismatch']) && ($server_ini_array['mail']['reject_sender_login_mismatch'] == 'y')) { $reject_sender_login_mismatch = ',reject_sender_login_mismatch,'; $reject_authenticated_sender_login_mismatch = 'reject_authenticated_sender_login_mismatch, '; } @@ -1162,11 +1162,11 @@ class installer_base { $stress_adaptive = (isset($server_ini_array['mail']['stress_adaptive']) && ($server_ini_array['mail']['stress_adaptive'] == 'y')) ? '' : $stress_adaptive_placeholder; $reject_unknown_client_hostname=''; - if (isset($server_ini_array['mail']['reject_unknown']) && ($server_ini_array['mail']['reject_unknown'] == 'client' || $server_ini_array['mail']['reject_unknown'] == 'client_helo')) { + if(isset($server_ini_array['mail']['reject_unknown']) && ($server_ini_array['mail']['reject_unknown'] == 'client' || $server_ini_array['mail']['reject_unknown'] == 'client_helo')) { $reject_unknown_client_hostname=',reject_unknown_client_hostname'; } $reject_unknown_helo_hostname=''; - if ((!isset($server_ini_array['mail']['reject_unknown'])) || $server_ini_array['mail']['reject_unknown'] == 'helo' || $server_ini_array['mail']['reject_unknown'] == 'client_helo') { + if((!isset($server_ini_array['mail']['reject_unknown'])) || $server_ini_array['mail']['reject_unknown'] == 'helo' || $server_ini_array['mail']['reject_unknown'] == 'client_helo') { $reject_unknown_helo_hostname=',reject_unknown_helo_hostname'; } diff --git a/install/update.php b/install/update.php index d0b63d8605fbdb97bf815753ae9af6c4a6e36bba..6047b7b9302f9841b181c6b7b5c2ec5f71153866 100644 --- a/install/update.php +++ b/install/update.php @@ -366,15 +366,47 @@ $inst->find_installed_apps(); //** Check for current service config state and compare to our results if ($conf['mysql']['master_slave_setup'] == 'y') $current_svc_config = $inst->dbmaster->queryOneRecord("SELECT mail_server,web_server,dns_server,xmpp_server,firewall_server,vserver_server,db_server FROM ?? WHERE server_id=?", $conf['mysql']['master_database'] . '.server', $conf['server_id']); else $current_svc_config = $inst->db->queryOneRecord("SELECT mail_server,web_server,dns_server,xmpp_server,firewall_server,vserver_server,db_server FROM ?? WHERE server_id=?", $conf["mysql"]["database"] . '.server', $conf['server_id']); -$conf['services']['mail'] = check_service_config_state('mail_server', $conf['postfix']['installed']); -$conf['services']['dns'] = check_service_config_state('dns_server', ($conf['powerdns']['installed'] || $conf['bind']['installed'] || $conf['mydns']['installed'])); -$conf['services']['web'] = check_service_config_state('web_server', ($conf['apache']['installed'] || $conf['nginx']['installed'])); -$conf['services']['xmpp'] = check_service_config_state('xmpp_server', $conf['xmpp']['installed']); -$conf['services']['firewall'] = check_service_config_state('firewall_server', ($conf['ufw']['installed'] || $conf['firewall']['installed'])); -$conf['services']['vserver'] = check_service_config_state('vserver_server', $conf['services']['vserver']); + +if(isset($conf['postfix']['installed']) && $conf['postfix']['installed'] == true) { + $conf['services']['mail'] = check_service_config_state('mail_server', true); +} else { + $conf['services']['mail'] = check_service_config_state('mail_server', false); +} + +if(isset($conf['powerdns']['installed']) && $conf['powerdns']['installed'] == true || isset($conf['bind']['installed']) && $conf['bind']['installed'] == true || isset($conf['mydns']['installed']) && $conf['mydns']['installed'] == true) { + $conf['services']['dns'] = check_service_config_state('dns_server', true); +} else { + $conf['services']['dns'] = check_service_config_state('dns_server', false); +} + +if(isset($conf['apache']['installed']) && $conf['apache']['installed'] == true || isset($conf['nginx']['installed']) && $conf['nginx']['installed'] == true) { + $conf['services']['web'] = check_service_config_state('web_server', true); +} else { + $conf['services']['web'] = check_service_config_state('web_server', false); +} + +if(isset($conf['xmpp']['installed']) && $conf['xmpp']['installed'] == true) { + $conf['services']['xmpp'] = check_service_config_state('xmpp_server', true); +} else { + $conf['services']['xmpp'] = check_service_config_state('xmpp_server', false); +} + +if(isset($conf['ufw']['installed']) && $conf['ufw']['installed'] == true || isset($conf['firewall']['installed']) && $conf['firewall']['installed'] == true) { + $conf['services']['firewall'] = check_service_config_state('firewall_server', true); +} else { + $conf['services']['firewall'] = check_service_config_state('firewall_server', false); +} + +if(isset($conf['vserver']['installed']) && $conf['vserver']['installed'] == true) { + $conf['services']['vserver'] = check_service_config_state('vserver_server', true); +} else { + $conf['services']['vserver'] = check_service_config_state('vserver_server', false); +} + $conf['services']['db'] = check_service_config_state('db_server', true); /* Will always offer as MySQL is of course installed on this host as it's a requirement for ISPC to work... */ unset($current_svc_config); + //** Write new decisions into DB $sql = "UPDATE ?? SET mail_server = '{$conf['services']['mail']}', web_server = '{$conf['services']['web']}', dns_server = '{$conf['services']['dns']}', file_server = '{$conf['services']['file']}', db_server = '{$conf['services']['db']}', vserver_server = '{$conf['services']['vserver']}', proxy_server = '{$conf['services']['proxy']}', firewall_server = '{$conf['services']['firewall']}', xmpp_server = '{$conf['services']['xmpp']}' WHERE server_id = ?"; $inst->db->query($sql, $conf['mysql']['database'].'.server', $conf['server_id']); diff --git a/server/plugins-available/firewall_plugin.inc.php b/server/plugins-available/firewall_plugin.inc.php index b924f43a2620a35813aebee9a3bb5a082f99daab..c81cfd6d0364e5f5871b62c143f84bacf707c9c0 100644 --- a/server/plugins-available/firewall_plugin.inc.php +++ b/server/plugins-available/firewall_plugin.inc.php @@ -38,7 +38,7 @@ class firewall_plugin { public function onInstall() { global $conf; - if(($conf['bastille']['installed'] == true || $conf['ufw']['installed'] == true || $conf['firewall']['installed'] == true) && $conf['services']['firewall'] == true) { + if((isset($conf['bastille']['installed']) && $conf['bastille']['installed'] == true) || (isset($conf['ufw']['installed']) && $conf['ufw']['installed'] == true) || (isset($conf['firewall']['installed']) && $conf['firewall']['installed'] == true) || (isset($conf['services']['firewall']) && $conf['services']['firewall'] == true)) { return true; } else { return false;