From e28564dbde4f922a6a8263e3dea32d56b60b5b5b Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 16 Jun 2010 11:41:46 -0400
Subject: [PATCH] Implemented: FS#468 - Client name conversion in FTP user too restricted

---
 server/plugins-available/firewall_plugin.inc.php |   37 ++++++++++++++++++++++++++++---------
 1 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/server/plugins-available/firewall_plugin.inc.php b/server/plugins-available/firewall_plugin.inc.php
index 8525bf3..9039946 100644
--- a/server/plugins-available/firewall_plugin.inc.php
+++ b/server/plugins-available/firewall_plugin.inc.php
@@ -1,7 +1,7 @@
 <?php
 
 /*
-Copyright (c) 2008, Till Brehm, projektfarm Gmbh
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without modification,
@@ -32,6 +32,15 @@
 	
 	var $plugin_name = 'firewall_plugin';
 	var $class_name  = 'firewall_plugin';
+	
+	//* This function is called during ispconfig installation to determine
+	//  if a symlink shall be created for this plugin.
+	function onInstall() {
+		global $conf;
+		
+		return true;
+		
+	}
 	
 		
 	/*
@@ -70,8 +79,13 @@
 		$ports = explode(',',$data["new"]["tcp_port"]);
 		if(is_array($ports)) {
 			foreach($ports as $p) {
-				$p_int = intval($p);
-				if($p_int > 0) $tcp_ports .= $p_int . ' ';
+				if(strstr($p,':')) {
+					$p_parts = explode(':',$p);
+					$p_clean = intval($p_parts[0]).':'.intval($p_parts[1]);
+				} else {
+					$p_clean = intval($p);
+				}
+				$tcp_ports .= $p_clean . ' ';
 			}
 		}
 		$tcp_ports = trim($tcp_ports);
@@ -79,13 +93,18 @@
 		$ports = explode(',',$data["new"]["udp_port"]);
 		if(is_array($ports)) {
 			foreach($ports as $p) {
-				$p_int = intval($p);
-				if($p_int > 0) $udp_ports .= $p_int . ' ';
+				if(strstr($p,':')) {
+					$p_parts = explode(':',$p);
+					$p_clean = intval($p_parts[0]).':'.intval($p_parts[1]);
+				} else {
+					$p_clean = intval($p);
+				}
+				$udp_ports .= $p_clean . ' ';
 			}
 		}
 		$udp_ports = trim($udp_ports);
 		
-		
+		$app->load('tpl');
 		$tpl = new tpl();
 		$tpl->newTemplate("bastille-firewall.cfg.master");
 		
@@ -96,13 +115,13 @@
 		$app->log('Writing firewall configuration /etc/Bastille/bastille-firewall.cfg',LOGLEVEL_DEBUG);
 		unset($tpl);
 		
-		if($data["new"]["active"] == 'y')) {
+		if($data["new"]["active"] == 'y') {
 			exec('/etc/init.d/bastille-firewall restart');
 			if(@is_file('/etc/debian_version')) exec('update-rc.d bastille-firewall defaults');
 			$app->log('Restarting the firewall',LOGLEVEL_DEBUG);
 		} else {
 			exec('/etc/init.d/bastille-firewall stop');
-			if(@is_file('/etc/debian_version')) exec('update-rc.d bastille-firewall remove');
+			if(@is_file('/etc/debian_version')) exec('update-rc.d -f bastille-firewall remove');
 			$app->log('Stopping the firewall',LOGLEVEL_DEBUG);
 		}
 		
@@ -113,7 +132,7 @@
 		global $app, $conf;
 		
 		exec('/etc/init.d/bastille-firewall stop');
-		if(@is_file('/etc/debian_version')) exec('update-rc.d bastille-firewall remove');
+		if(@is_file('/etc/debian_version')) exec('update-rc.d -f bastille-firewall remove');
 		$app->log('Stopping the firewall',LOGLEVEL_DEBUG);
 		
 	}

--
Gitblit v1.9.1