Ignore:
Timestamp:
04/16/13 09:06:01 (16 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.1-release, 9.2-release, releng/10.0, releng/10.0.1, releng/10.0.2
Children:
4d0d420
Parents:
8901c47
Message:

Finish up the IP dialog, now we can set all aliases / bridge aliases
and such from the GUI

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/warden-gui/dialogEditIP.cpp

    r8901c47 r470af24a  
    8484  } 
    8585 
     86  file.setFileName( JailDir + "/." + jailName + ".meta/alias-ipv4" ); 
     87  if ( file.exists() && file.open( QIODevice::ReadOnly ) ) { 
     88     QTextStream stream( &file );  
     89     while ( ! file.atEnd() ) 
     90       IPv4Alias << stream.readLine(); 
     91     file.close(); 
     92  } 
     93 
     94  file.setFileName( JailDir + "/." + jailName + ".meta/alias-bridge-ipv4" ); 
     95  if ( file.exists() && file.open( QIODevice::ReadOnly ) ) { 
     96     QTextStream stream( &file );  
     97     while ( ! file.atEnd() ) 
     98       IPv4AliasBridge << stream.readLine(); 
     99     file.close(); 
     100  } 
     101 
     102  file.setFileName( JailDir + "/." + jailName + ".meta/alias-ipv6" ); 
     103  if ( file.exists() && file.open( QIODevice::ReadOnly ) ) { 
     104     QTextStream stream( &file );  
     105     while ( ! file.atEnd() ) 
     106       IPv6Alias << stream.readLine(); 
     107     file.close(); 
     108  } 
     109 
     110  file.setFileName( JailDir + "/." + jailName + ".meta/alias-bridge-ipv6" ); 
     111  if ( file.exists() && file.open( QIODevice::ReadOnly ) ) { 
     112     QTextStream stream( &file );  
     113     while ( ! file.atEnd() ) 
     114       IPv6AliasBridge << stream.readLine(); 
     115     file.close(); 
     116  } 
     117 
    86118  // Our buttons / slots 
    87119  connect( checkIPv4, SIGNAL( clicked() ), this, SLOT( slotCheckChecks() ) ); 
     
    92124  connect( checkIPv6Router, SIGNAL( clicked() ), this, SLOT( slotCheckChecks() ) ); 
    93125 
     126  connect( comboIPType, SIGNAL( currentIndexChanged(int) ), this, SLOT( slotComboIPChanged() ) ); 
     127 
    94128  connect( pushSave, SIGNAL( clicked() ), this, SLOT( slotSaveClicked() ) ); 
    95129  connect( pushCancel, SIGNAL( clicked() ), this, SLOT( slotCancelClicked() ) ); 
     
    98132 
    99133  slotCheckChecks(); 
     134  slotComboIPChanged(); 
     135} 
     136 
     137void dialogEditIP::slotComboIPChanged() 
     138{ 
     139   QStringList curList; 
     140 
     141   // IPv4 Aliases 
     142   if ( comboIPType->currentIndex() == 0 ) 
     143      curList = IPv4Alias; 
     144 
     145   // IPv4 Bridge Aliases 
     146   if ( comboIPType->currentIndex() == 1 ) 
     147      curList = IPv4AliasBridge; 
     148 
     149   // IPv6 Aliases 
     150   if ( comboIPType->currentIndex() == 2 ) 
     151      curList = IPv6Alias; 
     152 
     153   // IPv6 Bridge Aliases 
     154   if ( comboIPType->currentIndex() == 3 ) 
     155      curList = IPv6AliasBridge; 
     156 
     157   listIP->clear(); 
     158   for (int i = 0; i < curList.size(); ++i) 
     159          listIP->addItem(curList.at(i)); 
     160 
    100161} 
    101162 
     
    162223 
    163224  // Start saving settings 
     225  file.setFileName( JailDir + "/." + jailName + ".meta/alias-ipv4" ); 
     226  if ( ! IPv4Alias.isEmpty() ) { 
     227    if ( file.open( QIODevice::WriteOnly ) ) { 
     228       QTextStream stream( &file ); 
     229       for (int i = 0; i < IPv4Alias.size(); ++i) 
     230         stream << IPv4Alias.at(i); 
     231       file.close(); 
     232    } 
     233  } else { 
     234    file.remove(); 
     235  } 
     236 
     237  file.setFileName( JailDir + "/." + jailName + ".meta/alias-bridge-ipv4" ); 
     238  if ( ! IPv4AliasBridge.isEmpty() ) { 
     239    if ( file.open( QIODevice::WriteOnly ) ) { 
     240       QTextStream stream( &file ); 
     241       for (int i = 0; i < IPv4AliasBridge.size(); ++i) 
     242         stream << IPv4AliasBridge.at(i); 
     243       file.close(); 
     244    } 
     245  } else { 
     246    file.remove(); 
     247  } 
     248 
     249  file.setFileName( JailDir + "/." + jailName + ".meta/alias-ipv6" ); 
     250  if ( ! IPv6Alias.isEmpty() ) { 
     251    if ( file.open( QIODevice::WriteOnly ) ) { 
     252       QTextStream stream( &file ); 
     253       for (int i = 0; i < IPv6Alias.size(); ++i) 
     254         stream << IPv6Alias.at(i); 
     255       file.close(); 
     256    } 
     257  } else { 
     258    file.remove(); 
     259  } 
     260 
     261  file.setFileName( JailDir + "/." + jailName + ".meta/alias-bridge-ipv6" ); 
     262  if ( ! IPv6AliasBridge.isEmpty() ) { 
     263    if ( file.open( QIODevice::WriteOnly ) ) { 
     264       QTextStream stream( &file ); 
     265       for (int i = 0; i < IPv6AliasBridge.size(); ++i) 
     266         stream << IPv6AliasBridge.at(i); 
     267       file.close(); 
     268    } 
     269  } else { 
     270    file.remove(); 
     271  } 
     272 
    164273  file.setFileName( JailDir + "/." + jailName + ".meta/ipv4" ); 
    165274  if ( checkIPv4->isChecked() ) { 
     
    264373void dialogEditIP::slotAddClicked() 
    265374{ 
    266         bool ok; 
    267         QString url = QInputDialog::getText(this, tr("Add IP"), 
    268                                         tr("IP Address:"), QLineEdit::Normal, 
    269                                         QString(), &ok); 
    270         if ( ok ) { 
    271           if ( pcbsd::Utils::validateIPV4(url) || pcbsd::Utils::validateIPV6(url) ) 
    272             listIP->addItem(url); 
    273           else 
    274             QMessageBox::critical(this, tr("Warden"), \ 
     375   bool ok; 
     376   QString address = QInputDialog::getText(this, tr("Add IP"), 
     377                        tr("IP Address:"), QLineEdit::Normal, 
     378                        QString(), &ok); 
     379   if ( ! ok ) 
     380      return; 
     381 
     382   if ( ! checkValidBlock(address, "IPv4") || checkValidBlock(address, "IPv6") ) 
     383      QMessageBox::critical(this, tr("Warden"), \ 
    275384                                tr("Please enter a valid IPV4 or IPV6 address!"), \ 
    276385                                QMessageBox::Ok, \ 
    277386                                QMessageBox::Ok); 
    278         } 
     387 
     388   // IPv4 Aliases 
     389   if ( comboIPType->currentIndex() == 0 ) { 
     390      if ( address.indexOf("/") == -1 )  
     391         address = address + "/24"; 
     392      IPv4Alias << address; 
     393      listIP->addItem(address); 
     394   } 
     395 
     396   // IPv4 Bridge Aliases 
     397   if ( comboIPType->currentIndex() == 1 ) { 
     398      if ( address.indexOf("/") == -1 )  
     399         address = address + "/24"; 
     400      IPv4AliasBridge << address; 
     401      listIP->addItem(address); 
     402   } 
     403 
     404   // IPv6 Aliases 
     405   if ( comboIPType->currentIndex() == 2 ) { 
     406      if ( address.indexOf("/") == -1 )  
     407         address = address + "/64"; 
     408      IPv6Alias << address; 
     409      listIP->addItem(address); 
     410   } 
     411 
     412   // IPv6 Bridge Aliases 
     413   if ( comboIPType->currentIndex() == 3 ) { 
     414      if ( address.indexOf("/") == -1 )  
     415         address = address + "/64"; 
     416      IPv6AliasBridge << address; 
     417      listIP->addItem(address); 
     418   } 
     419 
    279420} 
    280421 
Note: See TracChangeset for help on using the changeset viewer.