diff options
37 files changed, 1699 insertions, 1140 deletions
diff --git a/config/blinkled/binaries/blinkled b/config/blinkled/binaries/blinkled Binary files differdeleted file mode 100644 index 2a8681a5..00000000 --- a/config/blinkled/binaries/blinkled +++ /dev/null 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/darkstat/darkstat.sh b/config/darkstat/darkstat.sh deleted file mode 100644 index a7706142..00000000 --- a/config/darkstat/darkstat.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -rc_start() { - /usr/local/sbin/darkstat --detach -} - -rc_stop() { - killall darkstat -} - -case $1 in - start) - rc_start - ;; - stop) - rc_stop - ;; - restart) - rc_stop - rc_start - ;; -esac diff --git a/config/darkstat/darkstat.xml b/config/darkstat/darkstat.xml index 3263012b..d0b71cac 100644 --- a/config/darkstat/darkstat.xml +++ b/config/darkstat/darkstat.xml @@ -2,55 +2,50 @@ <!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. - */ -/* ========================================================================== */ + darkstat.xml + part of pfSense (https://www.pfSense.org/) + Copyright (C) 2009-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>Darkstat</name> - <version>3.0</version> + <version>3.1</version> <title>Diagnostics: Darkstat</title> <menu> <name>Darkstat Settings</name> - <tooltiptext>Setup darkstat specific settings</tooltiptext> + <tooltiptext>Setup darkstat specific settings.</tooltiptext> <section>Diagnostics</section> <url>/pkg_edit.php?xml=darkstat.xml&id=0</url> </menu> @@ -60,6 +55,7 @@ <executable>darkstat</executable> <description>Darkstat bandwidth monitoring daemon</description> </service> + <configpath>installedpackages->package->$packagename->configuration->settings</configpath> <tabs> <tab> <text>Darkstat Settings</text> @@ -71,47 +67,348 @@ <url>http://$myurl:666</url> </tab> </tabs> + <advanced_options>enabled</advanced_options> <fields> <field> - <fielddescr>Interface</fielddescr> - <fieldname>interface_array</fieldname> + <fielddescr>Enable darkstat</fielddescr> + <fieldname>enable</fieldname> + <type>checkbox</type> + </field> + <field> + <fielddescr>Interface(s) to capture traffic on</fielddescr> + <fieldname>capture_interfaces</fieldname> + <description><![CDATA[ + Capture traffic on the specified network interface(s).<br /> + (Default is LAN.) + ]]> + </description> <type>interfaces_selection</type> + <hideinterfaceregex>loopback</hideinterfaceregex> <size>3</size> + <multiple>true</multiple> <value>lan</value> + <required>true</required> + </field> + <field> + <fielddescr>Darkstat web interface should listen on</fielddescr> + <fieldname>bind_interfaces</fieldname> + <description> + <![CDATA[ + Bind the web interface to IP address(es) of the specified interface(s).<br /> + (The default is to listen on all interfaces.) + ]]> + </description> + <type>interfaces_selection</type> + <size>3</size> <multiple>true</multiple> </field> - </fields> + <!-- Disabled until there is some way to handle the $myurl thing in the tabs/url tag above --> + <!-- + <field> + <fielddescr>Port</fielddescr> + <fieldname>port</fieldname> + <description> + <![CDATA[ + Bind the darkstat web interface to the specified port.<br /> + <strong>WARNING: Do NOT set this to the same port where pfSense WebGUI is running (usually 80/443)!</strong><br /> + (Default is 666.) + ]]> + </description> + <type>input</type> + <size>5</size> + </field> + --> + <field> + <fielddescr>Enable the "local network" feature</fielddescr> + <fieldname>localnetworkenable</fieldname> + <description> + <![CDATA[ + All traffic entering or leaving this network will be graphed.<br /> + (The default behaviour is to only graph traffic to and from the local host.) + ]]> + </description> + <type>checkbox</type> + <enablefields>localnetworkonly</enablefields> + <disablefields>localnetworkonly</disablefields> + </field> + <field> + <fielddescr>Make the web interface ONLY display hosts on the "local network"</fielddescr> + <fieldname>localnetworkonly</fieldname> + <description> + <![CDATA[ + If the "local network" feature is enabled above, the web interface<br /> + will only display hosts on the "local network" defined below. + ]]> + </description> + <type>checkbox</type> + </field> + <field> + <fielddescr>Define a "local network"</fielddescr> + <fieldname>localnetwork</fieldname> + <description>Traffic from/to the network/netmask of the selected interface will be considered as "local network".</description> + <type>interfaces_selection</type> + <hideinterfaceregex>(wan|loopback)</hideinterfaceregex> + </field> + <field> + <fielddescr>Do not use promiscuous mode to capture</fielddescr> + <fieldname>nopromisc</fieldname> + <description> + <![CDATA[ + Note that an interface may already be in promiscuous mode,<br /> + or may later enter promiscuous mode, due to circumstances beyond darkstat's control.<br /> + <strong>This cannot be used when the "local network" feature is enabled above.</strong> + ]]> + </description> + <type>checkbox</type> + </field> + <field> + <fielddescr>Do not resolve IPs to host names</fielddescr> + <fieldname>nodns</fieldname> + <description> + <![CDATA[ + This can significantly reduce memory footprint on small systems,<br /> + as an extra process is created for DNS resolution. + ]]> + </description> + <type>checkbox</type> + </field> + <field> + <fielddescr>Do not display MAC addresses in the hosts table</fielddescr> + <fieldname>nomacs</fieldname> + <type>checkbox</type> + </field> + <field> + <fielddescr>Do not display the last seen time in the hosts table</fielddescr> + <fieldname>nolastseen</fieldname> + <type>checkbox</type> + </field> + <field> + <fielddescr>Maximum hosts count</fielddescr> + <fieldname>hostsmax</fieldname> + <description> + <![CDATA[ + The maximum number of hosts that will be kept in the hosts table.<br /> + This is used to limit how much accounting data will be kept in memory.<br /> + (If filled in, the number must be greater than 'Maximum number of hosts to keep' below.) + ]]> + </description> + <type>input</type> + <size>5</size> + </field> + <field> + <fielddescr>Maximum number of hosts to keep</fielddescr> + <fieldname>hostskeep</fieldname> + <description> + <![CDATA[ + When the hosts table hits 'Maximum hosts count' and traffic is seen from a new host,<br /> + we clean out the hosts table, keeping only the top number of hosts, sorted by total traffic.<br /> + (If filled in, the number must be lower than 'Maximum hosts count' above.) + ]]> + </description> + <type>input</type> + <size>5</size> + </field> + <field> + <fielddescr>Maximum ports count</fielddescr> + <fieldname>portsmax</fieldname> + <description> + <![CDATA[ + The maximum number of ports that will be tracked for each host.<br /> + This is used to limit how much accounting data will be kept in memory.<br /> + (If filled in, the number must be greater than 'Maximum number of ports to keep' below.) + ]]> + </description> + <type>input</type> + <size>5</size> + </field> + <field> + <fielddescr>Maximum number of ports to keep</fielddescr> + <fieldname>portskeep</fieldname> + <description> + <![CDATA[ + When a ports table fills up, this many ports are kept and the rest are discarded.<br /> + (If filled in, the number must be lower than 'Maximum ports count' above.) + ]]> + </description> + <type>input</type> + <size>5</size> + </field> + <field> + <fielddescr>Advanced traffic filtering options</fielddescr> + <fieldname>advfilter</fieldname> + <description> + <![CDATA[ + Use the specified filter expression when capturing traffic.<br /><br /> + Example 1: We only want to account for SSH traffic.<br /> + Filter expression: <em>port 22</em><br /><br /> + Example 2: We don't want to account for traffic between internal IPs.<br /> + Filter expression: <em>not (src net 192.168.0 and dst net 192.168.0)</em><br /><br /> + NOTE: Filter syntax is beyond the scope of this description; please refer to + <a href="https://www.freebsd.org/cgi/man.cgi?query=tcpdump&sektion=1&apropos=0&manpath=FreeBSD+10.1-RELEASE+and+Ports">tcpdump(1)</a>, + <a href="https://www.freebsd.org/cgi/man.cgi?query=pcap-filter&sektion=7&apropos=0&manpath=FreeBSD+10.1-RELEASE+and+Ports">pcap-filter(7)</a> + and <a href="https://www.freebsd.org/cgi/man.cgi?query=darkstat&apropos=0&sektion=0&manpath=FreeBSD+10.1-RELEASE+and+Ports&arch=default&format=html">darkstat(8)</a> + documentation.<br /> + <strong>WARNING: You are completely on your own with this! If misconfigured, darkstat will malfunction or even not start at all.</strong> + ]]> + </description> + <type>textarea</type> + <encoding>base64</encoding> + <cols>65</cols> + <rows>5</rows> + <advancedfield/> + </field> + </fields> <custom_php_global_functions> + <![CDATA[ function sync_package_darkstat() { - if (!is_array($_POST['interface_array'])) - return; conf_mount_rw(); - $first = 0; - foreach($_POST['interface_array'] as $iface) { + config_lock(); + global $config, $darkstat_config; + $darkstat_config =& $config['installedpackages']['darkstat']['config'][0]; + + /* Configure capture interface(s) */ + $capture_interfaces = $darkstat_config['capture_interfaces'] ?: 'lan'; + foreach (explode(",", $capture_interfaces) as $iface) { + $if = convert_friendly_interface_to_real_interface_name($iface); + if ($if) { + $ifaces_final .= " -i {$if}"; + } + } + $start = "/usr/local/sbin/darkstat {$ifaces_final}"; + + /* Configure bind interface(s) */ + foreach (explode(",", $darkstat_config['bind_interfaces']) as $iface) { $if = convert_friendly_interface_to_real_interface_name($iface); - if($if) { - $ifaces_final .= " -i " . $if; - $first = 1; + $if = get_interface_ip("$iface"); + if ($if) { + $bind_ifaces_final .= " -b {$if}"; + } + } + $start .= "{$bind_ifaces_final}"; + + /* Configure darkstat webgui port + NOTE: This will be always be 666 for now, until the 'Port' field is re-enabled in darkstat.xml + */ + $port = $darkstat_config['port'] ?: '666'; + $start .= " -p {$port}"; + + /* Deal with the rest of configured options here */ + $localnetworkenable = $darkstat_config['localnetworkenable']; + $lif = $darkstat_config['localnetwork']; + if ($localnetworkenable != "") { + if (is_ipaddrv4(get_interface_ip($lif))) { + $start .= " -l " . escapeshellarg(gen_subnet(get_interface_ip($lif), get_interface_subnet($lif)) . '/' . gen_subnet_mask(get_interface_subnet($lif))); + } + if ($darkstat_config['localnetworkonly'] != "") { + $start .= " --local-only"; } } - $start = "/usr/local/sbin/darkstat" . $ifaces_final . " -p 666 "; + if (($localnetworkenable == "") && ($darkstat_config['nopromisc'] != "")) { + $start .= " --no-promisc"; + } + if ($darkstat_config['nodns'] != "") { + $start .= " --no-dns"; + } + if ($darkstat_config['nomacs'] != "") { + $start .= " --no-macs"; + } + if ($darkstat_config['nolastseen'] != "") { + $start .= " --no-lastseen"; + } + $hostsmax = $darkstat_config['hostsmax']; + $hostskeep = $darkstat_config['hostskeep']; + if (($hostsmax > 0) && ($hostsmax > $hostskeep)) { + $start .= " --hosts-max {$hostsmax}"; + } + if (($hostskeep > 0) && ($hostskeep < $hostsmax)) { + $start .= " --hosts-keep {$hostskeep}"; + } + $portsmax = $darkstat_config['portsmax']; + $portskeep = $darkstat_config['portskeep']; + if (($portsmax > 0) && ($portsmax > $portskeep)) { + $start .= " --ports-max {$portsmax}"; + } + if (($portskeep > 0) && ($portskeep < $portsmax)) { + $start .= " --ports-keep {$portskeep}"; + } + $advfilter = $darkstat_config['advfilter']; + if ($advfilter != "") { + $start .= " -f " . escapeshellarg(base64_decode($advfilter)); + } + write_rcfile(array( "file" => "darkstat.sh", "start" => $start, "stop" => "/usr/bin/killall darkstat" ) ); - start_service("darkstat"); + + /* If the service is (being) disabled, stop it (if running) and do nothing else */ + if (!($darkstat_config['enable'])) { + if (is_process_running("darkstat")) { + stop_service("darkstat"); + } + return; + } else { + restart_service("darkstat"); + } + + config_unlock(); conf_mount_ro(); } + + function validate_input_darkstat($post, &$input_errors) { + if (($_POST['port']) && ($_POST['port'] < 1 || $_POST['port'] < 65535 || !is_numericint($_POST['port']))) { + $input_errors[] .= gettext("The value for 'Maximum number of ports' to keep' must be a positive integer between 1 and 65535."); + } + if (($_POST['hostsmax']) && ($_POST['hostsmax'] < 1 || !is_numericint($_POST['hostsmax']))) { + $input_errors[] = gettext("The value for 'Maximum hosts count' must be a positive integer."); + } + if (($_POST['hostskeep']) && ($_POST['hostskeep'] < 1 || !is_numericint($_POST['hostskeep']))) { + $input_errors[] .= gettext("The value for 'Maximum number of hosts to keep' must be a positive integer."); + } + if ($_POST['hostsmax'] || $_POST['hostskeep']) { + if ($_POST['hostsmax'] <= $_POST['hostskeep']) { + $input_errors[] .= gettext("'Maximum hosts count' must be greater than 'Maximum number of hosts to keep'."); + } + } + if (($_POST['portsmax']) && ($_POST['portsmax'] < 1 || !is_numericint($_POST['portsmax']))) { + $input_errors[] .= gettext("The value for 'Maximum ports count' must be a positive integer."); + } + if (($_POST['portskeep']) && ($_POST['portskeep'] < 1 || !is_numericint($_POST['portskeep']))) { + $input_errors[] .= gettext("The value for 'Maximum number of ports' to keep' must be a positive integer."); + } + if ($_POST['portsmax'] || $_POST['portskeep']) { + if ($_POST['portsmax'] <= $_POST['portskeep']) { + $input_errors[] .= gettext("'Maximum ports count' must be greater than 'Maximum number of ports to keep'."); + } + } + if ($_POST['localnetworkenable'] && $_POST['nopromisc'] != "") { + $input_errors[] .= gettext("'Do not use promiscuous mode to capture' cannot be used when the 'local network' feature is enabled."); + } + if ($_POST['localnetwork']) { + $int = convert_friendly_interface_to_real_interface_name($post['localnetwork']); + $ip = find_interface_ip($int); + if (!is_ipaddrv4($ip)) { + $input_errors[] .= gettext("The selected 'local network' interface has no IPv4 configured. Configured IPv4 is required."); + } + } + if (($post['advfilter']) && !preg_match("/^[a-zA-Z0-9\+\-\=\(\):. ]*$/", $post['advfilter'])) { + $input_errors[] .= gettext('Advanced traffic filtering options may only contain characters matching ^[a-zA-Z0-9\+\-\=\(\):. ]*$ regexp.'); + } + } + ]]> </custom_php_global_functions> - <custom_add_php_command> - sync_package_darkstat(); + <custom_add_php_command> + sync_package_darkstat(); </custom_add_php_command> <custom_php_resync_config_command> sync_package_darkstat(); </custom_php_resync_config_command> <custom_php_deinstall_command> - exec("rm -f /usr/local/etc/rc.d/darkstat.sh"); + unlink_if_exists("/usr/local/etc/rc.d/darkstat.sh"); </custom_php_deinstall_command> + <custom_php_validation_command> + validate_input_darkstat($_POST, $input_errors); + </custom_php_validation_command> </packagegui> 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><b>Notes</b> <br /> <br /></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&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"> </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"> </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&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&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"> </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"> </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;?>&act=fetch"><?php echo gettext("Fetch"); ?></a> - <?php elseif (!empty($thispatch['location'])): ?> - <a href="system_patches.php?id=<?=$i;?>&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;?>&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;?>&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;?>&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&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;?>&act=fetch"><?php echo gettext("Fetch"); ?></a> + <?php elseif (!empty($thispatch['location'])): ?> + <a href="system_patches.php?id=<?=$i;?>&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;?>&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;?>&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;?>&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&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&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&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&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&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&id=0</url> + <url>pkg_edit.php?xml=widentd.xml&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> - diff --git a/pkg_config.10.xml b/pkg_config.10.xml index 41cf26a9..9a93695e 100644 --- a/pkg_config.10.xml +++ b/pkg_config.10.xml @@ -32,7 +32,11 @@ <package> <name>Asterisk</name> <pkginfolink>https://forum.pfsense.org/index.php/topic,47210.0.html</pkginfolink> - <descr><![CDATA[Asterisk is an open source framework for building communications applications.<br />Asterisk turns an ordinary computer into a communications server.]]></descr> + <descr><![CDATA[ + Asterisk is an open source framework for building communications applications.<br /> + Asterisk turns an ordinary computer into a communications server. + ]]> + </descr> <website>http://www.asterisk.org/</website> <category>Services</category> <version>0.3.1</version> @@ -54,7 +58,7 @@ <package> <name>bind</name> <!-- <pkginfolink>https://doc.pfsense.org/index.php/bind</pkginfolink> --> - <descr><![CDATA[The most widely used name server software]]></descr> + <descr>The most widely used name server software.</descr> <website>http://www.isc.org/downloads/BIND/</website> <category>Services</category> <version>0.3.9</version> @@ -74,12 +78,11 @@ </package> <package> <name>Filer</name> - <website/> <descr>Allows you to create and overwrite files from the GUI.</descr> <category>File Management</category> <pkginfolink>https://doc.pfsense.org/index.php/Filer_package</pkginfolink> <config_file>https://packages.pfsense.org/packages/config/filer/filer.xml</config_file> - <version>0.60.3</version> + <version>0.60.4</version> <status>Beta</status> <required_version>2.2</required_version> <maintainer>bscholer@cshl.edu</maintainer> @@ -88,8 +91,7 @@ </package> <package> <name>Strikeback</name> - <descr>Detect port scans with iplog and strikeback</descr> - <website/> + <descr>Detect port scans with iplog and strike back.</descr> <pkginfolink>https://forum.pfsense.org/index.php/topic,37225.0.html</pkginfolink> <category>Services</category> <version>0.1</version> @@ -104,8 +106,7 @@ <package> <name>File Manager</name> <internal_name>File_Manager</internal_name> - <website/> - <descr>PHP File Manager</descr> + <descr>PHP File Manager.</descr> <category>Diagnostics</category> <pkginfolink>https://forum.pfsense.org/index.php/topic,26974.0.html</pkginfolink> <config_file>https://packages.pfsense.org/packages/config/filemgr/filemgr.xml</config_file> @@ -118,13 +119,15 @@ </package> <package> <name>pfBlockerNG</name> - <website/> - <descr><![CDATA[pfBlockerNG is the Next Generation of pfBlocker.<br /> - Manage IPv4/v6 List Sources into 'Deny, Permit or Match' formats<br /> - Country Blocking Database by MaxMind Inc. (GeoLite Free version).<br /> - De-Duplication, Suppression, and Reputation enhancements.<br /> - Provision to download from diverse List formats. Advanced Integration<br /> - for Emerging Threats IQRisk IP Reputation Threat Sources.]]></descr> + <descr><![CDATA[ + pfBlockerNG is the Next Generation of pfBlocker.<br /> + Manage IPv4/v6 List Sources into 'Deny, Permit or Match' formats.<br /> + Country Blocking Database by MaxMind Inc. (GeoLite Free version).<br /> + De-Duplication, Suppression, and Reputation enhancements.<br /> + Provision to download from diverse List formats.<br /> + Advanced Integration for Emerging Threats IQRisk IP Reputation Threat Sources. + ]]> + </descr> <category>Firewall</category> <pkginfolink>https://forum.pfsense.org/index.php?topic=86212.0</pkginfolink> <config_file>https://packages.pfsense.org/packages/config/pfblockerng/pfblockerng.xml</config_file> @@ -146,9 +149,12 @@ <name>haproxy-1_5</name> <internal_name>haproxy</internal_name> <pkginfolink>https://doc.pfsense.org/index.php/haproxy_package</pkginfolink> - <descr><![CDATA[The Reliable, High Performance TCP/HTTP(S) Load Balancer<br /> - This package implements the TCP, HTTP and HTTPS balancing features from haproxy.<br /> - Supports ACLs for smart backend switching.]]></descr> + <descr><![CDATA[ + The Reliable, High Performance TCP/HTTP(S) Load Balancer.<br /> + This package implements the TCP, HTTP and HTTPS balancing features from haproxy.<br /> + Supports ACLs for smart backend switching. + ]]> + </descr> <website>http://haproxy.1wt.eu/</website> <category>Services</category> <version>0.27</version> @@ -170,10 +176,13 @@ <package> <name>haproxy-devel</name> <pkginfolink>https://doc.pfsense.org/index.php/haproxy_package</pkginfolink> - <descr><![CDATA[The Reliable, High Performance TCP/HTTP(S) Load Balancer<br /> - This package implements the TCP, HTTP and HTTPS balancing features from haproxy.<br /> - Supports ACLs for smart backend switching.<br> - <b>As of pkg v0.27 switched to using 1.6dev releases, if you need stable switch to haproxy-1_5 package.</b>]]></descr> + <descr><![CDATA[ + The Reliable, High Performance TCP/HTTP(S) Load Balancer.<br /> + This package implements the TCP, HTTP and HTTPS balancing features from haproxy.<br /> + Supports ACLs for smart backend switching.<br /> + <strong>As of pkg v0.27 switched to using 1.6dev releases. If you need stable, switch to haproxy-1_5 package.</strong> + ]]> + </descr> <website>http://haproxy.1wt.eu/</website> <category>Services</category> <version>0.27</version> @@ -197,10 +206,13 @@ <internal_name>apache-mod_security-devel</internal_name> <pkginfolink>https://doc.pfsense.org/index.php/ProxyServerModSecurity_package</pkginfolink> <website>http://www.modsecurity.org/</website> - <descr><![CDATA[ModSecurity is a web application firewall that can work either embedded or as a reverse proxy.<br> - It provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis.<br> - In addition this package allows URL forwarding which can be convenient for hosting multiple websites behind pfSense using 1 IP address.<br> - <b>Backup your location config before updating from 0.2.x to 0.3 package version.</b>]]></descr> + <descr><![CDATA[ + ModSecurity is a web application firewall that can work either embedded or as a reverse proxy.<br /> + It provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis.<br /> + In addition this package allows URL forwarding which can be convenient for hosting multiple websites behind pfSense using 1 IP address.<br /> + <strong>Backup your location config before updating from 0.2.x to 0.3 package version.</strong> + ]]> + </descr> <category>Network Management</category> <version>0.44</version> <status>ALPHA</status> @@ -310,12 +322,11 @@ </package> <package> <name>Notes</name> - <website/> <descr>Track things you want to note for this system.</descr> <category>Status</category> <pkginfolink/> <config_file>https://packages.pfsense.org/packages/config/notes/notes.xml</config_file> - <version>0.2.4</version> + <version>0.2.5</version> <status>Alpha</status> <required_version>2.2</required_version> <maintainer>markjcrane@gmail.com</maintainer> @@ -323,7 +334,6 @@ </package> <package> <name>TFTP</name> - <website/> <descr>Trivial File Transport Protocol is a very simple file transfer protocol. Often used with routers, voip phones and more.</descr> <category>Services</category> <pkginfolink/> @@ -337,8 +347,7 @@ </package> <package> <name>PHPService</name> - <website/> - <descr>PHP run as a service it can do anything PHP can do including but not limited to monitoring files, CPU, RAM, and send alerts to the syslog.</descr> + <descr>PHP run as a service. It can do anything PHP can do including but not limited to monitoring files, CPU, RAM, and send alerts to the syslog.</descr> <category>Services</category> <pkginfolink>https://doc.pfsense.org/index.php/PHPService</pkginfolink> <config_file>https://packages.pfsense.org/packages/config/phpservice/phpservice.xml</config_file> @@ -351,10 +360,8 @@ </package> <package> <name>Backup</name> - <website/> <descr>Tool to Backup and Restore files and directories.</descr> <category>System</category> - <pkginfolink></pkginfolink> <config_file>https://packages.pfsense.org/packages/config/backup/backup.xml</config_file> <version>0.1.8</version> <status>Beta</status> @@ -364,10 +371,8 @@ </package> <package> <name>Cron</name> - <website/> <descr>The cron utility is used to manage commands on a schedule.</descr> <category>Services</category> - <pkginfolink></pkginfolink> <config_file>https://packages.pfsense.org/packages/config/cron/cron.xml</config_file> <version>0.1.9</version> <status>Beta</status> @@ -377,8 +382,7 @@ </package> <package> <name>vHosts</name> - <website/> - <descr>It is a web server package that can host HTML, Javascript, CSS, and PHP. It uses the lighttpd web server that is already installed. It uses PHP5 in FastCGI mode and has access to PHP Data Ojbects and PDO SQLite.</descr> + <descr>A web server package that can host HTML, Javascript, CSS, and PHP. It uses the lighttpd web server that is already installed. It uses PHP5 in FastCGI mode and has access to PHP Data Ojbects and PDO SQLite.</descr> <category>Services</category> <port_category>www</port_category> <pkginfolink>https://doc.pfsense.org/index.php/vhosts</pkginfolink> @@ -467,9 +471,12 @@ <name>Postfix Forwarder</name> <internal_name>Postfix_Forwarder</internal_name> <website>http://www.postfix.org/</website> - <descr><![CDATA[Postfix mail forwarder acts as a relay server for your domain.<br /> - It can do first and second line antispam combat before sending incoming mail to local mail servers.<br /> - Postfix can also detect zombies, check RBLS, SPF, search ldap for valid recipients and use third part antispam engines like policyd and mailscanner for better antispam solution.]]></descr> + <descr><![CDATA[ + Postfix mail forwarder acts as a relay server for your domain.<br /> + It can do first and second line antispam combat before sending incoming mail to local mail servers.<br /> + Postfix can also detect zombies, check RBLS, SPF, search ldap for valid recipients and use third part antispam engines like policyd and mailscanner for better antispam solution. + ]]> + </descr> <category>Services</category> <pkginfolink>https://forum.pfsense.org/index.php/topic,40622.0.html</pkginfolink> <config_file>https://packages.pfsense.org/packages/config/postfix/postfix.xml</config_file> @@ -489,11 +496,14 @@ <package> <name>Dansguardian</name> <website>http://www.dansguardian.org/</website> - <descr><![CDATA[DansGuardian is an award winning Open Source web content filter.<br /> - It filters the actual content of pages based on many methods including phrase matching, PICS filtering and URL filtering.<br /> - It does not purely filter based on a banned list of sites like lesser totally commercial filters.<br /> - For all non-commercial its free, without cost.<br /> - For all commercial use visit dansguardian website to get a licence.]]></descr> + <descr><![CDATA[ + DansGuardian is an award winning Open Source web content filter.<br /> + It filters the actual content of pages based on many methods, including phrase matching, PICS filtering and URL filtering.<br /> + It does not purely filter based on a banned list of sites like lesser totally commercial filters.<br /> + For all non-commercial use it's free, without cost.<br /> + For all commercial use visit DansGuardian website to get a licence. + ]]> + </descr> <category>Services</category> <config_file>https://packages.pfsense.org/packages/config/dansguardian/dansguardian.xml</config_file> <pkginfolink>https://forum.pfsense.org/index.php/topic,43786.0.html</pkginfolink> @@ -514,8 +524,11 @@ <package> <name>mailscanner</name> <website>http://www.mailscanner.info</website> - <descr><![CDATA[MailScanner is an e-mail security and anti-spam package for e-mail gateway systems.<br /> - This is a level3 mail scanning tool with high CPU load.]]></descr> + <descr><![CDATA[ + MailScanner is an e-mail security and anti-spam package for e-mail gateway systems.<br /> + This is a level3 mail scanning tool with high CPU load. + ]]> + </descr> <category>Services</category> <config_file>https://packages.pfsense.org/packages/config/mailscanner/mailscanner.xml</config_file> <pkginfolink>https://forum.pfsense.org/index.php/topic,43687.0.html</pkginfolink> @@ -554,7 +567,11 @@ </package> <package> <name>OpenBGPD</name> - <descr>OpenBGPD is a FREE implementation of the Border Gateway Protocol, Version 4. It allows ordinary machines to be used as routers exchanging routes with other systems speaking the BGP protocol. -- WARNING! Installs files to the same place as Quagga OSPF. Installing both will result in a broken state, remove this package before installing Quagga OSPF.</descr> + <descr><![CDATA[ + OpenBGPD is a free implementation of the Border Gateway Protocol, version 4. It allows ordinary machines to be used as routers exchanging routes with other systems speaking the BGP protocol.<br /> + <strong>WARNING! Installs files to the same place as Quagga OSPF. Installing both will result in a broken state, remove this package before installing Quagga OSPF.</strong> + ]]> + </descr> <category>NET</category> <config_file>https://packages.pfsense.org/packages/config/openbgpd/openbgpd.xml</config_file> <port_category>net</port_category> @@ -572,7 +589,7 @@ </package> <package> <name>Lightsquid</name> - <descr>High performance web proxy report (LightSquid). Proxy realtime stat (SQStat). Requires squid HTTP proxy.</descr> + <descr>LightSquid is a high performance web proxy reporting tool. Proxy realtime statistics (SQStat). Requires Squid HTTP proxy.</descr> <website>http://lightsquid.sf.net/</website> <category>Network Report</category> <version>2.41</version> @@ -588,15 +605,17 @@ <status>RC1</status> <required_version>2.2</required_version> <config_file>https://packages.pfsense.org/packages/config/lightsquid/lightsquid.xml</config_file> - <pkginfolink></pkginfolink> <configurationfile>lightsquid.xml</configurationfile> <noembedded>true</noembedded> </package> <package> <name>Sarg</name> <website>http://www.dansguardian.org/</website> - <descr><![CDATA[Sarg - Squid Analysis Report Generator - is a tool that generates reports about where your users are going on the Internet.<br /> - Sarg provides information about proxy users' activities: times, bytes, sites, etc. for those using Squid, Squidguard or dansguardian.]]></descr> + <descr><![CDATA[ + Sarg - Squid Analysis Report Generator - is a tool that generates reports about where your users are going on the Internet.<br /> + Sarg provides information about proxy users' activities: times, bytes, sites, etc. for those using Squid, SquidGuard or DansGuardian. + ]]> + </descr> <category>Network Report</category> <config_file>https://packages.pfsense.org/packages/config/sarg/sarg.xml</config_file> <pkginfolink>https://forum.pfsense.org/index.php/topic,47765.0.html</pkginfolink> @@ -618,9 +637,12 @@ <name>Ipguard-dev</name> <internal_name>ipguard</internal_name> <website>http://ipguard.deep.perm.ru/</website> - <descr><![CDATA[Ipguard listens network for ARP packets. All permitted MAC-IP pairs listed in config files.<br /> - If it receives one with MAC-IP pair, which is not listed in 'ethers' file, it will send ARP reply with configured fake address.<br /> - This will prevent not permitted host to work properly in local ethernet segment.]]></descr> + <descr><![CDATA[ + Ipguard listens on network for ARP packets. All permitted MAC-IP pairs are listed in config files.<br /> + If it receives one with MAC-IP pair which is not listed in 'ethers' file, it will send ARP reply with configured fake address.<br /> + This will prevent not permitted host to work properly in local ethernet segment. + ]]> + </descr> <category>Security</category> <config_file>https://packages.pfsense.org/packages/config/ipguard/ipguard.xml</config_file> <pkginfolink>https://forum.pfsense.org/index.php/topic,49917.msg263664.html#msg263664</pkginfolink> @@ -640,9 +662,12 @@ <package> <name>Varnish3</name> <internal_name>varnish</internal_name> - <descr><![CDATA[Varnish is a state-of-the-art, high-performance HTTP accelerator.<br /> - It uses the advanced features in FreeBSD to achieve its high performance.<br /> - Version 3 includes streaming support]]></descr> + <descr><![CDATA[ + Varnish is a state-of-the-art, high-performance HTTP accelerator.<br /> + It uses the advanced features in FreeBSD to achieve its high performance.<br /> + Version 3 includes streaming support + ]]> + </descr> <website>http://varnish-cache.org</website> <pkginfolink>https://doc.pfsense.org/index.php/Varnish_package</pkginfolink> <category>Services</category> @@ -664,7 +689,11 @@ <package> <name>vnstat2</name> <website>http://humdi.net/vnstat/</website> - <descr>Vnstat is a console-based network traffic monitor<br />The vnstat PHP frontend and vnstati adds a more user friendly way of displaying traffic usage.</descr> + <descr><![CDATA[ + Vnstat is a console-based network traffic monitor.<br /> + The vnstat PHP frontend and vnstati adds a more user friendly way of displaying traffic usage. + ]]> + </descr> <pkginfolink>https://forum.pfsense.org/index.php/topic,14179.0.html</pkginfolink> <category>Network Management</category> <depends_on_package_pbi>vnstat-1.12-##ARCH##.pbi</depends_on_package_pbi> @@ -673,18 +702,17 @@ <build_pbi> <port>net/vnstat</port> </build_pbi> - <version>1.12_4</version> + <version>1.12.5</version> <status>Stable</status> <required_version>2.2</required_version> <maintainer>crazypark2@yahoo.dk</maintainer> <config_file>https://packages.pfsense.org/packages/config/vnstat2/vnstat2.xml</config_file> <configurationfile>vnstat2.xml</configurationfile> - <after_install_info></after_install_info> <maximum_version>2.2.999</maximum_version> </package> <package> <name>dns-server</name> - <descr>pfSense version of TinyDNS which features failover host support</descr> + <descr>pfSense version of TinyDNS which features failover host support.</descr> <website>http://cr.yp.to/djbdns.html</website> <category>Services</category> <version>1.0.6.23</version> @@ -705,7 +733,7 @@ </package> <package> <name>Open-VM-Tools</name> - <descr>VMware Tools</descr> + <descr>VMware Tools is a suite of utilities that enhances the performance of the virtual machine's guest operating system and improves management of the virtual machine.</descr> <website>http://open-vm-tools.sourceforge.net/</website> <category>Services</category> <version>1280544_10</version> @@ -724,7 +752,11 @@ <package> <name>AutoConfigBackup</name> <maintainer>coreteam@pfsense.org</maintainer> - <descr>Automatically backs up your pfSense configuration. All contents are encrypted before being sent to the server. Requires Gold Subscription from https://portal.pfsense.org</descr> + <descr><![CDATA[ + Automatically backs up your pfSense configuration. All contents are encrypted before being sent to the server.<br /> + Requires Gold Subscription from <a href="https://portal.pfsense.org">pfSense Portal</a>. + ]]> + </descr> <website>https://portal.pfsense.org</website> <category>Services</category> <version>1.28</version> @@ -736,7 +768,7 @@ </package> <package> <name>arping</name> - <descr>Broadcasts a who-has ARP packet on the network and prints answers. </descr> + <descr>Broadcasts a who-has ARP packet on the network and prints answers.</descr> <website>http://www.habets.pp.se/synscan/programs.php?prog=arping</website> <category>Services</category> <version>1.2</version> @@ -755,7 +787,7 @@ <package> <name>nmap</name> <maintainer>jimp@pfsense.org</maintainer> - <descr>NMap is a utility for network exploration or security auditing. It supports ping scanning (determine which hosts are up), many port scanning techniques (determine what services the hosts are offering), version detection (determine what application/service is running on a port), and TCP/IP fingerprinting (remote host OS or device identification). It also offers flexible target and port specification, decoy/stealth scanning, SunRPC scanning, and more. </descr> + <descr>NMap is a utility for network exploration or security auditing. It supports ping scanning (determine which hosts are up), many port scanning techniques (determine what services the hosts are offering), version detection (determine what application/service is running on a port), and TCP/IP fingerprinting (remote host OS or device identification). It also offers flexible target and port specification, decoy/stealth scanning, SunRPC scanning, and more.</descr> <category>Security</category> <depends_on_package_pbi>nmap-6.47-##ARCH##.pbi</depends_on_package_pbi> <config_file>https://packages.pfsense.org/packages/config/nmap/nmap.xml</config_file> @@ -793,10 +825,10 @@ </package> <package> <name>nut</name> - <descr>Network UPS Tools</descr> + <descr>Network UPS Tools.</descr> <website>http://www.networkupstools.org/</website> <category>Network Management</category> - <version>2.0.5</version> + <version>2.0.6</version> <status>BETA</status> <required_version>2.2</required_version> <maintainer>rswagoner@gmail.com</maintainer> @@ -812,8 +844,7 @@ </package> <package> <name>diag_new_states</name> - <descr>Paul Taylors version of Diagnostics States which utilizes pftop.</descr> - <website>http://www.addressplus.net</website> + <descr>Paul Taylor's version of Diagnostics States which utilizes pftop.</descr> <category>Network Management</category> <version>0.2</version> <maintainer>ptaylor@addressplus.net</maintainer> @@ -829,7 +860,7 @@ <descr>darkstat is a network statistics gatherer. It's a packet sniffer that runs as a background process on a cable/DSL router, gathers all sorts of statistics about network usage, and serves them over HTTP.</descr> <category>Network Management</category> <depends_on_package_pbi>darkstat-3.0.718-##ARCH##.pbi</depends_on_package_pbi> - <version>3.0.718</version> + <version>3.1</version> <status>Stable</status> <required_version>2.2</required_version> <maintainer>coreteam@pfsense.org</maintainer> @@ -850,7 +881,7 @@ <depends_on_package_pbi>pfflowd-0.8_1-##ARCH##.pbi</depends_on_package_pbi> <version>1.0.3</version> <status>Stable</status> - <required_version>2.2</required_version> + <required_version>3.0</required_version> <configurationfile>pfflowd.xml</configurationfile> <port_category>net</port_category> <run_depends>sbin/pfflowd:net/pfflowd</run_depends> @@ -861,11 +892,11 @@ </package> <package> <name>widentd</name> - <descr>RFC1413 auth/identd daemon with fixed fake reply</descr> - <website>http://www.webweaving.org/widentd</website> + <descr>RFC1413 auth/identd daemon with fixed fake reply.</descr> + <website>http://bsdforge.com/projects/source/net/widentd/</website> <category>Services</category> <depends_on_package_pbi>widentd-1.03_2-##ARCH##.pbi</depends_on_package_pbi> - <version>1.03_2</version> + <version>1.0.4</version> <status>Stable</status> <pkginfolink>https://doc.pfsense.org/index.php/Widentd_package</pkginfolink> <required_version>2.2</required_version> @@ -881,10 +912,13 @@ <package> <name>freeradius2</name> <website>http://www.freeradius.org/</website> - <descr><![CDATA[A free implementation of the RADIUS protocol.<br /> - Support: MySQL, PostgreSQL, LDAP, Kerberos<br /> - FreeRADIUS and FreeRADIUS2 settings are not compatible so don't use them together or try to update<br /> - On pfSense docs there is a how-to which could help you on porting users.]]></descr> + <descr><![CDATA[ + A free implementation of the RADIUS protocol.<br /> + Support: MySQL, PostgreSQL, LDAP, Kerberos.<br /> + FreeRADIUS and FreeRADIUS2 settings are not compatible so don't use them together or try to update.<br /> + On pfSense docs there is a how-to which could help you on porting users. + ]]> + </descr> <pkginfolink>https://doc.pfsense.org/index.php/FreeRADIUS_2.x_package</pkginfolink> <category>System</category> <version>1.6.14</version> @@ -894,7 +928,7 @@ <depends_on_package_pbi>freeradius-2.2.6_3-##ARCH##.pbi</depends_on_package_pbi> <config_file>https://packages.pfsense.org/packages/config/freeradius2/freeradius.xml</config_file> <configurationfile>freeradius.xml</configurationfile> - <after_install_info>Please visit Services: FreeRADIUS</after_install_info> + <after_install_info>Please visit Services: FreeRADIUS.</after_install_info> <port_category>net</port_category> <run_depends>sbin/radiusd:net/freeradius2 bin/bash:shells/bash</run_depends> <build_pbi> @@ -928,7 +962,7 @@ <package> <name>stunnel</name> <website>http://www.stunnel.org/</website> - <descr>An SSL encryption wrapper between remote client and local or remote servers. </descr> + <descr>SSL encryption wrapper between remote client and local or remote servers.</descr> <category>Network Management</category> <depends_on_package_pbi>stunnel-5.20-##ARCH##.pbi</depends_on_package_pbi> <version>5.20</version> @@ -947,12 +981,12 @@ </package> <package> <name>iperf</name> - <website>http://dast.nlanr.net/Projects/Iperf/</website> + <website>http://www.freshports.org/benchmarks/iperf/</website> <descr>Iperf is a tool for testing network throughput, loss, and jitter.</descr> <category>Network Management</category> <config_file>https://packages.pfsense.org/packages/config/iperf/iperf.xml</config_file> <depends_on_package_pbi>iperf-2.0.5-##ARCH##.pbi</depends_on_package_pbi> - <version>2.0.5_1</version> + <version>2.0.5.2</version> <status>Beta</status> <pkginfolink>https://doc.pfsense.org/index.php/Iperf_package</pkginfolink> <required_version>2.2</required_version> @@ -965,7 +999,7 @@ </package> <package> <name>netio</name> - <website>http://freshmeat.net/projects/netio/</website> + <website>http://www.ars.de/ars/ars.nsf/docs/netio/</website> <descr>This is a network benchmark for DOS, OS/2 2.x, Windows NT/2000 and Unix. It measures the net throughput of a network via NetBIOS and/or TCP/IP protocols (Unix and DOS only support TCP/IP) using various different packet sizes.</descr> <category>Network Management</category> <config_file>https://packages.pfsense.org/packages/config/netio/netio.xml</config_file> @@ -984,7 +1018,7 @@ <package> <name>mtr-nox11</name> <maintainer>billm@pfsense.org</maintainer> - <descr>Enhanced traceroute replacement</descr> + <descr>Enhanced traceroute replacement. mtr combines the functionality of the traceroute and ping programs in a single network diagnostic tool.</descr> <website>http://www.bitwizard.nl/mtr/</website> <category>Network Management</category> <depends_on_package_pbi>mtr-0.85_1-##ARCH##.pbi</depends_on_package_pbi> @@ -1023,9 +1057,12 @@ <package> <name>squid3</name> <internal_name>squid</internal_name> - <descr><![CDATA[High performance web proxy cache.<br /> - It combines squid as a proxy server with its capabilities of acting as a HTTP / HTTPS reverse proxy.<br /> - It includes an Exchange-Web-Access (OWA) Assistant, ssl filtering and antivirus integration via i-cap]]></descr> + <descr><![CDATA[ + High performance web proxy cache.<br /> + It combines Squid as a proxy server with its capabilities of acting as a HTTP / HTTPS reverse proxy.<br /> + It includes an Exchange-Web-Access (OWA) Assistant, SSL filtering and antivirus integration via C-ICAP. + ]]> + </descr> <pkginfolink>https://forum.pfsense.org/index.php/topic,48347.0.html</pkginfolink> <website>http://www.squid-cache.org/</website> <category>Network</category> @@ -1047,7 +1084,7 @@ </package> <package> <name>LCDproc</name> - <descr>LCD display driver</descr> + <descr>LCD display driver.</descr> <website>http://www.lcdproc.org/</website> <category>Utility</category> <version>1.0.2</version> @@ -1064,12 +1101,13 @@ <port>sysutils/lcdproc</port> </build_pbi> <build_options>lcdproc_SET_FORCE=USB</build_options> + <after_install_info>Please set the service options in Services - LCDproc before running the service.</after_install_info> <maximum_version>2.2.999</maximum_version> </package> <package> <name>LCDproc-dev</name> <internal_name>lcdproc</internal_name> - <descr>LCD display driver - Development version</descr> + <descr>LCD display driver - development version.</descr> <website>http://www.lcdproc.org/</website> <category>Utility</category> <version>0.9.11</version> @@ -1087,13 +1125,13 @@ <port>sysutils/lcdproc</port> </build_pbi> <build_options>lcdproc_SET_FORCE=USB</build_options> - <after_install_info>Please set the service options in Services-LCDproc before running the service.</after_install_info> + <after_install_info>Please set the service options in Services - LCDproc before running the service.</after_install_info> <maximum_version>2.2.999</maximum_version> </package> <package> <name>arpwatch</name> <descr>Arpwatch monitors Ethernet to IP address pairings. It logs certain changes to syslog.</descr> - <website>http://www-nrg.ee.lbl.gov/</website> + <website>http://ee.lbl.gov/</website> <category>Security</category> <depends_on_package_pbi>arpwatch-2.1.a15_8-##ARCH##.pbi</depends_on_package_pbi> <build_pbi> @@ -1168,9 +1206,8 @@ </package> <package> <name>HAVP antivirus</name> - <pkginfolink></pkginfolink> <website>http://www.server-side.de/</website> - <descr>Antivirus: HAVP (HTTP Antivirus Proxy) is a proxy with a ClamAV anti-virus scanner. The main aims are continuous, non-blocking downloads and smooth scanning of dynamic and password protected HTTP traffic. Havp antivirus proxy has a parent and transparent proxy mode. It can be used with squid or standalone. And File Scanner for local files.</descr> + <descr>Antivirus: HAVP (HTTP Antivirus Proxy) is a proxy with a ClamAV anti-virus scanner. The main aims are continuous, non-blocking downloads and smooth scanning of dynamic and password protected HTTP traffic. HAVP antivirus proxy has a parent and transparent proxy mode. It can be used with Squid or standalone.</descr> <category>Network Management</category> <depends_on_package_pbi>havp-0.91_3-##ARCH##.pbi</depends_on_package_pbi> <build_pbi> @@ -1189,9 +1226,9 @@ </package> <package> <name>blinkled</name> - <descr>Allows you to use LEDs for network activity on supported platforms (ALIX, WRAP, Soekris, etc)</descr> + <descr>Allows you to use LEDs for monitoring network activity on supported platforms (ALIX, WRAP, Soekris, etc.)</descr> <category>System</category> - <version>0.4.4</version> + <version>0.4.5</version> <status>Beta</status> <maintainer>jimp@pfsense.org</maintainer> <required_version>2.2</required_version> @@ -1208,7 +1245,7 @@ </package> <package> <name>gwled</name> - <descr>Allows you to use LEDs for gateway status on supported platforms (ALIX, WRAP, Soekris, etc)</descr> + <descr>Allows you to use LEDs for monitoring gateway status on supported platforms (ALIX, WRAP, Soekris, etc.)</descr> <category>System</category> <version>0.2.2</version> <status>Beta</status> @@ -1255,10 +1292,8 @@ </package> <package> <name>Shellcmd</name> - <website/> <descr>The shellcmd utility is used to manage commands on system startup.</descr> <category>Services</category> - <pkginfolink></pkginfolink> <config_file>https://packages.pfsense.org/packages/config/shellcmd/shellcmd.xml</config_file> <version>0.6</version> <status>Beta</status> @@ -1280,7 +1315,7 @@ <config_file>https://packages.pfsense.org/packages/config/nrpe2/nrpe2.xml</config_file> <version>2.15_5 v2.2_4</version> <status>Beta</status> - <required_version>2.2</required_version> + <required_version>2.2.1</required_version> <maintainer>erik@erikkristensen.com</maintainer> <configurationfile>nrpe2.xml</configurationfile> <maximum_version>2.2.999</maximum_version> @@ -1288,7 +1323,11 @@ <package> <name>Check_mk agent</name> <website>https://github.com/sileht/check_mk/blob/master/doc/README</website> - <descr><![CDATA[The basic idea of check_mk is to fetch "all" information about a target host at once.<br>For each host to be monitored check_mk is called by Nagios only once per time period.]]></descr> + <descr><![CDATA[ + The basic idea of check_mk is to fetch "all" information about a target host at once.<br /> + For each host to be monitored check_mk is called by Nagios only once per time period. + ]]> + </descr> <category>Services</category> <depends_on_package_pbi>muse-0.2-##ARCH##.pbi</depends_on_package_pbi> <build_pbi> @@ -1305,8 +1344,11 @@ </package> <package> <name>SSHDCond</name> - <descr><![CDATA[Allows to define SSH overrides for users,groups,hosts and addresses using Match in a convenient way.<br /> - This package acts as an access list frontend for ssh connections]]></descr> + <descr><![CDATA[ + Allows to define SSH overrides for users, groups, hosts and addresses using Match in a convenient way.<br /> + This package acts as an access list frontend for ssh connections + ]]> + </descr> <category>Enhancements</category> <version>1.0.2</version> <status>Beta</status> @@ -1330,7 +1372,11 @@ <package> <name>Quagga OSPF</name> <internal_name>Quagga_OSPF</internal_name> - <descr>OSPF routing protocol using Quagga -- WARNING! Installs files to the same place as OpenBGPD. Installing both will break things.</descr> + <descr><![CDATA[ + OSPF routing protocol using Quagga.<br /> + <strong>WARNING! Installs files to the same place as OpenBGPD. Installing both will break things.</strong> + ]]> + </descr> <maintainer>jimp@pfsense.org</maintainer> <version>0.6.5</version> <category>Routing</category> @@ -1343,7 +1389,6 @@ <build_pbi> <port>net/quagga</port> </build_pbi> - <pkginfolink></pkginfolink> <required_version>2.2</required_version> <configurationfile>quagga_ospfd.xml</configurationfile> </package> @@ -1352,19 +1397,18 @@ <internal_name>System_Patches</internal_name> <descr>A package to apply and maintain custom system patches.</descr> <maintainer>jimp@pfsense.org</maintainer> - <version>1.0.3</version> + <version>1.0.4</version> <category>System</category> <status>RELEASE</status> <config_file>https://packages.pfsense.org/packages/config/systempatches/systempatches.xml</config_file> <port_category>sysutils</port_category> - <pkginfolink></pkginfolink> <required_version>2.2</required_version> <configurationfile>systempatches.xml</configurationfile> </package> <package> <name>bacula-client</name> <pkginfolink>http://www.bacula.org/</pkginfolink> - <descr><![CDATA[Bacula is a set of Open Source, computer programs that permit you (or the system administrator) to manage backup, recovery, and verification of computer data across a network of computers of different kinds.]]></descr> + <descr>Bacula is a set of Open Source computer programs that permit managings backups, recovery, and verification of computer data across a network of computers of different kinds.</descr> <website>http://www.bacula.org/</website> <category>Services</category> <version>7.0.5 pkg v 1.0.7</version> @@ -1383,7 +1427,7 @@ <package> <name>urlsnarf</name> <pkginfolink>https://forum.pfsense.org/</pkginfolink> - <descr><![CDATA[HTTP URL Sniffer (console/shell only)]]></descr> + <descr>HTTP URL Sniffer (console/shell only).</descr> <category>Services</category> <version>2.4b1</version> <status>Beta</status> @@ -1401,7 +1445,8 @@ <package> <name>iftop</name> <pkginfolink>https://forum.pfsense.org/</pkginfolink> - <descr><![CDATA[Realtime interface monitor (console/shell only)]]></descr> + <descr>Realtime interface monitor (console/shell only).</descr> + <website>http://www.ex-parrot.com/~pdw/iftop/</website> <category>Services</category> <version>0.17</version> <status>Beta</status> @@ -1419,7 +1464,8 @@ <package> <name>git</name> <pkginfolink>https://forum.pfsense.org/</pkginfolink> - <descr><![CDATA[GIT Source Code Management (console/shell only)]]></descr> + <descr>GIT Source Code Management (console/shell only).</descr> + <website>http://git-scm.com/</website> <category>Services</category> <version>2.2.1</version> <status>Beta</status> @@ -1480,10 +1526,15 @@ <package> <name>Zabbix Agent LTS</name> <internal_name>zabbix-agent</internal_name> - <descr>LTS (Long Term Support) release of Zabbix Monitoring agent. Zabbix LTS releases are supported for - Zabbix customers during five (5) years i.e. 3 years of Full Support (general, critical and security issues) - and 2 additional years of Limited Support (critical and security issues only). Zabbix LTS version release - will result in change of the first version number. More info in http://www.zabbix.com/life_cycle_and_release_policy.php </descr> + <descr><![CDATA[ + LTS (Long Term Support) release of Zabbix Monitoring agent. Zabbix LTS releases are supported for + Zabbix customers during five (5) years i.e. 3 years of Full Support (general, critical and security issues) + and 2 additional years of Limited Support (critical and security issues only). Zabbix LTS version release + will result in change of the first version number.<br /> + More info in <a href="http://www.zabbix.com/life_cycle_and_release_policy.php">Zabbix Life Cycle and Release Policy</a>. + ]]> + </descr> + <website>http://www.zabbix.com/product.php</website> <category>Services</category> <config_file>https://packages.pfsense.org/packages/config/zabbix-agent-lts/zabbix-agent-lts.xml</config_file> <version>0.8.5</version> @@ -1502,10 +1553,15 @@ <package> <name>Zabbix Proxy LTS</name> <internal_name>zabbix-proxy</internal_name> - <descr>LTS (Long Term Support) release of Zabbix agent proxy. Zabbix LTS releases are supported for - Zabbix customers during five (5) years i.e. 3 years of Full Support (general, critical and security issues) - and 2 additional years of Limited Support (critical and security issues only). Zabbix LTS version release - will result in change of the first version number. More info in http://www.zabbix.com/life_cycle_and_release_policy.php </descr> + <descr><![CDATA[ + LTS (Long Term Support) release of Zabbix agent proxy. Zabbix LTS releases are supported for + Zabbix customers during five (5) years i.e. 3 years of Full Support (general, critical and security issues) + and 2 additional years of Limited Support (critical and security issues only). Zabbix LTS version release + will result in change of the first version number.<br /> + More info in <a href="http://www.zabbix.com/life_cycle_and_release_policy.php">Zabbix Life Cycle and Release Policy</a>. + ]]> + </descr> + <website>http://www.zabbix.com/product.php</website> <category>Services</category> <config_file>https://packages.pfsense.org/packages/config/zabbix-proxy-lts/zabbix-proxy-lts.xml</config_file> <version>0.8.5</version> @@ -1524,11 +1580,15 @@ </package> <package> <name>Zabbix-2 Agent</name> - <descr>Standard release of Zabbix Monitoring agent. Standard Zabbix releases are supported for - Zabbix customers during six (6) months of Full Support (general, critical and security issues) until - the next Zabbix stable release, plus one (1) additional month of Limited Support (critical and security - issues only). Zabbix Standard version release will result in change of the second version number. - More info in http://www.zabbix.com/life_cycle_and_release_policy.php </descr> + <descr><![CDATA[ + Standard release of Zabbix Monitoring agent. Standard Zabbix releases are supported for + Zabbix customers during six (6) months of Full Support (general, critical and security issues) until + the next Zabbix stable release, plus one (1) additional month of Limited Support (critical and security + issues only). Zabbix Standard version release will result in change of the second version number.<br /> + More info in <a href="http://www.zabbix.com/life_cycle_and_release_policy.php">Zabbix Life Cycle and Release Policy</a>. + ]]> + </descr> + <website>http://www.zabbix.com/product.php</website> <category>Services</category> <config_file>https://packages.pfsense.org/packages/config/zabbix2/zabbix2-agent.xml</config_file> <version>zabbix24-agent-2.4.3 pkg v0.8.3</version> @@ -1545,11 +1605,15 @@ </package> <package> <name>Zabbix-2 Proxy</name> - <descr>Standard release of Zabbix agent proxy. Standard Zabbix releases are supported for - Zabbix customers during six (6) months of Full Support (general, critical and security issues) until - the next Zabbix stable release, plus one (1) additional month of Limited Support (critical and security - issues only). Zabbix Standard version release will result in change of the second version number. - More info in http://www.zabbix.com/life_cycle_and_release_policy.php </descr> + <descr><![CDATA[ + Standard release of Zabbix agent proxy. Standard Zabbix releases are supported for + Zabbix customers during six (6) months of Full Support (general, critical and security issues) until + the next Zabbix stable release, plus one (1) additional month of Limited Support (critical and security + issues only). Zabbix Standard version release will result in change of the second version number.<br /> + More info in <a href="http://www.zabbix.com/life_cycle_and_release_policy.php">Zabbix Life Cycle and Release Policy</a> + ]]> + </descr> + <website>http://www.zabbix.com/product.php</website> <category>Services</category> <config_file>https://packages.pfsense.org/packages/config/zabbix2/zabbix2-proxy.xml</config_file> <version>zabbix24-proxy-2.4.3 pkg v0.8.3</version> @@ -1568,7 +1632,8 @@ <package> <name>sudo</name> <pkginfolink>https://doc.pfsense.org/index.php/Sudo_Package</pkginfolink> - <descr><![CDATA[sudo allows delegation of privileges to users in the shell so commands can be run as other users, such as root.]]></descr> + <descr>sudo allows delegation of privileges to users in the shell so commands can be run as other users, such as root.</descr> + <website>http://www.sudo.ws/</website> <category>Security</category> <version>0.2.7</version> <status>Beta</status> @@ -1588,11 +1653,10 @@ <internal_name>Service_Watchdog</internal_name> <descr>Monitors for stopped services and restarts them.</descr> <maintainer>jimp@pfsense.org</maintainer> - <version>1.6</version> + <version>1.7</version> <category>Services</category> <status>Release</status> <config_file>https://packages.pfsense.org/packages/config/servicewatchdog/servicewatchdog.xml</config_file> - <pkginfolink></pkginfolink> <required_version>2.2</required_version> <configurationfile>servicewatchdog.xml</configurationfile> </package> @@ -1607,7 +1671,6 @@ <status>Beta</status> <required_version>2.2</required_version> <configurationfile>softflowd.xml</configurationfile> - <maintainer></maintainer> <port_category>net-mgmt</port_category> <run_depends>sbin/softflowd:net-mgmt/softflowd</run_depends> <build_pbi> @@ -1616,7 +1679,8 @@ </package> <package> <name>Apcupsd</name> - <descr>Set of programs for controlling APC UPS.</descr> + <descr>Set of programs for controlling APC's UPS models.</descr> + <website>http://www.apcupsd.com/</website> <category>Services</category> <config_file>https://packages.pfsense.org/packages/config/apcupsd/apcupsd.xml</config_file> <version>apcupsd-3.14.12_1 pkg v0.3.6</version> @@ -1635,7 +1699,7 @@ <package> <name>LADVD</name> <descr>Send and decode link layer advertisements. Support for LLDP (Link Layer Discovery Protocol), CDP (Cisco Discovery Protocol), EDP (Extreme Discovery Protocol) and NDP (Nortel Discovery Protocol).</descr> - <website>https://code.google.com/p/ladvd/</website> + <website>https://github.com/sspans/ladvd</website> <category>Network Management</category> <version>1.0.4_1</version> <status>BETA</status> @@ -1646,14 +1710,13 @@ <build_pbi> <port>net/ladvd</port> </build_pbi> - <pkginfolink></pkginfolink> <required_version>2.2</required_version> <configurationfile>ladvd.xml</configurationfile> </package> <package> <name>suricata</name> <website>http://suricata-ids.org/</website> - <descr><![CDATA[High Performance Network IDS, IPS and Security Monitoring engine by OISF.]]></descr> + <descr>High Performance Network IDS, IPS and Security Monitoring engine by OISF.</descr> <category>Security</category> <version>2.1.6</version> <status>Stable</status> @@ -1672,7 +1735,8 @@ <package> <name>FTP Client Proxy</name> <internal_name>FTP_Client_Proxy</internal_name> - <descr><![CDATA[Basic FTP Client Proxy using ftp-proxy from FreeBSD]]></descr> + <descr>Basic FTP Client Proxy using ftp-proxy from FreeBSD.</descr> + <pkginfolink>https://forum.pfsense.org/index.php?topic=89841.0</pkginfolink> <maintainer>jimp@pfsense.org</maintainer> <version>0.2.1</version> <category>Services</category> |