diff options
66 files changed, 2919 insertions, 934 deletions
diff --git a/src/etc/inc/basic_sasl_client.inc b/src/etc/inc/basic_sasl_client.inc index c817664..b2972b5 100644 --- a/src/etc/inc/basic_sasl_client.inc +++ b/src/etc/inc/basic_sasl_client.inc @@ -21,7 +21,7 @@ class basic_sasl_client_class Function Start(&$client, &$message, &$interactions) { - if ($this->state!=SASL_BASIC_STATE_START) + if($this->state!=SASL_BASIC_STATE_START) { $client->error="Basic authentication state is not at the start"; return(SASL_FAIL); @@ -33,21 +33,19 @@ class basic_sasl_client_class $defaults=array( ); $status=$client->GetCredentials($this->credentials,$defaults,$interactions); - if ($status==SASL_CONTINUE) + if($status==SASL_CONTINUE) { $message=$this->credentials["user"].":".$this->credentials["password"]; $this->state=SASL_BASIC_STATE_DONE; } else - { Unset($message); - } return($status); } Function Step(&$client, $response, &$message, &$interactions) { - switch ($this->state) + switch($this->state) { case SASL_BASIC_STATE_DONE: $client->error="Basic authentication was finished without success"; diff --git a/src/etc/inc/captiveportal.inc b/src/etc/inc/captiveportal.inc index 8b9d33e..ec0cabe 100644 --- a/src/etc/inc/captiveportal.inc +++ b/src/etc/inc/captiveportal.inc @@ -1,9 +1,9 @@ <?php /* captiveportal.inc + part of pfSense (https://www.pfsense.org) - Copyright (C) 2004-2011 Scott Ullrich <sullrich@gmail.com> - Copyright (C) 2009-2012 Ermal Luçi <eri@pfsense.org> + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. All rights reserved. Copyright (C) 2003-2006 Manuel Kasper <mk@neon1.net>. originally part of m0n0wall (http://m0n0.ch/wall) @@ -16,25 +16,42 @@ 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. - - This version of captiveportal.inc has been modified by Rob Parker - <rob.parker@keycom.co.uk> to include changes for per-user bandwidth management - via returned RADIUS attributes. This page has been modified to delete any - added rules which may have been created by other per-user code (index.php, etc). - These changes are (c) 2004 Keycom PLC. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* include all configuration functions */ diff --git a/src/etc/inc/certs.inc b/src/etc/inc/certs.inc index 6d260e6..d49f478 100644 --- a/src/etc/inc/certs.inc +++ b/src/etc/inc/certs.inc @@ -1,9 +1,10 @@ <?php /* certs.inc - Copyright (C) 2008 Shrew Soft Inc - Copyright (C) 2010 Jim Pingle <jimp@pfsense.org> - All rights reserved. + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2008-2016 Electric Sheep Fencing, LLC. All rights reserved. + Copyright (c) 2008 Shrew Soft Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -12,19 +13,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ define("OPEN_SSL_CONF_PATH", "/etc/ssl/openssl.cnf"); @@ -668,6 +692,22 @@ function is_webgui_cert($certref) { } } +function is_package_cert($certref) { + $pluginparams = array(); + $pluginparams['type'] = 'certificates'; + $pluginparams['event'] = 'used_certificates'; + + $certificates_used_by_packages = pkg_call_plugins('plugin_certificates', $pluginparams); + + /* Check if any package is using certificate */ + foreach ($certificates_used_by_packages as $name => $package) { + if (is_array($package['certificatelist'][$certref]) && + isset($package['certificatelist'][$certref]) > 0) { + return true; + } + } +} + function is_captiveportal_cert($certref) { global $config; if (!is_array($config['captiveportal'])) { @@ -682,12 +722,14 @@ function is_captiveportal_cert($certref) { } function cert_in_use($certref) { + return (is_webgui_cert($certref) || is_user_cert($certref) || is_openvpn_server_cert($certref) || is_openvpn_client_cert($certref) || is_ipsec_cert($certref) || - is_captiveportal_cert($certref)); + is_captiveportal_cert($certref) || + is_package_cert($certref)); } function crl_create(& $crl, $caref, $name, $serial = 0, $lifetime = 9999) { diff --git a/src/etc/inc/config.console.inc b/src/etc/inc/config.console.inc index ce9dfd2..fd2d767 100644 --- a/src/etc/inc/config.console.inc +++ b/src/etc/inc/config.console.inc @@ -1,16 +1,9 @@ <?php -/****h* pfSense/config - * NAME - * config.inc - Functions to manipulate config.xml - * DESCRIPTION - * This include contains various config.xml specific functions. - * HISTORY - * $Id$ - ****** - +/* config.console.inc - Copyright (C) 2004-2010 Scott Ullrich - All rights reserved. + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. All rights reserved. originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. @@ -23,19 +16,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ function set_networking_interfaces_ports() { diff --git a/src/etc/inc/config.gui.inc b/src/etc/inc/config.gui.inc index 0883ede..61fa29a 100644 --- a/src/etc/inc/config.gui.inc +++ b/src/etc/inc/config.gui.inc @@ -1,16 +1,9 @@ <?php -/****h* pfSense/config - * NAME - * config.gui.inc - Functions to manipulate config.xml - * DESCRIPTION - * This include contains various config.xml specific functions. - * HISTORY - * $Id$ - ****** - +/* config.gui.inc - Copyright (C) 2004-2010 Scott Ullrich - All rights reserved. + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. All rights reserved. originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. @@ -23,19 +16,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ require_once("globals.inc"); diff --git a/src/etc/inc/config.inc b/src/etc/inc/config.inc index 5f038fa..800312e 100644 --- a/src/etc/inc/config.inc +++ b/src/etc/inc/config.inc @@ -1,16 +1,9 @@ <?php -/****h* pfSense/config - * NAME - * config.inc - Functions to manipulate config.xml - * DESCRIPTION - * This include contains various config.xml specific functions. - * HISTORY - * $Id$ - ****** - +/* config.inc - Copyright (C) 2004-2010 Scott Ullrich - All rights reserved. + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. All rights reserved. originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. @@ -23,19 +16,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ if (!function_exists('platform_booting')) { diff --git a/src/etc/inc/config.lib.inc b/src/etc/inc/config.lib.inc index 0d66706..41bc2af 100644 --- a/src/etc/inc/config.lib.inc +++ b/src/etc/inc/config.lib.inc @@ -1,17 +1,11 @@ <?php -/****h* pfSense/config - * NAME - * config.lib.inc - Functions to manipulate config.xml - * DESCRIPTION - * This include contains various config.xml specific functions. - * HISTORY - * $Id$ - ****** - +/* config.lib.inc + Ported from config.inc by Erik Kristensen - Copyright (C) 2004-2010 Scott Ullrich - All rights reserved. + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. All rights reserved. originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. @@ -24,19 +18,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /****f* config/encrypted_configxml @@ -1024,4 +1041,4 @@ function pfSense_clear_globals() { register_shutdown_function('pfSense_clear_globals'); -?>
\ No newline at end of file +?> diff --git a/src/etc/inc/crypt.inc b/src/etc/inc/crypt.inc index f621588..a8fcc83 100644 --- a/src/etc/inc/crypt.inc +++ b/src/etc/inc/crypt.inc @@ -1,30 +1,59 @@ <?php -/* crypt.inc */ /* - Copyright (C) 2008 Shrew Soft Inc + crypt.inc + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2008-2016 Electric Sheep Fencing, LLC. All rights reserved. + Copyright (C) 2008 Shrew Soft Inc. All rights reserved. + + originally part of m0n0wall (http://m0n0.ch/wall) + Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. 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. + 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ function crypt_data($val, $pass, $opt) { diff --git a/src/etc/inc/easyrule.inc b/src/etc/inc/easyrule.inc index e91c8a5..4dc70b2 100644 --- a/src/etc/inc/easyrule.inc +++ b/src/etc/inc/easyrule.inc @@ -2,30 +2,53 @@ /* easyrule.inc - Copyright (C) 2009-2010 Jim Pingle (jpingle@gmail.com) + part of pfSense (https://www.pfsense.org) Originally Sponsored By Anathematic @ pfSense Forums - All rights reserved. + Copyright (c) 2009-2010 Electric Sheep Fencing, 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. + 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ $blockaliasname = 'EasyRuleBlockHosts'; diff --git a/src/etc/inc/filter.inc b/src/etc/inc/filter.inc index 23230e8..9eb7c88 100644 --- a/src/etc/inc/filter.inc +++ b/src/etc/inc/filter.inc @@ -1,11 +1,11 @@ <?php /* filter.inc - Copyright (C) 2004-2006 Scott Ullrich - Copyright (C) 2005 Bill Marquette - Copyright (C) 2006 Peter Allgeyer - Copyright (C) 2008-2010 Ermal Luçi - All rights reserved. + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2005 Bill Marquette + Copyright (c) 2006 Peter Allgeyer + Copyright (c) 2008-2016 Electric Sheep Fencing, LLC. All rights reserved. originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. @@ -18,19 +18,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ diff --git a/src/etc/inc/functions.inc b/src/etc/inc/functions.inc index 1edd6a3..c5636fa 100644 --- a/src/etc/inc/functions.inc +++ b/src/etc/inc/functions.inc @@ -1,8 +1,9 @@ <?php /* functions.inc - Copyright (C) 2004-2006 Scott Ullrich - All rights reserved. + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. All rights reserved. originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. @@ -15,19 +16,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* BEGIN compatibility goo with HEAD */ diff --git a/src/etc/inc/globals.inc b/src/etc/inc/globals.inc index 1098342..946cfe6 100644 --- a/src/etc/inc/globals.inc +++ b/src/etc/inc/globals.inc @@ -99,7 +99,7 @@ $g = array( "disablecrashreporter" => false, "crashreporterurl" => "https://crashreporter.pfsense.org/crash_reporter.php", "debug" => false, - "latest_config" => "13.5", + "latest_config" => "13.7", "nopkg_platforms" => array("cdrom"), "minimum_ram_warning" => "101", "minimum_ram_warning_text" => "128 MB", diff --git a/src/etc/inc/gmirror.inc b/src/etc/inc/gmirror.inc index 2700d09..bacd77f 100644 --- a/src/etc/inc/gmirror.inc +++ b/src/etc/inc/gmirror.inc @@ -1,29 +1,53 @@ <?php /* gmirror.inc - Copyright (C) 2009-2014 Jim Pingle - Copyright (C) 2013-2015 Electric Sheep Fencing, LP + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2009-2016 Electric Sheep Fencing, 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. + 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ global $balance_methods; diff --git a/src/etc/inc/gwlb.inc b/src/etc/inc/gwlb.inc index 9c60587..66db240 100644 --- a/src/etc/inc/gwlb.inc +++ b/src/etc/inc/gwlb.inc @@ -1,30 +1,54 @@ <?php /* gwlb.inc + + part of pfSense (https://www.pfsense.org) Copyright (C) 2008 Bill Marquette, Seth Mos - Copyright (C) 2010 Ermal Luçi - All rights reserved. + Copyright (c) 2008-2016 Electric Sheep Fencing, 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. + 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ require_once("config.inc"); diff --git a/src/etc/inc/ipsec.attributes.php b/src/etc/inc/ipsec.attributes.php index 8a8ed5f..9b0b416 100644 --- a/src/etc/inc/ipsec.attributes.php +++ b/src/etc/inc/ipsec.attributes.php @@ -1,8 +1,9 @@ <?php /* ipsec.attributes.php - Copyright (C) 2011-2012 Ermal Luçi - Copyright (C) 2013-2015 Electric Sheep Fencing, LP + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2011-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -12,19 +13,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ if (empty($common_name)) { diff --git a/src/etc/inc/ipsec.auth-user.php b/src/etc/inc/ipsec.auth-user.php index a504d11..3642afd 100755 --- a/src/etc/inc/ipsec.auth-user.php +++ b/src/etc/inc/ipsec.auth-user.php @@ -3,9 +3,9 @@ /* ipsec.auth-user.php + part of pfSense (https://www.pfsense.org) Copyright (C) 2008 Shrew Soft Inc - Copyright (C) 2010 Ermal Luçi - Copyright (C) 2013-2015 Electric Sheep Fencing, LP + Copyright (c) 2008-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -15,21 +15,44 @@ 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. - + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ + /* * ipsec calls this script to authenticate a user * based on a username and password. We lookup these diff --git a/src/etc/inc/ipsec.inc b/src/etc/inc/ipsec.inc index b1e8c19..b90c870 100644 --- a/src/etc/inc/ipsec.inc +++ b/src/etc/inc/ipsec.inc @@ -1,12 +1,11 @@ <?php /* ipsec.inc - Copyright (C) 2007 Scott Ullrich - Copyright (C) 2008 Shrew Soft Inc - All rights reserved. - Parts of this code was originally based on vpn_ipsec_sad.php - Copyright (C) 2003-2004 Manuel Kasper + part of pfSense (https://www.pfsense.org) + Copyright (c) 2007-2016 Electric Sheep Fencing, LLC. + Copyright (C) 2008 Shrew Soft Inc. + All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -15,19 +14,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* IPsec defines */ diff --git a/src/etc/inc/itemid.inc b/src/etc/inc/itemid.inc index 1cbe34a..7339f63 100644 --- a/src/etc/inc/itemid.inc +++ b/src/etc/inc/itemid.inc @@ -1,6 +1,10 @@ <?php /* + itemid.inc + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2009-2016 Electric Sheep Fencing, LLC. Copyright (C) 2009 Janne Enberg <janne.enberg@lietu.net> All rights reserved. @@ -11,20 +15,42 @@ 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. - + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /****f* itemid/delete_id diff --git a/src/etc/inc/led.inc b/src/etc/inc/led.inc index 4cf0c5e..15ec81f 100644 --- a/src/etc/inc/led.inc +++ b/src/etc/inc/led.inc @@ -1,11 +1,56 @@ <?php /* - * led.inc - * - * (C) 2009 Jim Pingle <jimp@pfsense.org> - * - * LED control library that wraps around the functionality of led(4) - * + led.inc + + LED control library that wraps around the functionality of led(4) + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2009-2016 Electric Sheep Fencing, 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. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ $led_root = "/dev/led/led"; diff --git a/src/etc/inc/login_sasl_client.inc b/src/etc/inc/login_sasl_client.inc index f5cc050..923d16e 100644 --- a/src/etc/inc/login_sasl_client.inc +++ b/src/etc/inc/login_sasl_client.inc @@ -23,7 +23,7 @@ class login_sasl_client_class Function Start(&$client, &$message, &$interactions) { - if ($this->state!=SASL_LOGIN_STATE_START) + if($this->state!=SASL_LOGIN_STATE_START) { $client->error="LOGIN authentication state is not at the start"; return(SASL_FAIL); @@ -37,7 +37,7 @@ class login_sasl_client_class "realm"=>"" ); $status=$client->GetCredentials($this->credentials,$defaults,$interactions); - if ($status==SASL_CONTINUE) + if($status==SASL_CONTINUE) $this->state=SASL_LOGIN_STATE_IDENTIFY_USER; Unset($message); return($status); @@ -45,7 +45,7 @@ class login_sasl_client_class Function Step(&$client, $response, &$message, &$interactions) { - switch ($this->state) + switch($this->state) { case SASL_LOGIN_STATE_IDENTIFY_USER: $message=$this->credentials["user"].(strlen($this->credentials["realm"]) ? "@".$this->credentials["realm"] : ""); diff --git a/src/etc/inc/meta.inc b/src/etc/inc/meta.inc index 28bf408..af14e13 100644 --- a/src/etc/inc/meta.inc +++ b/src/etc/inc/meta.inc @@ -1,6 +1,10 @@ <?php /* + meta.inc + + part of pfSense (https://www.pfsense.org) Copyright (C) 2008 Shrew Soft Inc + Copyright (c) 2008-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -10,19 +14,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* diff --git a/src/etc/inc/notices.inc b/src/etc/inc/notices.inc index 92f74a1..1362d02 100644 --- a/src/etc/inc/notices.inc +++ b/src/etc/inc/notices.inc @@ -1,15 +1,12 @@ <?php -/****h* pfSense/notices - NAME - notices.inc - pfSense notice utilities - DESCRIPTION - This include contains the pfSense notice facilities. - HISTORY - $Id$ - - Copyright (C) 2009 Scott Ullrich (sullrich@gmail.com) +/* + notices.inc + + part of pfSense (https://www.pfsense.org) Copyright (C) 2005 Colin Smith (ethethlay@gmail.com) + Copyright (c) 2005-2016 Electric Sheep Fencing, 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: @@ -17,19 +14,42 @@ 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) - RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ require_once("globals.inc"); @@ -297,8 +317,8 @@ function notify_via_smtp($message, $force = false) { return; } - /* Do NOT send the same message twice */ - if (file_exists("/var/db/notices_lastmsg.txt")) { + /* Do NOT send the same message twice, except if $force is true */ + if (!$force && file_exists("/var/db/notices_lastmsg.txt")) { $lastmsg = trim(file_get_contents("/var/db/notices_lastmsg.txt")); if ($lastmsg == $message) { return; @@ -341,7 +361,7 @@ function send_smtp_message($message, $subject = "(no subject)", $force = false) $smtp->direct_delivery = 0; $smtp->ssl = (isset($config['notifications']['smtp']['ssl'])) ? 1 : 0; - $smtp->tls = (isset($config['notifications']['smtp']['tls'])) ? 1 : 0; + $smtp->start_tls = (isset($config['notifications']['smtp']['tls'])) ? 1 : 0; $smtp->debug = 0; $smtp->html_debug = 0; $smtp->localhost = $config['system']['hostname'] . "." . $config['system']['domain']; diff --git a/src/etc/inc/ntlm_sasl_client.inc b/src/etc/inc/ntlm_sasl_client.inc index 18e5658..406edf2 100644 --- a/src/etc/inc/ntlm_sasl_client.inc +++ b/src/etc/inc/ntlm_sasl_client.inc @@ -18,12 +18,12 @@ class ntlm_sasl_client_class Function Initialize(&$client) { - if (!function_exists($function="mcrypt_encrypt") || - !function_exists($function="hash")) + if(!function_exists($function="mcrypt_encrypt") + || !function_exists($function="mhash")) { $extensions=array( "mcrypt_encrypt"=>"mcrypt", - "hash"=>"hash" + "mhash"=>"mhash" ); $client->error="the extension ".$extensions[$function]." required by the NTLM SASL client class is not available in this PHP configuration"; return(0); @@ -33,7 +33,7 @@ class ntlm_sasl_client_class Function ASCIIToUnicode($ascii) { - for ($unicode="",$a=0;$a<strlen($ascii);$a++) + for($unicode="",$a=0;$a<strlen($ascii);$a++) $unicode.=substr($ascii,$a,1).chr(0); return($unicode); } @@ -62,15 +62,15 @@ class ntlm_sasl_client_class Function NTLMResponse($challenge,$password) { $unicode=$this->ASCIIToUnicode($password); - $md4=hash("md4", $unicode); + $md4=mhash(MHASH_MD4,$unicode); $padded=$md4.str_repeat(chr(0),21-strlen($md4)); $iv_size=mcrypt_get_iv_size(MCRYPT_DES,MCRYPT_MODE_ECB); $iv=mcrypt_create_iv($iv_size,MCRYPT_RAND); - for ($response="",$third=0;$third<21;$third+=7) + for($response="",$third=0;$third<21;$third+=7) { - for ($packed="",$p=$third;$p<$third+7;$p++) - $packed.=str_pad(decbin(ord(substr($padded,$p,1))),8,"0",STR_PAD_LEFT); - for ($key="",$p=0;$p<strlen($packed);$p+=7) + for($packed="",$p=$third;$p<$third+7;$p++) + $packed.=str_pad(decbin(ord(substr($padded,$p,1))),8,"0",STR_PAD_LEFT); + for($key="",$p=0;$p<strlen($packed);$p+=7) { $s=substr($packed,$p,7); $b=$s.((substr_count($s,"1") % 2) ? "0" : "1"); @@ -134,7 +134,7 @@ class ntlm_sasl_client_class Function Start(&$client, &$message, &$interactions) { - if ($this->state!=SASL_NTLM_STATE_START) + if($this->state!=SASL_NTLM_STATE_START) { $client->error="NTLM authentication state is not at the start"; return(SASL_FAIL); @@ -147,7 +147,7 @@ class ntlm_sasl_client_class ); $defaults=array(); $status=$client->GetCredentials($this->credentials,$defaults,$interactions); - if ($status==SASL_CONTINUE) + if($status==SASL_CONTINUE) $this->state=SASL_NTLM_STATE_IDENTIFY_DOMAIN; Unset($message); return($status); @@ -155,7 +155,7 @@ class ntlm_sasl_client_class Function Step(&$client, $response, &$message, &$interactions) { - switch ($this->state) + switch($this->state) { case SASL_NTLM_STATE_IDENTIFY_DOMAIN: $message=$this->TypeMsg1($this->credentials["realm"],$this->credentials["workstation"]); @@ -177,4 +177,4 @@ class ntlm_sasl_client_class } }; -?> +?>
\ No newline at end of file diff --git a/src/etc/inc/openvpn.attributes.php b/src/etc/inc/openvpn.attributes.php index 4da9f0d..0a7f68e 100644 --- a/src/etc/inc/openvpn.attributes.php +++ b/src/etc/inc/openvpn.attributes.php @@ -1,8 +1,9 @@ <?php /* openvpn.attributes.php - Copyright (C) 2011-2012 Ermal Luçi - Copyright (C) 2013-2015 Electric Sheep Fencing, LP + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2011-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -12,19 +13,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ if (empty($common_name)) { diff --git a/src/etc/inc/openvpn.auth-user.php b/src/etc/inc/openvpn.auth-user.php index a95051d..6e81d75 100644 --- a/src/etc/inc/openvpn.auth-user.php +++ b/src/etc/inc/openvpn.auth-user.php @@ -3,9 +3,9 @@ /* openvpn.auth-user.php + part of pfSense (https://www.pfsense.org) Copyright (C) 2008 Shrew Soft Inc - Copyright (C) 2010 Ermal Luçi - Copyright (C) 2013-2015 Electric Sheep Fencing, LP + Copyright (c) 2008-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -15,20 +15,42 @@ 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. - + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* * OpenVPN calls this script to authenticate a user diff --git a/src/etc/inc/openvpn.inc b/src/etc/inc/openvpn.inc index c7810a6..257152c 100644 --- a/src/etc/inc/openvpn.inc +++ b/src/etc/inc/openvpn.inc @@ -1,11 +1,10 @@ <?php /* - openvpn.inc part of pfSense - - Copyright (C) 2008 Scott Ullrich <sullrich@gmail.com> - All rights reserved. + openvpn.inc + part of pfSense (https://www.pfsense.org) Copyright (C) 2006 Fernando Lemos + Copyright (c) 2006-2016 Electric Sheep Fencing, LLC. All rights reserved. This file was rewritten from scratch by Fernando Lemos but @@ -20,23 +19,46 @@ 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 notices, + 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 - notices, 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ require_once('config.inc'); diff --git a/src/etc/inc/openvpn.tls-verify.php b/src/etc/inc/openvpn.tls-verify.php index ea17207..d5cacff 100644 --- a/src/etc/inc/openvpn.tls-verify.php +++ b/src/etc/inc/openvpn.tls-verify.php @@ -3,8 +3,8 @@ /* openvpn.tls-verify.php - Copyright (C) 2011 Jim Pingle - Copyright (C) 2013-2015 Electric Sheep Fencing, LP + part of pfSense (https://www.pfsense.org) + Copyright (c) 2011-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -14,21 +14,44 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ + /* * OpenVPN calls this script to validate a certificate * This script is called ONCE per DEPTH of the certificate chain diff --git a/src/etc/inc/pfsense-utils.inc b/src/etc/inc/pfsense-utils.inc index 1041dec..ae00bee 100644 --- a/src/etc/inc/pfsense-utils.inc +++ b/src/etc/inc/pfsense-utils.inc @@ -1,14 +1,11 @@ <?php -/****h* pfSense/pfsense-utils - NAME - pfsense-utils.inc - Utilities specific to pfSense - DESCRIPTION - This include contains various pfSense specific functions. - HISTORY - $Id$ - - Copyright (C) 2004-2007 Scott Ullrich (sullrich@gmail.com) +/* + pfsense-utils.inc + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, 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: @@ -16,19 +13,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /****f* pfsense-utils/have_natpfruleint_access diff --git a/src/etc/inc/plain_sasl_client.inc b/src/etc/inc/plain_sasl_client.inc index 691580c..c7feed0 100644 --- a/src/etc/inc/plain_sasl_client.inc +++ b/src/etc/inc/plain_sasl_client.inc @@ -26,7 +26,7 @@ class plain_sasl_client_class Function Start(&$client, &$message, &$interactions) { - if ($this->state!=SASL_PLAIN_STATE_START) + if($this->state!=SASL_PLAIN_STATE_START) { $client->error="PLAIN authentication state is not at the start"; return(SASL_FAIL); @@ -42,9 +42,9 @@ class plain_sasl_client_class "mode"=>"" ); $status=$client->GetCredentials($this->credentials,$defaults,$interactions); - if ($status==SASL_CONTINUE) + if($status==SASL_CONTINUE) { - switch ($this->credentials["mode"]) + switch($this->credentials["mode"]) { case SASL_PLAIN_EXIM_MODE: $message=$this->credentials["user"]."\0".$this->credentials["password"]."\0"; @@ -65,11 +65,11 @@ class plain_sasl_client_class Function Step(&$client, $response, &$message, &$interactions) { - switch ($this->state) + switch($this->state) { /* case SASL_PLAIN_STATE_IDENTIFY: - switch ($this->credentials["mode"]) + switch($this->credentials["mode"]) { case SASL_PLAIN_EXIM_MODE: $message=$this->credentials["user"]."\0".$this->credentials["password"]."\0"; diff --git a/src/etc/inc/priv.inc b/src/etc/inc/priv.inc index 676351b..b834daa 100644 --- a/src/etc/inc/priv.inc +++ b/src/etc/inc/priv.inc @@ -1,19 +1,13 @@ <?php /* priv.inc - Copyright (C) 2008 Shrew Soft Inc - All rights reserved. - - Copyright (C) 2007, 2008 Scott Ullrich <sullrich@gmail.com> - All rights reserved. + part of pfSense (https://www.pfsense.org) Copyright (C) 2005-2006 Bill Marquette <bill.marquette@gmail.com> - All rights reserved. - Copyright (C) 2006 Paul Taylor <paultaylor@winn-dixie.com>. - All rights reserved. - + Copyright (C) 2008 Shrew Soft Inc Copyright (C) 2003-2006 Manuel Kasper <mk@neon1.net>. + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -23,20 +17,42 @@ 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. - + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ require_once("priv.defs.inc"); diff --git a/src/etc/inc/rrd.inc b/src/etc/inc/rrd.inc index 50d7b42..0d0715b 100644 --- a/src/etc/inc/rrd.inc +++ b/src/etc/inc/rrd.inc @@ -1,8 +1,10 @@ <?php -/* $Id$ */ /* rrd.inc + + part of pfSense (https://www.pfsense.org) Copyright (C) 2010 Seth Mos <seth.mos@dds.nl> + Copyright (c) 2010-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -12,21 +14,43 @@ 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. - - */ + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. +*/ /* include all configuration functions */ diff --git a/src/etc/inc/sasl.inc b/src/etc/inc/sasl.inc index a9582da..f6a8d0b 100644 --- a/src/etc/inc/sasl.inc +++ b/src/etc/inc/sasl.inc @@ -178,7 +178,7 @@ class sasl_client_class <purpose>Retrieve the values of one or more credentials to be used by the authentication mechanism classes.</purpose> <usage>This is meant to be used by authentication mechanism driver - classes to retrieve the credentials that may be needed.</usage> + classes to retrieve the credentials that may be neede.</usage> <returnvalue>The function may return <tt>SASL_CONTINUE</tt> if it succeeded, or <tt>SASL_NOMECH</tt> if it was not possible to retrieve one of the requested credentials.</returnvalue> @@ -359,7 +359,7 @@ class sasl_client_class <type>INTEGER</type> <documentation> <purpose>Process the authentication steps after the initial step, - until the authentication iteration dialog is complete.</purpose> + until the authetication iteration dialog is complete.</purpose> <usage>Call this function iteratively after a successful initial step calling the <functionlink>Start</functionlink> function.</usage> <returnvalue>The function returns <tt>SASL_CONTINUE</tt> if step was diff --git a/src/etc/inc/service-utils.inc b/src/etc/inc/service-utils.inc index ea4b0c5..dbf15bb 100644 --- a/src/etc/inc/service-utils.inc +++ b/src/etc/inc/service-utils.inc @@ -1,14 +1,12 @@ <?php -/****h* pfSense/service-utils - NAME - service-utils.inc - Service facility - DESCRIPTION - This file contains various functions used by the pfSense service facility. - HISTORY - $Id$ +/* + service-utils.inc + part of pfSense (https://www.pfsense.org) Copyright (C) 2005-2006 Colin Smith (ethethlay@gmail.com) + Copyright (c) 2005-2016 Electric Sheep Fencing, 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: @@ -16,21 +14,43 @@ 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) - RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - */ + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. +*/ require_once("globals.inc"); require_once("captiveportal.inc"); diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc index 7eec2ff..2ad38b2 100644 --- a/src/etc/inc/services.inc +++ b/src/etc/inc/services.inc @@ -1,11 +1,13 @@ <?php /* services.inc - part of the pfSense project (https://www.pfsense.org) + + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. + All rights reserved. originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. - Copyright (C) 2010 Ermal Luçi All rights reserved. Redistribution and use in source and binary forms, with or without @@ -15,19 +17,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ define('DYNDNS_PROVIDER_VALUES', 'citynetwork cloudflare custom custom-v6 dnsexit dnsimple dnsmadeeasy dnsomatic dyndns dyndns-custom dyndns-static dyns easydns eurodns freedns glesys googledomains gratisdns he-net he-net-v6 he-net-tunnelbroker loopia namecheap noip noip-free ods opendns ovh-dynhost route53 selfhost spdns spdns-v6 zoneedit'); @@ -933,10 +958,11 @@ EOD; $dhcpdconf .= "\n"; if ($dhcpifconf['numberoptions']['item']) { foreach ($dhcpifconf['numberoptions']['item'] as $itemidx => $item) { + $item_value = base64_decode($item['value']); if (empty($item['type']) || $item['type'] == "text") { - $dhcpdconf .= " option custom-{$dhcpif}-{$itemidx} \"{$item['value']}\";\n"; + $dhcpdconf .= " option custom-{$dhcpif}-{$itemidx} \"{$item_value}\";\n"; } else { - $dhcpdconf .= " option custom-{$dhcpif}-{$itemidx} {$item['value']};\n"; + $dhcpdconf .= " option custom-{$dhcpif}-{$itemidx} {$item_value};\n"; } } } @@ -1437,7 +1463,8 @@ EOD; $dhcpdv6conf .= "\n"; if ($dhcpv6ifconf['numberoptions']['item']) { foreach ($dhcpv6ifconf['numberoptions']['item'] as $itemv6idx => $itemv6) { - $dhcpdv6conf .= " option custom-{$dhcpv6if}-{$itemv6idx} \"{$itemv6['value']}\";\n"; + $itemv6_value = base64_decode($itemv6['value']); + $dhcpdv6conf .= " option custom-{$dhcpv6if}-{$itemv6idx} \"{$itemv6_value}\";\n"; } } diff --git a/src/etc/inc/smtp.inc b/src/etc/inc/smtp.inc index 9a70e90..54aa8cf 100644 --- a/src/etc/inc/smtp.inc +++ b/src/etc/inc/smtp.inc @@ -2,35 +2,547 @@ /* * smtp.php * - * @(#) $Header$ + * @(#) $Header: /opt2/ena/metal/smtp/smtp.php,v 1.48 2014/11/23 22:45:30 mlemos Exp $ * */ +/* +{metadocument}<?xml version="1.0" encoding="ISO-8859-1"?> +<class> + + <package>net.manuellemos.smtp</package> + + <version>@(#) $Id: smtp.php,v 1.48 2014/11/23 22:45:30 mlemos Exp $</version> + <copyright>Copyright (C) Manuel Lemos 1999-2011</copyright> + <title>Sending e-mail messages via SMTP protocol</title> + <author>Manuel Lemos</author> + <authoraddress>mlemos-at-acm.org</authoraddress> + + <documentation> + <idiom>en</idiom> + <purpose>Sending e-mail messages via SMTP protocol</purpose> + <translation>If you are interested in translating the documentation of + this class to your own idiom, please <link> + <data>contact the author</data> + <url>mailto:<getclassproperty>authoraddress</getclassproperty></url> + </link>.</translation> + <support>Technical support for using this class may be obtained in the + <tt>smtpclass</tt> support forum. Just go to the support forum pages + page to browse the forum archives and post support request + messages:<paragraphbreak /> + <link> + <data>http://www.phpclasses.org/discuss/package/14/</data> + <url>http://www.phpclasses.org/discuss/package/14/</url> + </link></support> + <usage>To use this class just create a new object, set any variables + to configure its options and call the + <functionlink>SendMessage</functionlink> function to send a + message.<paragraphbreak />It is not recommended that you use this + class alone unless you have deep understanding of Internet mail + standards on how to compose compliant e-mail messages. Instead, use + the <link> + <data>MIME message composing and sending class</data> + <url>http://www.phpclasses.org/mimemessage</url> + </link> and its sub-class SMTP message together with this SMTP class + to properly compose e-mail messages, so your messages are not + discarded for not being correctly composed.</usage> + </documentation> + +{/metadocument} +*/ + class smtp_class { +/* +{metadocument} + <variable> + <name>user</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Define the authorized user when sending messages to a SMTP + server.</purpose> + <usage>Set this variable to the user name when the SMTP server + requires authentication.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $user=""; + +/* +{metadocument} + <variable> + <name>realm</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Define the authentication realm when sending messages to a + SMTP server.</purpose> + <usage>Set this variable when the SMTP server requires + authentication and if more than one authentication realm is + supported.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $realm=""; + +/* +{metadocument} + <variable> + <name>password</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Define the authorized user password when sending messages + to a SMTP server.</purpose> + <usage>Set this variable to the user password when the SMTP server + requires authentication.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $password=""; + +/* +{metadocument} + <variable> + <name>workstation</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Define the client workstation name when sending messages + to a SMTP server.</purpose> + <usage>Set this variable to the client workstation when the SMTP + server requires authentication identifiying the origin workstation + name.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $workstation=""; + +/* +{metadocument} + <variable> + <name>authentication_mechanism</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Force the use of a specific authentication mechanism.</purpose> + <usage>Set it to an empty string to let the class determine the + authentication mechanism to use automatically based on the + supported mechanisms by the server and by the SASL client library + classes.<paragraphbreak /> + Set this variable to a specific mechanism name if you want to + override the automatic authentication mechanism selection.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $authentication_mechanism=""; + +/* +{metadocument} + <variable> + <name>host_name</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Define the SMTP server host name.</purpose> + <usage>Set to the host name of the SMTP server to which you want to + relay the messages.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $host_name=""; + +/* +{metadocument} + <variable> + <name>host_port</name> + <type>INTEGER</type> + <value>25</value> + <documentation> + <purpose>Define the SMTP server host port.</purpose> + <usage>Set to the TCP port of the SMTP server host to connect.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $host_port=25; + +/* +{metadocument} + <variable> + <name>socks_host_name</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Define the SOCKS server host name.</purpose> + <usage>Set to the SOCKS server host name through which the SMTP + connection should be routed. Leave it empty if you do not want the + connections to be established through a SOCKS server.</usage> + </documentation> + </variable> +{/metadocument} +*/ + var $socks_host_name = ''; + +/* +{metadocument} + <variable> + <name>socks_host_port</name> + <type>INTEGER</type> + <value>1080</value> + <documentation> + <purpose>Define the SOCKS server host port.</purpose> + <usage>Set to the port of the SOCKS server host through which the + the SMTP connection should be routed.</usage> + </documentation> + </variable> +{/metadocument} +*/ + var $socks_host_port=1080; + +/* +{metadocument} + <variable> + <name>socks_version</name> + <type>STRING</type> + <value>5</value> + <documentation> + <purpose>Set the SOCKS protocol version.</purpose> + <usage>Change this value if SOCKS server you want to use is + listening to a different port.</usage> + </documentation> + </variable> +{/metadocument} +*/ + var $socks_version='5'; + +/* +{metadocument} + <variable> + <name>http_proxy_host_name</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Define the HTTP proxy server host name.</purpose> + <usage>Set to the HTTP proxy server host name through which the + SMTP connection should be routed. Leave it empty if you do not + want the connections to be established through an HTTP proxy.</usage> + </documentation> + </variable> +{/metadocument} +*/ + var $http_proxy_host_name = ''; + +/* +{metadocument} + <variable> + <name>http_proxy_host_port</name> + <type>INTEGER</type> + <value>80</value> + <documentation> + <purpose>Define the HTTP proxy server host port.</purpose> + <usage>Set to the port of the HTTP proxy server host through which + the SMTP connection should be routed.</usage> + </documentation> + </variable> +{/metadocument} +*/ + var $http_proxy_host_port=80; + +/* +{metadocument} + <variable> + <name>user_agent</name> + <type>STRING</type> + <value>SMTP Class (http://www.phpclasses.org/smtpclass $Revision: 1.48 $)</value> + <documentation> + <purpose>Set the user agent used when connecting via an HTTP proxy.</purpose> + <usage>Change this value only if for some reason you want emulate a + certain e-mail client.</usage> + </documentation> + </variable> +{/metadocument} +*/ + var $user_agent='SMTP Class (http://www.phpclasses.org/smtpclass $Revision: 1.48 $)'; + +/* +{metadocument} + <variable> + <name>ssl</name> + <type>BOOLEAN</type> + <value>0</value> + <documentation> + <purpose>Define whether the connection to the SMTP server should be + established securely using SSL protocol.</purpose> + <usage>Set to <booleanvalue>1</booleanvalue> if the SMTP server + requires secure connections using SSL protocol.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $ssl=0; - var $tls=0; + +/* +{metadocument} + <variable> + <name>start_tls</name> + <type>BOOLEAN</type> + <value>0</value> + <documentation> + <purpose>Define whether the connection to the SMTP server should use + encryption after the connection is established using TLS + protocol.</purpose> + <usage>Set to <booleanvalue>1</booleanvalue> if the SMTP server + requires that authentication be done securely starting the TLS + protocol after the connection is established.</usage> + </documentation> + </variable> +{/metadocument} +*/ + var $start_tls = 0; + +/* +{metadocument} + <variable> + <name>localhost</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Name of the local host computer</purpose> + <usage>Set to the name of the computer connecting to the SMTP + server from the local network.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $localhost=""; + +/* +{metadocument} + <variable> + <name>timeout</name> + <type>INTEGER</type> + <value>0</value> + <documentation> + <purpose>Specify the connection timeout period in seconds.</purpose> + <usage>Leave it set to <integervalue>0</integervalue> if you want + the connection attempts to wait forever. Change this value if for + some reason the timeout period seems insufficient or otherwise it + seems too long.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $timeout=0; + +/* +{metadocument} + <variable> + <name>data_timeout</name> + <type>INTEGER</type> + <value>0</value> + <documentation> + <purpose>Specify the timeout period in seconds to wait for data from + the server.</purpose> + <usage>Leave it set to <integervalue>0</integervalue> if you want + to use the same value defined in the + <variablelink>timeout</variablelink> variable. Change this value + if for some reason the default data timeout period seems + insufficient or otherwise it seems too long.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $data_timeout=0; + +/* +{metadocument} + <variable> + <name>direct_delivery</name> + <type>BOOLEAN</type> + <value>0</value> + <documentation> + <purpose>Boolean flag that indicates whether the message should be + sent in direct delivery mode, i.e. the message is sent to the SMTP + server associated to the domain of the recipient instead of + relaying to the server specified by the + <variablelink>host_name</variablelink> variable.</purpose> + <usage>Set this to <tt><booleanvalue>1</booleanvalue></tt> if you + want to send urgent messages directly to the recipient domain SMTP + server.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $direct_delivery=0; + +/* +{metadocument} + <variable> + <name>error</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Message that describes the error when a call to a class + function fails.</purpose> + <usage>Check this variable when an error occurs to understand what + happened.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $error=""; + +/* +{metadocument} + <variable> + <name>debug</name> + <type>BOOLEAN</type> + <value>0</value> + <documentation> + <purpose>Specify whether it is necessary to output SMTP connection + debug information.</purpose> + <usage>Set this variable to + <tt><booleanvalue>1</booleanvalue></tt> if you need to see + the progress of the SMTP connection and protocol dialog when you + need to understand the reason for delivery problems.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $debug=0; + +/* +{metadocument} + <variable> + <name>html_debug</name> + <type>BOOLEAN</type> + <value>0</value> + <documentation> + <purpose>Specify whether the debug information should be outputted in + HTML format.</purpose> + <usage>Set this variable to + <tt><booleanvalue>1</booleanvalue></tt> if you need to see + the debug output in a Web page.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $html_debug=0; + +/* +{metadocument} + <variable> + <name>esmtp</name> + <type>BOOLEAN</type> + <value>1</value> + <documentation> + <purpose>Specify whether the class should attempt to use ESMTP + extensions supported by the server.</purpose> + <usage>Set this variable to + <tt><booleanvalue>0</booleanvalue></tt> if for some reason you + want to avoid benefitting from ESMTP extensions.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $esmtp=1; - var $esmtp_host=""; + +/* +{metadocument} + <variable> + <name>esmtp_extensions</name> + <type>HASH</type> + <value></value> + <documentation> + <purpose>Associative array with the list of ESMTP extensions + supported by the SMTP server.</purpose> + <usage>Check this variable after connecting to the SMTP server to + determine which ESMTP extensions are supported.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $esmtp_extensions=array(); - var $maximum_piped_recipients=100; + +/* +{metadocument} + <variable> + <name>exclude_address</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Specify an address that should be considered invalid + when resolving host name addresses.</purpose> + <usage>In some networks any domain name that does not exist is + resolved as a sub-domain of the default local domain. If the DNS is + configured in such way that it always resolves any sub-domain of + the default local domain to a given address, it is hard to + determine whether a given domain does not exist.<paragraphbreak /> + If your network is configured this way, you may set this variable + to the address that all sub-domains of the default local domain + resolves, so the class can assume that such address is invalid.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $exclude_address=""; + +/* +{metadocument} + <variable> + <name>getmxrr</name> + <type>STRING</type> + <value>getmxrr</value> + <documentation> + <purpose>Specify the name of the function that is called to determine + the SMTP server address of a given domain.</purpose> + <usage>Change this to a working replacement of the PHP + <tt>getmxrr()</tt> function if this is not working in your system + and you want to send messages in direct delivery mode.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $getmxrr="GetMXRR"; + +/* +{metadocument} + <variable> + <name>pop3_auth_host</name> + <type>STRING</type> + <value></value> + <documentation> + <purpose>Specify the server address for POP3 based authentication.</purpose> + <usage>Set this variable to the address of the POP3 server if the + SMTP server requires POP3 based authentication.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $pop3_auth_host=""; + +/* +{metadocument} + <variable> + <name>pop3_auth_port</name> + <type>INTEGER</type> + <value>110</value> + <documentation> + <purpose>Specify the server port for POP3 based authentication.</purpose> + <usage>Set this variable to the port of the POP3 server if the + SMTP server requires POP3 based authentication.</usage> + </documentation> + </variable> +{/metadocument} +*/ var $pop3_auth_port=110; /* private variables - DO NOT ACCESS */ @@ -43,6 +555,8 @@ class smtp_class var $connected_domain=""; var $result_code; var $disconnected_error=0; + var $esmtp_host=""; + var $maximum_piped_recipients=100; /* Private methods - DO NOT CALL */ @@ -86,13 +600,19 @@ class smtp_class { $status=socket_get_status($this->connection); if($status["timed_out"]) - $this->error.=gettext(": data access time out"); + $this->error.=": data access time out"; elseif($status["eof"]) { - $this->error.=gettext(": the server disconnected"); + $this->error.=": the server disconnected"; $this->disconnected_error=1; } } + return($this->error); + } + + Function SetError($error) + { + return($this->error=$error); } Function GetLine() @@ -101,13 +621,13 @@ class smtp_class { if(feof($this->connection)) { - $this->error=gettext("reached the end of data while reading from the SMTP server connection"); + $this->error="reached the end of data while reading from the SMTP server conection"; return(""); } if(GetType($data=@fgets($this->connection,100))!="string" || strlen($data)==0) { - $this->SetDataAccessError(gettext("it was not possible to read line from the SMTP server")); + $this->SetDataAccessError("it was not possible to read line from the SMTP server"); return(""); } $line.=$data; @@ -129,7 +649,7 @@ class smtp_class $this->OutputDebug("C $line"); if(!@fputs($this->connection,"$line\r\n")) { - $this->SetDataAccessError(gettext("it was not possible to send a line to the SMTP server")); + $this->SetDataAccessError("it was not possible to send a line to the SMTP server"); return(0); } return(1); @@ -143,7 +663,7 @@ class smtp_class $this->OutputDebug("C $data"); if(!@fputs($this->connection,$data)) { - $this->SetDataAccessError(gettext("it was not possible to send data to the SMTP server")); + $this->SetDataAccessError("it was not possible to send data to the SMTP server"); return(0); } } @@ -208,49 +728,242 @@ class smtp_class return(1); } + Function Resolve($domain, &$ip, $server_type) + { + if(preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/',$domain)) + $ip=$domain; + else + { + if($this->debug) + $this->OutputDebug('Resolving '.$server_type.' server domain "'.$domain.'"...'); + if(!strcmp($ip=@gethostbyname($domain),$domain)) + $ip=""; + } + if(strlen($ip)==0 + || (strlen($this->exclude_address) + && !strcmp(@gethostbyname($this->exclude_address),$ip))) + return($this->SetError("could not resolve the host domain \"".$domain."\"")); + return(''); + } + Function ConnectToHost($domain, $port, $resolve_message) { - if($this->ssl || $this->tls) + if($this->ssl) { $version=explode(".",function_exists("phpversion") ? phpversion() : "3.0.7"); $php_version=intval($version[0])*1000000+intval($version[1])*1000+intval($version[2]); if($php_version<4003000) - return(gettext("establishing SSL connections requires at least PHP version 4.3.0")); + return("establishing SSL connections requires at least PHP version 4.3.0"); if(!function_exists("extension_loaded") || !extension_loaded("openssl")) - return(gettext("establishing SSL connections requires the OpenSSL extension enabled")); + return("establishing SSL connections requires the OpenSSL extension enabled"); + } + if(strlen($this->Resolve($domain, $ip, 'SMTP'))) + return($this->error); + if(strlen($this->socks_host_name)) + { + switch($this->socks_version) + { + case '4': + $version = 4; + break; + case '5': + $version = 5; + break; + default: + return('it was not specified a supported SOCKS protocol version'); + break; + } + $host_ip = $ip; + $host_port = $port; + if(strlen($this->error = $this->Resolve($this->socks_host_name, $ip, 'SOCKS'))) + return($this->error); + if($this->ssl) + $ip="ssl://".($socks_host = $this->socks_host_name); + else + $socks_host = $ip; + if($this->debug) + $this->OutputDebug("Connecting to SOCKS server \"".$socks_host."\" port ".$this->http_proxy_host_port."..."); + if(($this->connection=($this->timeout ? fsockopen($ip, $this->socks_host_port, $errno, $error, $this->timeout) : fsockopen($ip, $this->socks_host_port, $errno, $error)))) + { + $timeout=($this->data_timeout ? $this->data_timeout : $this->timeout); + if($timeout + && function_exists("socket_set_timeout")) + socket_set_timeout($this->connection,$timeout,0); + if(strlen($this->socks_host_name)) + { + if($this->debug) + $this->OutputDebug('Connected to the SOCKS server '.$this->socks_host_name); + $send_error = 'it was not possible to send data to the SOCKS server'; + $receive_error = 'it was not possible to receive data from the SOCKS server'; + switch($version) + { + case 4: + $command = 1; + $user = ''; + if(!fputs($this->connection, chr($version).chr($command).pack('nN', $host_port, ip2long($host_ip)).$user.Chr(0))) + $error = $this->SetDataAccessError($send_error); + else + { + $response = fgets($this->connection, 9); + if(strlen($response) != 8) + $error = $this->SetDataAccessError($receive_error); + else + { + $socks_errors = array( + "\x5a"=>'', + "\x5b"=>'request rejected', + "\x5c"=>'request failed because client is not running identd (or not reachable from the server)', + "\x5d"=>'request failed because client\'s identd could not confirm the user ID string in the request', + ); + $error_code = $response[1]; + $error = (IsSet($socks_errors[$error_code]) ? $socks_errors[$error_code] : 'unknown'); + if(strlen($error)) + $error = 'SOCKS error: '.$error; + } + } + break; + case 5: + if($this->debug) + $this->OutputDebug('Negotiating the authentication method ...'); + $methods = 1; + $method = 0; + if(!fputs($this->connection, chr($version).chr($methods).chr($method))) + $error = $this->SetDataAccessError($send_error); + else + { + $response = fgets($this->connection, 3); + if(strlen($response) != 2) + $error = $this->SetDataAccessError($receive_error); + elseif(Ord($response[1]) != $method) + $error = 'the SOCKS server requires an authentication method that is not yet supported'; + else + { + if($this->debug) + $this->OutputDebug('Connecting to SMTP server IP '.$host_ip.' port '.$host_port.'...'); + $command = 1; + $address_type = 1; + if(!fputs($this->connection, chr($version).chr($command)."\x00".chr($address_type).pack('Nn', ip2long($host_ip), $host_port))) + $error = $this->SetDataAccessError($send_error); + else + { + $response = fgets($this->connection, 11); + if(strlen($response) != 10) + $error = $this->SetDataAccessError($receive_error); + else + { + $socks_errors = array( + "\x00"=>'', + "\x01"=>'general SOCKS server failure', + "\x02"=>'connection not allowed by ruleset', + "\x03"=>'Network unreachable', + "\x04"=>'Host unreachable', + "\x05"=>'Connection refused', + "\x06"=>'TTL expired', + "\x07"=>'Command not supported', + "\x08"=>'Address type not supported' + ); + $error_code = $response[1]; + $error = (IsSet($socks_errors[$error_code]) ? $socks_errors[$error_code] : 'unknown'); + if(strlen($error)) + $error = 'SOCKS error: '.$error; + } + } + } + } + break; + default: + $error = 'support for SOCKS protocol version '.$this->socks_version.' is not yet implemented'; + break; + } + if(strlen($this->error = $error)) + { + fclose($this->connection); + return($error); + } + } + return(''); + } + } + elseif(strlen($this->http_proxy_host_name)) + { + if(strlen($error = $this->Resolve($this->http_proxy_host_name, $ip, 'SMTP'))) + return($error); + if($this->ssl) + $ip = 'ssl://'.($proxy_host = $this->http_proxy_host_name); + else + $proxy_host = $ip; + if($this->debug) + $this->OutputDebug("Connecting to HTTP proxy server \"".$ip."\" port ".$this->http_proxy_host_port."..."); + if(($this->connection=($this->timeout ? @fsockopen($ip, $this->http_proxy_host_port, $errno, $error, $this->timeout) : @fsockopen($ip, $this->http_proxy_host_port, $errno, $error)))) + { + if($this->debug) + $this->OutputDebug('Connected to HTTP proxy host "'.$this->http_proxy_host_name.'".'); + $timeout=($this->data_timeout ? $this->data_timeout : $this->timeout); + if($timeout + && function_exists("socket_set_timeout")) + socket_set_timeout($this->connection,$timeout,0); + if($this->PutLine('CONNECT '.$domain.':'.$port.' HTTP/1.0') + && $this->PutLine('User-Agent: '.$this->user_agent) + && $this->PutLine('')) + { + if(GetType($response = $this->GetLine()) == 'string') + { + if(!preg_match('/^http\\/[0-9]+\\.[0-9]+[ \t]+([0-9]+)[ \t]*(.*)$/i', $response,$matches)) + return($this->SetError("3 it was received an unexpected HTTP response status")); + $error = $matches[1]; + switch($error) + { + case '200': + for(;;) + { + if(GetType($response = $this->GetLine()) != 'string') + break; + if(strlen($response) == 0) + return(''); + } + break; + default: + $this->error = 'the HTTP proxy returned error '.$error.' '.$matches[2]; + break; + } + } + } + if($this->debug) + $this->OutputDebug("Disconnected."); + fclose($this->connection); + $this->connection = 0; + return($this->error); + } } - if(preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/',$domain)) - $ip=$domain; else { + if($this->ssl) + $ip = 'ssl://'.($host = $domain); + elseif($this->start_tls) + $ip = $host = $domain; + else + $host = $ip; if($this->debug) - $this->OutputDebug($resolve_message); - if(!strcmp($ip=@gethostbyname($domain),$domain)) - return(sprintf(gettext("could not resolve host \"%s\""), $domain)); + $this->OutputDebug("Connecting to SMTP server \"".$host."\" port ".$port."..."); + if(($this->connection=($this->timeout ? @fsockopen($ip, $port, $errno, $error, $this->timeout) : @fsockopen($ip, $port, $errno, $error)))) + return(""); } - if(strlen($this->exclude_address) - && !strcmp(@gethostbyname($this->exclude_address),$ip)) - return(sprintf(gettext("domain \"%s\" resolved to an address excluded to be valid"), $domain)); - if($this->debug) - $this->OutputDebug(sprintf(gettext('Connecting to host address "%1$s" port %2$s...'), $ip, $port)); - if(($this->connection=($this->timeout ? @fsockopen(($this->ssl ? "ssl://" : "").$ip,$port,$errno,$error,$this->timeout) : @fsockopen(($this->ssl ? "ssl://" : "").$ip,$port)))) - return(""); $error=($this->timeout ? strval($error) : "??"); switch($error) { case "-3": - return(gettext("-3 socket could not be created")); + return("-3 socket could not be created"); case "-4": - return(sprintf(gettext("-4 dns lookup on hostname \"%s\" failed"), $domain)); + return("-4 dns lookup on hostname \"".$domain."\" failed"); case "-5": - return(gettext("-5 connection refused or timed out")); + return("-5 connection refused or timed out"); case "-6": - return(gettext("-6 fdopen() call failed")); + return("-6 fdopen() call failed"); case "-7": - return(gettext("-7 setvbuf() call failed")); + return("-7 setvbuf() call failed"); } - return(sprintf(gettext('could not connect to the host "%1$s": %2$s'), $domain, $error)); + return("could not connect to the host \"".$domain."\": ".$error); } Function SASLAuthenticate($mechanisms, $credentials, &$authenticated, &$mechanism) @@ -259,7 +972,7 @@ class smtp_class if(!function_exists("class_exists") || !class_exists("sasl_client_class")) { - $this->error=gettext("it is not possible to authenticate using the specified mechanism because the SASL library class is not loaded"); + $this->error="it is not possible to authenticate using the specified mechanism because the SASL library class is not loaded"; return(0); } $sasl=new sasl_client_class; @@ -283,19 +996,19 @@ class smtp_class case SASL_NOMECH: if(strlen($this->authentication_mechanism)) { - $this->error=printf(gettext('authenticated mechanism %1$s may not be used: %2$s'), $this->authentication_mechanism, $sasl->error); + $this->error="authenticated mechanism ".$this->authentication_mechanism." may not be used: ".$sasl->error; return(0); } break; default: - $this->error=gettext("Could not start the SASL authentication client:") . " ".$sasl->error; + $this->error="Could not start the SASL authentication client: ".$sasl->error; return(0); } if(strlen($mechanism=$sasl->mechanism)) { if($this->PutLine("AUTH ".$sasl->mechanism.(IsSet($message) ? " ".base64_encode($message) : ""))==0) { - $this->error=gettext("Could not send the AUTH command"); + $this->error="Could not send the AUTH command"; return(0); } if(!$this->VerifyResultLines(array("235","334"),$responses)) @@ -310,7 +1023,7 @@ class smtp_class $response=base64_decode($responses[0]); break; default: - $this->error=gettext("Authentication error:") . " ".$responses[0]; + $this->error="Authentication error: ".$responses[0]; return(0); } for(;!$authenticated;) @@ -325,7 +1038,7 @@ class smtp_class case SASL_CONTINUE: if($this->PutLine(base64_encode($message))==0) { - $this->error=gettext("Could not send the authentication step message"); + $this->error="Could not send the authentication step message"; return(0); } if(!$this->VerifyResultLines(array("235","334"),$responses)) @@ -340,26 +1053,97 @@ class smtp_class $response=base64_decode($responses[0]); break; default: - $this->error=gettext("Authentication error:") . " ".$responses[0]; + $this->error="Authentication error: ".$responses[0]; return(0); } break; default: - $this->error=gettext("Could not process the SASL authentication step:") . " ".$sasl->error; + $this->error="Could not process the SASL authentication step: ".$sasl->error; return(0); } } } return(1); } + + Function StartSMTP($localhost) + { + $success = 1; + $this->esmtp_extensions = array(); + $fallback=1; + if($this->esmtp + || strlen($this->user)) + { + if($this->PutLine('EHLO '.$localhost)) + { + if(($success_code=$this->VerifyResultLines('250',$responses))>0) + { + $this->esmtp_host=$this->Tokenize($responses[0]," "); + for($response=1;$response<count($responses);$response++) + { + $extension=strtoupper($this->Tokenize($responses[$response]," ")); + $this->esmtp_extensions[$extension]=$this->Tokenize(""); + } + $success=1; + $fallback=0; + } + else + { + if($success_code==0) + { + $code=$this->Tokenize($this->error," -"); + switch($code) + { + case "421": + $fallback=0; + break; + } + } + } + } + else + $fallback=0; + } + if($fallback) + { + if($this->PutLine("HELO $localhost") + && $this->VerifyResultLines("250",$responses)>0) + $success=1; + } + return($success); + } /* Public methods */ +/* +{metadocument} + <function> + <name>Connect</name> + <type>BOOLEAN</type> + <documentation> + <purpose>Connect to an SMTP server.</purpose> + <usage>Call this function as first step to send e-mail messages.</usage> + <returnvalue>The function returns + <tt><booleanvalue>1</booleanvalue></tt> if the connection is + successfully established.</returnvalue> + </documentation> + <argument> + <name>domain</name> + <type>STRING</type> + <defaultvalue></defaultvalue> + <documentation> + <purpose>Specify the domain of the recipient when using the direct + delivery mode.</purpose> + </documentation> + </argument> + <do> +{/metadocument} +*/ Function Connect($domain="") { if(strcmp($this->state,"Disconnected")) { - $this->error=gettext("connection is already established"); + $this->error="connection is already established"; return(0); } $this->disconnected_error=0; @@ -397,24 +1181,24 @@ class smtp_class $user=$this->user; if(strlen($user)==0) { - $this->error=gettext("it was not specified the POP3 authentication user"); + $this->error="it was not specified the POP3 authentication user"; return(0); } $password=$this->password; if(strlen($password)==0) { - $this->error=gettext("it was not specified the POP3 authentication password"); + $this->error="it was not specified the POP3 authentication password"; return(0); } $domain=$this->pop3_auth_host; - $this->error=$this->ConnectToHost($domain, $this->pop3_auth_port, sprintf(gettext("Resolving POP3 authentication host \"%s\"..."), $domain)); + $this->error=$this->ConnectToHost($domain, $this->pop3_auth_port, "Resolving POP3 authentication host \"".$domain."\"..."); if(strlen($this->error)) return(0); if(strlen($response=$this->GetLine())==0) return(0); if(strcmp($this->Tokenize($response," "),"+OK")) { - $this->error=gettext("POP3 authentication server greeting was not found"); + $this->error="POP3 authentication server greeting was not found"; return(0); } if(!$this->PutLine("USER ".$this->user) @@ -422,7 +1206,7 @@ class smtp_class return(0); if(strcmp($this->Tokenize($response," "),"+OK")) { - $this->error=gettext("POP3 authentication user was not accepted:") . " ".$this->Tokenize("\r\n"); + $this->error="POP3 authentication user was not accepted: ".$this->Tokenize("\r\n"); return(0); } if(!$this->PutLine("PASS ".$password) @@ -430,7 +1214,7 @@ class smtp_class return(0); if(strcmp($this->Tokenize($response," "),"+OK")) { - $this->error=gettext("POP3 authentication password was not accepted:") . " ".$this->Tokenize("\r\n"); + $this->error="POP3 authentication password was not accepted: ".$this->Tokenize("\r\n"); return(0); } fclose($this->connection); @@ -439,13 +1223,13 @@ class smtp_class } if(count($hosts)==0) { - $this->error=gettext("could not determine the SMTP to connect"); + $this->error="could not determine the SMTP to connect"; return(0); } for($host=0, $error="not connected";strlen($error) && $host<count($hosts);$host++) { $domain=$hosts[$host]; - $error=$this->ConnectToHost($domain, $this->host_port, sprintf(gettext("Resolving SMTP server domain \"%s\"..."), $domain)); + $error=$this->ConnectToHost($domain, $this->host_port, "Resolving SMTP server domain \"$domain\"..."); } if(strlen($error)) { @@ -457,21 +1241,49 @@ class smtp_class && function_exists("socket_set_timeout")) socket_set_timeout($this->connection,$timeout,0); if($this->debug) - $this->OutputDebug(sprintf(gettext("Connected to SMTP server \"%s\"."), $domain)); + $this->OutputDebug("Connected to SMTP server \"".$domain."\"."); + if(!strcmp($localhost=$this->localhost,"") + && !strcmp($localhost=getenv("SERVER_NAME"),"") + && !strcmp($localhost=getenv("HOST"),"")) + $localhost="localhost"; + $success=0; if($this->VerifyResultLines("220",$responses)>0) { - // Send our HELLO - $success = $this->hello($this->hostname()); - if ($this->tls) - $success = $this->startTLS(); - + $success = $this->StartSMTP($localhost); + if($this->start_tls) + { + if(!IsSet($this->esmtp_extensions["STARTTLS"])) + { + $this->error="server does not support starting TLS"; + $success=0; + } + elseif(!function_exists('stream_socket_enable_crypto')) + { + $this->error="this PHP installation or version does not support starting TLS"; + $success=0; + } + elseif($success = ($this->PutLine('STARTTLS') + && $this->VerifyResultLines('220',$responses)>0)) + { + $this->OutputDebug('Starting TLS cryptograpic protocol'); + if(!($success = @stream_socket_enable_crypto($this->connection, 1, STREAM_CRYPTO_METHOD_TLS_CLIENT))) + $this->error = 'could not start TLS connection encryption protocol'; + else + { + $this->OutputDebug('TLS started'); + $success = $this->StartSMTP($localhost); + } + } + } if($success && strlen($this->user) && strlen($this->pop3_auth_host)==0) { if(!IsSet($this->esmtp_extensions["AUTH"])) { - $this->error = gettext("server does not require authentication"); + $this->error="server does not require authentication"; + if(IsSet($this->esmtp_extensions["STARTTLS"])) + $this->error .= ', it probably requires starting TLS'; $success=0; } else @@ -535,7 +1347,7 @@ class smtp_class if($success && strlen($mechanism)==0) { - $this->error=gettext("it is not supported any of the authentication mechanisms required by the server"); + $this->error="it is not supported any of the authentication mechanisms required by the server"; $success=0; } } @@ -553,65 +1365,36 @@ class smtp_class } return($success); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ - Function hostname() { - if(!strcmp($localhost=$this->localhost,"") - && !strcmp($localhost=getenv("SERVER_NAME"),"") - && !strcmp($localhost=getenv("HOST"),"") - && !strcmp($localhost=getenv("HOSTNAME"),"") - && !strcmp($localhost=gethostname(),"")) - $localhost="localhost"; - - return $localhost; - } - - Function hello() - { - $success = 0; - $fallback = 1; - if ($this->esmtp || strlen($this->user)) { - if ($this->PutLine("EHLO ".$this->hostname())) { - if (($success_code = $this->VerifyResultLines("250",$responses)) > 0) { - $this->esmtp_host = $this->Tokenize($responses[0]," "); - for($response=1;$response<count($responses);$response++) { - $extension = strtoupper($this->Tokenize($responses[$response]," ")); - $this->esmtp_extensions[$extension]=$this->Tokenize(""); - } - $success = 1; - $fallback = 0; - } else { - if ($success_code == 0) { - $code = $this->Tokenize($this->error," -"); - switch($code) { - case "421": - $fallback=0; - break; - } - } - } - } else - $fallback=0; - } - - if ($fallback) { - if ($this->PutLine("HELO $localhost") && $this->VerifyResultLines("250",$responses)>0) - $success=1; - } - return $success; - } - - Function startTLS() { - if ($this->PutLine("STARTTLS") && $this->VerifyResultLines("220",$responses)>0) { - if (!stream_socket_enable_crypto($this->connection,true,STREAM_CRYPTO_METHOD_TLS_CLIENT)) { - return false; - } else { - // Resend HELO since session has been reset - return $this->hello($this->hostname); - } - } else - return false; - } - +/* +{metadocument} + <function> + <name>MailFrom</name> + <type>BOOLEAN</type> + <documentation> + <purpose>Set the address of the message sender.</purpose> + <usage>Call this function right after establishing a connection with + the <functionlink>Connect</functionlink> function.</usage> + <returnvalue>The function returns + <tt><booleanvalue>1</booleanvalue></tt> if the sender address is + successfully set.</returnvalue> + </documentation> + <argument> + <name>sender</name> + <type>STRING</type> + <documentation> + <purpose>E-mail address of the sender.</purpose> + </documentation> + </argument> + <do> +{/metadocument} +*/ Function MailFrom($sender) { if($this->direct_delivery) @@ -625,7 +1408,7 @@ class smtp_class $sender=$this->direct_sender; break; default: - $this->error=gettext("direct delivery connection is already established and sender is already set"); + $this->error="direct delivery connection is already established and sender is already set"; return(0); } } @@ -633,7 +1416,7 @@ class smtp_class { if(strcmp($this->state,"Connected")) { - $this->error=gettext("connection is not in the initial state"); + $this->error="connection is not in the initial state"; return(0); } } @@ -649,13 +1432,43 @@ class smtp_class $this->pending_recipients=0; return(1); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ +/* +{metadocument} + <function> + <name>SetRecipient</name> + <type>BOOLEAN</type> + <documentation> + <purpose>Set the address of a message recipient.</purpose> + <usage>Call this function repeatedly for each recipient right after + setting the message sender with the + <functionlink>MailFrom</functionlink> function.</usage> + <returnvalue>The function returns + <tt><booleanvalue>1</booleanvalue></tt> if the recipient address is + successfully set.</returnvalue> + </documentation> + <argument> + <name>recipient</name> + <type>STRING</type> + <documentation> + <purpose>E-mail address of a recipient.</purpose> + </documentation> + </argument> + <do> +{/metadocument} +*/ Function SetRecipient($recipient) { if($this->direct_delivery) { if(GetType($at=strrpos($recipient,"@"))!="integer") - return(gettext("it was not specified a valid direct recipient")); + return("it was not specified a valid direct recipient"); $domain=substr($recipient,$at+1); switch($this->state) { @@ -674,12 +1487,12 @@ class smtp_class case "RecipientSet": if(strcmp($this->connected_domain,$domain)) { - $this->error=gettext("it is not possible to deliver directly to recipients of different domains"); + $this->error="it is not possible to deliver directly to recipients of different domains"; return(0); } break; default: - $this->error=gettext("connection is already established and the recipient is already set"); + $this->error="connection is already established and the recipient is already set"; return(0); } } @@ -691,7 +1504,7 @@ class smtp_class case "RecipientSet": break; default: - $this->error=gettext("connection is not in the recipient setting state"); + $this->error="connection is not in the recipient setting state"; return(0); } } @@ -715,12 +1528,36 @@ class smtp_class $this->state="RecipientSet"; return(1); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ +/* +{metadocument} + <function> + <name>StartData</name> + <type>BOOLEAN</type> + <documentation> + <purpose>Tell the SMTP server that the message data will start being + sent.</purpose> + <usage>Call this function right after you are done setting all the + message recipients with the + <functionlink>SetRecipient</functionlink> function.</usage> + <returnvalue>The function returns + <tt><booleanvalue>1</booleanvalue></tt> if the server is ready to + start receiving the message data.</returnvalue> + </documentation> + <do> +{/metadocument} +*/ Function StartData() { if(strcmp($this->state,"RecipientSet")) { - $this->error=gettext("connection is not in the start sending data state"); + $this->error="connection is not in the start sending data state"; return(0); } $this->error=""; @@ -736,32 +1573,110 @@ class smtp_class $this->state="SendingData"; return(1); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ - Function PrepareData(&$data,&$output,$preg=1) +/* +{metadocument} + <function> + <name>PrepareData</name> + <type>STRING</type> + <documentation> + <purpose>Prepare message data to normalize line breaks and escaping + lines that contain single dots.</purpose> + <usage>Call this function if the message data you want to send may + contain line breaks that are not the + <stringvalue> </stringvalue> sequence or it may contain + lines that just have a single dot.</usage> + <returnvalue>Resulting normalized messages data.</returnvalue> + </documentation> + <argument> + <name>data</name> + <type>STRING</type> + <documentation> + <purpose>Message data to be prepared.</purpose> + </documentation> + </argument> + <do> +{/metadocument} +*/ + Function PrepareData($data) { - if($preg - && function_exists("preg_replace")) - $output=preg_replace(array("/\n\n|\r\r/","/(^|[^\r])\n/","/\r([^\n]|\$)/D","/(^|\n)\\./"),array("\r\n\r\n","\\1\r\n","\r\n\\1","\\1.."),$data); - else - $output=ereg_replace("(^|\n)\\.","\\1..",ereg_replace("\r([^\n]|\$)","\r\n\\1",ereg_replace("(^|[^\r])\n","\\1\r\n",ereg_replace("\n\n|\r\r","\r\n\r\n",$data)))); + return(preg_replace(array("/\n\n|\r\r/","/(^|[^\r])\n/","/\r([^\n]|\$)/D","/(^|\n)\\./"),array("\r\n\r\n","\\1\r\n","\r\n\\1","\\1.."),$data)); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ +/* +{metadocument} + <function> + <name>SendData</name> + <type>BOOLEAN</type> + <documentation> + <purpose>Send message data.</purpose> + <usage>Call this function repeatedly for all message data blocks + to be sent right after start sending message data with the + <functionlink>StartData</functionlink> function.</usage> + <returnvalue>The function returns + <tt><booleanvalue>1</booleanvalue></tt> if the message data was + sent to the SMTP server successfully.</returnvalue> + </documentation> + <argument> + <name>data</name> + <type>STRING</type> + <documentation> + <purpose>Message data to be sent.</purpose> + </documentation> + </argument> + <do> +{/metadocument} +*/ Function SendData($data) { if(strcmp($this->state,"SendingData")) { - $this->error=gettext("connection is not in the sending data state"); + $this->error="connection is not in the sending data state"; return(0); } $this->error=""; return($this->PutData($data)); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ +/* +{metadocument} + <function> + <name>EndSendingData</name> + <type>BOOLEAN</type> + <documentation> + <purpose>Tell the server that all the message data was sent.</purpose> + <usage>Call this function when you are done with sending the message + data with the <functionlink>SendData</functionlink> function.</usage> + <returnvalue>The function returns + <tt><booleanvalue>1</booleanvalue></tt> if the server accepted the + message.</returnvalue> + </documentation> + <do> +{/metadocument} +*/ Function EndSendingData() { if(strcmp($this->state,"SendingData")) { - $this->error=gettext("connection is not in the sending data state"); + $this->error="connection is not in the sending data state"; return(0); } $this->error=""; @@ -771,7 +1686,31 @@ class smtp_class $this->state="Connected"; return(1); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ +/* +{metadocument} + <function> + <name>ResetConnection</name> + <type>BOOLEAN</type> + <documentation> + <purpose>Reset an already established SMTP connection to the initial + state.</purpose> + <usage>Call this function when there was an error sending a message + and you need to skip to sending another message without + disconnecting.</usage> + <returnvalue>The function returns + <tt><booleanvalue>1</booleanvalue></tt> if the connection was + resetted successfully.</returnvalue> + </documentation> + <do> +{/metadocument} +*/ Function ResetConnection() { switch($this->state) @@ -792,12 +1731,44 @@ class smtp_class $this->state="Connected"; return(1); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ +/* +{metadocument} + <function> + <name>Disconnect</name> + <type>BOOLEAN</type> + <documentation> + <purpose>Terminate a previously opened connection.</purpose> + <usage>Call this function after you are done sending your + messages.</usage> + <returnvalue>The function returns + <tt><booleanvalue>1</booleanvalue></tt> if the connection was + successfully closed.</returnvalue> + </documentation> + <argument> + <name>quit</name> + <type>BOOLEAN</type> + <defaultvalue>1</defaultvalue> + <documentation> + <purpose>Boolean option that tells whether the class should + perform the final connection quit handshake, or just close the + connection without waiting.</purpose> + </documentation> + </argument> + <do> +{/metadocument} +*/ Function Disconnect($quit=1) { if(!strcmp($this->state,"Disconnected")) { - $this->error=gettext("it was not previously established a SMTP connection"); + $this->error="it was not previously established a SMTP connection"; return(0); } $this->error=""; @@ -817,7 +1788,58 @@ class smtp_class $this->OutputDebug("Disconnected."); return(1); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ +/* +{metadocument} + <function> + <name>SendMessage</name> + <type>BOOLEAN</type> + <documentation> + <purpose>Send a message in a single call.</purpose> + <usage>Call this function if you want to send a single messages to a + small number of recipients in a single call.</usage> + <returnvalue>The function returns + <tt><booleanvalue>1</booleanvalue></tt> if the message was sent + successfully.</returnvalue> + </documentation> + <argument> + <name>sender</name> + <type>STRING</type> + <documentation> + <purpose>E-mail address of the sender.</purpose> + </documentation> + </argument> + <argument> + <name>recipients</name> + <type>STRING</type> + <documentation> + <purpose>Array with a list of the e-mail addresses of the + recipients of the message.</purpose> + </documentation> + </argument> + <argument> + <name>headers</name> + <type>ARRAY</type> + <documentation> + <purpose>Array with a list of the header lines of the message.</purpose> + </documentation> + </argument> + <argument> + <name>body</name> + <type>STRING</type> + <documentation> + <purpose>Body data of the message.</purpose> + </documentation> + </argument> + <do> +{/metadocument} +*/ Function SendMessage($sender,$recipients,$headers,$body) { if(($success=$this->Connect())) @@ -834,13 +1856,9 @@ class smtp_class { for($header_data="",$header=0;$header<count($headers);$header++) $header_data.=$headers[$header]."\r\n"; - if(($success=$this->SendData($header_data."\r\n"))) - { - $this->PrepareData($body,$body_data); - $success=$this->SendData($body_data); - } - if($success) - $success=$this->EndSendingData(); + $success=($this->SendData($header_data."\r\n") + && $this->SendData($this->PrepareData($body)) + && $this->EndSendingData()); } } $error=$this->error; @@ -852,7 +1870,21 @@ class smtp_class } return($success); } +/* +{metadocument} + </do> + </function> +{/metadocument} +*/ }; +/* + +{metadocument} +</class> +{/metadocument} + +*/ + ?> diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc index d1a0dd0..6d869e5 100644 --- a/src/etc/inc/system.inc +++ b/src/etc/inc/system.inc @@ -1,8 +1,12 @@ <?php /* system.inc - part of m0n0wall (http://m0n0.ch/wall) + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. + All rights reserved. + + originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. All rights reserved. @@ -13,19 +17,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ function activate_powerd() { diff --git a/src/etc/inc/unbound.inc b/src/etc/inc/unbound.inc index 2ab6e3a..b903551 100644 --- a/src/etc/inc/unbound.inc +++ b/src/etc/inc/unbound.inc @@ -1,8 +1,14 @@ <?php /* unbound.inc - part of the pfSense project (https://www.pfsense.org) + + part of pfSense (https://www.pfsense.org) Copyright (C) 2015 Warren Baker <warren@percol8.co.za> + Copyright (c) 2015-2016 Electric Sheep Fencing, LLC. + All rights reserved. + + originally part of m0n0wall (http://m0n0.ch/wall) + Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -12,19 +18,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* include all configuration functions */ diff --git a/src/etc/inc/upgrade_config.inc b/src/etc/inc/upgrade_config.inc index 6217210..dedab7c 100644 --- a/src/etc/inc/upgrade_config.inc +++ b/src/etc/inc/upgrade_config.inc @@ -4269,4 +4269,49 @@ function upgrade_134_to_135() { $config['syslog']['nolognginx'] = true; } } + +function upgrade_135_to_136() { + global $config; + + if (isset($config['l7shaper'])) { + file_notice("L7shaper", "Layer 7 shaping is no longer supported. Its configuration has been removed."); + unset($config['l7shaper']); + if (is_array($config['filter']['rule'])) { + foreach ($config['filter']['rule'] as $idx => $rule) { + if (isset($rule['l7container'])) { + unset($config['filter']['rule'][$idx]['l7container']); + } + } + } + } +} + +function upgrade_136_to_137() { + global $config; + + if (is_array($config['dhcpd'])) { + foreach ($config['dhcpd'] as &$dhcpd) { + if (!is_array($dhcpd['numberoptions']['item'])) { + continue; + } + + foreach ($dhcpd['numberoptions']['item'] as &$item) { + $item['value'] = base64_encode($item['value']); + } + } + } + + if (is_array($config['dhcpdv6'])) { + foreach ($config['dhcpdv6'] as &$dhcpdv6) { + if (!is_array($dhcpdv6['numberoptions']['item'])) { + continue; + } + + foreach ($dhcpdv6['numberoptions']['item'] as &$item) { + $item['value'] = base64_encode($item['value']); + } + } + } +} + ?> diff --git a/src/etc/inc/voucher.inc b/src/etc/inc/voucher.inc index 31078e2..221e8c5 100644 --- a/src/etc/inc/voucher.inc +++ b/src/etc/inc/voucher.inc @@ -1,9 +1,14 @@ <?php /* voucher.inc - Copyright (C) 2010-2012 Ermal Luçi <eri@pfsense.org> - Copyright (C) 2010 Scott Ullrich <sullrich@gmail.com> + + part of pfSense (https://www.pfsense.org) Copyright (C) 2007 Marcel Wiget <mwiget@mac.com> + Copyright (c) 2007-2016 Electric Sheep Fencing, LLC. + All rights reserved. + + originally part of m0n0wall (http://m0n0.ch/wall) + Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -13,20 +18,42 @@ 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. - + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* include all configuration functions */ diff --git a/src/etc/inc/vpn.inc b/src/etc/inc/vpn.inc index 8aa3cbd..b07df83 100644 --- a/src/etc/inc/vpn.inc +++ b/src/etc/inc/vpn.inc @@ -1,9 +1,10 @@ <?php /* vpn.inc - Copyright (C) 2004 Scott Ullrich + + part of pfSense (https://www.pfsense.org) Copyright (C) 2008 Shrew Soft Inc - Copyright (C) 2008 Ermal Luçi + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. All rights reserved. originally part of m0n0wall (http://m0n0.ch/wall) @@ -17,19 +18,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ require_once("ipsec.inc"); diff --git a/src/etc/inc/vslb.inc b/src/etc/inc/vslb.inc index cb2c50b..bdad973 100644 --- a/src/etc/inc/vslb.inc +++ b/src/etc/inc/vslb.inc @@ -1,7 +1,10 @@ <?php /* vslb.inc + + part of pfSense (https://www.pfsense.org) Copyright (C) 2005-2008 Bill Marquette + Copyright (c) 2005-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -11,20 +14,42 @@ 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. - + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* include all configuration functions */ diff --git a/src/etc/inc/wizardapp.inc b/src/etc/inc/wizardapp.inc index bf9f699..7f88d0f 100644 --- a/src/etc/inc/wizardapp.inc +++ b/src/etc/inc/wizardapp.inc @@ -1,11 +1,10 @@ <?php /* wizardapp.inc - part of pfSense (https://www.pfsense.org/) + part of pfSense (https://www.pfsense.org) Copyright (C) 2006 Bill Marquette - bill.marquette@gmail.com. - Copyright (C) 2006 Scott Ullrich - sullrich@pfsense.com. - Copyright (C) 2008-2010 Ermal Luçi + Copyright (c) 2006-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -15,19 +14,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ $gamesplist = array(); diff --git a/src/etc/inc/xmlparse.inc b/src/etc/inc/xmlparse.inc index cd44aa5..8f397a2 100644 --- a/src/etc/inc/xmlparse.inc +++ b/src/etc/inc/xmlparse.inc @@ -2,8 +2,12 @@ /* xmlparse.inc functions to parse/dump configuration files in XML format - part of m0n0wall (http://m0n0.ch/wall) + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. + All rights reserved. + + originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. All rights reserved. @@ -14,19 +18,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* The following items will be treated as arrays in config.xml */ diff --git a/src/etc/inc/xmlparse_attr.inc b/src/etc/inc/xmlparse_attr.inc index c9f6c3a..5c7d674 100644 --- a/src/etc/inc/xmlparse_attr.inc +++ b/src/etc/inc/xmlparse_attr.inc @@ -2,7 +2,10 @@ /* xmlparse_attr.inc functions to parse configuration files in XML format with attributes + + part of pfSense (https://www.pfsense.org) Copyright (C) 2010 Erik Fonnesbeck + Copyright (c) 2010-2016 Electric Sheep Fencing, LLC. All rights reserved. Based on xmlparse.inc, originally part of m0n0wall (http://m0n0.ch/wall) @@ -16,19 +19,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* The following items will be treated as arrays in regdomain.xml */ diff --git a/src/etc/inc/xmlreader.inc b/src/etc/inc/xmlreader.inc index 3982c60..420061b 100644 --- a/src/etc/inc/xmlreader.inc +++ b/src/etc/inc/xmlreader.inc @@ -2,8 +2,12 @@ /* xmlreader.inc functions to parse/dump configuration files in XML format - part of m0n0wall (http://m0n0.ch/wall) + part of pfSense (https://www.pfsense.org) + Copyright (c) 2004-2016 Electric Sheep Fencing, LLC. + All rights reserved. + + originally part of m0n0wall (http://m0n0.ch/wall) Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. All rights reserved. @@ -14,19 +18,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ /* The following items will be treated as arrays in config.xml */ diff --git a/src/etc/inc/xmlrpc.inc b/src/etc/inc/xmlrpc.inc index 001777c..a124341 100644 --- a/src/etc/inc/xmlrpc.inc +++ b/src/etc/inc/xmlrpc.inc @@ -1,7 +1,10 @@ <?php /* xmlrpc.inc + + part of pfSense (https://www.pfsense.org) Copyright (C) 2005-2006 Colin Smith + Copyright (c) 2005-2016 Electric Sheep Fencing, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -11,19 +14,42 @@ 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. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgment: + "This product includes software developed by the pfSense Project + for use in the pfSense® software distribution. (http://www.pfsense.org/). + + 4. The names "pfSense" and "pfSense Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + coreteam@pfsense.org. + + 5. Products derived from this software may not be called "pfSense" + nor may "pfSense" appear in their names without prior written + permission of the Electric Sheep Fencing, LLC. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + + "This product includes software developed by the pfSense Project + for use in the pfSense software distribution (http://www.pfsense.org/). + + THIS SOFTWARE IS PROVIDED BY THE pfSense PROJECT ``AS IS'' AND ANY + EXPRESSED 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 pfSense PROJECT OR + ITS 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. */ require_once("auth.inc"); diff --git a/src/usr/local/www/bootstrap/css/pfSense-BETA.css b/src/usr/local/www/bootstrap/css/pfSense-BETA.css index 33ee5ac..9332b81 100644 --- a/src/usr/local/www/bootstrap/css/pfSense-BETA.css +++ b/src/usr/local/www/bootstrap/css/pfSense-BETA.css @@ -1,3 +1,6 @@ @import url("/bootstrap/css/pfSense.css"); -/*** Experimental Changes Go Here ***/
\ No newline at end of file +/*** Experimental Changes Go Here ***/ +.panel-title { + font-size: 16px; +}
\ No newline at end of file diff --git a/src/usr/local/www/crash_reporter.php b/src/usr/local/www/crash_reporter.php index 9c5cd80..de3cb58 100644 --- a/src/usr/local/www/crash_reporter.php +++ b/src/usr/local/www/crash_reporter.php @@ -124,7 +124,7 @@ exec("/usr/bin/grep -vi warning /tmp/PHP_errors.log", $php_errors); print_r($resp); echo "<p><a href=\"/\">" . gettext("Continue") . "</a>" . gettext(" and delete crash report files from local disk.") . "</p>"; } else { - echo "Could not find any crash files."; + echo gettext("Could not find any crash files."); } } else if (gettext($_POST['Submit']) == "No") { array_map('unlink', glob("/var/crash/*")); @@ -147,7 +147,7 @@ exec("/usr/bin/grep -vi warning /tmp/PHP_errors.log", $php_errors); } } } else { - echo "Could not locate any crash data."; + echo gettext("Could not locate any crash data."); } ?> <div class="panel panel-default"> diff --git a/src/usr/local/www/diag_backup.php b/src/usr/local/www/diag_backup.php index 074ae28..cc48bc7 100644 --- a/src/usr/local/www/diag_backup.php +++ b/src/usr/local/www/diag_backup.php @@ -673,7 +673,7 @@ $section = new Form_Section('Restore backup'); $section->addInput(new Form_StaticText( null, - gettext("Open a ") . $g['[product_name'] . gettext(" configuration XML file and click the button below to restore the configuration.") + sprintf(gettext("Open a %s configuration XML file and click the button below to restore the configuration."), $g['product_name']) )); $section->addInput(new Form_Select( diff --git a/src/usr/local/www/diag_confbak.php b/src/usr/local/www/diag_confbak.php index bb67309..2ada62c 100644 --- a/src/usr/local/www/diag_confbak.php +++ b/src/usr/local/www/diag_confbak.php @@ -139,12 +139,17 @@ if ($savemsg) { print_info_box($savemsg, 'success'); } +$tab_array = array(); +$tab_array[] = array(gettext("Config History"), true, "diag_confbak.php"); +$tab_array[] = array(gettext("Backup/Restore"), false, "diag_backup.php"); +display_top_tabs($tab_array); + if ($diff) { ?> <div class="panel panel-default"> <div class="panel-heading"> <h2 class="panel-title"> - <?=gettext("Configuration diff from ")?><?=date(gettext("n/j/y H:i:s"), $oldtime); ?><?=gettext(" to ")?><?=date(gettext("n/j/y H:i:s"), $newtime); ?> + <?=sprintf(gettext('Configuration diff from %1$s to %2$s'), date(gettext("n/j/y H:i:s"), $oldtime), date(gettext("n/j/y H:i:s"), $newtime))?> </h2> </div> <div class="panel-body table-responsive"> @@ -179,11 +184,6 @@ if ($diff) { <?php } -$tab_array = array(); -$tab_array[] = array(gettext("Config History"), true, "diag_confbak.php"); -$tab_array[] = array(gettext("Backup/Restore"), false, "diag_backup.php"); -display_top_tabs($tab_array); - $form = new Form(new Form_Button( 'Submit', gettext("Save") @@ -226,7 +226,7 @@ if (is_array($confvers)) { ?> <form action="diag_confbak.php" method="get"> - <div class="table-resposive"> + <div class="table-responsive"> <table class="table table-striped table-hover table-condensed"> <?php if (is_array($confvers)): diff --git a/src/usr/local/www/diag_defaults.php b/src/usr/local/www/diag_defaults.php index e13c17a..62a31af 100755 --- a/src/usr/local/www/diag_defaults.php +++ b/src/usr/local/www/diag_defaults.php @@ -85,12 +85,12 @@ include("head.inc"); <?php else:?> <div class="panel panel-default"> <div class="panel-heading"> - <h2 class="panel-title">Are you sure you want to reset the system to the factory defaults?</h2> + <h2 class="panel-title"><?=gettext("Are you sure you want to reset the system to the factory defaults?")?></h2> </div> <div class="panel-body"> <div class="content"> <form action="diag_defaults.php" method="post"> - <p><strong><?=gettext("If you click") . " "" . gettext("Yes") . "", " . gettext("the firewall will:")?></strong></p> + <p><strong><?=sprintf(gettext('If you click %1$sYes%1$s the firewall will:'), """)?></strong></p> <ul> <li><?=gettext("Reset to factory defaults")?></li> <li><?=gettext("LAN IP address will be reset to 192.168.1.1")?></li> @@ -98,7 +98,7 @@ include("head.inc"); <li><?=gettext("Reboot after changes are installed")?></li> <li><?=gettext("WAN interface will be set to obtain an address automatically from a DHCP server")?></li> <li><?=gettext("webConfigurator admin username will be reset to 'admin'")?></li> - <li><?=gettext("webConfigurator admin password will be reset to")?> '<?=$g['factory_shipped_password']?>'</li> + <li><?=sprintf(gettext("webConfigurator admin password will be reset to '%s'"), $g['factory_shipped_password'])?></li> </ul> <p><strong><?=gettext("Are you sure you want to proceed?")?></strong></p> <p> diff --git a/src/usr/local/www/diag_dns.php b/src/usr/local/www/diag_dns.php index 4a9775b..0acf06f 100755 --- a/src/usr/local/www/diag_dns.php +++ b/src/usr/local/www/diag_dns.php @@ -212,11 +212,11 @@ include("head.inc"); if ($input_errors) { print_input_errors($input_errors); } else if (!$resolved && $type) { - print('<div class="alert alert-warning" role="alert">' . gettext("Host") .' "'. $host .'" '. gettext("could not be resolved") . '</div>'); + print('<div class="alert alert-warning" role="alert">' . sprintf(gettext('Host "%s" could not be resolved'), $host) . '</div>'); } if ($createdalias) { - print('<div class="alert alert-success" role="alert">'.gettext("Alias was created/updated successfully").'</div>'); + print('<div class="alert alert-success" role="alert">' . gettext("Alias was created/updated successfully") . '</div>'); } $form = new Form('Lookup'); @@ -244,7 +244,7 @@ if (!$input_errors && $type) { if ($resolved): ?> <div class="panel panel-default"> - <div class="panel-heading"><h2 class="panel-title">Results</h2></div> + <div class="panel-heading"><h2 class="panel-title"><?=gettext('Results')?></h2></div> <div class="panel-body"> <ul class="list-group"> <?php @@ -264,13 +264,13 @@ if (!$input_errors && $type) { <!-- Second table displays the server resolution times --> <div class="panel panel-default"> - <div class="panel-heading"><h2 class="panel-title">Timings</h2></div> + <div class="panel-heading"><h2 class="panel-title"><?=gettext('Timings')?></h2></div> <div class="panel-body"> <table class="table"> <thead> <tr> - <th>Name server</th> - <th>Query time</th> + <th><?=gettext('Name server')?></th> + <th><?=gettext('Query time')?></th> </tr> </thead> @@ -287,7 +287,7 @@ if (!$input_errors && $type) { <!-- Third table displays "More information" --> <div class="panel panel-default"> - <div class="panel-heading"><h2 class="panel-title">More information</h2></div> + <div class="panel-heading"><h2 class="panel-title"><?=gettext('More information')?></h2></div> <div class="panel-body"> <ul class="list-group"> <li class="list-group-item"><a href="/diag_ping.php?host=<?=htmlspecialchars($host)?>&count=3"><?=gettext("Ping")?></a></li> diff --git a/src/usr/local/www/diag_dump_states.php b/src/usr/local/www/diag_dump_states.php index 5a9ab72..91e0f77 100755 --- a/src/usr/local/www/diag_dump_states.php +++ b/src/usr/local/www/diag_dump_states.php @@ -212,7 +212,7 @@ print $form; <td> <a class="btn fa fa-trash" data-entry="<?=$srcip?>|<?=$dstip?>" - title="<?=sprintf(gettext('Remove all state entries from %s to %s'), $srcip, $dstip);?>"></a> + title="<?=sprintf(gettext('Remove all state entries from %1$s to %2$s'), $srcip, $dstip);?>"></a> </td> </tr> <?php $row++; } diff --git a/src/usr/local/www/diag_dump_states_sources.php b/src/usr/local/www/diag_dump_states_sources.php index 5621f9a..6f8f5d7 100644 --- a/src/usr/local/www/diag_dump_states_sources.php +++ b/src/usr/local/www/diag_dump_states_sources.php @@ -137,7 +137,7 @@ print $form; ?> <div class="panel panel-default"> - <div class="panel-heading"><h2 class="panel-title">Current source tracking entries</h2></div> + <div class="panel-heading"><h2 class="panel-title"><?=gettext("Current source tracking entries")?></h2></div> <div class="panel-body"> <table class="table table-striped"> <thead> @@ -176,7 +176,7 @@ if (count($sources) > 0) { <td> <a class="btn btn-xs btn-danger" data-entry="<?=$srcip?>|<?=$dstip?>" - title="<?=sprintf(gettext('Remove all source tracking entries from %s to %s'), $srcip, $dstip);?>">Remove</a> + title="<?=sprintf(gettext('Remove all source tracking entries from %1$s to %2$s'), $srcip, $dstip);?>"><?=gettext("Remove")?></a> </td> </tr> <?php diff --git a/src/usr/local/www/diag_limiter_info.php b/src/usr/local/www/diag_limiter_info.php index 4eebab3..93258fe 100644 --- a/src/usr/local/www/diag_limiter_info.php +++ b/src/usr/local/www/diag_limiter_info.php @@ -68,13 +68,13 @@ $shortcut_section = "trafficshaper-limiters"; if ($_REQUEST['getactivity']) { $text = `/sbin/ipfw pipe show`; if ($text == "") { - $text = "We could not find any limiters on this system."; + $text = gettext("We could not find any limiters on this system."); } - echo "Limiters:\n"; + echo gettext("Limiters:") . "\n"; echo $text; $text = `/sbin/ipfw queue show`; if ($text != "") { - echo "\n\nQueues:\n"; + echo "\n\n" . gettext("Queues") . ":\n"; echo $text; } exit; @@ -111,7 +111,7 @@ if ($input_errors) { </script> <div class="panel panel-default"> - <div class="panel-heading"><h2 class="panel-title">Limiter Information</h2></div> + <div class="panel-heading"><h2 class="panel-title"><?=gettext("Limiter Information")?></h2></div> <div class="panel-body"> <pre id="xhrOutput"><?=gettext("Gathering Limiter information, please wait...")?></pre> </div> diff --git a/src/usr/local/www/diag_nanobsd.php b/src/usr/local/www/diag_nanobsd.php index 22bf0be..2ecc2a1 100644 --- a/src/usr/local/www/diag_nanobsd.php +++ b/src/usr/local/www/diag_nanobsd.php @@ -90,7 +90,7 @@ if ($_POST['bootslice']) { sleep(4); } - $savemsg = gettext("The boot slice has been set to") . " " . nanobsd_get_active_slice(); + $savemsg = sprintf(gettext("The boot slice has been set to %s"), nanobsd_get_active_slice()); $class = 'alert-success'; // Survey slice info nanobsd_detect_slice_info(); @@ -139,7 +139,7 @@ if ($_POST['setrw']) { } } -print_info_box("The options on this page are intended for use by advanced users only."); +print_info_box(gettext("The options on this page are intended for use by advanced users only.")); if ($savemsg) { print_info_box($savemsg, $class); @@ -171,7 +171,7 @@ if (is_writable("/")) { if ($refcount == 1 || $refcount == 0 || $refcount == -1) { $refdisplay = ""; } else { - $refdisplay = " (Reference count " . $refcount . ")"; + $refdisplay = " ". sprintf(gettext("(Reference count %s)"), $refcount); } $lbl = gettext("Read/Write") . $refdisplay; $btnlbl = gettext("Switch to Read-Only"); diff --git a/src/usr/local/www/diag_ping.php b/src/usr/local/www/diag_ping.php index d95fc54..b99f595 100644 --- a/src/usr/local/www/diag_ping.php +++ b/src/usr/local/www/diag_ping.php @@ -156,7 +156,7 @@ if ($do_ping) { $result = shell_exec($cmd); if (empty($result)) { - $input_errors[] = "Host \"" . $host . "\" did not respond or could not be resolved."; + $input_errors[] = sprintf(gettext('Host "%s" did not respond or could not be resolved.'), $host); } } @@ -207,7 +207,7 @@ if ($do_ping && !empty($result) && !$input_errors) { ?> <div class="panel panel-default"> <div class="panel-heading"> - <h2 class="panel-title">Results</h2> + <h2 class="panel-title"><?=gettext('Results')?></h2> </div> <div class="panel-body"> diff --git a/src/usr/local/www/index.php b/src/usr/local/www/index.php index 9ef6373..3d7a0d0 100644 --- a/src/usr/local/www/index.php +++ b/src/usr/local/www/index.php @@ -328,8 +328,13 @@ pfSense_handle_custom_code("/usr/local/pkg/dashboard/pre_dashboard"); <?php // Build the Available Widgets table using a sorted copy of the $widgets array +// Can't just ksort because the "Firewall Logs" widget has a key of "logs" $available = $widgets; -ksort($available); +function widgetcompare($w1, $w2) { + return ($w1['name'] < $w2['name']) ? -1:1; +} + +usort($available, 'widgetcompare'); foreach ($available as $widgetname => $widgetconfig): if ($widgetconfig['display'] == 'none'): diff --git a/src/usr/local/www/pkg_mgr_install.php b/src/usr/local/www/pkg_mgr_install.php index 3fd234e..5958783 100644 --- a/src/usr/local/www/pkg_mgr_install.php +++ b/src/usr/local/www/pkg_mgr_install.php @@ -130,6 +130,7 @@ if ($_REQUEST['ajax']) { // Check for return codes and replace with suitable strings if (strpos($logline, "__RC=") !== false) { $code = explode(" ", $logline); + $rc = str_replace("__RC=", "", $code[0]); if (count($code) > 1 && @@ -407,7 +408,7 @@ if (!empty($_POST['id']) || $_POST['mode'] == "reinstallall"): <input type="hidden" name="id" value="<?=htmlspecialchars($_POST['id'])?>" /> <input type="hidden" name="mode" value="<?=htmlspecialchars($_POST['mode'])?>" /> <input type="hidden" name="completed" value="true" /> - <input type="hidden" name="reboot_needed" value="no" /> + <input type="hidden" id="reboot_needed" name="reboot_needed" value="no" /> <div id="countdown" class="text-center"></div> @@ -532,6 +533,7 @@ function show_success() { // Display a failure banner function show_failure() { + $('#final').removeClass("alert-info"); $('#final').addClass("alert-danger"); if ("<?=$_POST['mode']?>" != "reinstallall") { $('#final').html("<?=$pkgid?>" + " " + "<?=$modetxt?>" + " " + "<?=gettext(' failed!')?>"); diff --git a/src/usr/local/www/services_dhcp.php b/src/usr/local/www/services_dhcp.php index 4650051..d13305c 100644 --- a/src/usr/local/www/services_dhcp.php +++ b/src/usr/local/www/services_dhcp.php @@ -230,7 +230,7 @@ if (isset($_POST['submit'])) { $numbervalue = array(); $numbervalue['number'] = htmlspecialchars($_POST["number{$x}"]); $numbervalue['type'] = htmlspecialchars($_POST["itemtype{$x}"]); - $numbervalue['value'] = str_replace('"', '"', htmlspecialchars($_POST["value{$x}"])); + $numbervalue['value'] = base64_encode($_POST["value{$x}"]); $numberoptions['item'][] = $numbervalue; } } @@ -1200,7 +1200,7 @@ $numrows = count($pconfig['numberoptions']['item']) -1; foreach ($pconfig['numberoptions']['item'] as $item) { $number = $item['number']; $itemtype = $item['type']; - $value = $item['value']; + $value = base64_decode($item['value']); $group = new Form_Group(($counter == 0) ? 'Option':null); $group->addClass('repeatable'); diff --git a/src/usr/local/www/services_dhcpv6.php b/src/usr/local/www/services_dhcpv6.php index dc58ba2..676927e 100644 --- a/src/usr/local/www/services_dhcpv6.php +++ b/src/usr/local/www/services_dhcpv6.php @@ -180,7 +180,7 @@ if ($_POST) { if (isset($_POST["number{$x}"]) && ctype_digit($_POST["number{$x}"])) { $numbervalue = array(); $numbervalue['number'] = htmlspecialchars($_POST["number{$x}"]); - $numbervalue['value'] = htmlspecialchars($_POST["value{$x}"]); + $numbervalue['value'] = base64_encode($_POST["value{$x}"]); $numberoptions['item'][] = $numbervalue; } } @@ -436,24 +436,6 @@ if ($_GET['act'] == "del") { } } -// Delete a row in the options table -if ($_GET['act'] == "delopt") { - $idx = $_GET['id']; - - if ($pconfig['numberoptions'] && is_array($pconfig['numberoptions']['item'][$idx])) { - unset($pconfig['numberoptions']['item'][$idx]); - } -} - -// Add an option row -if ($_GET['act'] == "addopt") { - if (!is_array($pconfig['numberoptions']['item'])) { - $pconfig['numberoptions']['item'] = array(); - } - - array_push($pconfig['numberoptions']['item'], array('number' => null, 'value' => null)); -} - $pgtitle = array(gettext("Services"), gettext("DHCPv6 Server")); $shortcut_section = "dhcp6"; @@ -834,48 +816,53 @@ $form->add($section); $title = 'Show Additional BOOTP/DHCP Options'; -if ($pconfig['numberoptions']) { - $counter = 0; - $last = count($pconfig['numberoptions']['item']) - 1; - - foreach ($pconfig['numberoptions']['item'] as $item) { - $group = new Form_Group(null); - - $group->add(new Form_Input( - 'number' . $counter, - null, - 'text', - $item['number'] - ))->setHelp($counter == $last ? 'Number':null); - - $group->add(new Form_Input( - 'value' . $counter, - null, - 'text', - $item['value'] - ))->setHelp($counter == $last ? 'Value':null); - - $btn = new Form_Button( - 'btn' . $counter, - 'Delete', - 'services_dhcpv6.php?if=' . $if . '&act=delopt' . '&id=' . $counter - ); - - $btn->removeClass('btn-primary')->addClass('btn-danger btn-xs adnlopt'); - $group->addClass('adnlopt'); - $group->add($btn); - $section->add($group); - $counter++; - } +if (!$pconfig['numberoptions']) { + $noopts = true; + $pconfig['numberoptions']['item'] = array(0 => array('number' => "", 'value' => "")); +} else { + $noopts = false; +} + +$counter = 0; +$last = count($pconfig['numberoptions']['item']) - 1; + +foreach ($pconfig['numberoptions']['item'] as $item) { + $group = new Form_Group(null); + $group->addClass('repeatable'); + $group->addClass('adnloptions'); + + $group->add(new Form_Input( + 'number' . $counter, + null, + 'text', + $item['number'] + ))->setHelp($counter == $last ? 'Number':null); + + $group->add(new Form_Input( + 'value' . $counter, + null, + 'text', + base64_decode($item['value']) + ))->setHelp($counter == $last ? 'Value':null); + + $btn = new Form_Button( + 'deleterow' . $counter, + 'Delete' + ); + + $btn->removeClass('btn-primary')->addClass('btn-warning'); + $group->add($btn); + $section->add($group); + $counter++; } + $btnaddopt = new Form_Button( - 'btnaddopt', - 'Add Option', - 'services_dhcpv6.php?if=' . $if . '&act=addopt' + 'addrowt', + 'Add Option' ); -$btnaddopt->removeClass('btn-primary')->addClass('btn-success btn-sm'); +$btnaddopt->removeClass('btn-primary')->addClass('btn-success btn-sm')->addClass('adnloptions'); $section->addInput($btnaddopt); @@ -887,6 +874,7 @@ $section->addInput(new Form_Input( )); print($form); + ?> <div class="infoblock blockopen"> <?php @@ -959,7 +947,7 @@ endif; events.push(function() { function hideDDNS(hide) { - hideCheckBox('ddnsupdate', hide); + hideCheckbox('ddnsupdate', hide); hideInput('ddnsdomain', hide); hideInput('ddnsdomainprimary', hide); hideInput('ddnsdomainkeyname', hide); @@ -1012,7 +1000,7 @@ events.push(function() { // Show netboot controls $("#btnnetboot").click(function() { hideInput('bootfile_url', false); - hideCheckBox('shownetboot', false); + hideCheckbox('shownetboot', false); }); // Make the 'additional options' button a plain button, not a submit button @@ -1020,7 +1008,7 @@ events.push(function() { // Show additional controls $("#btnadnl").click(function() { - hideClass('adnlopt', false); + hideClass('adnloptions', false); hideInput('btnaddopt', false); }); @@ -1030,8 +1018,8 @@ events.push(function() { hideInput('tftp', true); hideInput('ldap', true); hideInput('bootfile_url', true); - hideCheckBox('shownetboot', true); - hideClass('adnlopt', true); + hideCheckbox('shownetboot', true); + hideClass('adnloptions', <?php echo json_encode($noopts); ?>); hideInput('btnaddopt', true); }); //]]> diff --git a/src/usr/local/www/status_queues.php b/src/usr/local/www/status_queues.php index 2a13a12..b1c0815 100644 --- a/src/usr/local/www/status_queues.php +++ b/src/usr/local/www/status_queues.php @@ -190,7 +190,7 @@ else: ?> <tr> <th><?=gettext("Queue"); ?></th> <th><?=gettext("Statistics"); ?> - <select id="selStatistic"> + <select id="selStatistic" class="form-control"> <option value="0">PPS</option> <option value="1">Bandwidth</option> </select> @@ -242,8 +242,6 @@ function processQueues($altqstats, $level, $parent_name) { global $g; global $if_queue_list; - $row_class="alert_default"; - $parent_name = $parent_name . " queuerow" . $altqstats['name'] . $altqstats['interface']; $prev_if = $altqstats['interface']; foreach ($altqstats['queue'] as $q) { @@ -274,17 +272,17 @@ function processQueues($altqstats, $level, $parent_name) { </td> <?php $cpuUsage = 0; - print('<td class="' . $row_class . '">'); + print('<td>'); print('<div class="progress" style="height: 7px;width: 170px;">'); print(' <div class="progress-bar" role="progressbar" id="queue' . $q['name'] . $q['interface'] . 'width" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" style="width: ' . $cpuUsage*100 . '%;\"></div>'); print(' </div>'); print('</td>'); - print('<td class="' . $row_class . '"><input readonly style="border:0;width:70px;text-align:right;" size="10" name="queue' . $q['name'] . $q['interface'] . 'pps" id="queue' . $q['name'] . $q['interface'] . 'pps" value="(' . gettext("Loading") . ')" /></td>'); - print('<td class="' . $row_class . '"><input readonly style="border:0;width:80px;text-align:right;" size="10" name="queue' . $q['name'] . $q['interface'] . 'bps" id="queue' . $q['name'] . $q['interface'] . 'bps" value="" /></td>'); - print('<td class="' . $row_class . '"><input readonly style="border:0;width:70px;text-align:right;" size="10" name="queue' . $q['name'] . $q['interface'] . 'borrows" id="queue' . $q['name'] . $q['interface'] . 'borrows" value="" /></td>'); - print('<td class="' . $row_class . '"><input readonly style="border:0;width:70px;text-align:right;" size="10" name="queue' . $q['name'] . $q['interface'] . 'suspends" id="queue' . $q['name'] . $q['interface'] . 'suspends" value="" /></td>'); - print('<td class="' . $row_class . '"><input readonly style="border:0;width:70px;text-align:right;" size="10" name="queue' . $q['name'] . $q['interface'] . 'drops" id="queue' . $q['name'] . $q['interface'] . 'drops" value="" /></td>'); - print('<td class="' . $row_class . '"><input readonly style="border:0;width:70px;text-align:right;" size="10" name="queue' . $q['name'] . $q['interface'] . 'length" id="queue' . $q['name'] . $q['interface'] . 'length" value="" /></td>'); + print('<td><input readonly style="border:0;width:70px;text-align:right;" name="queue' . $q['name'] . $q['interface'] . 'pps" id="queue' . $q['name'] . $q['interface'] . 'pps" value="(' . gettext("Loading") . ')" /></td>'); + print('<td><input readonly style="border:0;width:80px;text-align:right;" name="queue' . $q['name'] . $q['interface'] . 'bps" id="queue' . $q['name'] . $q['interface'] . 'bps" value="" /></td>'); + print('<td><input readonly style="border:0;width:70px;text-align:right;" name="queue' . $q['name'] . $q['interface'] . 'borrows" id="queue' . $q['name'] . $q['interface'] . 'borrows" value="" /></td>'); + print('<td><input readonly style="border:0;width:70px;text-align:right;" name="queue' . $q['name'] . $q['interface'] . 'suspends" id="queue' . $q['name'] . $q['interface'] . 'suspends" value="" /></td>'); + print('<td><input readonly style="border:0;width:70px;text-align:right;" name="queue' . $q['name'] . $q['interface'] . 'drops" id="queue' . $q['name'] . $q['interface'] . 'drops" value="" /></td>'); + print('<td><input readonly style="border:0;width:70px;text-align:right;" name="queue' . $q['name'] . $q['interface'] . 'length" id="queue' . $q['name'] . $q['interface'] . 'length" value="" /></td>'); ?> </tr> <?php diff --git a/src/usr/local/www/vpn_ipsec_phase1.php b/src/usr/local/www/vpn_ipsec_phase1.php index 957fe55..c96f1fb 100644 --- a/src/usr/local/www/vpn_ipsec_phase1.php +++ b/src/usr/local/www/vpn_ipsec_phase1.php @@ -1106,6 +1106,7 @@ events.push(function() { }); //]]> </script> +</form> <?php include("foot.inc"); diff --git a/src/usr/local/www/vpn_openvpn_server.php b/src/usr/local/www/vpn_openvpn_server.php index eaaa76e..b7814cf 100644 --- a/src/usr/local/www/vpn_openvpn_server.php +++ b/src/usr/local/www/vpn_openvpn_server.php @@ -824,7 +824,7 @@ if ($act=="new" || $act=="edit"): 'cert_depth', 'Certificate Depth', $pconfig['cert_depth'], - $openvpn_cert_depths + ["" => "Do Not Check"] + $openvpn_cert_depths ))->setHelp('When a certificate-based client logs in, do not accept certificates below this depth. ' . 'Useful for denying certificates made with intermediate CAs generated from the same CA as the server.'); @@ -982,6 +982,7 @@ if ($act=="new" || $act=="edit"): $form->add($section); $section = new Form_Section('Client Settings'); + $section->addClass('advanced'); $section->addInput(new Form_Checkbox( 'dynamic_ip', @@ -1083,10 +1084,6 @@ if ($act=="new" || $act=="edit"): $pconfig['ntp_server2'] )); - $form->add($section); - - $section = new Form_Section('NetBIOS Options'); - $section->addInput(new Form_Checkbox( 'netbios_enable', 'NetBIOS enable', @@ -1150,7 +1147,6 @@ if ($act=="new" || $act=="edit"): $form->add($section); $section = new Form_Section('Advanced Configuration'); - $section->addClass('advanced'); $section->addInput(new Form_Textarea( 'custom_options', @@ -1338,6 +1334,7 @@ events.push(function() { break; case "server_tls": hideMultiClass('authmode', true); + hideClass('advanced', false); hideCheckbox('autokey_enable', true); default: hideInput('custom_options', false); @@ -1439,8 +1436,8 @@ events.push(function() { hideInput('netbios_scope', hide); hideCheckbox('wins_server_enable', hide); wins_server_change(); - hideCheckbox('client_mgmt_port_enable', hide); - client_mgmt_port_change(); +// hideCheckbox('client_mgmt_port_enable', hide); +// client_mgmt_port_change(); } function tuntap_change() { diff --git a/src/usr/local/www/widgets/widgets/log.widget.php b/src/usr/local/www/widgets/widgets/log.widget.php index 66e5b04..57bc8ab 100644 --- a/src/usr/local/www/widgets/widgets/log.widget.php +++ b/src/usr/local/www/widgets/widgets/log.widget.php @@ -131,11 +131,11 @@ if (isset($_POST['lastsawtime'])) { <table class="table table-striped table-hover"> <thead> <tr> - <th><?=gettext("Action");?></th> + <th><?=gettext("Act");?></th> <th><?=gettext("Time");?></th> - <th><?=gettext("Interface");?></th> + <th><?=gettext("If");?></th> <th><?=gettext("Source");?></th> - <th><?=gettext("Destination");?></th> + <th><?=gettext("Dest");?></th> </tr> </thead> <tbody> diff --git a/src/usr/local/www/widgets/widgets/traffic_graphs.widget.php b/src/usr/local/www/widgets/widgets/traffic_graphs.widget.php index 2360fc5..dbcedf8 100644 --- a/src/usr/local/www/widgets/widgets/traffic_graphs.widget.php +++ b/src/usr/local/www/widgets/widgets/traffic_graphs.widget.php @@ -176,11 +176,11 @@ foreach ($ifdescrs as $ifname => $ifdescr): <label for="scale_type_up" class="col-sm-3 control-label">Default Autoscale</label> <div class="col-sm-6 checkbox"> <label> - <input name="scale_type" type="radio" id="scale_type_up" value="up" <?=($config["widgets"]["trafficgraphs"]["scale_type"]=="follow" ? '' : 'checked')?> /> + <input name="scale_type" type="radio" id="scale_type_up" value="up" <?=($config["widgets"]["trafficgraphs"]["scale_type"]=="up" ? '' : 'checked')?> /> up </label> <label> - <input name="scale_type" type="radio" id="scale_type_follow" value="up" <?=($config["widgets"]["trafficgraphs"]["scale_type"]=="follow" ? 'checked' : '')?> /> + <input name="scale_type" type="radio" id="scale_type_follow" value="follow" <?=($config["widgets"]["trafficgraphs"]["scale_type"]=="follow" ? 'checked' : '')?> /> follow </label> </div> |