aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/blinkled/binaries/blinkledbin9311 -> 0 bytes
-rw-r--r--config/blinkled/blinkled.inc75
-rw-r--r--config/blinkled/blinkled.xml105
-rw-r--r--config/blinkled8/blinkled.inc78
-rw-r--r--config/blinkled8/blinkled.xml52
-rw-r--r--config/filer/filer.inc12
-rw-r--r--config/filer/filer.xml12
-rw-r--r--config/iperf/iperf.xml126
-rw-r--r--config/iperf/iperfserver.xml111
-rw-r--r--config/lcdproc/lcdproc.inc2
-rw-r--r--config/notes/notes.inc42
-rw-r--r--config/notes/notes.xml78
-rw-r--r--config/nrpe2/nrpe2.inc82
-rw-r--r--config/nrpe2/nrpe2.xml56
-rw-r--r--config/nut/nut.inc2
-rw-r--r--config/pfflowd/pfflowd.xml68
-rw-r--r--config/servicewatchdog/services_servicewatchdog.php175
-rw-r--r--config/servicewatchdog/services_servicewatchdog_add.php4
-rw-r--r--config/servicewatchdog/servicewatchdog.inc25
-rw-r--r--config/servicewatchdog/servicewatchdog.xml2
-rw-r--r--config/servicewatchdog/servicewatchdog_cron.php3
-rw-r--r--config/systempatches/patches.inc23
-rw-r--r--config/systempatches/system_patches.php247
-rw-r--r--config/systempatches/system_patches_edit.php28
-rw-r--r--config/systempatches/systempatches.xml15
-rw-r--r--config/vnstat2/vnstat2.inc100
-rw-r--r--config/vnstat2/vnstat2.xml83
-rw-r--r--config/vnstat2/vnstati.xml50
-rw-r--r--config/vnstat2/vnstatoutput.xml50
-rw-r--r--config/vnstat2/www/diag_vnstat.php55
-rw-r--r--config/vnstat2/www/diag_vnstat2.php53
-rw-r--r--config/vnstat2/www/vnstat2_img.php28
-rw-r--r--config/vnstat2/www/vnstati.php41
-rw-r--r--config/widentd/widentd.xml189
34 files changed, 1146 insertions, 926 deletions
diff --git a/config/blinkled/binaries/blinkled b/config/blinkled/binaries/blinkled
deleted file mode 100644
index 2a8681a5..00000000
--- a/config/blinkled/binaries/blinkled
+++ /dev/null
Binary files differ
diff --git a/config/blinkled/blinkled.inc b/config/blinkled/blinkled.inc
deleted file mode 100644
index ef2b6db8..00000000
--- a/config/blinkled/blinkled.inc
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/*
- blinkled.inc
- part of pfSense (https://www.pfSense.org/)
- Copyright (C) 2009 Jim Pingle
- Copyright (C) 2015 ESF, LLC
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once("config.inc");
-require_once("functions.inc");
-
-function sync_package_blinkled() {
- global $config;
- $blinkled_config = $config['installedpackages']['blinkled']['config'][0];
- /* Kill all instances of blinkled */
- if (is_process_running("blinkled")) {
- mwexec("/usr/bin/killall -9 blinkled");
- }
- /* If blinkled is not running, start it */
- if (!is_process_running("blinkled")) {
- blinkled_start();
- }
-}
-
-function blinkled_launch($int, $led) {
- mwexec("/usr/local/bin/blinkled -i " . escapeshellarg($int) . " -l /dev/led/led" . escapeshellarg($led));
-}
-
-function blinkled_start() {
- global $config;
- $blinkled_config = $config['installedpackages']['blinkled']['config'][0];
- if (!($blinkled_config['enable'])) {
- return;
- }
-
- if (($blinkled_config['enable_led2']) && ($blinkled_config['iface_led2'])) {
- blinkled_launch(convert_friendly_interface_to_real_interface_name($blinkled_config['iface_led2']), 2);
- }
- if (($blinkled_config['enable_led3']) && ($blinkled_config['iface_led3'])) {
- blinkled_launch(convert_friendly_interface_to_real_interface_name($blinkled_config['iface_led3']), 3);
- }
-}
-
-function validate_form_blinkled($post, &$input_errors) {
- /* Make sure both aren't using the same interface */
- if (($post['iface_led2']) && ($post['iface_led3']) &&
- (($post['enable_led2']) && ($post['enable_led3'])) &&
- ($post['iface_led2'] == $post['iface_led3'])) {
- $input_errors[] = 'You cannot set two LEDs for a single interface. Please choose seperate interfaces.';
- }
-}
-
-?>
diff --git a/config/blinkled/blinkled.xml b/config/blinkled/blinkled.xml
deleted file mode 100644
index 65a574af..00000000
--- a/config/blinkled/blinkled.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
-<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
-<packagegui>
- <copyright>
- <![CDATA[
-/* $Id$ */
-/* ====================================================================================== */
-/*
- blinkled.xml
- part of pfSense (https://www.pfSense.org/)
- Copyright (C) 2009-2012 Jim Pingle
- Copyright (C) 2015 ESF, LLC
- All rights reserved.
-*/
-/* ====================================================================================== */
-/*
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-/* ====================================================================================== */
- ]]>
- </copyright>
- <title>Interfaces: Assign LEDs</title>
- <name>blinkled</name>
- <version>0.4.4</version>
- <savetext>Save</savetext>
- <include_file>/usr/local/pkg/blinkled.inc</include_file>
- <menu>
- <name>Assign LEDs</name>
- <tooltiptext>Assign LEDs to indicate network activity.</tooltiptext>
- <section>Interfaces</section>
- <url>/pkg_edit.php?xml=blinkled.xml</url>
- </menu>
- <additional_files_needed>
- <item>https://packages.pfsense.org/packages/config/blinkled/blinkled.inc</item>
- <prefix>/usr/local/pkg/</prefix>
- </additional_files_needed>
- <!-- TODO: Make the blinkled.sh script really usable for start/stop/restart -->
- <service>
- <name>blinkled</name>
- <rcfile>blinkled.sh</rcfile>
- <executable>blinkled</executable>
- <description>Network Activity LED Indicator Daemon</description>
- </service>
- <fields>
- <field>
- <fielddescr>Enable blinkled</fielddescr>
- <fieldname>enable</fieldname>
- <type>checkbox</type>
- <enablefields>enable_led2,enable_led3,iface_led2,iface_led3</enablefields>
- <description>if this is enabled, it will use LED #2 and #3 to
- indicate network activity. Be aware, however, that this will
- possibly consume some system resources in the process.</description>
- </field>
- <field>
- <fielddescr>Enable LED #2</fielddescr>
- <fieldname>enable_led2</fieldname>
- <type>checkbox</type>
- </field>
- <field>
- <fielddescr>Interface For LED #2</fielddescr>
- <fieldname>iface_led2</fieldname>
- <type>interfaces_selection</type>
- <description>Pick an interface to blink for activity on LED #2</description>
- </field>
- <field>
- <fielddescr>Enable LED #3</fielddescr>
- <fieldname>enable_led3</fieldname>
- <type>checkbox</type>
- </field>
- <field>
- <fielddescr>Interface For LED #3</fielddescr>
- <fieldname>iface_led3</fieldname>
- <type>interfaces_selection</type>
- <description>Pick an interface to blink for activity on LED #3</description>
- </field>
- </fields>
- <custom_php_validation_command>
- validate_form_blinkled($_POST, $input_errors);
- </custom_php_validation_command>
- <custom_php_resync_config_command>
- sync_package_blinkled();
- </custom_php_resync_config_command>
-</packagegui>
diff --git a/config/blinkled8/blinkled.inc b/config/blinkled8/blinkled.inc
index 6d0da039..6e76c157 100644
--- a/config/blinkled8/blinkled.inc
+++ b/config/blinkled8/blinkled.inc
@@ -1,4 +1,33 @@
<?php
+/*
+ blinkled.inc
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 Jim Pingle
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+require_once("config.inc");
require_once("functions.inc");
function blinkled_rcfile() {
@@ -28,53 +57,42 @@ EOD;
conf_mount_ro();
}
-function blinkled_running () {
- return ((int)exec('pgrep blinkled | wc -l') > 0);
-}
function sync_package_blinkled() {
global $config;
+
+ blinkled_rcfile();
+
$blinkled_config = $config['installedpackages']['blinkled']['config'][0];
- /* kill all instances of blinkled */
- if(blinkled_running()) {
- blinkled_stop();
+ /* If the service (being) disabled, stop it (if running) and do nothing else */
+ if (!($blinkled_config['enable'])) {
+ if (is_process_running("blinkled")) {
+ stop_service("blinkled");
+ }
+ return;
}
- /* if blinkled not running start it */
- if(!blinkled_running()) {
- blinkled_start();
+ /* Kill all instances of blinkled */
+ if (is_process_running("blinkled")) {
+ stop_service("blinkled");
}
- blinkled_rcfile();
+ start_service("blinkled");
}
function blinkled_launch($int, $led, $return = false) {
$cmd = "/usr/local/bin/blinkled -i " . escapeshellarg($int) . " -l " . escapeshellarg("/dev/led/led{$led}");
- if ($return)
+ if ($return) {
return $cmd;
- else
+ } else {
mwexec($cmd);
-}
-
-function blinkled_start() {
- global $config;
- $blinkled_config = $config['installedpackages']['blinkled']['config'][0];
- if (!($blinkled_config['enable']))
- return;
-
- if (($blinkled_config['enable_led2']) && ($blinkled_config['iface_led2']))
- blinkled_launch(convert_friendly_interface_to_real_interface_name($blinkled_config['iface_led2']), 2);
- if (($blinkled_config['enable_led3']) && ($blinkled_config['iface_led3']))
- blinkled_launch(convert_friendly_interface_to_real_interface_name($blinkled_config['iface_led3']), 3);
-}
-
-function blinkled_stop() {
- mwexec("/usr/bin/killall -9 blinkled");
+ }
}
function validate_form_blinkled($post, &$input_errors) {
/* Make sure both aren't using the same interface */
- if (($post['iface_led2']) && ($post['iface_led3']) &&
+ if (($post['iface_led2']) && ($post['iface_led3']) &&
(($post['enable_led2']) && ($post['enable_led3'])) &&
- ($post['iface_led2'] == $post['iface_led3']))
+ ($post['iface_led2'] == $post['iface_led3'])) {
$input_errors[] = 'You cannot set two LEDs for a single interface. Please choose seperate interfaces.';
+ }
}
?>
diff --git a/config/blinkled8/blinkled.xml b/config/blinkled8/blinkled.xml
index ec70f392..2502f3ff 100644
--- a/config/blinkled8/blinkled.xml
+++ b/config/blinkled8/blinkled.xml
@@ -1,8 +1,49 @@
<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
+<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
<packagegui>
+ <copyright>
+ <![CDATA[
+/* $Id$ */
+/* ====================================================================================== */
+/*
+ blinkled.xml
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009-2012 Jim Pingle
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+*/
+/* ====================================================================================== */
+/*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ====================================================================================== */
+ ]]>
+ </copyright>
<title>Interfaces: Assign LEDs</title>
<name>blinkled</name>
- <version>0.4.1</version>
+ <version>0.4.5</version>
<savetext>Save</savetext>
<include_file>/usr/local/pkg/blinkled.inc</include_file>
<menu>
@@ -14,13 +55,12 @@
<additional_files_needed>
<item>https://packages.pfsense.org/packages/config/blinkled8/blinkled.inc</item>
<prefix>/usr/local/pkg/</prefix>
- <chmod>0755</chmod>
</additional_files_needed>
<service>
<name>blinkled</name>
<rcfile>blinkled.sh</rcfile>
<executable>blinkled</executable>
- <description>Blinks LEDs to indicate network activity</description>
+ <description>Network Activity LED Indicator Daemon</description>
</service>
<fields>
<field>
@@ -28,7 +68,7 @@
<fieldname>enable</fieldname>
<type>checkbox</type>
<enablefields>enable_led2,enable_led3,iface_led2,iface_led3</enablefields>
- <description>if this is enabled, it will use LED #2 and #3 to
+ <description>If this is enabled, it will use LED #2 and #3 to
indicate network activity. Be aware, however, that this will
possibly consume some system resources in the process.</description>
</field>
@@ -41,7 +81,7 @@
<fielddescr>Interface For LED #2</fielddescr>
<fieldname>iface_led2</fieldname>
<type>interfaces_selection</type>
- <description>Pick an interface to blink for activity on LED #2</description>
+ <description>Pick an interface to blink for activity on LED #2.</description>
</field>
<field>
<fielddescr>Enable LED #3</fielddescr>
@@ -52,7 +92,7 @@
<fielddescr>Interface For LED #3</fielddescr>
<fieldname>iface_led3</fieldname>
<type>interfaces_selection</type>
- <description>Pick an interface to blink for activity on LED #3</description>
+ <description>Pick an interface to blink for activity on LED #3.</description>
</field>
</fields>
<custom_php_validation_command>
diff --git a/config/filer/filer.inc b/config/filer/filer.inc
index 3a012dd2..7b795acb 100644
--- a/config/filer/filer.inc
+++ b/config/filer/filer.inc
@@ -44,7 +44,7 @@ function sync_package_filer() {
if ($config['installedpackages']['filer']['config'] != "") {
$count = 0;
foreach ($config['installedpackages']['filer']['config'] as $file) {
- if ($file['filedata']=="" && file_exists($file['fullfile'])) {
+ if ($file['filedata'] == "" && file_exists($file['fullfile'])) {
$config['installedpackages']['filer']['config'][$count]['filedata'] = base64_encode(file_get_contents($file['fullfile']));
$file['filedata'] = base64_encode(file_get_contents($file['fullfile']));
$update_conf++;
@@ -65,10 +65,10 @@ function sync_package_filer() {
switch ($file['background']) {
case "background":
mwexec_bg($file['cmd']);
- break;
+ break;
case "foreground":
mwexec($file['cmd']);
- break;
+ break;
}
}
}
@@ -90,13 +90,13 @@ function filer_validate_input($post, &$input_errors) {
continue;
}
if (substr($key, 0, 3) == "mod" && !preg_match("/^0?[0-7]{3}$/", $value)) {
- $input_errors[] = "{$value} is not valid permissions mode number.";
+ $input_errors[] = "{$value} is not valid permissions mode number.";
}
if (substr($key, 0, 11) == "description" && !preg_match("@^[a-zA-Z0-9 _/.-]+$@", $value)) {
- $input_errors[] = "Do not use special characters in description.";
+ $input_errors[] = "Do not use special characters in description.";
}
if (substr($key, 0, 8) == "fullfile" && !preg_match("@^[a-zA-Z0-9_/.-]+$@", $value)) {
- $input_errors[] = "Do not use special characters in filename.";
+ $input_errors[] = "Do not use special characters in filename.";
}
}
}
diff --git a/config/filer/filer.xml b/config/filer/filer.xml
index ab49bb21..57125927 100644
--- a/config/filer/filer.xml
+++ b/config/filer/filer.xml
@@ -44,7 +44,7 @@
]]>
</copyright>
<name>filer</name>
- <version>0.60.2</version>
+ <version>0.60.4</version>
<title>Filer</title>
<include_file>/usr/local/pkg/filer.inc</include_file>
<additional_files_needed>
@@ -84,14 +84,14 @@
<columnitem>
<fielddescr>Description</fielddescr>
<fieldname>description</fieldname>
- </columnitem>
+ </columnitem>
</adddeleteeditpagefields>
<fields>
<field>
<type>listtopic</type>
<fieldname>temp</fieldname>
<name>File configuration</name>
- </field>
+ </field>
<field>
<fielddescr>File</fielddescr>
<fieldname>fullfile</fieldname>
@@ -129,7 +129,7 @@
<type>listtopic</type>
<fieldname>temp</fieldname>
<name>Command to run after file save/sync.</name>
- </field>
+ </field>
<field>
<fielddescr>Script/Command</fielddescr>
<fieldname>cmd</fieldname>
@@ -142,7 +142,7 @@
<fielddescr>Execute mode</fielddescr>
<fieldname>background</fieldname>
<type>select</type>
- <options>
+ <options>
<option>
<name>Background (default)</name>
<value>background</value>
@@ -164,7 +164,7 @@
</custom_php_validation_command>
<custom_delete_php_command>
sync_package_filer();
- </custom_delete_php_command>
+ </custom_delete_php_command>
<custom_php_resync_config_command>
sync_package_filer();
</custom_php_resync_config_command>
diff --git a/config/iperf/iperf.xml b/config/iperf/iperf.xml
index 4312cf25..182d866b 100644
--- a/config/iperf/iperf.xml
+++ b/config/iperf/iperf.xml
@@ -1,52 +1,48 @@
<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE packagegui SYSTEM "./schema/packages.dtd">
-<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
+<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
+<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
<packagegui>
- <copyright>
- <![CDATA[
+ <copyright>
+ <![CDATA[
/* $Id$ */
-/* ========================================================================== */
+/* ====================================================================================== */
/*
- iperf.xml
- part of pfSense (http://www.pfSense.com)
- Copyright (C) 2007 to whom it may belong
- All rights reserved.
-
- Based on m0n0wall (http://m0n0.ch/wall)
- Copyright (C) 2003-2006 Manuel Kasper <mk@neon1.net>.
- All rights reserved.
- */
-/* ========================================================================== */
+ iperf.xml
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2015 Renato Botelho
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+*/
+/* ====================================================================================== */
/*
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- */
-/* ========================================================================== */
- ]]>
- </copyright>
- <description>Describe your package here</description>
- <requirements>Describe your package requirements here</requirements>
- <faq>Currently there are no FAQ items provided.</faq>
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ====================================================================================== */
+ ]]>
+ </copyright>
<name>iperf</name>
- <version>1.7.0</version>
+ <version>2.0.5.2</version>
<title>iperf: Client</title>
<preoutput>yes</preoutput>
<donotsave>true</donotsave>
@@ -57,10 +53,10 @@
<configfile>iperf.xml</configfile>
</menu>
<service>
- <name>iperf</name>
- <executable>iperf</executable>
+ <name>iperf</name>
+ <executable>iperf</executable>
<description>iperf network performance testing daemon/client</description>
- </service>
+ </service>
<tabs>
<tab>
<text>Client</text>
@@ -85,13 +81,13 @@
<field>
<fielddescr>Port</fielddescr>
<fieldname>port</fieldname>
- <description>Enter the port that iperf will connect to. (default 5001)</description>
+ <description>Enter the port that iperf will connect to. (Default is 5001.)</description>
<type>input</type>
</field>
<field>
<fielddescr>Protocol</fielddescr>
<fieldname>protocol</fieldname>
- <description>Choose whether to use TCP or UDP here. (default is TCP)</description>
+ <description>Choose whether to use TCP or UDP here. (Default is TCP.)</description>
<type>select</type>
<options>
<option>
@@ -107,7 +103,7 @@
<field>
<fielddescr>Output format</fielddescr>
<fieldname>format</fieldname>
- <description>Choose to display output in bits/sec or bytes/sec. (default is bits)</description>
+ <description>Choose to display output in bits/sec or bytes/sec. (Default is bits.)</description>
<type>select</type>
<options>
<option>
@@ -123,13 +119,13 @@
<field>
<fielddescr>Interval</fielddescr>
<fieldname>interval</fieldname>
- <description>Enter the desired interval between bandwidth, jitter and loss reports here. (default is 0 for no periodic reports)</description>
+ <description>Enter the desired interval between bandwidth, jitter and loss reports here. (Default is 0 for no periodic reports.)</description>
<type>input</type>
</field>
<field>
<fielddescr>Buffer length</fielddescr>
<fieldname>length</fieldname>
- <description>Enter the length of buffers to read or write here. (default 8KB for TCP, 1470B for UDP)</description>
+ <description>Enter the length of buffers to read or write here. (Default 8KB for TCP, 1470B for UDP.)</description>
<type>input</type>
</field>
<field>
@@ -141,21 +137,37 @@
<field>
<fielddescr>UDP Bandwidth</fielddescr>
<fieldname>udpbandwidth</fieldname>
- <description>Enter the UDP bandwidth to send at in bits/sec. (default is 1Mbit/sec)</description>
+ <description>Enter the UDP bandwidth to send at in bits/sec. (Default is 1Mbit/sec.)</description>
<type>input</type>
</field>
</fields>
<custom_add_php_command>
- mwexec("killall iperf");
+ <![CDATA[
+ mwexec("/usr/bin/killall iperf");
$iperf_options = "";
- if($_POST['protocol'] == "udp") $iperf_options .= " -u";
- if($_POST['format'] == "bytes") $iperf_options .= " -f A";
- if($_POST['interval'] != "") $iperf_options .= " -i " . escapeshellarg($_POST['interval']);
- if($_POST['length'] != "") $iperf_options .= " -l " . escapeshellarg($_POST['length']);
- if($_POST['window'] != "") $iperf_options .= " -w " . escapeshellarg($_POST['window']);
- if($_POST['udpbandwidth'] != "") $iperf_options .= " -b " . escapeshellarg($_POST['udpbandwidth']);
- if($_POST['port'] != "") $iperf_options .= " -p " . escapeshellarg($_POST['port']);
+ if ($_POST['protocol'] == "udp") {
+ $iperf_options .= " -u";
+ }
+ if ($_POST['format'] == "bytes") {
+ $iperf_options .= " -f A";
+ }
+ if ($_POST['interval'] != "") {
+ $iperf_options .= " -i " . escapeshellarg($_POST['interval']);
+ }
+ if ($_POST['length'] != "") {
+ $iperf_options .= " -l " . escapeshellarg($_POST['length']);
+ }
+ if ($_POST['window'] != "") {
+ $iperf_options .= " -w " . escapeshellarg($_POST['window']);
+ }
+ if ($_POST['udpbandwidth'] != "") {
+ $iperf_options .= " -b " . escapeshellarg($_POST['udpbandwidth']);
+ }
+ if ($_POST['port'] != "") {
+ $iperf_options .= " -p " . escapeshellarg($_POST['port']);
+ }
$iperf_options .= " -c " . escapeshellarg($_POST['hostname']);
system("/usr/local/bin/iperf" . $iperf_options);
+ ]]>
</custom_add_php_command>
</packagegui>
diff --git a/config/iperf/iperfserver.xml b/config/iperf/iperfserver.xml
index f0dc074a..524e8366 100644
--- a/config/iperf/iperfserver.xml
+++ b/config/iperf/iperfserver.xml
@@ -2,51 +2,47 @@
<!DOCTYPE packagegui SYSTEM "./schema/packages.dtd">
<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
<packagegui>
- <copyright>
- <![CDATA[
+ <copyright>
+ <![CDATA[
/* $Id$ */
-/* ========================================================================== */
+/* ====================================================================================== */
/*
- iperfserver.xml
- part of pfSense (http://www.pfSense.com)
- Copyright (C) 2007 to whom it may belong
- All rights reserved.
-
- Based on m0n0wall (http://m0n0.ch/wall)
- Copyright (C) 2003-2006 Manuel Kasper <mk@neon1.net>.
- All rights reserved.
- */
-/* ========================================================================== */
+ iperfserver.xml
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2015 Renato Botelho
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+*/
+/* ====================================================================================== */
/*
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- */
-/* ========================================================================== */
- ]]>
- </copyright>
- <description>Describe your package here</description>
- <requirements>Describe your package requirements here</requirements>
- <faq>Currently there are no FAQ items provided.</faq>
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ====================================================================================== */
+ ]]>
+ </copyright>
<name>iperf</name>
- <version>1.7.0</version>
+ <version>2.0.5.2</version>
<title>iperf: Server</title>
<preoutput>yes</preoutput>
<donotsave>true</donotsave>
@@ -71,13 +67,13 @@
<field>
<fielddescr>Port</fielddescr>
<fieldname>port</fieldname>
- <description>Enter the port that iperf will listen for connections on. (default 5001)</description>
+ <description>Enter the port that iperf will listen for connections on. (Default is 5001.)</description>
<type>input</type>
</field>
<field>
<fielddescr>Protocol</fielddescr>
<fieldname>protocol</fieldname>
- <description>Choose whether to use TCP or UDP here. (default is TCP)</description>
+ <description>Choose whether to use TCP or UDP here. (Default is TCP.)</description>
<type>select</type>
<options>
<option>
@@ -93,7 +89,7 @@
<field>
<fielddescr>Output format</fielddescr>
<fieldname>format</fieldname>
- <description>Choose to display output in bits/sec or bytes/sec. (default is bits)</description>
+ <description>Choose to display output in bits/sec or bytes/sec. (Default is bits.)</description>
<type>select</type>
<options>
<option>
@@ -109,13 +105,13 @@
<field>
<fielddescr>Interval</fielddescr>
<fieldname>interval</fieldname>
- <description>Enter the desired interval between bandwidth, jitter and loss reports here. (default is 0 for no periodic reports)</description>
+ <description>Enter the desired interval between bandwidth, jitter and loss reports here. (Default is 0 for no periodic reports.)</description>
<type>input</type>
</field>
<field>
<fielddescr>Buffer length</fielddescr>
<fieldname>length</fieldname>
- <description>Enter the length of buffers to read or write here. (default 8KB for TCP, 1470B for UDP)</description>
+ <description>Enter the length of buffers to read or write here. (Default 8KB for TCP, 1470B for UDP.)</description>
<type>input</type>
</field>
<field>
@@ -126,16 +122,29 @@
</field>
</fields>
<custom_add_php_command>
- mwexec("killall iperf");
+ <![CDATA[
+ mwexec("/usr/bin/killall iperf");
$iperf_options = "";
- if($_POST['protocol'] == "udp") $iperf_options .= " -u";
- if($_POST['format'] == "bytes") $iperf_options .= " -f A";
- if($_POST['interval'] != "") $iperf_options .= " -i " . escapeshellarg($_POST['interval']);
- if($_POST['length'] != "") $iperf_options .= " -l " . escapeshellarg($_POST['length']);
- if($_POST['window'] != "") $iperf_options .= " -w " . escapeshellarg($_POST['window']);
- if($_POST['port'] != "") $iperf_options .= " -p " . escapeshellarg($_POST['port']);
+ if ($_POST['protocol'] == "udp") {
+ $iperf_options .= " -u";
+ }
+ if ($_POST['format'] == "bytes") {
+ $iperf_options .= " -f A";
+ }
+ if ($_POST['interval'] != "") {
+ $iperf_options .= " -i " . escapeshellarg($_POST['interval']);
+ }
+ if ($_POST['length'] != "") {
+ $iperf_options .= " -l " . escapeshellarg($_POST['length']);
+ }
+ if ($_POST['window'] != "") {
+ $iperf_options .= " -w " . escapeshellarg($_POST['window']);
+ }
+ if ($_POST['port'] != "") {
+ $iperf_options .= " -p " . escapeshellarg($_POST['port']);
+ }
$iperf_options .= " -s";
mwexec_bg("/usr/local/bin/iperf" . $iperf_options);
+ ]]>
</custom_add_php_command>
</packagegui>
-
diff --git a/config/lcdproc/lcdproc.inc b/config/lcdproc/lcdproc.inc
index d4b4856a..2251618c 100644
--- a/config/lcdproc/lcdproc.inc
+++ b/config/lcdproc/lcdproc.inc
@@ -39,7 +39,7 @@
} else {
define('LCDPROC_CONFIG','/usr/local/etc/LCDd.conf');
}
- define('LCDPROC_HOST','localhost');
+ define('LCDPROC_HOST','127.0.0.1');
define('LCDPROC_PORT','13666');
function lcdproc_notice ($msg) { syslog(LOG_NOTICE, "lcdproc: {$msg}"); }
diff --git a/config/notes/notes.inc b/config/notes/notes.inc
index f4bfe2cc..29b51396 100644
--- a/config/notes/notes.inc
+++ b/config/notes/notes.inc
@@ -3,10 +3,10 @@
/*
/* ========================================================================== */
/*
- notes.inc
- Copyright (C) 2008 Mark J Crane
- All rights reserved.
- */
+ notes.inc
+ Copyright (C) 2008 Mark J Crane
+ All rights reserved.
+*/
/* ========================================================================== */
/*
Redistribution and use in source and binary forms, with or without
@@ -31,61 +31,53 @@
POSSIBILITY OF SUCH DAMAGE.
*/
-function notes_sync_package()
-{
-
- //global $config;
+function notes_sync_package() {
+
+ //global $config;
}
-
-function notes_install_command()
-{
+
+function notes_install_command() {
global $config;
conf_mount_rw();
config_lock();
if (!is_dir('/usr/local/www/packages/')) {
- exec("mkdir /usr/local/www/packages/");
+ exec("mkdir /usr/local/www/packages/");
}
-
+
//if (!is_dir('/usr/local/www/packages/notes/')) {
// exec("mkdir /usr/local/www/packages/notes/");
//}
-
//rename PHP files from .tmp to .php
//exec("cp /tmp/notes.tmp /usr/local/www/packages/phpservice/notes.php");
//unlink_if_exists("/tmp/notes.tmp");
-
- //write_config();
+ //write_config();
-
//write_rcfile(array(
// "file" => "notes.sh",
// "start" => "/usr/local/bin/php /usr/local/pkg/notes.php",
// "stop" => "rm /tmp/phpmonitor.pid"
// )
//);
-
-
+
notes_sync_package();
-
- //if (pkg_is_service_running('notes')) {
+ //if (pkg_is_service_running('notes')) {
//documentation purposes
//}
conf_mount_ro();
config_unlock();
-
+
}
-function notes_deinstall_command()
-{
+function notes_deinstall_command() {
conf_mount_rw();
config_lock();
@@ -93,7 +85,7 @@ function notes_deinstall_command()
unlink_if_exists("/usr/local/pkg/notes.inc");
conf_mount_ro();
config_unlock();
-
+
}
?> \ No newline at end of file
diff --git a/config/notes/notes.xml b/config/notes/notes.xml
index 513bf922..34d2f676 100644
--- a/config/notes/notes.xml
+++ b/config/notes/notes.xml
@@ -2,46 +2,46 @@
<!DOCTYPE packagegui SYSTEM "./schema/packages.dtd">
<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
<packagegui>
- <copyright>
- <![CDATA[
+ <copyright>
+ <![CDATA[
/* $Id$ */
/* ========================================================================== */
/*
- notes.xml
- Copyright (C) 2008 Mark J Crane
- All rights reserved.
- */
+ notes.xml
+ Copyright (C) 2008 Mark J Crane
+ All rights reserved.
+*/
/* ========================================================================== */
/*
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- */
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
/* ========================================================================== */
- ]]>
- </copyright>
- <description>Notes</description>
- <requirements>Describe your package requirements here</requirements>
- <faq>Currently there are no FAQ items provided.</faq>
+ ]]>
+ </copyright>
+ <description>Notes</description>
+ <requirements>Describe your package requirements here</requirements>
+ <faq>Currently there are no FAQ items provided.</faq>
<name>Notes</name>
- <version>0.2.3</version>
+ <version>0.2.5</version>
<title>Settings</title>
<include_file>/usr/local/pkg/notes.inc</include_file>
<menu>
@@ -56,24 +56,24 @@
<text>Settings</text>
<url>/pkg_edit.php?xml=notes.xml</url>
<active/>
- </tab>
+ </tab>
</tabs>
- <configpath>installedpackages->package->$packagename->configuration->notes</configpath>
+ <configpath>installedpackages->package->$packagename->configuration->notes</configpath>
<additional_files_needed>
<prefix>/usr/local/pkg/</prefix>
- <chmod>0755</chmod>
+ <chmod>0755</chmod>
<item>https://packages.pfsense.org/packages/config/notes/notes.inc</item>
</additional_files_needed>
<adddeleteeditpagefields>
<columnitem>
<fielddescr>Title</fielddescr>
<fieldname>title</fieldname>
- </columnitem>
+ </columnitem>
<columnitem>
<fielddescr>Category</fielddescr>
<fieldname>category</fieldname>
</columnitem>
- </adddeleteeditpagefields>
+ </adddeleteeditpagefields>
<fields>
<field>
<fielddescr>Title</fielddescr>
@@ -86,7 +86,7 @@
<fieldname>category</fieldname>
<description>Enter a category.</description>
<type>input</type>
- </field>
+ </field>
<field>
<fielddescr>&lt;b&gt;Notes&lt;/b&gt; &lt;br /&gt; &lt;br /&gt;</fielddescr>
<fieldname>notes</fieldname>
@@ -94,16 +94,16 @@
<type>textarea</type>
<encoding>base64</encoding>
<size>30</size>
- <cols>70</cols>
+ <cols>70</cols>
<rows>20</rows>
</field>
- </fields>
+ </fields>
<custom_add_php_command>
</custom_add_php_command>
<custom_php_resync_config_command>
notes_sync_package();
</custom_php_resync_config_command>
- <custom_delete_php_command>
+ <custom_delete_php_command>
notes_sync_package();
</custom_delete_php_command>
<custom_php_install_command>
diff --git a/config/nrpe2/nrpe2.inc b/config/nrpe2/nrpe2.inc
index 7d541e6b..b5e6a7d9 100644
--- a/config/nrpe2/nrpe2.inc
+++ b/config/nrpe2/nrpe2.inc
@@ -1,42 +1,49 @@
<?php
-
-/**
- * Author: Erik Kristensen
- * Email: erik@erikkristensen.com
- *
- * Developed for: pfSense.com
- *
- * Copyright (c) 2009, pfSense.com
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in thedocumentation and/or other materials provided with the distribution.
- * Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
+/*
+ nrpe2.inc
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 Erik Kristensen <erik@erikkristensen.com>
+ Copyright (C) 2011-2013 Jim Pingle
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
require_once('filter.inc');
-$pfs_version = substr(trim(file_get_contents("/etc/version")),0,3);
+global $pfs_version;
+$pfs_version = substr(trim(file_get_contents("/etc/version")), 0, 3);
-if ($pfs_version == "2.0") {
- define('NRPE_BASE', '/usr/local');
-} else {
+if ($pfs_version == "2.1" || $pfs_version == "2.2") {
define('NRPE_BASE', '/usr/pbi/nrpe-' . php_uname("m"));
+} else {
+ define('NRPE_BASE', '/usr/local');
}
-if ($pfs_version == "2.1")
+if ($pfs_version == "2.1") {
define('NRPE_BINARY', NRPE_BASE . "/sbin/nrpe2");
-else
+} else {
define('NRPE_BINARY', "/usr/local/sbin/nrpe2");
+}
define('NRPE_CONFIG_DIR', NRPE_BASE . '/etc');
define('NRPE_RCFILE', '/usr/local/etc/rc.d/nrpe2.sh');
@@ -202,22 +209,21 @@ connection_timeout=300
{$commands}
EOD;
if (defined($config['installedpackages']['nrpe2']['config'][0]['server_address'])) {
- $server_address = $config['installedpackages']['nrpe2']['config'][0]['server_address'];
- $nrpe_cfg .= "server_address={$server_address}";
- }
+ $server_address = $config['installedpackages']['nrpe2']['config'][0]['server_address'];
+ $nrpe_cfg .= "server_address={$server_address}";
+ }
fwrite($fd, $nrpe_cfg);
fclose($fd);
conf_mount_ro();
}
function nrpe2_custom_php_service() {
- global $g, $config;
+ global $config;
if ($config['installedpackages']['nrpe2']['config'][0]['enabled'] == "on") {
- exec(NRPE_RCFILE . " restart");
- }
- else {
- exec(NRPE_RCFILE . " stop");
+ restart_service("nrpe2");
+ } else {
+ stop_service("nrpe2");
}
}
diff --git a/config/nrpe2/nrpe2.xml b/config/nrpe2/nrpe2.xml
index 8d6f0b09..1204e8ec 100644
--- a/config/nrpe2/nrpe2.xml
+++ b/config/nrpe2/nrpe2.xml
@@ -1,9 +1,50 @@
<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
+<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
<packagegui>
+ <copyright>
+ <![CDATA[
+/* $Id$ */
+/* ====================================================================================== */
+/*
+ nrpe2.xml
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 Erik Kristensen
+ Copyright (C) 2011-2013 Jim Pingle
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+*/
+/* ====================================================================================== */
+/*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ====================================================================================== */
+ ]]>
+ </copyright>
<description>Nagios NRPEv2</description>
- <requirements>Describe your package requirements here</requirements>
<name>nrpe2</name>
- <version>2.2</version>
+ <version>2.2.1</version>
<title>NRPEv2</title>
<aftersaveredirect>/pkg_edit.php?xml=nrpe2.xml&amp;id=0</aftersaveredirect>
<include_file>/usr/local/pkg/nrpe2.inc</include_file>
@@ -22,7 +63,6 @@
<configpath>installedpackages->package->nrpe2</configpath>
<additional_files_needed>
<prefix>/usr/local/pkg/</prefix>
- <chmod>077</chmod>
<item>https://packages.pfsense.org/packages/config/nrpe2/nrpe2.inc</item>
</additional_files_needed>
<fields>
@@ -34,7 +74,7 @@
<field>
<fielddescr>Enabled</fielddescr>
<fieldname>enabled</fieldname>
- <description>Check this to enable NRPE daemon</description>
+ <description>Check this to enable NRPE daemon.</description>
<type>checkbox</type>
</field>
<field>
@@ -52,20 +92,20 @@
<field>
<fielddescr>Bind IP Address</fielddescr>
<fieldname>server_address</fieldname>
- <description>Set this to the IP address of the interface you want the daemon to listen on. (optional)</description>
+ <description>Set this to the IP address of the interface you want the daemon to listen on. (Optional)</description>
<type>input</type>
</field>
<field>
<fielddescr>Nagios Server(s)</fielddescr>
<fieldname>allowed_hosts</fieldname>
- <description>IP Address of Nagios server, usualy a single IP, but if multiple delimit by comma</description>
+ <description>IP Address of Nagios server. Usually a single IP; multiple IPs must be delimited by comma.</description>
<type>input</type>
<required/>
</field>
<field>
<fielddescr>Allow Arguments (dont_blame_nrpe)</fielddescr>
<fieldname>dont_blame_nrpe</fieldname>
- <description>Check this to enable accept NRPE arguments (Default: 0)</description>
+ <description>Check this to enable accept NRPE arguments. (Default: 0)</description>
<type>checkbox</type>
</field>
@@ -118,7 +158,7 @@
<rowhelperfield>
<fielddescr>Extra Options (Example: -s Z \$ARG1\$ \$ARG2\$)</fielddescr>
<fieldname>extra</fieldname>
- <description>Warning! Use at your own risk, incorrect settings here may prevent NRPE from starting!</description>
+ <description><![CDATA[<strong>Warning! Use at your own risk, incorrect settings here may prevent NRPE from starting!</strong>]]></description>
<type>input</type>
<size>25</size>
</rowhelperfield>
diff --git a/config/nut/nut.inc b/config/nut/nut.inc
index dae2269e..578bb82f 100644
--- a/config/nut/nut.inc
+++ b/config/nut/nut.inc
@@ -126,7 +126,7 @@
if (!$post['remotename']) {
$input_errors[] = 'You must specify a name in the \'Remote UPS Name\' field';
}
- if ($post['remotename'] && !preg_match("/^[a-zA-Z0-9-_]+$/", $post['name'])) {
+ if ($post['remotename'] && !preg_match("/^[a-zA-Z0-9-_]+$/", $post['remotename'])) {
$input_errors[] = 'Only [Aa-Zz], [0-9], and [-_] accepted in the \'Remote UPS Name\' field';
}
if (!$post['remoteaddr'] || !is_ipaddr($post['remoteaddr'])) {
diff --git a/config/pfflowd/pfflowd.xml b/config/pfflowd/pfflowd.xml
index 0a683bba..ea32c858 100644
--- a/config/pfflowd/pfflowd.xml
+++ b/config/pfflowd/pfflowd.xml
@@ -1,4 +1,46 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
+<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
<packagegui>
+ <copyright>
+ <![CDATA[
+/* $Id$ */
+/* ========================================================================== */
+/*
+ pfflowd.xml
+ Copyright (C) 2008 Bill Marquette
+ Copyright (C) 2011 Ermal Luçi
+ Copyright (C) 2011 Jim Pingle
+ Copyright (C) 2015 ESF, LLC
+ part of pfSense (http://www.pfSense.org/)
+ All rights reserved.
+*/
+/* ========================================================================== */
+/*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ========================================================================== */
+ ]]>
+ </copyright>
<name>pfflowd</name>
<version>1.0.3</version>
<title>pfflowd: Settings</title>
@@ -82,19 +124,23 @@
conf_mount_rw();
config_lock();
global $config;
- foreach($config['installedpackages']['pfflowd']['config'] as $cf) {
- if($cf['host'] != "") {
+ foreach ($config['installedpackages']['pfflowd']['config'] as $cf) {
+ if ($cf['host'] != "") {
$start = "\n/sbin/ifconfig pfsync0 up\n";
$start .= "/usr/local/sbin/pfflowd ";
$start .= " -n {$cf['host']}";
- if($cf['port'] != "")
+ if ($cf['port'] != "") {
$start .= ":{$cf['port']}";
- if(!empty($cf['sourcehost']))
+ }
+ if (!empty($cf['sourcehost'])) {
$start .= " -s {$cf['sourcehost']} ";
- if($cf['direction'] != "")
+ }
+ if ($cf['direction'] != "") {
$start .= " -S {$cf['direction']}";
- if($cf['version'] != "")
+ }
+ if ($cf['version'] != "") {
$start .= " -v {$cf['version']}";
+ }
write_rcfile(array(
"file" => "pfflowd.sh",
"start" => $start,
@@ -110,18 +156,20 @@
}
function validate_form_pfflowd($post, &$input_errors) {
- if(($post['host'] == "") || !is_ipaddr($post['host']))
+ if (($post['host'] == "") || !is_ipaddr($post['host'])) {
$input_errors[] = 'You must specify a valid ip address in the \'Host\' field';
- if(($post['port'] == "") || !is_port($post['port']))
+ }
+ if (($post['port'] == "") || !is_port($post['port'])) {
$input_errors[] = 'You must specify a valid port number in the \'Port\' field';
+ }
}
-
+
function cleanup_config_pfflowd() {
global $a_pkg;
$pffconf = array();
if (is_array($a_pkg)) {
foreach($a_pkg as $cf) {
- if($cf['host'] != "") {
+ if ($cf['host'] != "") {
$pffconf = $cf;
}
}
diff --git a/config/servicewatchdog/services_servicewatchdog.php b/config/servicewatchdog/services_servicewatchdog.php
index bd4d4442..6c91b98e 100644
--- a/config/servicewatchdog/services_servicewatchdog.php
+++ b/config/servicewatchdog/services_servicewatchdog.php
@@ -41,14 +41,16 @@ require_once("functions.inc");
require_once("service-utils.inc");
require_once("servicewatchdog.inc");
-if (!is_array($config['installedpackages']['servicewatchdog']['item']))
+if (!is_array($config['installedpackages']['servicewatchdog']['item'])) {
$config['installedpackages']['servicewatchdog']['item'] = array();
+}
$a_pwservices = &$config['installedpackages']['servicewatchdog']['item'];
/* if a custom message has been passed along, lets process it */
-if ($_GET['savemsg'])
+if ($_GET['savemsg']) {
$savemsg = $_GET['savemsg'];
+}
if ($_GET['act'] == "del") {
if ($a_pwservices[$_GET['id']]) {
@@ -65,13 +67,15 @@ if (isset($_POST['Update'])) {
if (is_array($_POST['notifies']) && count($_POST['notifies'])) {
/* Check each service and set the notify flag only for those chosen, remove those that are unset. */
foreach ($a_pwservices as $idx => $thisservice) {
- if (!is_array($thisservice))
+ if (!is_array($thisservice)) {
continue;
+ }
if (in_array($idx, $_POST['notifies'])) {
$a_pwservices[$idx]['notify'] = true;
} else {
- if (isset($a_pwservices[$idx]['notify']))
+ if (isset($a_pwservices[$idx]['notify'])) {
unset($a_pwservices[$idx]['notify']);
+ }
}
}
} else { /* No notifies selected, remove them all. */
@@ -111,26 +115,31 @@ if (isset($_POST['del_x'])) {
/* copy all services < $movebtn and not selected */
for ($i = 0; $i < $movebtn; $i++) {
- if (!in_array($i, $_POST['pwservices']))
+ if (!in_array($i, $_POST['pwservices'])) {
$a_pwservices_new[] = $a_pwservices[$i];
+ }
}
/* copy all selected services */
for ($i = 0; $i < count($a_pwservices); $i++) {
- if ($i == $movebtn)
+ if ($i == $movebtn) {
continue;
- if (in_array($i, $_POST['pwservices']))
+ }
+ if (in_array($i, $_POST['pwservices'])) {
$a_pwservices_new[] = $a_pwservices[$i];
+ }
}
/* copy $movebtn service */
- if ($movebtn < count($a_pwservices))
+ if ($movebtn < count($a_pwservices)) {
$a_pwservices_new[] = $a_pwservices[$movebtn];
+ }
/* copy all services > $movebtn and not selected */
for ($i = $movebtn+1; $i < count($a_pwservices); $i++) {
- if (!in_array($i, $_POST['pwservices']))
+ if (!in_array($i, $_POST['pwservices'])) {
$a_pwservices_new[] = $a_pwservices[$i];
+ }
}
$a_pwservices = $a_pwservices_new;
servicewatchdog_cron_job();
@@ -141,7 +150,7 @@ if (isset($_POST['del_x'])) {
}
$closehead = false;
-$pgtitle = array(gettext("Services"),gettext("Service Watchdog"));
+$pgtitle = array(gettext("Services"), gettext("Service Watchdog"));
include("head.inc");
?>
@@ -160,83 +169,99 @@ include("head.inc");
<table width="100%" border="0" cellpadding="0" cellspacing="0" summary="services to monitor">
<tr><td><div id="mainarea">
<table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0" summary="main area">
-<tr><td colspan="8" align="center">
-<?php echo gettext("This page allows you to select services to be monitored so that they may be automatically restarted if they crash or are stopped."); ?>
-<br/><br/>
-</td></tr>
-<tr id="frheader">
-<td width="5%" class="list">&nbsp;</td>
-<td width="5%" class="listhdrr">Notify</td>
-<td width="30%" class="listhdrr"><?=gettext("Service Name");?></td>
-<td width="60%" class="listhdrr"><?=gettext("Description");?></td>
-<td width="5%" class="list">
-<table border="0" cellspacing="0" cellpadding="1" summary="buttons">
- <tr><td width="17">
- <?php if (count($a_pwservices) == 0): ?>
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x_d.gif" width="17" height="17" title="<?=gettext("delete selected services");?>" border="0" alt="delete" />
- <?php else: ?>
- <input name="del" type="image" src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" title="<?=gettext("delete selected services"); ?>" onclick="return confirm('<?=gettext("Do you really want to delete the selected services?");?>')" />
- <?php endif; ?>
- </td>
- <td><a href="services_servicewatchdog_add.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0" title="<?=gettext("add new service"); ?>" alt="add" /></a></td>
+ <tr>
+ <td colspan="8" align="center">
+ <?php echo gettext("This page allows you to select services to be monitored so that they may be automatically restarted if they crash or are stopped."); ?>
+ <br/><br/>
+ </td>
+ </tr>
+ <tr id="frheader">
+ <td width="5%" class="list">&nbsp;</td>
+ <td width="5%" class="listhdrr">Notify</td>
+ <td width="30%" class="listhdrr"><?=gettext("Service Name");?></td>
+ <td width="60%" class="listhdrr"><?=gettext("Description");?></td>
+ <td width="5%" class="list">
+ <table border="0" cellspacing="0" cellpadding="1" summary="buttons">
+ <tr>
+ <td width="17">
+ <?php if (count($a_pwservices) == 0): ?>
+ <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x_d.gif" width="17" height="17" title="<?=gettext("delete selected services");?>" border="0" alt="delete" />
+ <?php else: ?>
+ <input name="del" type="image" src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" title="<?=gettext("delete selected services"); ?>" onclick="return confirm('<?=gettext("Do you really want to delete the selected services?");?>')" />
+ <?php endif; ?>
+ </td>
+ <td><a href="services_servicewatchdog_add.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0" title="<?=gettext("add new service"); ?>" alt="add" /></a></td>
+ </tr>
+ </table>
+ </td>
</tr>
-</table>
-</td>
-</tr>
<?php
$nservices = $i = 0;
foreach ($a_pwservices as $thisservice):
?>
<tr valign="top" id="fr<?=$nservices;?>">
- <td class="listt"><input type="checkbox" id="frc<?=$nservices;?>" name="pwservices[]" value="<?=$i;?>" onClick="fr_bgcolor('<?=$nservices;?>')" style="margin: 0; padding: 0; width: 15px; height: 15px;" /></td>
- <td class="listlr"><input type="checkbox" id="notify<?=$nservices;?>" name="notifies[]" value="<?=$i;?>" style="margin: 0; padding: 0; width: 15px; height: 15px;" <?PHP if (isset($thisservice['notify'])) echo 'checked="CHECKED"';?>/></td>
- <td class="listr" onclick="fr_toggle(<?=$nservices;?>)" id="frd<?=$nservices;?>" ondblclick="document.location='services_servicewatchdog_add.php?id=<?=$nservices;?>';">
- <?=$thisservice['name'];?>
- </td>
- <td class="listr" onclick="fr_toggle(<?=$nservices;?>)" id="frd<?=$nservices;?>" ondblclick="document.location='services_servicewatchdog_add.php?id=<?=$nservices;?>';">
- <?=$thisservice['description'];?>
- </td>
- <td valign="middle" class="list" nowrap>
- <table border="0" cellspacing="0" cellpadding="1" summary="add">
- <tr>
- <td><input onmouseover="fr_insline(<?=$nservices;?>, true)" onmouseout="fr_insline(<?=$nservices;?>, false)" name="move_<?=$i;?>" src="/themes/<?= $g['theme']; ?>/images/icons/icon_left.gif" title="<?=gettext("move selected services before this service");?>" height="17" type="image" width="17" border="0" /></td>
- <td align="center" valign="middle"><a href="services_servicewatchdog.php?act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this service?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0" title="<?=gettext("delete service");?>" alt="delete" /></a></td>
- </tr>
- </table>
- </td></tr>
-<?php $i++; $nservices++; endforeach; ?>
- <tr>
- <td class="list" colspan="4"></td>
- <td class="list" valign="middle" nowrap>
- <table border="0" cellspacing="0" cellpadding="1" summary="add">
+ <td class="listt"><input type="checkbox" id="frc<?=$nservices;?>" name="pwservices[]" value="<?=$i;?>" onClick="fr_bgcolor('<?=$nservices;?>')" style="margin: 0; padding: 0; width: 15px; height: 15px;" /></td>
+ <td class="listlr"><input type="checkbox" id="notify<?=$nservices;?>" name="notifies[]" value="<?=$i;?>" style="margin: 0; padding: 0; width: 15px; height: 15px;" <?PHP if (isset($thisservice['notify'])) echo 'checked="CHECKED"';?>/></td>
+ <td class="listr" onclick="fr_toggle(<?=$nservices;?>)" id="frd<?=$nservices;?>" ondblclick="document.location='services_servicewatchdog_add.php?id=<?=$nservices;?>';">
+ <?=$thisservice['name'];?>
+ </td>
+ <td class="listr" onclick="fr_toggle(<?=$nservices;?>)" id="frd<?=$nservices;?>" ondblclick="document.location='services_servicewatchdog_add.php?id=<?=$nservices;?>';">
+ <?=$thisservice['description'];?>
+ </td>
+ <td valign="middle" class="list" nowrap>
+ <table border="0" cellspacing="0" cellpadding="1" summary="add">
+ <tr>
+ <td><input onmouseover="fr_insline(<?=$nservices;?>, true)" onmouseout="fr_insline(<?=$nservices;?>, false)" name="move_<?=$i;?>" src="/themes/<?= $g['theme']; ?>/images/icons/icon_left.gif" title="<?=gettext("move selected services before this service");?>" height="17" type="image" width="17" border="0" /></td>
+ <td align="center" valign="middle"><a href="services_servicewatchdog.php?act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this service?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0" title="<?=gettext("delete service");?>" alt="delete" /></a></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+<?php
+ $i++;
+ $nservices++;
+endforeach;
+?>
<tr>
- <td><?php if ($nservices == 0): ?><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_left_d.gif" width="17" height="17" title="<?=gettext("move selected services to end"); ?>" border="0" alt="move" /><?php else: ?><input name="move_<?=$i;?>" type="image" src="/themes/<?= $g['theme']; ?>/images/icons/icon_left.gif" width="17" height="17" title="<?=gettext("move selected services to end");?>" border="0" alt="move" /><?php endif; ?></td>
+ <td class="list" colspan="4"></td>
+ <td class="list" valign="middle" nowrap>
+ <table border="0" cellspacing="0" cellpadding="1" summary="add">
+ <tr>
+ <td><?php if ($nservices == 0): ?><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_left_d.gif" width="17" height="17" title="<?=gettext("move selected services to end"); ?>" border="0" alt="move" /><?php else: ?><input name="move_<?=$i;?>" type="image" src="/themes/<?= $g['theme']; ?>/images/icons/icon_left.gif" width="17" height="17" title="<?=gettext("move selected services to end");?>" border="0" alt="move" /><?php endif; ?></td>
+ </tr>
+ <tr>
+ <td width="17">
+ <?php if (count($a_pwservices) == 0): ?>
+ <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x_d.gif" width="17" height="17" title="<?=gettext("delete selected services");?>" border="0" alt="delete" />
+ <?php else: ?>
+ <input name="del" type="image" src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" title="<?=gettext("delete selected services"); ?>" onclick="return confirm('<?=gettext("Do you really want to delete the selected services?");?>')" />
+ <?php endif; ?>
+ </td>
+ <td><a href="services_servicewatchdog_add.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0" title="<?=gettext("add new service"); ?>" alt="add" /></a></td>
+ </tr>
+ </table>
+ </td>
</tr>
<tr>
- <td width="17">
- <?php if (count($a_pwservices) == 0): ?>
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x_d.gif" width="17" height="17" title="<?=gettext("delete selected services");?>" border="0" alt="delete" />
- <?php else: ?>
- <input name="del" type="image" src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" title="<?=gettext("delete selected services"); ?>" onclick="return confirm('<?=gettext("Do you really want to delete the selected services?");?>')" />
- <?php endif; ?>
- </td>
- <td><a href="services_servicewatchdog_add.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0" title="<?=gettext("add new service"); ?>" alt="add" /></a></td>
+ <td></td>
+ <td colspan="4">
+ <?php echo gettext("Check Notify next to services to perform an e-mail notification when the service is restarted. Configure e-mail notifications to receive the alerts."); ?>
+ <br/>
+ <input name="Update" type="submit" class="formbtn" value="<?=gettext("Update Notification Settings"); ?>" />
+ <br/>
+ <br/>
+ </td>
+ <td></td>
</tr>
- </table>
- </td>
+ <tr>
+ <td></td>
+ <td colspan="4">
+ <?php echo gettext("Click to select a service and use the arrows to re-order them in the list. Higher services are checked first."); ?>
+ </td>
+ <td></td>
</tr>
- <tr><td></td><td colspan="4">
- <?php echo gettext("Check Notify next to services to perform an e-mail notification when the service is restarted. Configure e-mail notifications to receive the alerts."); ?>
- <br/>
- <input name="Update" type="submit" class="formbtn" value="<?=gettext("Update Notification Settings"); ?>" />
- <br/>
- <br/>
- </td><td></td></tr>
- <tr><td></td><td colspan="4">
- <?php echo gettext("Click to select a service and use the arrows to re-order them in the list. Higher services are checked first."); ?>
- </td><td></td></tr>
- </table>
+</table>
</div></td></tr>
</table>
</form>
diff --git a/config/servicewatchdog/services_servicewatchdog_add.php b/config/servicewatchdog/services_servicewatchdog_add.php
index 11e5e284..10f24797 100644
--- a/config/servicewatchdog/services_servicewatchdog_add.php
+++ b/config/servicewatchdog/services_servicewatchdog_add.php
@@ -55,7 +55,7 @@ unset($input_errors);
if ($_POST) {
if (!is_numeric($_POST['svcid']))
-
+ return;
if (!isset($system_services[$_POST['svcid']])) {
$input_errors[] = gettext("The supplied service appears to be invalid.");
@@ -72,7 +72,7 @@ if ($_POST) {
}
$closehead = false;
-$pgtitle = array(gettext("Services"),gettext("servicewatchdog"), gettext("Add"));
+$pgtitle = array(gettext("Services"), gettext("servicewatchdog"), gettext("Add"));
include("head.inc");
?>
diff --git a/config/servicewatchdog/servicewatchdog.inc b/config/servicewatchdog/servicewatchdog.inc
index 5b638836..817b92e0 100644
--- a/config/servicewatchdog/servicewatchdog.inc
+++ b/config/servicewatchdog/servicewatchdog.inc
@@ -7,23 +7,27 @@ require_once("notices.inc");
function servicewatchdog_service_matches($svc1, $svc2) {
/* If the arrays are equal, it must be the same service. */
- if ($svc1 == $svc2)
+ if ($svc1 == $svc2) {
return true;
+ }
/* If the names are different, they must not be the same. */
- if ($svc1['name'] != $svc2['name'])
+ if ($svc1['name'] != $svc2['name']) {
return false;
+ }
switch ($svc1['name']) {
case "openvpn":
- if (($svc1['mode'] == $svc2['mode']) && ($svc1['vpnid'] == $svc2['vpnid']))
+ if (($svc1['mode'] == $svc2['mode']) && ($svc1['vpnid'] == $svc2['vpnid'])) {
return true;
- else
+ } else {
return false;
+ }
break;
case "captiveportal":
- if ($svc1['zone'] == $svc2['zone'])
+ if ($svc1['zone'] == $svc2['zone']) {
return true;
- else
+ } else {
return false;
+ }
break;
default:
/* Other services must be the same if the name matches. */
@@ -39,12 +43,14 @@ function servicewatchdog_is_service_watched($svc) {
$a_pwservices = &$config['installedpackages']['servicewatchdog']['item'];
$blacklisted_services = array("cron");
- if (empty($svc['name']) || in_array($svc['name'], $blacklisted_services))
+ if (empty($svc['name']) || in_array($svc['name'], $blacklisted_services)) {
return true;
+ }
foreach ($a_pwservices as $a_svc) {
- if (servicewatchdog_service_matches($svc, $a_svc))
+ if (servicewatchdog_service_matches($svc, $a_svc)) {
return true;
+ }
}
return false;
}
@@ -77,8 +83,9 @@ function servicewatchdog_check_services() {
$descr = strlen($svc['description']) > 50 ? substr($svc['description'], 0, 50) . "..." : $svc['description'];
$error_message = "Service Watchdog detected service {$svc['name']} stopped. Restarting {$svc['name']} ({$descr})";
log_error($error_message);
- if (isset($svc['notify']))
+ if (isset($svc['notify'])) {
notify_via_smtp($error_message);
+ }
service_control_start($svc['name'], $svc);
}
}
diff --git a/config/servicewatchdog/servicewatchdog.xml b/config/servicewatchdog/servicewatchdog.xml
index 685ba997..5a1aebbb 100644
--- a/config/servicewatchdog/servicewatchdog.xml
+++ b/config/servicewatchdog/servicewatchdog.xml
@@ -40,7 +40,7 @@
<requirements>None</requirements>
<faq>Monitors for stopped services and restarts them.</faq>
<name>Service Watchdog</name>
- <version>1.6</version>
+ <version>1.7</version>
<title>Services: Service Watchdog</title>
<include_file>/usr/local/pkg/servicewatchdog.inc</include_file>
<menu>
diff --git a/config/servicewatchdog/servicewatchdog_cron.php b/config/servicewatchdog/servicewatchdog_cron.php
index 004afd97..9979917e 100644
--- a/config/servicewatchdog/servicewatchdog_cron.php
+++ b/config/servicewatchdog/servicewatchdog_cron.php
@@ -6,8 +6,9 @@ require_once("servicewatchdog.inc");
global $g;
/* Do nothing at bootup. */
-if ($g['booting'] || file_exists("{$g['varrun_path']}/booting"))
+if ($g['booting'] || file_exists("{$g['varrun_path']}/booting")) {
return;
+}
servicewatchdog_check_services();
?> \ No newline at end of file
diff --git a/config/systempatches/patches.inc b/config/systempatches/patches.inc
index 60c9a391..f47324c4 100644
--- a/config/systempatches/patches.inc
+++ b/config/systempatches/patches.inc
@@ -55,10 +55,11 @@ function patch_commit($patch, $action, $test=false, $fulldetail=false) {
$full_patch_command = "{$patch_cmd} --directory={$directory} {$force} {$pathstrip} {$filename} {$check} {$direction} {$whitespace}";
conf_mount_rw();
patch_write($patch);
- if (!$fulldetail)
+ if (!$fulldetail) {
$output = (mwexec($full_patch_command, true) == 0);
- else
+ } else {
$output = $full_patch_command . "\n\n" . shell_exec($full_patch_command . ' 2>&1');
+ }
patch_erase($patch);
conf_mount_ro();
return $output;
@@ -158,8 +159,9 @@ function bootup_apply_patches() {
foreach ($a_patches as $patch) {
/* Skip the patch if it should not be automatically applied. */
- if (!isset($patch['autoapply']))
+ if (!isset($patch['autoapply'])) {
continue;
+ }
/* If the patch can be reverted it is already applied, so skip it. */
if (!patch_test_revert($patch)) {
/* Only attempt to apply if it can be applied. */
@@ -173,12 +175,15 @@ function bootup_apply_patches() {
function patch_add_shellcmd() {
global $config;
$a_earlyshellcmd = &$config['system']['earlyshellcmd'];
- if (!is_array($a_earlyshellcmd))
+ if (!is_array($a_earlyshellcmd)) {
$a_earlyshellcmd = array();
+ }
$found = false;
- foreach ($a_earlyshellcmd as $idx => $cmd)
- if (stristr($cmd, "apply_patches.php"))
+ foreach ($a_earlyshellcmd as $idx => $cmd) {
+ if (stristr($cmd, "apply_patches.php")) {
$found = true;
+ }
+ }
if (!$found) {
$a_earlyshellcmd[] = "/usr/local/bin/php -f /usr/local/bin/apply_patches.php";
write_config("System Patches package added a shellcmd");
@@ -188,8 +193,9 @@ function patch_add_shellcmd() {
function patch_remove_shellcmd() {
global $config;
$a_earlyshellcmd = &$config['system']['earlyshellcmd'];
- if (!is_array($a_earlyshellcmd))
+ if (!is_array($a_earlyshellcmd)) {
$a_earlyshellcmd = array();
+ }
$removed = false;
foreach ($a_earlyshellcmd as $idx => $cmd) {
if (stristr($cmd, "apply_patches.php")) {
@@ -197,8 +203,9 @@ function patch_remove_shellcmd() {
$removed = true;
}
}
- if ($removed)
+ if ($removed) {
write_config("System Patches package removed a shellcmd");
+ }
}
?>
diff --git a/config/systempatches/system_patches.php b/config/systempatches/system_patches.php
index 43c8c22b..feeee07e 100644
--- a/config/systempatches/system_patches.php
+++ b/config/systempatches/system_patches.php
@@ -41,14 +41,16 @@ require_once("functions.inc");
require_once("itemid.inc");
require_once("patches.inc");
-if (!is_array($config['installedpackages']['patches']['item']))
+if (!is_array($config['installedpackages']['patches']['item'])) {
$config['installedpackages']['patches']['item'] = array();
+}
$a_patches = &$config['installedpackages']['patches']['item'];
/* if a custom message has been passed along, lets process it */
-if ($_GET['savemsg'])
+if ($_GET['savemsg']) {
$savemsg = $_GET['savemsg'];
+}
if ($_POST) {
$pconfig = $_POST;
@@ -116,26 +118,31 @@ if (isset($_POST['del_x'])) {
/* copy all patches < $movebtn and not selected */
for ($i = 0; $i < $movebtn; $i++) {
- if (!in_array($i, $_POST['patch']))
+ if (!in_array($i, $_POST['patch'])) {
$a_patches_new[] = $a_patches[$i];
+ }
}
/* copy all selected patches */
for ($i = 0; $i < count($a_patches); $i++) {
- if ($i == $movebtn)
+ if ($i == $movebtn) {
continue;
- if (in_array($i, $_POST['patch']))
+ }
+ if (in_array($i, $_POST['patch'])) {
$a_patches_new[] = $a_patches[$i];
+ }
}
/* copy $movebtn patch */
- if ($movebtn < count($a_patches))
+ if ($movebtn < count($a_patches)) {
$a_patches_new[] = $a_patches[$movebtn];
+ }
/* copy all patches > $movebtn and not selected */
for ($i = $movebtn+1; $i < count($a_patches); $i++) {
- if (!in_array($i, $_POST['patch']))
+ if (!in_array($i, $_POST['patch'])) {
$a_patches_new[] = $a_patches[$i];
+ }
}
$a_patches = $a_patches_new;
write_config();
@@ -164,41 +171,47 @@ include("head.inc");
<table width="100%" border="0" cellpadding="0" cellspacing="0" summary="system patches">
<tr><td><div id="mainarea">
<table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0" summary="main area">
-<tr><td colspan="8" align="center">
-<?php echo gettext("This page allows you to add patches, either from the official code repository or ones pasted in from e-mail or other sources."); ?>
-<br/><br/>
-<strong><?php echo gettext("Use with caution!"); ?></strong>
-<br/><br/>
+ <tr>
+ <td colspan="8" align="center">
+ <?php echo gettext("This page allows you to add patches, either from the official code repository or ones pasted in from e-mail or other sources."); ?>
+ <br/><br/>
+ <strong><?php echo gettext("Use with caution!"); ?></strong>
+ <br/><br/>
<?php if (!empty($fulldetail)): ?>
-</td></tr>
-<tr><td></td><td colspan="7" align="left">Output of full patch <?php echo $_GET['fulltest']; ?> test:
-<pre><?php echo $fulldetail; ?></pre>
-<a href="system_patches.php">Close</a><br/><br/>
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="7" align="left">Output of full patch <?php echo $_GET['fulltest']; ?> test:
+ <pre><?php echo $fulldetail; ?></pre>
+ <a href="system_patches.php">Close</a><br/><br/>
<?php endif; ?>
-</td></tr>
-<tr id="frheader">
-<td width="5%" class="list">&nbsp;</td>
-<td width="5%" class="listhdrr"><?=gettext("Description");?></td>
-<td width="60%" class="listhdrr"><?=gettext("URL/ID");?></td>
-<td width="5%" class="listhdrr"><?=gettext("Fetch");?></td>
-<td width="5%" class="listhdrr"><?=gettext("Test");?></td>
-<td width="5%" class="listhdrr"><?=gettext("Apply");?></td>
-<td width="5%" class="listhdr"><?=gettext("Revert");?></td>
-<td width="5%" class="listhdr"><?=gettext("Auto Apply");?></td>
-<td width="5%" class="list">
-<table border="0" cellspacing="0" cellpadding="1" summary="buttons">
- <tr><td width="17">
- <?php if (count($a_patches) == 0): ?>
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x_d.gif" width="17" height="17" title="<?=gettext("delete selected patches");?>" border="0" alt="delete" />
- <?php else: ?>
- <input name="del" type="image" src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" title="<?=gettext("delete selected patches"); ?>" onclick="return confirm('<?=gettext("Do you really want to delete the selected patches?");?>')" />
- <?php endif; ?>
- </td>
- <td><a href="system_patches_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0" title="<?=gettext("add new patch"); ?>" alt="add" /></a></td>
+ </td>
+ </tr>
+ <tr id="frheader">
+ <td width="5%" class="list">&nbsp;</td>
+ <td width="5%" class="listhdrr"><?=gettext("Description");?></td>
+ <td width="60%" class="listhdrr"><?=gettext("URL/ID");?></td>
+ <td width="5%" class="listhdrr"><?=gettext("Fetch");?></td>
+ <td width="5%" class="listhdrr"><?=gettext("Test");?></td>
+ <td width="5%" class="listhdrr"><?=gettext("Apply");?></td>
+ <td width="5%" class="listhdr"><?=gettext("Revert");?></td>
+ <td width="5%" class="listhdr"><?=gettext("Auto Apply");?></td>
+ <td width="5%" class="list">
+ <table border="0" cellspacing="0" cellpadding="1" summary="buttons">
+ <tr>
+ <td width="17">
+ <?php if (count($a_patches) == 0): ?>
+ <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x_d.gif" width="17" height="17" title="<?=gettext("delete selected patches");?>" border="0" alt="delete" />
+ <?php else: ?>
+ <input name="del" type="image" src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" title="<?=gettext("delete selected patches"); ?>" onclick="return confirm('<?=gettext("Do you really want to delete the selected patches?");?>')" />
+ <?php endif; ?>
+ </td>
+ <td><a href="system_patches_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0" title="<?=gettext("add new patch"); ?>" alt="add" /></a></td>
+ </tr>
+ </table>
+ </td>
</tr>
-</table>
-</td>
-</tr>
<?php
$npatches = $i = 0;
@@ -208,83 +221,93 @@ foreach ($a_patches as $thispatch):
?>
<tr valign="top" id="fr<?=$npatches;?>">
- <td class="listt"><input type="checkbox" id="frc<?=$npatches;?>" name="patch[]" value="<?=$i;?>" onClick="fr_bgcolor('<?=$npatches;?>')" style="margin: 0; padding: 0; width: 15px; height: 15px;" /></td>
- <td class="listlr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
- <?=$thispatch['descr'];?>
- </td>
- <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
-
- <?php
- if (!empty($thispatch['location']))
- echo $thispatch['location'];
- elseif (!empty($thispatch['patch']))
- echo gettext("Saved Patch");
- ?>
- </td>
- <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
- <?php if (empty($thispatch['patch'])): ?>
- <a href="system_patches.php?id=<?=$i;?>&amp;act=fetch"><?php echo gettext("Fetch"); ?></a>
- <?php elseif (!empty($thispatch['location'])): ?>
- <a href="system_patches.php?id=<?=$i;?>&amp;act=fetch"><?php echo gettext("Re-Fetch"); ?></a>
- <?php endif; ?>
- </td>
- <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
- <?php if (!empty($thispatch['patch'])): ?>
- <a href="system_patches.php?id=<?=$i;?>&amp;act=test"><?php echo gettext("Test"); ?></a>
- <?php endif; ?>
- </td>
- <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
- <?php if ($can_apply): ?>
- <a href="system_patches.php?id=<?=$i;?>&amp;act=apply"><?php echo gettext("Apply"); ?></a>
- <?php endif; ?>
- </td>
- <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
- <?php if ($can_revert): ?>
- <a href="system_patches.php?id=<?=$i;?>&amp;act=revert"><?php echo gettext("Revert"); ?></a>
- <?php endif; ?>
- </td>
- <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
- <?= isset($thispatch['autoapply']) ? "Yes" : "No" ?>
- </td>
- <td valign="middle" class="list" nowrap>
- <table border="0" cellspacing="0" cellpadding="1" summary="edit">
- <tr>
- <td><input onmouseover="fr_insline(<?=$npatches;?>, true)" onmouseout="fr_insline(<?=$npatches;?>, false)" name="move_<?=$i;?>" src="/themes/<?= $g['theme']; ?>/images/icons/icon_left.gif" title="<?=gettext("move selected patches before this patch");?>" height="17" type="image" width="17" border="0" /></td>
- <td><a href="system_patches_edit.php?id=<?=$i;?>"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0" title="<?=gettext("edit patch"); ?>" alt="edit" /></a></td>
- </tr>
- <tr>
- <td align="center" valign="middle"><a href="system_patches.php?act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this patch?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0" title="<?=gettext("delete patch");?>" alt="delete" /></a></td>
- <td></td>
- </tr>
- </table>
- </td></tr>
-<?php $i++; $npatches++; endforeach; ?>
- <tr>
- <td class="list" colspan="8"></td>
- <td class="list" valign="middle" nowrap>
- <table border="0" cellspacing="0" cellpadding="1" summary="edit">
- <tr>
- <td><?php if ($npatches == 0): ?><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_left_d.gif" width="17" height="17" title="<?=gettext("move selected patches to end"); ?>" border="0" alt="move" /><?php else: ?><input name="move_<?=$i;?>" type="image" src="/themes/<?= $g['theme']; ?>/images/icons/icon_left.gif" width="17" height="17" title="<?=gettext("move selected patches to end");?>" border="0" alt="move" /><?php endif; ?></td>
+ <td class="listt"><input type="checkbox" id="frc<?=$npatches;?>" name="patch[]" value="<?=$i;?>" onClick="fr_bgcolor('<?=$npatches;?>')" style="margin: 0; padding: 0; width: 15px; height: 15px;" /></td>
+ <td class="listlr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
+ <?=$thispatch['descr'];?>
+ </td>
+ <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
+
+ <?php
+ if (!empty($thispatch['location'])) {
+ echo $thispatch['location'];
+ } elseif (!empty($thispatch['patch'])) {
+ echo gettext("Saved Patch");
+ }
+ ?>
+ </td>
+ <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
+ <?php if (empty($thispatch['patch'])): ?>
+ <a href="system_patches.php?id=<?=$i;?>&amp;act=fetch"><?php echo gettext("Fetch"); ?></a>
+ <?php elseif (!empty($thispatch['location'])): ?>
+ <a href="system_patches.php?id=<?=$i;?>&amp;act=fetch"><?php echo gettext("Re-Fetch"); ?></a>
+ <?php endif; ?>
+ </td>
+ <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
+ <?php if (!empty($thispatch['patch'])): ?>
+ <a href="system_patches.php?id=<?=$i;?>&amp;act=test"><?php echo gettext("Test"); ?></a>
+ <?php endif; ?>
+ </td>
+ <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
+ <?php if ($can_apply): ?>
+ <a href="system_patches.php?id=<?=$i;?>&amp;act=apply"><?php echo gettext("Apply"); ?></a>
+ <?php endif; ?>
+ </td>
+ <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
+ <?php if ($can_revert): ?>
+ <a href="system_patches.php?id=<?=$i;?>&amp;act=revert"><?php echo gettext("Revert"); ?></a>
+ <?php endif; ?>
+ </td>
+ <td class="listr" onclick="fr_toggle(<?=$npatches;?>)" id="frd<?=$npatches;?>" ondblclick="document.location='system_patches_edit.php?id=<?=$npatches;?>';">
+ <?= isset($thispatch['autoapply']) ? "Yes" : "No" ?>
+ </td>
+ <td valign="middle" class="list" nowrap>
+ <table border="0" cellspacing="0" cellpadding="1" summary="edit">
+ <tr>
+ <td><input onmouseover="fr_insline(<?=$npatches;?>, true)" onmouseout="fr_insline(<?=$npatches;?>, false)" name="move_<?=$i;?>" src="/themes/<?= $g['theme']; ?>/images/icons/icon_left.gif" title="<?=gettext("move selected patches before this patch");?>" height="17" type="image" width="17" border="0" /></td>
+ <td><a href="system_patches_edit.php?id=<?=$i;?>"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0" title="<?=gettext("edit patch"); ?>" alt="edit" /></a></td>
+ </tr>
+ <tr>
+ <td align="center" valign="middle"><a href="system_patches.php?act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this patch?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0" title="<?=gettext("delete patch");?>" alt="delete" /></a></td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
</tr>
+<?php
+ $i++;
+ $npatches++;
+endforeach;
+?>
<tr>
- <td width="17">
- <?php if (count($a_patches) == 0): ?>
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x_d.gif" width="17" height="17" title="<?=gettext("delete selected patches");?>" border="0" alt="delete" />
- <?php else: ?>
- <input name="del" type="image" src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" title="<?=gettext("delete selected patches"); ?>" onclick="return confirm('<?=gettext("Do you really want to delete the selected patches?");?>')" />
- <?php endif; ?>
- </td>
- <td><a href="system_patches_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0" title="<?=gettext("add new patch"); ?>" alt="add" /></a></td>
+ <td class="list" colspan="8"></td>
+ <td class="list" valign="middle" nowrap>
+ <table border="0" cellspacing="0" cellpadding="1" summary="edit">
+ <tr>
+ <td><?php if ($npatches == 0): ?><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_left_d.gif" width="17" height="17" title="<?=gettext("move selected patches to end"); ?>" border="0" alt="move" /><?php else: ?><input name="move_<?=$i;?>" type="image" src="/themes/<?= $g['theme']; ?>/images/icons/icon_left.gif" width="17" height="17" title="<?=gettext("move selected patches to end");?>" border="0" alt="move" /><?php endif; ?></td>
+ </tr>
+ <tr>
+ <td width="17">
+ <?php if (count($a_patches) == 0): ?>
+ <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x_d.gif" width="17" height="17" title="<?=gettext("delete selected patches");?>" border="0" alt="delete" />
+ <?php else: ?>
+ <input name="del" type="image" src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" title="<?=gettext("delete selected patches"); ?>" onclick="return confirm('<?=gettext("Do you really want to delete the selected patches?");?>')" />
+ <?php endif; ?>
+ </td>
+ <td><a href="system_patches_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0" title="<?=gettext("add new patch"); ?>" alt="add" /></a></td>
+ </tr>
+ </table>
+ </td>
</tr>
- </table>
- </td>
+ <tr>
+ <td></td>
+ <td colspan="6">
+ <?php echo gettext("NOTE: Each patch is tested, and the appropriate action is shown. If neither 'Apply' or 'Revert' shows up, the patch cannot be used (check the pathstrip and whitespace options)."); ?>
+ <br/><br/>
+ <?php echo gettext("Use the 'Test' link to see if a patch can be applied or reverted. You can reorder patches so that higher patches apply later than lower patches."); ?>
+ </td>
+ <td></td>
</tr>
- <tr><td></td><td colspan="6">
- <?php echo gettext("NOTE: Each patch is tested, and the appropriate action is shown. If neither 'Apply' or 'Revert' shows up, the patch cannot be used (check the pathstrip and whitespace options)."); ?>
- <br/><br/>
- <?php echo gettext("Use the 'Test' link to see if a patch can be applied or reverted. You can reorder patches so that higher patches apply later than lower patches."); ?>
- </td><td></td></tr>
- </table>
+</table>
</div></td></tr>
</table>
</form>
diff --git a/config/systempatches/system_patches_edit.php b/config/systempatches/system_patches_edit.php
index 3e63038e..9e1f7a49 100644
--- a/config/systempatches/system_patches_edit.php
+++ b/config/systempatches/system_patches_edit.php
@@ -46,8 +46,9 @@ if (!is_array($config['installedpackages']['patches']['item'])) {
$a_patches = &$config['installedpackages']['patches']['item'];
$id = $_GET['id'];
-if (isset($_POST['id']))
+if (isset($_POST['id'])) {
$id = $_POST['id'];
+}
if (isset($_GET['dup'])) {
$id = $_GET['dup'];
@@ -69,8 +70,9 @@ if (isset($id) && $a_patches[$id]) {
$pconfig['ignorewhitespace'] = true;
}
-if (isset($_GET['dup']))
+if (isset($_GET['dup'])) {
unset($id);
+}
unset($input_errors);
@@ -87,10 +89,11 @@ if ($_POST) {
}
$pf_version=substr(trim(file_get_contents("/etc/version")),0,3);
- if ($pf_version < 2.1)
+ if ($pf_version < 2.1) {
$input_errors = eval('do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); return $input_errors;');
- else
+ } else {
do_input_validation($_POST, $reqdfields, $reqdfieldsn, $input_errors);
+ }
if (!empty($_POST['location']) && !is_commit_id($_POST['location']) && !is_URL($_POST['location'])) {
$input_errors[] = gettext("The supplied commit ID/URL appears to be invalid.");
@@ -111,10 +114,11 @@ if ($_POST) {
/* Strip DOS style carriage returns from textarea input */
$thispatch['patch'] = base64_encode(str_replace("\r", "", $_POST['patch']));
}
- if (is_github_url($thispatch['location']) && ($_POST['pathstrip'] == 0))
+ if (is_github_url($thispatch['location']) && ($_POST['pathstrip'] == 0)) {
$thispatch['pathstrip'] = 1;
- else
+ } else {
$thispatch['pathstrip'] = $_POST['pathstrip'];
+ }
$thispatch['basedir'] = empty($_POST['basedir']) ? "/" : $_POST['basedir'];
$thispatch['ignorewhitespace'] = isset($_POST['ignorewhitespace']);
$thispatch['autoapply'] = isset($_POST['autoapply']);
@@ -125,18 +129,20 @@ if ($_POST) {
}
// Update the patch entry now
- if (isset($id) && $a_patches[$id])
+ if (isset($id) && $a_patches[$id]) {
$a_patches[$id] = $thispatch;
- else {
- if (is_numeric($after))
+ } else {
+ if (is_numeric($after)) {
array_splice($a_patches, $after+1, 0, array($thispatch));
- else
+ } else {
$a_patches[] = $thispatch;
+ }
}
write_config();
- if ($thispatch['autoapply'])
+ if ($thispatch['autoapply']) {
patch_add_shellcmd();
+ }
header("Location: system_patches.php");
return;
}
diff --git a/config/systempatches/systempatches.xml b/config/systempatches/systempatches.xml
index 3cc1354a..ad7f5953 100644
--- a/config/systempatches/systempatches.xml
+++ b/config/systempatches/systempatches.xml
@@ -10,17 +10,18 @@
part of pfSense (http://www.pfSense.com)
Copyright (C) 2012 Jim Pingle
All rights reserved.
+*/
/* ========================================================================== */
/*
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
@@ -32,7 +33,7 @@
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
- */
+*/
/* ========================================================================== */
]]>
</copyright>
@@ -40,7 +41,7 @@
<requirements>None</requirements>
<faq>Applies patches supplied by the user to the firewall.</faq>
<name>System Patches</name>
- <version>1.0.3</version>
+ <version>1.0.4</version>
<title>System: Patches</title>
<include_file>/usr/local/pkg/patches.inc</include_file>
<menu>
diff --git a/config/vnstat2/vnstat2.inc b/config/vnstat2/vnstat2.inc
index ca8d869d..89a8b7c2 100644
--- a/config/vnstat2/vnstat2.inc
+++ b/config/vnstat2/vnstat2.inc
@@ -1,15 +1,42 @@
<?php
+/*
+ vnstat2.inc
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2010 PerryMason
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
require_once("util.inc");
function vnstat_install_deinstall() {
conf_mount_rw();
global $config;
// Remove Vnstat package and files
- exec("rm -d -R /usr/local/www/vnstat2");
- exec("rm -d -R /usr/local/www/vnstati");
- exec("rm -d -R /usr/local/pkg/vnstat2");
- exec("rm /usr/local/etc/vnstat.conf");
+ exec("/bin/rm -d -R /usr/local/www/vnstat2");
+ exec("/bin/rm -d -R /usr/local/www/vnstati");
+ exec("/bin/rm -d -R /usr/local/pkg/vnstat2");
+ exec("/bin/rm /usr/local/etc/vnstat.conf");
// Remove vnstat cron entry from config.xml
vnstat2_install_cron(false);
conf_mount_ro();
@@ -22,29 +49,29 @@ function vnstat2_install_cron($vnstat_cron_value) {
return;
}
$x=0;
- foreach($config['cron']['item'] as $item) {
+ foreach ($config['cron']['item'] as $item) {
if (strstr($item['command'], "/usr/local/pkg/vnstat2/vnstat2.sh")) {
$is_installed = true;
break;
}
$x++;
}
- switch($vnstat_cron_value) {
+ switch ($vnstat_cron_value) {
case true:
if (!$is_installed) {
$cron_item = array();
- $cron_item['minute'] = "*/1";
- $cron_item['hour'] = "*";
- $cron_item['mday'] = "*";
- $cron_item['month'] = "*";
- $cron_item['wday'] = "*";
- $cron_item['who'] = "root";
- $cron_item['command'] = "/usr/local/pkg/vnstat2/vnstat2.sh";
+ $cron_item['minute'] = "*/1";
+ $cron_item['hour'] = "*";
+ $cron_item['mday'] = "*";
+ $cron_item['month'] = "*";
+ $cron_item['wday'] = "*";
+ $cron_item['who'] = "root";
+ $cron_item['command'] = "/usr/local/pkg/vnstat2/vnstat2.sh";
$config['cron']['item'][] = $cron_item;
write_config();
configure_cron();
}
- break;
+ break;
case false:
if ($is_installed == true) {
if ($x > 0) {
@@ -53,7 +80,7 @@ function vnstat2_install_cron($vnstat_cron_value) {
}
configure_cron();
}
- break;
+ break;
}
}
@@ -61,14 +88,14 @@ function change_vnstat_conf() {
conf_mount_rw();
global $config;
$config['installedpackages']['vnstat2']['config'][0]['monthrotate'] = $_POST['monthrotate'];
- $config['installedpackages']['vnstat2']['config'][0]['vnstat_phpfrontend'] = $_POST['vnstat_phpfrontend'];
+ $config['installedpackages']['vnstat2']['config'][0]['vnstat_phpfrontend'] = $_POST['vnstat_phpfrontend'];
write_conf_f();
write_config();
if ($config['installedpackages']['vnstat2']['config'][0]['vnstat_phpfrontend'] == "on") {
vnstat_php_frontend();
} else {
- exec("[ -d /usr/local/www/vnstat2 ] && rm -d -R /usr/local/www/vnstat2");
+ exec("[ -d /usr/local/www/vnstat2 ] && /bin/rm -d -R /usr/local/www/vnstat2");
}
conf_mount_ro();
}
@@ -77,9 +104,9 @@ function write_conf_f() {
global $config;
$monthrotate = $config['installedpackages']['vnstat2']['config'][0]['monthrotate'];
- // ************ Write new vnstat.conf *****************
+ // Write new vnstat.conf
$vnstat_conf_file = <<<EOF
-# vnStat 1.10 config file
+# vnStat 1.12 config file
##
# location of the database directory
@@ -106,7 +133,7 @@ CRxD "-"
CTxD "-"
EOF;
- $hf2 = fopen("/usr/local/etc/vnstat.conf","w");
+ $hf2 = fopen("/usr/local/etc/vnstat.conf", "w");
if (!$hf2) {
log_error("could not open /usr/local/etc/vnstat.conf for writing");
exit;
@@ -124,11 +151,11 @@ function create_vnstati_image() {
$iface = $_POST['vnstat_interface'];
$ifaces_final = convert_friendly_interface_to_real_interface_name($iface);
$config['installedpackages']['vnstat2']['config'][0]['vnstat_interface'] = $ifaces_final;
- @mkdir($vnstat_tmp);
- exec("/usr/local/bin/vnstati -i ". escapeshellarg($ifaces_final) ." -vs -o {$vnstat_tmp}/newpicture1.png");
- exec("/usr/local/bin/vnstati -i ". escapeshellarg($ifaces_final) ." -m -o {$vnstat_tmp}/newpicture2.png");
- exec("/usr/local/bin/vnstati -i ". escapeshellarg($ifaces_final) ." -d -o {$vnstat_tmp}/newpicture3.png");
- exec("/usr/local/bin/vnstati -i ". escapeshellarg($ifaces_final) ." -t -o {$vnstat_tmp}/newpicture4.png");
+ safe_mkdir($vnstat_tmp);
+ exec("/usr/local/bin/vnstati -i " . escapeshellarg($ifaces_final) . " -vs -o {$vnstat_tmp}/newpicture1.png");
+ exec("/usr/local/bin/vnstati -i " . escapeshellarg($ifaces_final) . " -m -o {$vnstat_tmp}/newpicture2.png");
+ exec("/usr/local/bin/vnstati -i " . escapeshellarg($ifaces_final) . " -d -o {$vnstat_tmp}/newpicture3.png");
+ exec("/usr/local/bin/vnstati -i " . escapeshellarg($ifaces_final) . " -t -o {$vnstat_tmp}/newpicture4.png");
write_config();
conf_mount_ro();
}
@@ -136,7 +163,7 @@ function create_vnstati_image() {
function create_vnstat_output() {
conf_mount_rw();
global $config;
- $iface2 = $_POST['vnstat_interface2'];
+ $iface2 = $_POST['vnstat_interface2'];
$ifaces_final2 = convert_friendly_interface_to_real_interface_name($iface2);
$config['installedpackages']['vnstat2']['config'][0]['vnstat_interface2'] = $ifaces_final2;
write_config();
@@ -144,7 +171,7 @@ function create_vnstat_output() {
}
function vnstat_link_config() {
- // Check for pbi install and arch type then create symlinks
+ // Check for PBI install and arch type, then create symlinks
if (file_exists('/usr/pbi/vnstat-' . php_uname("m"))) {
$conf_path = "/usr/local/etc/vnstat.conf";
$pbi_conf_path = "/usr/pbi/vnstat-" . php_uname("m") . "/etc/vnstat.conf";
@@ -157,7 +184,7 @@ function vnstat_create_nic_dbs() {
global $config;
conf_mount_rw();
$vnstat_db_prefix = "/conf/vnstat";
- @mkdir($vnstat_db_prefix);
+ safe_mkdir($vnstat_db_prefix);
// Locate NICs and create associated databases
$array_of_real_nic_names = array();
@@ -189,9 +216,8 @@ function vnstat_install_config() {
if (is_dir("/usr/local/pkg/vnstat2/vnstat")) {
@rename("/usr/local/pkg/vnstat2/vnstat", $vnstat_db_prefix);
}
- if (!is_dir($vnstat_db_prefix)) {
- @mkdir($vnstat_db_prefix);
- }
+ safe_mkdir($vnstat_db_prefix);
+
vnstat_link_config();
// Add MonthRotate value to config.xml and write /usr/local/etc/vnstat.conf
if ($config['installedpackages']['vnstat2']['config'][0]['monthrotate'] == "") {
@@ -212,9 +238,9 @@ function vnstat_php_frontend() {
global $config;
// Copy vnstat_php_frontend to www
exec("/bin/cp -a /usr/local/pkg/vnstat2/vnstat_php_frontend/. /usr/local/www/vnstat2/");
- // Find information to be writing in config.php
+ // Find information to be written in config.php
// $iface_list_array_items
- exec("ls /conf/vnstat/ | grep -v '\.'", $vnstat_nic_in);
+ exec("/bin/ls /conf/vnstat/ | /usr/bin/grep -v '\.'", $vnstat_nic_in);
$iface_list_array_items = implode("', '", $vnstat_nic_in);
$iface_list_array = "\$iface_list = array('$iface_list_array_items');";
// $iface_title_array_items
@@ -235,8 +261,8 @@ function vnstat_php_frontend() {
}
}
$iface_title_array = implode($iface_title_array_items2);
- // php in php static items
- // added to new items for the front end version 1.5.1
+ // PHP in static items
+ // Added to new items for the front end version 1.5.1
$locale = "\$locale = 'en_US.UTF-8';";
$language = "\$language = 'en';";
$vnstat_bin2 = "\$vnstat_bin = '/usr/local/bin/vnstat';";
@@ -245,7 +271,7 @@ function vnstat_php_frontend() {
$colorscheme2 = "\$colorscheme['light'] = array(";
$colorscheme3 = "\$colorscheme['red'] = array(";
$colorscheme4 = "\$colorscheme['pfSense'] = array(";
- // ************ Write new config.php ******************
+ // Write new config.php
$config_file = <<<EOF
<?php
//
@@ -320,7 +346,7 @@ function vnstat_php_frontend() {
?>
EOF;
- $hf = fopen("/usr/local/www/vnstat2/config.php","w");
+ $hf = fopen("/usr/local/www/vnstat2/config.php", "w");
if (!$hf) {
log_error("could not open /usr/local/www/vnstat2/config.php for writing");
exit;
diff --git a/config/vnstat2/vnstat2.xml b/config/vnstat2/vnstat2.xml
index f696850a..7e65d465 100644
--- a/config/vnstat2/vnstat2.xml
+++ b/config/vnstat2/vnstat2.xml
@@ -1,19 +1,53 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
-<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
+<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
<packagegui>
- <copyright></copyright>
- <description>Describe your package here</description>
- <requirements>Describe your package requirements here</requirements>
- <faq>Currently there are no FAQ items provided.</faq>
+ <copyright>
+ <![CDATA[
+/* $Id$ */
+/* ====================================================================================== */
+/*
+ vnstat2.xml
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 PerryMason
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+*/
+/* ====================================================================================== */
+/*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ====================================================================================== */
+ ]]>
+ </copyright>
<name>vnstat2</name>
- <version>11.2,3</version>
+ <version>1.12.5</version>
<title>Vnstat2</title>
<aftersaveredirect>/pkg_edit.php?xml=vnstat2.xml&amp;id=0</aftersaveredirect>
<include_file>/usr/local/pkg/vnstat2/vnstat2.inc</include_file>
<menu>
<name>Vnstat2</name>
- <tooltiptext></tooltiptext>
<section>Status</section>
<url>/pkg_edit.php?xml=vnstat2.xml&amp;id=0</url>
</menu>
@@ -42,17 +76,14 @@
</tabs>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat2.inc</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstati.xml</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstatoutput.xml</item>
</additional_files_needed>
<additional_files_needed>
@@ -62,137 +93,110 @@
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/www/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/www/diag_vnstat.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/www/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/www/diag_vnstat2.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/www/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/www/vnstat2_img.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/www/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/www/vnstati.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/lang/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/lang/cs.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/lang/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/lang/en.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/lang/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/lang/nl.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/dark/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/dark/style.css</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/dark/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/dark/theme.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/espresso/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/espresso/style.css</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/espresso/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/espresso/theme.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/light/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/light/style.css</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/light/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/light/theme.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/pfSense/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/pfSense/style.css</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/pfSense/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/pfSense/theme.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/red/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/red/style.css</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/themes/red/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/themes/red/theme.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/config.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/COPYING</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/graph.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/graph_svg.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/index.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/localize.php</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/README</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/vera_copyright.txt</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/VeraBd.ttf</item>
</additional_files_needed>
<additional_files_needed>
<prefix>/usr/local/pkg/vnstat2/vnstat_php_frontend/</prefix>
- <chmod>0644</chmod>
<item>https://packages.pfsense.org/packages/config/vnstat2/vnstat_php_frontend/vnstat.php</item>
</additional_files_needed>
<fields>
@@ -235,14 +239,13 @@
</options>
</field>
<field>
- <description>Enable vnstat php frontend (Note that no login will be needed)</description>
- <fielddescr>Enable php frontend for vnstat</fielddescr>
+ <description>Enable vnstat PHP frontend</description>
+ <fielddescr>Enable PHP frontend for vnstat. (Note that no login will be needed.)</fielddescr>
<fieldname>vnstat_phpfrontend</fieldname>
<type>checkbox</type>
</field>
</fields>
<custom_add_php_command>change_vnstat_conf();</custom_add_php_command>
- <custom_php_resync_config_command></custom_php_resync_config_command>
<custom_php_install_command>vnstat_install_config();</custom_php_install_command>
<custom_php_deinstall_command>vnstat_install_deinstall();</custom_php_deinstall_command>
</packagegui>
diff --git a/config/vnstat2/vnstati.xml b/config/vnstat2/vnstati.xml
index 84a104dd..b395e65f 100644
--- a/config/vnstat2/vnstati.xml
+++ b/config/vnstat2/vnstati.xml
@@ -1,19 +1,53 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
-<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
+<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
<packagegui>
- <copyright></copyright>
- <description>Describe your package here</description>
- <requirements>Describe your package requirements here</requirements>
- <faq>Currently there are no FAQ items provided.</faq>
+ <copyright>
+ <![CDATA[
+/* $Id$ */
+/* ====================================================================================== */
+/*
+ vnstati.xml
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2010 PerryMason
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+*/
+/* ====================================================================================== */
+/*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ====================================================================================== */
+ ]]>
+ </copyright>
<name>vnstat2</name>
- <version>1.0</version>
+ <version>1.12.5</version>
<title>Vnstat2</title>
<aftersaveredirect>/vnstati.php</aftersaveredirect>
<include_file>/usr/local/pkg/vnstat2/vnstat2.inc</include_file>
<menu>
<name>vnstat2</name>
- <tooltiptext></tooltiptext>
<section>Status</section>
<url>/pkg_edit.php?xml=vnstat2.xml&amp;id=0</url>
</menu>
@@ -48,9 +82,7 @@
<type>interfaces_selection</type>
</field>
</fields>
- <custom_php_global_functions></custom_php_global_functions>
<custom_add_php_command>create_vnstati_image();</custom_add_php_command>
- <custom_php_resync_config_command></custom_php_resync_config_command>
<custom_php_install_command>vnstat_install_config();</custom_php_install_command>
<custom_php_deinstall_command>vnstat_install_deinstall();</custom_php_deinstall_command>
</packagegui>
diff --git a/config/vnstat2/vnstatoutput.xml b/config/vnstat2/vnstatoutput.xml
index 5062be1f..297c171a 100644
--- a/config/vnstat2/vnstatoutput.xml
+++ b/config/vnstat2/vnstatoutput.xml
@@ -1,19 +1,53 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
-<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
+<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
<packagegui>
- <copyright></copyright>
- <description>Describe your package here</description>
- <requirements>Describe your package requirements here</requirements>
- <faq>Currently there are no FAQ items provided.</faq>
+ <copyright>
+ <![CDATA[
+/* $Id$ */
+/* ====================================================================================== */
+/*
+ vnstatoutput.xml
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 PerryMason
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+*/
+/* ====================================================================================== */
+/*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ====================================================================================== */
+ ]]>
+ </copyright>
<name>vnstat2</name>
- <version>1.0</version>
+ <version>1.12.5</version>
<title>Vnstat2</title>
<aftersaveredirect>/diag_vnstat2.php</aftersaveredirect>
<include_file>/usr/local/pkg/vnstat2/vnstat2.inc</include_file>
<menu>
<name>vnstat2</name>
- <tooltiptext></tooltiptext>
<section>Status</section>
<url>/pkg_edit.php?xml=vnstat2.xml&amp;id=0</url>
</menu>
@@ -48,9 +82,7 @@
<type>interfaces_selection</type>
</field>
</fields>
- <custom_php_global_functions></custom_php_global_functions>
<custom_add_php_command>create_vnstat_output();</custom_add_php_command>
- <custom_php_resync_config_command></custom_php_resync_config_command>
<custom_php_install_command>vnstat_install_config();</custom_php_install_command>
<custom_php_deinstall_command>vnstat_install_deinstall();</custom_php_deinstall_command>
</packagegui>
diff --git a/config/vnstat2/www/diag_vnstat.php b/config/vnstat2/www/diag_vnstat.php
index 5e6524c7..e5014120 100644
--- a/config/vnstat2/www/diag_vnstat.php
+++ b/config/vnstat2/www/diag_vnstat.php
@@ -1,8 +1,9 @@
<?php
-/* $Id$ */
/*
- diag_pf_info.php
- Copyright (C) 2010 Scott Ullrich
+ diag_vnstat.php
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 PerryMason
+ Copyright (C) 2015 ESF, LLC
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -26,26 +27,10 @@
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
-
-/*
- pfSense_BUILDER_BINARIES: /usr/bin/top
- pfSense_MODULE: system
-*/
-
-##|+PRIV
-##|*IDENT=page-diag-system-activity
-##|*NAME=Diagnostics: System Activity
-##|*DESCR=Allows access to the 'Diagnostics: System Activity' page
-##|*MATCH=diag_system_activity*
-##|-PRIV
-
-require("guiconfig.inc");
-
-$pf_version=substr(trim(file_get_contents("/etc/version")),0,3);
-
-$pgtitle = gettext("Vnstat2 summary ");
+require_once("guiconfig.inc");
+$pgtitle = gettext("Vnstat2 summary");
if ($_REQUEST['getactivity']) {
- $text = `vnstat`;
+ $text = shell_exec("/usr/local/bin/vnstat");
$text .= "<p/>";
echo $text;
exit;
@@ -55,8 +40,8 @@ include("head.inc");
?>
<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
-
<script type="text/javascript">
+//<![CDATA[
function getcpuactivity() {
var url = "/diag_vnstat.php";
var pars = 'getactivity=yes';
@@ -69,37 +54,36 @@ include("head.inc");
});
}
function activitycallback(transport) {
- $('cpuactivitydiv').innerHTML = '<font face="Courier"><font size="2"><b><pre>' + transport.responseText + '</pre></font>';
- setTimeout('getcpuactivity()', 2000);
+ $('cpuactivitydiv').innerHTML = '<font face="Courier"><font size="2"><b><pre>' + transport.responseText + '</pre></font>';
+ setTimeout('getcpuactivity()', 2000);
}
- setTimeout('getcpuactivity()', 5000);
+ setTimeout('getcpuactivity()', 5000);
+//]]>
</script>
<div id='maincontent'>
<?php
- include("fbegin.inc");
- if ($pf_version < 2.0)
- echo "<p class=\"pgtitle\">{$pgtitle}</p>";
- echo "<a href=$myurl/pkg_edit.php?xml=vnstatoutput.xml&id=0>Go Back</a><br />";
+ include("fbegin.inc");
+
if ($savemsg) {
echo "<div id='savemsg'>";
print_info_box($savemsg);
- echo "</div>";
+ echo "</div>";
}
- if ($input_errors)
+ if ($input_errors) {
print_input_errors($input_errors);
+ }
?>
-<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<table id="backuptable" class="tabcont" align="center" width="100%" border="0" cellpadding="6" cellspacing="0">
<tr>
<td>
- <center>
<table>
<tr>
<td>
<div name='cpuactivitydiv' id='cpuactivitydiv'>
- <b><?=gettext("Gathering vnstat information, please wait...");?>
+ <strong><?=gettext("Gathering vnstat information, please wait...");?></strong>
</div>
</td>
</tr>
@@ -107,7 +91,6 @@ include("head.inc");
</td>
</tr>
</table>
- </div>
</td>
</tr>
</table>
diff --git a/config/vnstat2/www/diag_vnstat2.php b/config/vnstat2/www/diag_vnstat2.php
index 504fd534..2153cc18 100644
--- a/config/vnstat2/www/diag_vnstat2.php
+++ b/config/vnstat2/www/diag_vnstat2.php
@@ -1,8 +1,9 @@
<?php
-/* $Id$ */
/*
- diag_system_pftop.php
- Copyright (C) 2008-2009 Scott Ullrich
+ diag_vnstat2.php
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 PerryMason
+ Copyright (C) 2015 ESF, LLC
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -26,24 +27,10 @@
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
-
-/*
- pfSense_MODULE: filter
-*/
-
-##|+PRIV
-##|*IDENT=page-diag-system-activity
-##|*NAME=Diagnostics: System Activity
-##|*DESCR=Allows access to the 'Diagnostics: System Activity' page
-##|*MATCH=diag_system_pftop*
-##|-PRIV
-
-require("guiconfig.inc");
+require_once("guiconfig.inc");
global $config;
$aaaa = $config['installedpackages']['vnstat2']['config'][0]['vnstat_interface2'];
$bbbb = convert_real_interface_to_friendly_descr($aaaa);
-
-$pf_version=substr(trim(file_get_contents("/etc/version")),0,3);
$pgtitle = gettext("Vnstat2 info for $bbbb ($aaaa)");
if ($_REQUEST['getactivity']) {
@@ -51,9 +38,9 @@ if ($_REQUEST['getactivity']) {
$sorttype = escapeshellarg($_REQUEST['sorttype']);
} else {
$sorttype = gettext("-h");
+ $text = shell_exec("/usr/local/bin/vnstat -i {$aaaa} {$sorttype}");
+ echo $text;
}
- $text = `vnstat -i $aaaa {$sorttype}`;
- echo $text;
exit;
}
@@ -69,6 +56,7 @@ if ($_REQUEST['sorttype']) {
<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
<form method="post" action="diag_vnstat2.php">
<script type="text/javascript">
+//<![CDATA[
function getcpuactivity() {
var url = "/diag_vnstat2.php";
var pars = 'getactivity=yes&sorttype=' + $('sorttype').value;
@@ -81,22 +69,19 @@ if ($_REQUEST['sorttype']) {
});
}
function activitycallback(transport) {
- $('cpuactivitydiv').innerHTML = '<font face="Courier"><font size="2"><b><pre>' + transport.responseText + '</pre></font>';
- setTimeout('getcpuactivity()', 2500);
+ $('cpuactivitydiv').innerHTML = '<font face="Courier"><font size="2"><b><pre>' + transport.responseText + '</pre></font>';
+ setTimeout('getcpuactivity()', 2500);
}
- setTimeout('getcpuactivity()', 1000);
+ setTimeout('getcpuactivity()', 1000);
+//]]>
</script>
<div id='maincontent'>
<?php
- include("fbegin.inc");
- if ($pf_version < 2.0) {
- echo "<p class=\"pgtitle\">{$pgtitle}</p>";
- }
- echo "<a href=$myurl/pkg_edit.php?xml=vnstatoutput.xml&id=0>Go Back</a><br />";
+ include("fbegin.inc");
if ($savemsg) {
echo "<div id='savemsg'>";
print_info_box($savemsg);
- echo "</div>";
+ echo "</div>";
}
if ($input_errors) {
print_input_errors($input_errors);
@@ -104,7 +89,7 @@ if ($_REQUEST['sorttype']) {
?>
<form method="post">
<?=gettext("Sort type:"); ?>
- <select name='sorttype' id='sorttype' onChange='this.form.submit();'>
+ <select name='sorttype' id='sorttype' onchange='this.form.submit();'>
<option value='<?=$sorttype?>'><?=$sorttype?></option>
<option value='-h'><?=gettext("Show traffic for the last 24 hours.");?></option>
<option value='-d'><?=gettext("Show traffic for days.");?></option>
@@ -113,19 +98,18 @@ if ($_REQUEST['sorttype']) {
<option value='-tr'><?=gettext("Calculate 5sec. of traffic.");?></option>
<option value='-w'><?=gettext("Show traffic for 7 days, current and previous week.");?></option>
</select>
- <p/>
-<table width="100%" border="0" cellpadding="0" cellspacing="0">
+ <p />
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<table id="backuptable" class="tabcont" align="center" width="100%" border="0" cellpadding="6" cellspacing="0">
<tr>
<td>
- <center>
<table>
<tr>
<td>
<div name='cpuactivitydiv' id='cpuactivitydiv'>
- <b><?=gettext("Gathering vnstat activity, please wait...");?>
+ <strong><?=gettext("Gathering vnstat activity, please wait...");?></strong>
</div>
</td>
</tr>
@@ -133,7 +117,6 @@ if ($_REQUEST['sorttype']) {
</td>
</tr>
</table>
- </div>
</td>
</tr>
</table>
diff --git a/config/vnstat2/www/vnstat2_img.php b/config/vnstat2/www/vnstat2_img.php
index a83c3b06..fce29a4c 100644
--- a/config/vnstat2/www/vnstat2_img.php
+++ b/config/vnstat2/www/vnstat2_img.php
@@ -1,4 +1,32 @@
<?php
+/*
+ vnstat2_img.php
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 PerryMason
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
require_once("guiconfig.inc");
$image = basename($_GET['image']);
header("Content-type: image/png");
diff --git a/config/vnstat2/www/vnstati.php b/config/vnstat2/www/vnstati.php
index 01eca208..d5f8d9bf 100644
--- a/config/vnstat2/www/vnstati.php
+++ b/config/vnstat2/www/vnstati.php
@@ -1,16 +1,45 @@
<?php
+/*
+ vnstati.php
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 PerryMason
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
require_once("guiconfig.inc");
global $config;
include("head.inc");
+echo '<body link="#0000CC" vlink="#0000CC" alink="#0000CC">';
include("fbegin.inc");
$aaaa = $config['installedpackages']['vnstat2']['config'][0]['vnstat_interface'];
$cccc = convert_real_interface_to_friendly_descr($aaaa);
$pgtitle = gettext("Vnstati info for $cccc ($aaaa)");
-echo "<a href=$myurl/pkg_edit.php?xml=vnstati.xml&id=0>Go Back</a><br />";
-echo "<center><p class=\"pgtitle\">{$pgtitle}</p>";
?>
-<center><img src="vnstat2_img.php?image=newpicture1.png" style="border:1px solid black; center;"><br />
-<center><img src="vnstat2_img.php?image=newpicture2.png" style="border:1px solid black; center;"><br />
-<center><img src="vnstat2_img.php?image=newpicture3.png" style="border:1px solid black; center;"><br />
-<center><img src="vnstat2_img.php?image=newpicture4.png" style="border:1px solid black; center;"><br />
+<p style="text-align: center"><img src="vnstat2_img.php?image=newpicture1.png" alt="" style="border:1px solid black; center;" /></p>
+<p style="text-align: center"><img src="vnstat2_img.php?image=newpicture2.png" alt="" style="border:1px solid black; center;" /></p>
+<p style="text-align: center"><img src="vnstat2_img.php?image=newpicture3.png" alt="" style="border:1px solid black; center;" /></p>
+<p style="text-align: center"><img src="vnstat2_img.php?image=newpicture4.png" alt="" style="border:1px solid black; center;" /></p>
<?php include("fend.inc"); ?>
+</body>
+</html>
diff --git a/config/widentd/widentd.xml b/config/widentd/widentd.xml
index ca73d436..27a8ffe8 100644
--- a/config/widentd/widentd.xml
+++ b/config/widentd/widentd.xml
@@ -1,58 +1,54 @@
<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE packagegui SYSTEM "./schema/packages.dtd">
-<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
+<!DOCTYPE packagegui SYSTEM "../schema/packages.dtd">
+<?xml-stylesheet type="text/xsl" href="../xsl/package.xsl"?>
<packagegui>
- <copyright>
- <![CDATA[
+ <copyright>
+ <![CDATA[
/* $Id$ */
-/* ========================================================================== */
+/* ====================================================================================== */
/*
- authng.xml
- part of pfSense (http://www.pfSense.com)
- Copyright (C) 2007 to whom it may belong
- All rights reserved.
-
- Based on m0n0wall (http://m0n0.ch/wall)
- Copyright (C) 2003-2006 Manuel Kasper <mk@neon1.net>.
- All rights reserved.
- */
-/* ========================================================================== */
+ widentd.xml
+ part of pfSense (https://www.pfSense.org/)
+ Copyright (C) 2009 Bill Marquette
+ Copyright (C) 2015 ESF, LLC
+ All rights reserved.
+*/
+/* ====================================================================================== */
/*
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- */
-/* ========================================================================== */
- ]]>
- </copyright>
- <description>Describe your package here</description>
- <requirements>Describe your package requirements here</requirements>
- <faq>Currently there are no FAQ items provided.</faq>
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/* ====================================================================================== */
+ ]]>
+ </copyright>
<name>widentd</name>
- <version>1.03_1</version>
+ <version>1.0.4</version>
<title>Services: widentd</title>
<menu>
<name>widentd</name>
<tooltiptext>Modify widentd settings.</tooltiptext>
<section>Services</section>
- <url>pkg_edit.php?xml=widentd.xml&amp;id=0</url>
+ <url>pkg_edit.php?xml=widentd.xml&amp;id=0</url>
</menu>
<service>
<name>widentd</name>
@@ -62,61 +58,114 @@
<configpath>installedpackages->package->$packagename->configuration->settings</configpath>
<fields>
<field>
- <fielddescr>Listening interface</fielddescr>
- <fieldname>interface</fieldname>
- <description>Enter the desired listening interface here.</description>
- <type>interfaces_selection</type>
+ <fielddescr>Enable widentd daemon</fielddescr>
+ <fieldname>enable</fieldname>
+ <type>checkbox</type>
+ </field>
+ <field>
+ <fielddescr>Listening interface</fielddescr>
+ <fieldname>interface</fieldname>
+ <description>
+ <![CDATA[
+ Enter the desired listening interface here.<br />
+ (Default: WAN)
+ ]]>
+ </description>
+ <type>interfaces_selection</type>
+ <default_value>wan</default_value>
+ <required/>
</field>
<field>
- <fielddescr>Username</fielddescr>
- <fieldname>username</fieldname>
- <description>Enter the username you'd like displayed via widentd.</description>
- <type>input</type>
+ <fielddescr>Username</fielddescr>
+ <fieldname>username</fieldname>
+ <description>
+ <![CDATA[
+ Enter the username you'd like displayed via widentd. Allowed characters: [a-zA-Z] and "." only.<br />
+ (Defaults to 'user' if left empty.)
+ ]]>
+ </description>
+ <type>input</type>
</field>
<field>
- <fielddescr>System name</fielddescr>
- <fieldname>sysname</fieldname>
- <description>Enter the system name you'd like displayed via widentd</description>
- <type>input</type>
- <value>pfSense</value>
+ <fielddescr>System name</fielddescr>
+ <fieldname>sysname</fieldname>
+ <description>
+ <![CDATA[
+ Enter the system name you'd like displayed via widentd. Allowed characters: [a-zA-Z] only.<br />
+ (Defaults to 'UNIX' if left empty.)
+ ]]>
+ </description>
+ <type>input</type>
</field>
- </fields>
+ </fields>
<custom_php_global_functions>
+ <![CDATA[
function sync_package_widentd() {
conf_mount_rw();
config_lock();
global $config;
- if (!isset($config['installedpackages']['widentd']['config'][0]['interface'])) {
- $config['installedpackages']['widentd']['config'][0]['interface'] = 'WAN';
- }
- if (!isset($config['installedpackages']['widentd']['config'][0]['username'])) {
- $config['installedpackages']['widentd']['config'][0]['username'] = 'user';
- }
- if (!isset($config['installedpackages']['widentd']['config'][0]['sysname'])) {
- $config['installedpackages']['widentd']['config'][0]['sysname'] = 'UNIX';
- }
+
+ /* Write widentd.sh */
$int = convert_friendly_interface_to_real_interface_name($config['installedpackages']['widentd']['config'][0]['interface']);
$ip = find_interface_ip($int);
- $user = $config['installedpackages']['widentd']['config'][0]['username'];
- $system = $config['installedpackages']['widentd']['config'][0]['sysname'];
+ $user = $config['installedpackages']['widentd']['config'][0]['username'] ?: 'user';
+ $system = $config['installedpackages']['widentd']['config'][0]['sysname'] ?: 'UNIX';
$start = "/usr/local/sbin/widentd -u {$user} -o {$system} -i {$ip}";
$stop = "/usr/bin/killall widentd";
write_rcfile(array(
"file" => "widentd.sh",
"start" => $start,
- "stop" => $stop
+ "stop" => $stop
)
);
- restart_service("widentd");
- conf_mount_ro();
+
+ /* If the service is (being) disabled, stop it (if running) and do nothing else */
+ if (!($config['installedpackages']['widentd']['config'][0][enable])) {
+ if (is_process_running("widentd")) {
+ stop_service("widentd");
+ }
+ return;
+ } else {
+ restart_service("widentd");
+ }
config_unlock();
+ conf_mount_ro();
}
+
+
+ function validate_input_widentd($post, &$input_errors) {
+ /* Only allow ^[a-zA-Z\.]+$ otherwise the daemon will not start; see widentd manpage */
+ if (($post['username'] != "") && !preg_match("/^[a-zA-Z\.]+$/", $post['username'])) {
+ $input_errors[] = 'Username may only contain uppercase and lowercase letters [a-zA-Z] and "." character.';
+ }
+
+ /* Technically, ^[A-Z][A-Z0-9\-.\/]+[A-Z0-9]$ should be valid characters here
+ https://www.iana.org/assignments/operating-system-names/operating-system-names.xhtml
+ However this is not supported by widentd; the service will not start.
+ */
+ if (($post['sysname'] != "") && !preg_match("/^[a-zA-Z]+$/", $post['sysname'])) {
+ $input_errors[] .= 'System name may only contain uppercase and lowercase letters [a-zA-Z].';
+ }
+
+ /* Check for IPv6-only interfaces */
+ $int = convert_friendly_interface_to_real_interface_name($post['interface']);
+ $ip = find_interface_ip($int);
+ if (!is_ipaddrv4($ip)) {
+ $input_errors[] .= 'The selected interface has no IPv4 configured. Widentd does not support IPv6.';
+ }
+ }
+ ]]>
</custom_php_global_functions>
<custom_add_php_command>
sync_package_widentd();
</custom_add_php_command>
+ <custom_php_resync_config_command>
+ sync_package_widentd();
+ </custom_php_resync_config_command>
<custom_php_install_command>
unlink_if_exists("/usr/local/etc/rc.d/widentd.sh");
</custom_php_install_command>
+ <custom_php_validation_command>
+ validate_input_widentd($_POST, $input_errors);
+ </custom_php_validation_command>
</packagegui>
-