r3776 addRealServers(): fix to work with unescaped input
authorDenis Ovsienko <infrastation@yandex.ru>
Wed, 9 Jun 2010 15:05:15 +0000 (15:05 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Wed, 9 Jun 2010 15:05:15 +0000 (15:05 +0000)
addMultiPorts(): idem
addLotOfObjects(): idem
saveRackCode(): idem
addRack(): idem
ajax.php: idem

ajax.php
inc/ophandlers.php

index 899dd99..751c17f 100644 (file)
--- a/ajax.php
+++ b/ajax.php
@@ -16,8 +16,7 @@ if (!permitted())
 switch ($_REQUEST['ac'])
 {
        case 'verifyCode':
-               $code = str_replace ('\r', '', str_replace ('\n', "\n", $_REQUEST['code']));
-               $result = getRackCode($code);
+               $result = getRackCode (dos2unix ($_REQUEST['code']));
                if ($result['result'] == 'ACK')
                        echo "ACK\n";
                else
index e7783ac..0b51047 100644 (file)
@@ -255,7 +255,7 @@ function addMultiPorts ()
        $object_id = $_REQUEST['object_id'];
        // Input lines are escaped, so we have to explode and to chop by 2-char
        // \n and \r respectively.
-       $lines1 = explode ('\n', $_REQUEST['input']);
+       $lines1 = explode ("\n", $_REQUEST['input']);
        foreach ($lines1 as $line)
        {
                $parts = explode ('\r', $line);
@@ -903,7 +903,7 @@ function addLotOfObjects()
        else
        {
                // The name extractor below was stolen from ophandlers.php:addMultiPorts()
-               $names1 = explode ('\n', $_REQUEST['namelist']);
+               $names1 = explode ("\n", $_REQUEST['namelist']);
                $names2 = array();
                foreach ($names1 as $line)
                {
@@ -1127,11 +1127,10 @@ function addRealServers ()
        assertUIntArg ('pool_id');
        assertStringArg ('format');
        assertStringArg ('rawtext');
-       $rawtext = str_replace ('\r', '', $_REQUEST['rawtext']);
        $ngood = $nbad = 0;
        $rsconfig = '';
        // Keep in mind, that the text will have HTML entities (namely '>') escaped.
-       foreach (explode ('\n', $rawtext) as $line)
+       foreach (explode ("\n", dos2unix ($_REQUEST['rawtext'])) as $line)
        {
                if (!strlen ($line))
                        continue;
@@ -1601,7 +1600,7 @@ function saveRackCode ()
 {
        assertStringArg ('rackcode');
        // For the test to succeed, unescape LFs, strip CRs.
-       $newcode = str_replace ('\r', '', str_replace ('\n', "\n", $_REQUEST['rackcode']));
+       $newcode = dos2unix ($_REQUEST['rackcode']);
        $parseTree = getRackCode ($newcode);
        if ($parseTree['result'] != 'ACK')
                return buildRedirectURL (__FUNCTION__, 'ERR1', array ($parseTree['load']));
@@ -1748,7 +1747,7 @@ function addRack ()
                assertStringArg ('rack_names', TRUE);
                $log = emptyLog();
                // copy-and-paste from renderAddMultipleObjectsForm()
-               $names1 = explode ('\n', $_REQUEST['rack_names']);
+               $names1 = explode ("\n", $_REQUEST['rack_names']);
                $names2 = array();
                foreach ($names1 as $line)
                {