object discovery by dns zone transfer is not supported anymore

This commit is contained in:
Vadim Kurland
2008-06-28 20:32:18 +00:00
parent 73035aa66c
commit a009e6730e
2 changed files with 14 additions and 90 deletions
+5
View File
@@ -1,3 +1,8 @@
2008-06-28 Vadim Kurland <vadim@vk.crocodile.org>
* DiscoveryDruid.cpp (DiscoveryDruid::loadDataFromDNS): object
"discovery" by DNS zone transfer is not supported anymore.
2008-06-27 Vadim Kurland <vadim@vk.crocodile.org> 2008-06-27 Vadim Kurland <vadim@vk.crocodile.org>
* PolicyCompiler_PrintRule.cpp (PrintRule::_printProtocol): * PolicyCompiler_PrintRule.cpp (PrintRule::_printProtocol):
+9 -90
View File
@@ -614,47 +614,15 @@ void DiscoveryDruid::updatePrg()
{ {
unBar->setValue(unProg++); unBar->setValue(unProg++);
} }
} }
void DiscoveryDruid::getNameServers() void DiscoveryDruid::getNameServers()
{ {
multimap<string,libfwbuilder::InetAddr> ns_records; // this is not supported anymore since all resolver functions
// have been removed from class DNS
string domain_name=m_dialog->domainname->text().toLatin1().constData(); m_dialog->nameserverlist->setEnabled(false);
DNS_getNS_query *dns=new DNS_getNS_query(domain_name); m_dialog->dnsfromlist->setEnabled(false);
int n; m_dialog->dnscustom->setChecked(true);
try
{
NullLogger nl;
SyncFlag stop_program(false);
ns_records=dns->getNS(domain_name, &nl, &stop_program);
m_dialog->dnsfromlist->setChecked(true);
} catch (FWException &ex)
{
//string(_("Could not find name servers for the domain: '"))+
//domain_name+"' ", ex.toString(), this);
delete dns;
m_dialog->nameserverlist->setEnabled(false);
m_dialog->dnsfromlist->setEnabled(false);
m_dialog->dnscustom->setChecked(true);
return ;
}
multimap<string,InetAddr>::iterator i;
m_dialog->nameserverlist->clear();
NameServers.clear();
for (n=0,i=ns_records.begin(); i!=ns_records.end(); ++n,++i)
{
string s = (*i).first + " (" + ((*i).second).toString() + ")";
QString qs = s.c_str();
m_dialog->nameserverlist->addItem(qs);
InetAddr *na=new InetAddr( (*i).second );
NameServers[qs] = *na;
}
} }
void DiscoveryDruid::setDiscoveryMethod_file() void DiscoveryDruid::setDiscoveryMethod_file()
@@ -865,31 +833,8 @@ InetAddr DiscoveryDruid::getNS()
void DiscoveryDruid::startDNSScan() void DiscoveryDruid::startDNSScan()
{ {
InetAddr ns=getNS(); // this is not supported since all resolver functions have been
string domain_name=m_dialog->domainname->text().toLatin1().constData(); // removed from class DNS
DNS_findA_query *q=new DNS_findA_query();
q->init(
domain_name, ns,
m_dialog->dnsretries->value(),
m_dialog->dnstimeout->value()
);
bop=q;
m_dialog->discoveryprogress->setMaximum(0);
unBar=m_dialog->discoveryprogress;
try
{
logger=bop->start_operation();
m_dialog->discoverylog->append("Reading DNS zone ...");
} catch(const FWException &ex)
{
delete q;
q=NULL;
qDebug(ex.toString().c_str());
}
} }
InetAddr DiscoveryDruid::getSeedHostAddress() InetAddr DiscoveryDruid::getSeedHostAddress()
@@ -1384,34 +1329,8 @@ void DiscoveryDruid::fillTypeChangingList()
void DiscoveryDruid::loadDataFromDNS() void DiscoveryDruid::loadDataFromDNS()
{ {
DNS_findA_query *q=(DNS_findA_query*)bop; // this is not supported since all resolver functions have been
Objects.clear(); // removed from class DNS
map<string,set<InetAddr> > t = q->getResult();
for(map<string,set<InetAddr> >::iterator j = t.begin(); j!=t.end(); ++j)
{
ObjectDescriptor od;
od.addr = *((*j).second.begin());
od.sysname = (*j).first;
if (!m_dialog->uselongname->isChecked())
{
string::size_type p=od.sysname.rfind(m_dialog->domainname->text().toLatin1().constData());
if (p!=string::npos)
{
od.sysname=od.sysname.substr(0,p-1);
}
}
od.type =IPv4::TYPENAME;
od.isSelected=false;
if (od.sysname.empty())
{
od.sysname=string("h-") + od.addr.toString();
}
Objects[od.toString().c_str()]=od;
}
} }
void DiscoveryDruid::loadDataFromFile() void DiscoveryDruid::loadDataFromFile()