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 | |
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.
-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"); ?> |