Changeset 732

Show
Ignore:
Timestamp:
01/19/11 09:27:04 (16 months ago)
Author:
ftx
Message:

ipv6 related patch, contributed by Dan Grünzig

Location:
trunk/webinterface
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/webinterface/core/mysql.sql

    r675 r732  
    160160  `nodeid` int(4) NOT NULL default '0', 
    161161  `used` enum('y','n') NOT NULL default 'y', 
    162   `netmask` varchar(15) NOT NULL default '', 
     162  `netmask` varchar(40) NOT NULL default '', 
    163163  `broadcast` varchar(15) NOT NULL default '', 
    164164  PRIMARY KEY  (`id`) 
  • trunk/webinterface/mods/super/nodes/node.php

    r603 r732  
    316316                                { 
    317317                                        $ok = true; 
    318                                         $nextIp = $_POST['startip']; 
    319                                         $ip = explode(":", $_POST['startip']); 
     318                                        $nextIp = Net_IPv6::compress($_POST['startip']);                                         
     319                                        $endIpCompressed = Net_IPv6::compress($_POST['endip']); 
    320320 
    321321                                        while(Net_IPv6::isInNetmask($nextIp.$_POST['netmask'], $netmask)) 
    322322                                        { 
     323                                                $ip = explode(":", Net_IPv6::Uncompress($nextIp)); 
    323324                                                if(!$DB->select($DB->table_network, NULL, NULL, array('ip' => $nextIp))) 
    324                                                 $DB->insert($DB->table_network, array('id' => '', 'ip' => $nextIp, 'vserver' => '', 'node' => $node->getId(), 'used' => 'n', 'netmask' => $netmask, 'broadcast' => '')); 
     325                                                $DB->insert($DB->table_network, array('id' => '', 'ip' => $nextIp, 'vserverid' => '', 'nodeid' => $node->getId(), 'used' => 'n', 'netmask' => $netmask, 'broadcast' => '', 'reservation'=>'')); 
    325326                                                for($i = 0; $i < count($ip); $i++) 
    326327                                                { 
     
    343344                                                for($i = 0; $i < count($ip); $i++) 
    344345                                                { 
    345                                                         if(dechex($ip[$i]) > 0) 
     346                                                        if($ip[$i] > 0) 
    346347                                                        { 
    347348                                                                $nextIp .= dechex($ip[$i]); 
    348349                                                        } 
     350                                                        else { 
     351                                                                $nextIp .= '0'; 
     352                                                        } 
    349353                                                        $nextIp .= ":"; 
    350354                                                } 
    351355                                                $nextIp = trim($nextIp, ":"); 
    352356                                                $nextIp = Net_IPv6::compress($nextIp); 
    353                                                 if($nextIp == $_POST['endip']) 
     357                                                if($nextIp == $endIpCompressed) 
    354358                                                { 
    355359                                                        break;