From 42f191ba77aa9293098b3327d6415f02483fcf6b Mon Sep 17 00:00:00 2001 From: tbrehm Date: Thu, 7 Jun 2012 09:09:37 +0000 Subject: [PATCH] Implemented support for UFW firewall (FS#1757 - New IPTables firewall script for IPv4 and IPv6) --- install/lib/installer_base.lib.php | 9 + install/tpl/server.ini.master | 1 + interface/lib/classes/aps_crawler.inc.php | 2 +- .../web/admin/form/server_config.tform.php | 8 + .../web/admin/lib/lang/en_server_config.lng | 1 + .../templates/server_config_server_edit.htm | 6 + server/lib/classes/system.inc.php | 10 + .../plugins-available/firewall_plugin.inc.php | 227 +++++++++++++++--- 8 files changed, 231 insertions(+), 33 deletions(-) diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index b472844d1..9e5c503f9 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -470,6 +470,15 @@ class installer_base { if(!$this->dbmaster->query($query)) { $this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage); } + + $query = "GRANT SELECT, UPDATE ON ".$value['db'].".`aps_instances` TO '".$value['user']."'@'".$host."' "; + if ($verbose){ + echo $query ."\n"; + } + if(!$this->dbmaster->query($query)) { + $this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage); + } + } /* diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index 275fa7ace..ac4d1a069 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -11,6 +11,7 @@ netmask=255.255.255.0 gateway=192.168.0.1 hostname=server1.domain.tld nameservers=192.168.0.1,192.168.0.2 +firewall=bastille loglevel=2 backup_dir=/var/backup backup_mode=rootgz diff --git a/interface/lib/classes/aps_crawler.inc.php b/interface/lib/classes/aps_crawler.inc.php index e4ca565d3..9b5b6aa87 100644 --- a/interface/lib/classes/aps_crawler.inc.php +++ b/interface/lib/classes/aps_crawler.inc.php @@ -61,7 +61,7 @@ class ApsCrawler extends ApsBase // Check if the cURL module is available if(!function_exists('curl_version')) throw new Exception('cURL is not available'); - // Check if used folders are writable (chmod 777) + // Check if used folders are writable if($this->interface_mode) { if(!is_writable($this->interface_pkg_dir)) diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 24f3f18c6..6af44981c 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -97,6 +97,14 @@ $form["tabs"]['server'] = array( 'width' => '15', 'maxlength' => '255' ), + 'firewall' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'SELECT', + 'default' => 'bastille', + 'value' => array('bastille' => 'bastille', 'ufw' => 'ufw'), + 'width' => '40', + 'maxlength' => '255' + ), 'hostname' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index ac7546f8c..0d237bf0f 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -162,4 +162,5 @@ $wb["permissions_txt"] = 'Permissions'; $wb["php_settings_txt"] = 'PHP Settings'; $wb["apps_vhost_settings_txt"] = 'Apps Vhost Settings'; $wb["awstats_settings_txt"] = 'AWStats Settings'; +$wb["firewall_txt"] = 'Firewall'; ?> \ No newline at end of file diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm index 7b777bf41..2d80bca39 100644 --- a/interface/web/admin/templates/server_config_server_edit.htm +++ b/interface/web/admin/templates/server_config_server_edit.htm @@ -33,6 +33,12 @@

{tmpl_var name='nameservers_hint_txt'}

+ + +
+