r4905 - LivePTR now ignores auto-reserved network & broadcast addresses (#425)
authorAaron Dummer <aaron@dummer.info>
Mon, 16 Jan 2012 06:07:14 +0000 (06:07 +0000)
committerAaron Dummer <aaron@dummer.info>
Mon, 16 Jan 2012 06:07:14 +0000 (06:07 +0000)
- also fixed a bug in trunk (addresses were not being reserved when adding networks)

ChangeLog
wwwroot/inc/database.php
wwwroot/inc/interface.php
wwwroot/inc/ophandlers.php

index 75d0fdc..5d0cd16 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -36,6 +36,7 @@
        update: ability to delete IP prefixes from within its properties tab
        update: adding and deleting forms of IP prefixes are separated
        update: improved support of Nexus switches (#500)
+       update: LivePTR now ignores auto-reserved network & broadcast addresses (#425)
 0.19.10 2011-10-17
        bugfix: LivePorts MAC address lister was broken with Huawei S5300 V100R006
        bugfix: SNMP sync was broken when one of default attributes was removed from certain object type
index e8cf486..72cac51 100644 (file)
@@ -3433,7 +3433,7 @@ function produceTagsForLastRecord ($realm, $tagidlist, $last_insert_id = 0)
                addTagForEntity ($realm, $last_insert_id, $taginfo['id']);
 }
 
-function createIPv4Prefix ($range = '', $name = '', $is_bcast = FALSE, $taglist = array(), $vlan_ck = NULL)
+function createIPv4Prefix ($range = '', $name = '', $is_connected = FALSE, $taglist = array(), $vlan_ck = NULL)
 {
        // $range is in x.x.x.x/x format, split into ip/mask vars
        $rangeArray = explode('/', $range);
@@ -3484,7 +3484,7 @@ function createIPv4Prefix ($range = '', $name = '', $is_bcast = FALSE, $taglist
        );
        $network_id = lastInsertID();
 
-       if ($is_bcast and $maskL < 31)
+       if ($is_connected and $maskL < 31)
        {
                $network_addr = long2ip ($ipL);
                $broadcast_addr = long2ip ($ipL | binInvMaskFromDec ($maskL));
index e5a0cd6..2b2f39e 100644 (file)
@@ -4835,6 +4835,9 @@ function renderLivePTR ($id)
                echo "<input type=hidden name=rsvd_${idx} value=${addr['reserved']}>\n";
                echo '<tr';
                $print_cbox = FALSE;
+               // Ignore network and broadcast addresses
+               if (($ip == $startip && $addr['name'] == 'network') || ($ip == $endip && $addr['name'] == 'broadcast'))
+                       echo ' class=trbusy';
                if ($addr['name'] == $ptrname)
                {
                        if (strlen ($ptrname))
index 0a9520f..bf09c69 100644 (file)
@@ -816,11 +816,11 @@ function addIPv4Prefix ()
        assertStringArg ('range');
        assertStringArg ('name', TRUE);
 
-       $is_bcast = isset ($_REQUEST['is_bcast']) ? $_REQUEST['is_bcast'] : 'off';
        $taglist = isset ($_REQUEST['taglist']) ? $_REQUEST['taglist'] : array();
+       $is_connected = isset ($_REQUEST['is_connected']) ? $_REQUEST['is_connected'] : 'off';
        global $sic;
        $vlan_ck = empty ($sic['vlan_ck']) ? NULL : $sic['vlan_ck'];
-       $net_id = createIPv4Prefix ($_REQUEST['range'], $sic['name'], $is_bcast == 'on', $taglist, $vlan_ck);
+       $net_id = createIPv4Prefix ($_REQUEST['range'], $sic['name'], $is_connected == 'on', $taglist, $vlan_ck);
        showSuccess
        (
                'IP network <a href="' .