diff options
author | Phil Davis <phil.davis@inf.org> | 2015-01-02 16:34:30 +0545 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2015-01-02 09:25:06 -0200 |
commit | 8c46314c6b3a3543200a7b076ff96716c71ed217 (patch) | |
tree | 698087c78545684f1ae5a914b5fbe6269edd29ea /usr/local | |
parent | 6317d31dfcab52825ad4096a943c69cd2d99f3e0 (diff) | |
download | pfsense-8c46314c6b3a3543200a7b076ff96716c71ed217.zip pfsense-8c46314c6b3a3543200a7b076ff96716c71ed217.tar.gz |
Allow blank source port in diag_testport
Reported by forum https://forum.pfsense.org/index.php?topic=86146.0
Also, if there are input validation errors, save the user-entered data and re-display it, making it easier for the user to just correct the data in error and press Test again. It was blanking out all the entered data.
Diffstat (limited to 'usr/local')
-rw-r--r-- | usr/local/www/diag_testport.php | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/usr/local/www/diag_testport.php b/usr/local/www/diag_testport.php index 62862f0..7fda3a0 100644 --- a/usr/local/www/diag_testport.php +++ b/usr/local/www/diag_testport.php @@ -50,10 +50,10 @@ $pgtitle = array(gettext("Diagnostics"), gettext("Test Port")); require("guiconfig.inc"); define('NC_TIMEOUT', 10); +$do_testport = false; if ($_POST || $_REQUEST['host']) { unset($input_errors); - unset($do_testport); /* input validation */ $reqdfields = explode(" ", "host port"); @@ -68,7 +68,7 @@ if ($_POST || $_REQUEST['host']) { $input_errors[] = gettext("Please enter a valid port number."); } - if (!is_numeric($_REQUEST['srcport']) || !is_port($_REQUEST['srcport'])) { + if (($_REQUEST['srcport'] != "") && (!is_numeric($_REQUEST['srcport']) || !is_port($_REQUEST['srcport']))) { $input_errors[] = gettext("Please enter a valid source port number, or leave the field blank."); } @@ -81,21 +81,16 @@ if ($_POST || $_REQUEST['host']) { if (!$input_errors) { $do_testport = true; - $host = $_REQUEST['host']; - $sourceip = $_REQUEST['sourceip']; - $port = $_REQUEST['port']; - $srcport = $_REQUEST['srcport']; - $showtext = isset($_REQUEST['showtext']); - $ipprotocol = $_REQUEST['ipprotocol']; $timeout = NC_TIMEOUT; } -} -if (!isset($do_testport)) { - $do_testport = false; - $host = ''; - $port = ''; - $srcport = ''; - unset($showtext); + + /* Save these request vars even if there were input errors. Then the fields are refilled for the user to correct. */ + $host = $_REQUEST['host']; + $sourceip = $_REQUEST['sourceip']; + $port = $_REQUEST['port']; + $srcport = $_REQUEST['srcport']; + $showtext = isset($_REQUEST['showtext']); + $ipprotocol = $_REQUEST['ipprotocol']; } include("head.inc"); ?> |