r4112 genericAssertion(): add "enum/inet4alloc" and "enum/inet6alloc" cases
authorDenis Ovsienko <infrastation@yandex.ru>
Wed, 12 Jan 2011 16:06:56 +0000 (16:06 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Wed, 12 Jan 2011 16:06:56 +0000 (16:06 +0000)
updIPv4Allocation(): update respectively
updIPv6Allocation(): idem
addIPv4Allocation(): idem
addIPv6Allocation(): idem

inc/functions.php
inc/ophandlers.php

index 1b6931f..95f3712 100644 (file)
@@ -287,6 +287,12 @@ function genericAssertion ($argname, $argtype)
                if (!in_array ($sic[$argname], array ('TCP', 'UDP')))
                        throw new InvalidRequestArgException ($argname, $sic[$argname], 'Unknown value');
                break;
+       case 'enum/inet4alloc':
+       case 'enum/inet6alloc':
+               assertStringArg ($argname);
+               if (!in_array ($sic[$argname], array ('regular', 'shared', 'virtual', 'router')))
+                       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 b4a8dfe..a3f4cef 100644 (file)
@@ -391,7 +391,7 @@ function updIPv4Allocation ()
        assertIPv4Arg ('ip');
        assertUIntArg ('object_id');
        assertStringArg ('bond_name', TRUE);
-       assertStringArg ('bond_type');
+       genericAssertion ('bond_type', 'enum/inet4alloc');
 
        $result = updateBond ($_REQUEST['ip'], $_REQUEST['object_id'], $_REQUEST['bond_name'], $_REQUEST['bond_type']);
        return buildRedirectURL (__FUNCTION__, $result === FALSE ? 'ERR' : 'OK');
@@ -404,7 +404,7 @@ function updIPv6Allocation ()
        $ipv6 = assertIPv6Arg ('ip');
        assertUIntArg ('object_id');
        assertStringArg ('bond_name', TRUE);
-       assertStringArg ('bond_type');
+       genericAssertion ('bond_type', 'enum/inet6alloc');
 
        $result = updateIPv6Bond ($ipv6, $_REQUEST['object_id'], $_REQUEST['bond_name'], $_REQUEST['bond_type']);
        return buildRedirectURL (__FUNCTION__, $result === FALSE ? 'ERR' : 'OK');
@@ -439,7 +439,7 @@ function addIPv4Allocation ()
        assertIPv4Arg ('ip');
        assertUIntArg ('object_id');
        assertStringArg ('bond_name', TRUE);
-       assertStringArg ('bond_type');
+       genericAssertion ('bond_type', 'enum/inet4alloc');
 
        // Strip masklen.
        $ip = preg_replace ('@/[[:digit:]]+$@', '', $_REQUEST['ip']);
@@ -468,7 +468,7 @@ function addIPv6Allocation ()
 {
        assertUIntArg ('object_id');
        assertStringArg ('bond_name', TRUE);
-       assertStringArg ('bond_type');
+       genericAssertion ('bond_type', 'enum/inet6alloc');
 
        // Strip masklen.
        $ipv6 = new IPv6Address;