mirror of
https://github.com/fwbuilder/fwbuilder
synced 2026-09-12 08:02:00 +02:00
2009-02-17 vadim <vadim@vk.crocodile.org>
* Management.cpp (Management::fromXML): (change in libfwbuilder): fixed bug #2609796 "internal object Management does not accept ipv6 address". Class Management should accept ipv6 address. The problem was that if an interface of the firewall had only ipv6 address and was marked as "management" interface, saving such configuration to .fwb file created broken data file that could not be loaded back. The error was: The program encountered error trying to load data file. The file has not been loaded. Error: Exception: Invalid IP address: aaaa:bbbb:cccc::1 XML element : Management where aaaa:bbbb:cccc: is ipv6 address.
This commit is contained in:
@@ -1,3 +1,21 @@
|
||||
2009-02-17 vadim <vadim@vk.crocodile.org>
|
||||
|
||||
* Management.cpp (Management::fromXML): (change in libfwbuilder):
|
||||
fixed bug #2609796 "internal object Management does not accept
|
||||
ipv6 address". Class Management should accept ipv6 address. The
|
||||
problem was that if an interface of the firewall had only ipv6
|
||||
address and was marked as "management" interface, saving such
|
||||
configuration to .fwb file created broken data file that could not
|
||||
be loaded back. The error was:
|
||||
|
||||
The program encountered error trying to load data file.
|
||||
The file has not been loaded. Error:
|
||||
Exception: Invalid IP address: 'aaaa:bbbb:cccc::1'
|
||||
XML element : Management
|
||||
|
||||
where aaaa:bbbb:cccc: is ipv6 address.
|
||||
|
||||
|
||||
2009-02-13 vadim <vadim@vk.crocodile.org>
|
||||
|
||||
* PolicyCompiler_ipt.cpp (finalizeChain::processNext): fixed bug
|
||||
|
||||
@@ -438,37 +438,3 @@ void instDialog::blockInstallForFirewall(Firewall *fw)
|
||||
installMapping[fw]->setCheckState(Qt::Unchecked);
|
||||
}
|
||||
|
||||
#if 0
|
||||
void instDialog::analyseInstallQueue(bool &fPix, bool &fCustInst)
|
||||
{
|
||||
if (fwbdebug) qDebug("instDialog::analyseInstallQueue");
|
||||
Firewall *f;
|
||||
//FWOptions *fwopt;
|
||||
Management *mgmt;
|
||||
PolicyInstallScript *pis;
|
||||
|
||||
fPix=false;
|
||||
fCustInst=true;
|
||||
|
||||
t_fwList::iterator i;
|
||||
for(i=opList.begin(); i!=opList.end(); ++i)
|
||||
{
|
||||
f=(*i);
|
||||
//fwopt=f->getOptionsObject();
|
||||
mgmt=f->getManagementObject();
|
||||
pis = mgmt->getPolicyInstallScript();
|
||||
|
||||
fPix = fPix || f->getStr("platform")=="pix" || f->getStr("platform")=="fwsm" || f->getStr("platform")=="iosacl";
|
||||
fCustInst = fCustInst && !( pis->getCommand()=="" );
|
||||
|
||||
if (fwbdebug)
|
||||
{
|
||||
qDebug(("f:"+f->getName()).c_str());
|
||||
qDebug(("p:"+f->getStr("platform")).c_str());
|
||||
qDebug((QString("fPix:")+(fPix?"true":"false")).toAscii().constData());
|
||||
}
|
||||
|
||||
if (fPix && !fCustInst) return;// nothing can change if we continue loop
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -935,6 +935,9 @@ void instDialog::readInstallerOptionsFromFirewallObject(Firewall *fw)
|
||||
if (!aaddr.isEmpty()) cnf.maddr = aaddr;
|
||||
else
|
||||
{
|
||||
// Note that Host::getManagementAddress() scans interfaces and
|
||||
// finds one marked as "management" and takes its address.
|
||||
// It does not use Management child object.
|
||||
const InetAddr *mgmt_addr = cnf.fwobj->getManagementAddress();
|
||||
if (mgmt_addr)
|
||||
cnf.maddr = mgmt_addr->toString().c_str();
|
||||
|
||||
Reference in New Issue
Block a user