r4099 genericAssertion(): add "enum/ipproto" case
authorDenis Ovsienko <infrastation@yandex.ru>
Tue, 11 Jan 2011 22:19:52 +0000 (22:19 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Tue, 11 Jan 2011 22:19:52 +0000 (22:19 +0000)
addVService(): update respectively and merge meaningful code of commitCreateVS()
commitCreateVS(): bye
updateUser(): fix mistype

inc/database.php
inc/functions.php
inc/interface.php
inc/ophandlers.php

index 50352ca..6af0571 100644 (file)
@@ -2625,31 +2625,6 @@ function addRStoRSPool ($pool_id = 0, $rsip = '', $rsport = 0, $inservice = 'no'
        );
 }
 
-function commitCreateVS ($vip = '', $vport = 0, $proto = '', $name = '', $vsconfig, $rsconfig, $taglist = array())
-{
-       if (!strlen ($vip))
-               throw new InvalidArgException ('$vip', $vip);
-       if ($vport <= 0)
-               throw new InvalidArgException ('$vport', $vport);
-       if (!strlen ($proto))
-               throw new InvalidArgException ('$proto', $proto);
-       if (FALSE === usePreparedExecuteBlade
-       (
-               'INSERT INTO IPv4VS (vip, vport, proto, name, vsconfig, rsconfig) VALUES (INET_ATON(?), ?, ?, ?, ?, ?)',
-               array
-               (
-                       $vip,
-                       $vport,
-                       $proto,
-                       !strlen ($name) ? NULL : $name,
-                       !strlen ($vsconfig) ? NULL : $vsconfig,
-                       !strlen ($rsconfig) ? NULL : $rsconfig,
-               )
-       ))
-               return __FUNCTION__ . ': SQL insertion failed';
-       return produceTagsForLastRecord ('ipv4vs', $taglist);
-}
-
 function addLBtoRSPool ($pool_id = 0, $object_id = 0, $vs_id = 0, $vsconfig = '', $rsconfig = '', $prio = '')
 {
        return usePreparedInsertBlade
index 14fe78a..ace0d7e 100644 (file)
@@ -277,6 +277,11 @@ function genericAssertion ($argname, $argtype)
                if (!array_key_exists ($sic[$argname], $ifcompatpack))
                        throw new InvalidRequestArgException ($argname, $sic[$argname], 'Unknown value');
                break;
+       case 'enum/ipproto':
+               assertStringArg ($argname);
+               if (!in_array ($sic[$argname], array ('TCP', 'UDP')))
+                       throw new InvalidRequestArgException ($argname, $sic[$argname], 'Unknown value');
+               break;
        case 'iif':
                if (!array_key_exists ($sic[$argname], getPortIIFOptions()))
                        throw new InvalidRequestArgException ($argname, $sic[$argname], 'Unknown value');
index 2ad834d..7e689d7 100644 (file)
@@ -1732,7 +1732,6 @@ function showMessageOrError ()
                                120 => array ('code' => 'error', 'format' => 'Reset failed!'),
                                127 => array ('code' => 'error', 'format' => 'Added %u real servers and encountered %u errors'),
                                131 => array ('code' => 'error', 'format' => 'invalid format requested'),
-                               132 => array ('code' => 'error', 'format' => 'invalid protocol'),
                                141 => array ('code' => 'error', 'format' => 'Encountered %u errors, updated %u record(s)'),
                                142 => array ('code' => 'error', 'format' => 'executeAutoPorts() failed'),
                                143 => array ('code' => 'error', 'format' => 'Tried chaining %u tags, but experienced %u errors.'),
index d0a79fa..eb9456f 100644 (file)
@@ -635,7 +635,7 @@ function updateUser ()
        assertStringArg ('password');
        $username = $_REQUEST['username'];
        $new_password = $_REQUEST['password'];
-       $userinfo = spotEntity ('user', $_REQUEST['user_id']));
+       $userinfo = spotEntity ('user', $_REQUEST['user_id']);
        // Update user password only if provided password is not the same as current password hash.
        if ($new_password != $userinfo['user_password_hash'])
                $new_password = sha1 ($new_password);
@@ -1191,32 +1191,29 @@ function addRealServers ()
 }
 
 $msgcode['addVService']['OK'] = 48;
-$msgcode['addVService']['ERR1'] = 132;
-$msgcode['addVService']['ERR2'] = 100;
 function addVService ()
 {
        assertIPv4Arg ('vip');
        assertUIntArg ('vport');
-       assertStringArg ('proto');
-       if ($_REQUEST['proto'] != 'TCP' and $_REQUEST['proto'] != 'UDP')
-               return buildRedirectURL (__FUNCTION__, 'ERR1');
+       genericAssertion ('proto', 'enum/ipproto');
        assertStringArg ('name', TRUE);
        assertStringArg ('vsconfig', TRUE);
        assertStringArg ('rsconfig', TRUE);
-       $error = commitCreateVS
+       usePreparedExecuteBlade
        (
-               $_REQUEST['vip'],
-               $_REQUEST['vport'],
-               $_REQUEST['proto'],
-               $_REQUEST['name'],
-               $_REQUEST['vsconfig'],
-               $_REQUEST['rsconfig'],
-               isset ($_REQUEST['taglist']) ? $_REQUEST['taglist'] : array()
+               'INSERT INTO IPv4VS (vip, vport, proto, name, vsconfig, rsconfig) VALUES (INET_ATON(?), ?, ?, ?, ?, ?)',
+               array
+               (
+                       $_REQUEST['vip'],
+                       $_REQUEST['vport'],
+                       $_REQUEST['proto'],
+                       !mb_strlen ($_REQUEST['name']) ? NULL : $_REQUEST['name'],
+                       !strlen ($_REQUEST['vsconfig']) ? NULL : $_REQUEST['vsconfig'],
+                       !strlen ($_REQUEST['rsconfig']) ? NULL : $_REQUEST['rsconfig'],
+               )
        );
-       if ($error != '')
-               return buildRedirectURL (__FUNCTION__, 'ERR2', array ($error));
-       else
-               return buildRedirectURL (__FUNCTION__, 'OK');
+       produceTagsForLastRecord ('ipv4vs', isset ($_REQUEST['taglist']) ? $_REQUEST['taglist'] : array());
+       return buildRedirectURL (__FUNCTION__, 'OK');
 }
 
 $msgcode['deleteVService']['OK'] = 49;