refine a couple exception classes
authorDenis Ovsienko <denis@ovsienko.info>
Sat, 7 Jul 2018 14:45:57 +0000 (15:45 +0100)
committerDenis Ovsienko <denis@ovsienko.info>
Sat, 7 Jul 2018 14:45:57 +0000 (15:45 +0100)
* createIPv4Prefix(): throw IAE instead of IRAE, as the user interface
  is not the only valid path to this code
* createIPv6Prefix(): idem
* addIPv4Prefix(): take care of the IAE->IRAE conversion
* addIPv6Prefix(): idem

wwwroot/inc/database.php
wwwroot/inc/ophandlers.php

index b366b25..125cf2c 100644 (file)
@@ -4451,7 +4451,7 @@ function createIPv4Prefix ($range = '', $name = '', $is_connected = FALSE, $tagl
        // $range is in x.x.x.x/x format, split into ip/mask vars
        $rangeArray = explode('/', $range);
        if (count ($rangeArray) != 2)
-               throw new InvalidRequestArgException ('range', $range, 'Invalid IPv4 prefix');
+               throw new InvalidArgException ('range', $range, 'Invalid IPv4 prefix');
        $ip = $rangeArray[0];
        $mask = $rangeArray[1];
        $forbidden_ranges = array
@@ -4493,7 +4493,7 @@ function createIPv6Prefix ($range = '', $name = '', $is_connected = FALSE, $tagl
        // $range is in aaa0:b::c:d/x format, split into ip/mask vars
        $rangeArray = explode ('/', $range);
        if (count ($rangeArray) != 2)
-               throw new InvalidRequestArgException ('range', $range, 'Invalid IPv6 prefix');
+               throw new InvalidArgException ('range', $range, 'Invalid IPv6 prefix');
        $ip = $rangeArray[0];
        $mask = $rangeArray[1];
        $net = constructIPRange (ip6_parse ($ip), $mask);
index 44b5774..a56ab82 100644 (file)
@@ -939,13 +939,24 @@ function addIPv4Prefix ()
 {
        global $sic;
        $vlan_ck = empty ($sic['vlan_ck']) ? NULL : genericAssertion ('vlan_ck', 'uint-vlan1');
-       $net_id = createIPv4Prefix
-       (
-               genericAssertion ('range', 'string'),
-               genericAssertion ('name', 'string0'),
-               isCheckSet ('is_connected'),
-               genericAssertion ('taglist', 'array0')
-       );
+       try
+       {
+               $net_id = createIPv4Prefix
+               (
+                       genericAssertion ('range', 'string'),
+                       genericAssertion ('name', 'string0'),
+                       isCheckSet ('is_connected'),
+                       genericAssertion ('taglist', 'array0')
+               );
+       }
+       catch (InvalidRequestArgException $irae)
+       {
+               throw $irae;
+       }
+       catch (InvalidArgException $iae)
+       {
+               throw $iae->newIRAE();
+       }
        $net_cell = spotEntity ('ipv4net', $net_id);
        if (isset ($vlan_ck))
        {
@@ -961,13 +972,24 @@ function addIPv6Prefix ()
 {
        global $sic;
        $vlan_ck = empty ($sic['vlan_ck']) ? NULL : genericAssertion ('vlan_ck', 'uint-vlan1');
-       $net_id = createIPv6Prefix
-       (
-               genericAssertion ('range', 'string'),
-               genericAssertion ('name', 'string0'),
-               isCheckSet ('is_connected'),
-               genericAssertion ('taglist', 'array0')
-       );
+       try
+       {
+               $net_id = createIPv6Prefix
+               (
+                       genericAssertion ('range', 'string'),
+                       genericAssertion ('name', 'string0'),
+                       isCheckSet ('is_connected'),
+                       genericAssertion ('taglist', 'array0')
+               );
+       }
+       catch (InvalidRequestArgException $irae)
+       {
+               throw $irae;
+       }
+       catch (InvalidArgException $iae)
+       {
+               throw $iae->newIRAE();
+       }
        $net_cell = spotEntity ('ipv6net', $net_id);
        if (isset ($vlan_ck))
        {