[fwbuilder-commits] [SCM] Firewall Builder GUI and Policy Compilers Open Source Code branch, develo
Brought to you by:
mikehorn
From: <gi...@ir...> - 2011-02-26 18:34:27
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Firewall Builder GUI and Policy Compilers Open Source Code". The branch, development has been updated via 1258c4580e57321004d994aa0be8cbffb8d41422 (commit) from 59562d852c112b410cd669349f2ec97a27d38a31 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1258c4580e57321004d994aa0be8cbffb8d41422 Author: Vadim Kurland <va...@sl...> Date: Sat Feb 26 10:45:40 2011 -0800 new build 3488; see #2147 "ASA Import - some versions are not detected correctly". SEtting version in the created firewall object to the best match of the version found in imported config diff --git a/VERSION b/VERSION index bc83598..a5b4e35 100644 --- a/VERSION +++ b/VERSION @@ -7,7 +7,7 @@ FWB_MICRO_VERSION=0 # build number is like "nano" version number. I am incrementing build # number during development cycle # -BUILD_NUM="3487" +BUILD_NUM="3488" VERSION="$FWB_MAJOR_VERSION.$FWB_MINOR_VERSION.$FWB_MICRO_VERSION.$BUILD_NUM" diff --git a/VERSION.h b/VERSION.h index c30e59d..88ed40c 100644 --- a/VERSION.h +++ b/VERSION.h @@ -1,2 +1,2 @@ -#define VERSION "4.2.0.3487" +#define VERSION "4.2.0.3488" #define GENERATION "4.2" diff --git a/doc/ChangeLog b/doc/ChangeLog index d940f5d..f13c435 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,15 @@ +2011-02-26 vadim <va...@ne...> + + * platforms.cpp (findBestVersionMatch): fixes #2147 "ASA Import - + some versions are not detected correctly". when user imports + PIX/ASA configuration, firewall object will automatically be + configured with the version setting that best fits version + indicated in the imported configuration. Note that fwbuilder does + not provide the list of version numbers that match PIX/ASA + versions exactly, for example we do not have settings "7.1" and + "7.2". Devices running these versions of PIX/ASA software should + be configured with version "7.0" in fwbuilder. + 2011-02-25 vadim <va...@ne...> * parsers/pix.g (intf_address): see #87 "Import of PIX diff --git a/packaging/fwbuilder-static-qt.spec b/packaging/fwbuilder-static-qt.spec index babb7ae..e5ef9d6 100644 --- a/packaging/fwbuilder-static-qt.spec +++ b/packaging/fwbuilder-static-qt.spec @@ -3,7 +3,7 @@ %define name fwbuilder -%define version 4.2.0.3487 +%define version 4.2.0.3488 %define release 1 %if "%_vendor" == "MandrakeSoft" diff --git a/packaging/fwbuilder.control b/packaging/fwbuilder.control index 0448821..7ba10c2 100644 --- a/packaging/fwbuilder.control +++ b/packaging/fwbuilder.control @@ -4,6 +4,6 @@ Replaces: fwbuilder (<=4.1.1-1), fwbuilder-common, fwbuilder-bsd, fwbuilder-linu Priority: extra Section: checkinstall Maintainer: va...@fw... -Version: 4.2.0.3487-1 +Version: 4.2.0.3488-1 Depends: libqt4-gui (>= 4.3.0), libxml2, libxslt1.1, libsnmp | libsnmp15 Description: Firewall Builder GUI and policy compilers diff --git a/packaging/fwbuilder.spec b/packaging/fwbuilder.spec index e1acf07..261f14e 100644 --- a/packaging/fwbuilder.spec +++ b/packaging/fwbuilder.spec @@ -1,6 +1,6 @@ %define name fwbuilder -%define version 4.2.0.3487 +%define version 4.2.0.3488 %define release 1 %if "%_vendor" == "MandrakeSoft" diff --git a/src/libgui/PIXImporter.cpp b/src/libgui/PIXImporter.cpp index f7d998c..78544bd 100644 --- a/src/libgui/PIXImporter.cpp +++ b/src/libgui/PIXImporter.cpp @@ -81,7 +81,11 @@ Firewall* PIXImporter::finalize() Firewall *fw = Firewall::cast(getFirewallObject()); fw->setStr("host_OS", "pix"); Resources::setDefaultTargetOptions("pix" , fw); - fw->setStr("version", discovered_version); + + string version = findBestVersionMatch( + "pix", discovered_version.c_str()).toStdString(); + if ( ! version.empty()) + fw->setStr("version", version); FWObject *policy = getFirewallObject()->getFirstByType(Policy::TYPENAME); assert( policy!=NULL ); diff --git a/src/libgui/platforms.cpp b/src/libgui/platforms.cpp index 53916a2..70ebedd 100644 --- a/src/libgui/platforms.cpp +++ b/src/libgui/platforms.cpp @@ -1211,7 +1211,7 @@ void guessOSAndPlatformFromSysDescr( << "sysdescr=" << sysDescr; list<QStringPair> allowed_versions; - string version_from_sysdescr; + QString version_from_sysdescr; foreach (QRegExp re, pix_re) { @@ -1219,7 +1219,7 @@ void guessOSAndPlatformFromSysDescr( { platform = "pix"; hostOS = "pix_os"; - version_from_sysdescr = re.cap(1).toStdString(); + version_from_sysdescr = re.cap(1); } } @@ -1230,7 +1230,7 @@ void guessOSAndPlatformFromSysDescr( { platform = "iosacl"; hostOS = "ios"; - version_from_sysdescr = re.cap(1).toStdString(); + version_from_sysdescr = re.cap(1); } } @@ -1238,25 +1238,35 @@ void guessOSAndPlatformFromSysDescr( qDebug() << "guessOSAndPlatformFromSysDescr:" << "platform=" << platform << "hostOS=" << hostOS - << "version=" << version_from_sysdescr.c_str(); + << "version=" << version_from_sysdescr; if ( ! platform.isEmpty()) - { - getVersionsForPlatform(platform, allowed_versions); + version = findBestVersionMatch(platform, version_from_sysdescr); + +} + +QString findBestVersionMatch(const QString &platform, + const QString &discovered_version) +{ + list<QStringPair> allowed_versions; + + getVersionsForPlatform(platform, allowed_versions); - if ( ! version_from_sysdescr.empty()) + if ( ! discovered_version.isEmpty()) + { + QString version_fit; + list<QStringPair>::iterator it; + foreach (QStringPair p, allowed_versions) { - string version_fit; - list<QStringPair>::iterator it; - foreach (QStringPair p, allowed_versions) - { - string vers = p.first.toStdString(); - if (XMLTools::version_compare(vers, version_from_sysdescr)>0) break; - version_fit = vers; - } - version = version_fit.c_str(); + QString vers = p.first; + if (XMLTools::version_compare(vers.toStdString(), + discovered_version.toStdString())>0) + break; + version_fit = vers; } + return version_fit; } + return ""; } diff --git a/src/libgui/platforms.h b/src/libgui/platforms.h index b2f737c..9444b8d 100644 --- a/src/libgui/platforms.h +++ b/src/libgui/platforms.h @@ -187,6 +187,9 @@ void setHostOS(QComboBox *hostOS, const QString &platform, const QString &os); void guessOSAndPlatformFromSysDescr(const QString &sysDescr, QString &platform, QString &hostOS, QString &version); +QString findBestVersionMatch(const QString &platform, + const QString &discovered_version); + /* * Internal: Auxiliary function that copies elements from the list returned by * Resources::getResourceStrList() to the list of string pairs ----------------------------------------------------------------------- Summary of changes: VERSION | 2 +- VERSION.h | 2 +- doc/ChangeLog | 12 ++++++++++ packaging/fwbuilder-static-qt.spec | 2 +- packaging/fwbuilder.control | 2 +- packaging/fwbuilder.spec | 2 +- src/libgui/PIXImporter.cpp | 6 ++++- src/libgui/platforms.cpp | 42 ++++++++++++++++++++++------------- src/libgui/platforms.h | 3 ++ 9 files changed, 51 insertions(+), 22 deletions(-) hooks/post-receive -- Firewall Builder GUI and Policy Compilers Open Source Code |