Changeset 9ba04a56


Ignore:
Timestamp:
06/24/14 23:05:38 (14 months ago)
Author:
yurkis <yurkis@…>
Branches:
master, enter/10, releng/10.0.3, releng/10.1, releng/10.1.1, releng/10.1.2, releng/10.2
Children:
cb9f1f0
Parents:
1506c22
Message:

Network manager: Public DNS servers list now is in configuration file (hardcode in source is an evil)

Location:
src-qt4
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-netmanager/src/NetworkManager/NetworkManager.pro

    r1b89eeb r9ba04a56  
    100100dotrans.extra=cd i18n && lrelease-qt4 -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)/usr/local/share/pcbsd/i18n/ 
    101101 
    102 INSTALLS+= target dotrans cpres resperm 
     102dnsconf.path=/usr/local/share/pcbsd/conf 
     103dnsconf.files=pubdns.conf 
     104 
     105INSTALLS+= target dotrans cpres resperm dnsconf 
    103106 
    104107INCLUDEPATH+= ../../../libpcbsd/ui ../../../libpcbsd/utils 
     108 
     109OTHER_FILES += \ 
     110    pubdns.conf 
  • src-qt4/pc-netmanager/src/NetworkManager/dnslist.cpp

    ra184339 r9ba04a56  
    22#include "ui_dnslist.h" 
    33 
    4 typedef struct _SDNSEntry 
    5 { 
    6     QString mIP; 
    7     QString mProvider; 
    8     QString mLocation; 
    9 }SDNSEntry; 
     4#include "pcbsd-utils.h" 
     5 
     6#include <QFile> 
     7#include <QTextStream> 
     8#include <QDebug> 
    109 
    1110///////////////////////////////////////////////////////////////////////////////// 
    1211// HARDCODED DNS SERVERS LIST 
    1312///////////////////////////////////////////////////////////////////////////////// 
    14 SDNSEntry servers_v4[] = 
     13DNSList::SDNSEntry default_servers_v4[] = 
    1514{ 
    1615    {"208.67.222.222", "OpenDNS", ""}, 
     
    2524}; 
    2625 
    27 const int servers_v4_size = sizeof(servers_v4)/sizeof(SDNSEntry); 
     26const int default_servers_v4_size = sizeof(default_servers_v4)/sizeof(DNSList::SDNSEntry); 
    2827 
    29 SDNSEntry servers_v6[] = 
     28DNSList::SDNSEntry default_servers_v6[] = 
    3029{ 
    3130    {"2620:0:ccc::2", "OpenDNS", ""}, 
     
    3534}; 
    3635 
    37 const int servers_v6_size = sizeof(servers_v6)/sizeof(SDNSEntry); 
     36const int default_servers_v6_size = sizeof(default_servers_v6)/sizeof(DNSList::SDNSEntry); 
     37 
     38const char* const dnslist_conf_file = "/usr/local/share/pcbsd/conf/pubdns.conf"; 
    3839 
    3940///////////////////////////////////////////////////////////////////////////////// 
     
    4546    ui->setupUi(this); 
    4647    success = false; 
     48 
     49    readConfFile(); 
     50    //Set default values in no file or no entries in file 
     51    if (!servers_v4.size()) 
     52    { 
     53        for (unsigned int i=0; i<default_servers_v4_size; i++) 
     54            servers_v4.push_back(default_servers_v4[i]); 
     55    } 
     56    if (!servers_v6.size()) 
     57    { 
     58        for (unsigned int i=0; i<default_servers_v6_size; i++) 
     59            servers_v6.push_back(default_servers_v6[i]); 
     60    } 
     61 
    4762    if (eIPV4 == type) 
    4863    { 
    49         for (unsigned int i=0; i<servers_v4_size; i++) 
     64        for (int i=0; i<servers_v4.size(); i++) 
    5065        { 
    5166            QTreeWidgetItem* item = new QTreeWidgetItem(); 
     
    5671        } 
    5772    }else{ //ipv6 
    58         for (unsigned int i=0; i<servers_v6_size; i++) 
     73        for (int i=0; i<servers_v6.size(); i++) 
    5974        { 
    6075            QTreeWidgetItem* item = new QTreeWidgetItem(); 
     
    6984} 
    7085 
     86///////////////////////////////////////////////////////////////////////////////// 
    7187DNSList::~DNSList() 
    7288{ 
     
    7490} 
    7591 
     92///////////////////////////////////////////////////////////////////////////////// 
     93bool DNSList::readConfFile() 
     94{ 
     95    QFile file(dnslist_conf_file); 
     96    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) 
     97    { 
     98        qDebug()<<"no file"; 
     99        return false; 
     100    } 
     101 
     102    QTextStream tst(&file); 
     103    QString line; 
     104    QStringList fields; 
     105    while(!tst.atEnd()) 
     106    { 
     107        SDNSEntry entry; 
     108 
     109        line = tst.readLine().trimmed(); 
     110 
     111        qDebug()<<line; 
     112        //Skip empty lines 
     113        if (!line.length()) 
     114            continue; 
     115        //Skip comments 
     116        if (line.indexOf("#") == 0) 
     117            continue; 
     118 
     119        fields = line.split(";"); 
     120        if (fields.size() < 1) 
     121            continue; 
     122 
     123        //Read fields 
     124        entry.mIP = fields[0].trimmed(); 
     125 
     126        if (fields.size()>1) 
     127        { 
     128            entry.mProvider = fields[1].trimmed(); 
     129        } 
     130 
     131        if (fields.size()>2) 
     132        { 
     133            entry.mLocation = fields[2].trimmed(); 
     134        } 
     135 
     136        //check type of IP address 
     137        if (pcbsd::Utils::validateIPV4(entry.mIP)) 
     138        { 
     139            servers_v4.push_back(entry); 
     140        } 
     141        else 
     142        if (pcbsd::Utils::validateIPV6(entry.mIP)) 
     143        { 
     144            servers_v6.push_back(entry); 
     145        } 
     146    }//read all file lines 
     147    return true; 
     148} 
     149 
     150///////////////////////////////////////////////////////////////////////////////// 
    76151void DNSList::on_buttonBox_accepted(){ 
    77152  QTreeWidgetItem *it = ui->list->currentItem(); 
  • src-qt4/pc-netmanager/src/NetworkManager/dnslist.h

    ra184339 r9ba04a56  
    33 
    44#include <QDialog> 
     5 
     6#include <QVector> 
    57 
    68namespace Ui { 
     
    1921    };   
    2022 
     23    typedef struct _SDNSEntry 
     24    { 
     25        QString mIP; 
     26        QString mProvider; 
     27        QString mLocation; 
     28    }SDNSEntry; 
     29 
    2130    explicit DNSList(QWidget *parent = 0, EIPType type = eIPV4); 
    2231    ~DNSList(); 
     
    2837    Ui::DNSList *ui; 
    2938 
     39    bool readConfFile(); 
     40 
     41    QVector<SDNSEntry> servers_v4; 
     42    QVector<SDNSEntry> servers_v6; 
     43 
    3044private slots: 
    3145    void on_buttonBox_accepted(); 
  • src-qt4/port-files/pkg-plist

    r46ab5e8 r9ba04a56  
    4949share/pcbsd/pc-installgui/get-zfs-restore-list.sh 
    5050share/pcbsd/pc-installgui/setup-ssh-keys.sh 
     51share/pcbsd/conf/pubdns.conf 
    5152share/pcbsd/xstartup/enable-ibus.sh 
    5253share/pcbsd/xstartup/checkupdater.sh 
Note: See TracChangeset for help on using the changeset viewer.