From b0ebbdedaa0805599b97a9d3bbc96c0a5cf2bbac Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sun, 21 Mar 2010 06:04:32 -0400
Subject: [PATCH] Fixed: FS#1124 - Traffic quota on some systems not working
---
server/plugins-available/firewall_plugin.inc.php | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/server/plugins-available/firewall_plugin.inc.php b/server/plugins-available/firewall_plugin.inc.php
index f3d81f1..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,8 +93,13 @@
$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);
@@ -102,7 +121,7 @@
$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