From bf361ab0b9a4c6c1f77303065d87745f739271a3 Mon Sep 17 00:00:00 2001 From: Vadim Kurland Date: Mon, 29 Mar 2010 18:07:03 +0000 Subject: [PATCH] cloned CompilerDriver objects should inherit setting of the "embedded" flag --- src/cisco_lib/CompilerDriver_iosacl.cpp | 4 +++- src/cisco_lib/CompilerDriver_pix.cpp | 4 +++- src/compiler_lib/CompilerDriver.cpp | 4 +++- src/iptlib/CompilerDriver_ipt.cpp | 4 +++- src/pflib/CompilerDriver_ipf.cpp | 4 +++- src/pflib/CompilerDriver_ipfw.cpp | 4 +++- src/pflib/CompilerDriver_pf.cpp | 4 +++- 7 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/cisco_lib/CompilerDriver_iosacl.cpp b/src/cisco_lib/CompilerDriver_iosacl.cpp index 624a3125c..eaf79d9c3 100644 --- a/src/cisco_lib/CompilerDriver_iosacl.cpp +++ b/src/cisco_lib/CompilerDriver_iosacl.cpp @@ -67,7 +67,9 @@ CompilerDriver_iosacl::CompilerDriver_iosacl(FWObjectDatabase *db) : // create a copy of itself, including objdb CompilerDriver* CompilerDriver_iosacl::clone() { - return new CompilerDriver_iosacl(objdb); + CompilerDriver_iosacl* new_cd = new CompilerDriver_iosacl(objdb); + if (inEmbeddedMode()) new_cd->setEmbeddedMode(); + return new_cd; } void CompilerDriver_iosacl::printProlog(QTextStream &file, const string &prolog_code) diff --git a/src/cisco_lib/CompilerDriver_pix.cpp b/src/cisco_lib/CompilerDriver_pix.cpp index e986bf433..d6421cd5c 100644 --- a/src/cisco_lib/CompilerDriver_pix.cpp +++ b/src/cisco_lib/CompilerDriver_pix.cpp @@ -62,7 +62,9 @@ CompilerDriver_pix::CompilerDriver_pix(FWObjectDatabase *db) : // create a copy of itself, including objdb CompilerDriver* CompilerDriver_pix::clone() { - return new CompilerDriver_pix(objdb); + CompilerDriver_pix* new_cd = new CompilerDriver_pix(objdb); + if (inEmbeddedMode()) new_cd->setEmbeddedMode(); + return new_cd; } string CompilerDriver_pix::protocolInspectorCommands() diff --git a/src/compiler_lib/CompilerDriver.cpp b/src/compiler_lib/CompilerDriver.cpp index 095a2757f..9223eb722 100644 --- a/src/compiler_lib/CompilerDriver.cpp +++ b/src/compiler_lib/CompilerDriver.cpp @@ -108,7 +108,9 @@ CompilerDriver::~CompilerDriver() // create a copy of itself, including objdb CompilerDriver* CompilerDriver::clone() { - return new CompilerDriver(objdb); + CompilerDriver* new_cd = new CompilerDriver(objdb); + if (inEmbeddedMode()) new_cd->setEmbeddedMode(); + return new_cd; } bool CompilerDriver::configure(const QStringList &args) diff --git a/src/iptlib/CompilerDriver_ipt.cpp b/src/iptlib/CompilerDriver_ipt.cpp index fca4f9855..3a450776e 100644 --- a/src/iptlib/CompilerDriver_ipt.cpp +++ b/src/iptlib/CompilerDriver_ipt.cpp @@ -57,7 +57,9 @@ CompilerDriver_ipt::CompilerDriver_ipt(FWObjectDatabase *db) : // create a copy of itself, including objdb CompilerDriver* CompilerDriver_ipt::clone() { - return new CompilerDriver_ipt(objdb); + CompilerDriver_ipt* new_cd = new CompilerDriver_ipt(objdb); + if (inEmbeddedMode()) new_cd->setEmbeddedMode(); + return new_cd; } void CompilerDriver_ipt::assignRuleSetChain(RuleSet *ruleset) diff --git a/src/pflib/CompilerDriver_ipf.cpp b/src/pflib/CompilerDriver_ipf.cpp index edcec42ab..672e00a9c 100644 --- a/src/pflib/CompilerDriver_ipf.cpp +++ b/src/pflib/CompilerDriver_ipf.cpp @@ -61,7 +61,9 @@ CompilerDriver_ipf::CompilerDriver_ipf(FWObjectDatabase *db) : // create a copy of itself, including objdb CompilerDriver* CompilerDriver_ipf::clone() { - return new CompilerDriver_ipf(objdb); + CompilerDriver_ipf* new_cd = new CompilerDriver_ipf(objdb); + if (inEmbeddedMode()) new_cd->setEmbeddedMode(); + return new_cd; } QString CompilerDriver_ipf::printActivationCommandWithSubstitution(Firewall *fw) diff --git a/src/pflib/CompilerDriver_ipfw.cpp b/src/pflib/CompilerDriver_ipfw.cpp index ffa10134d..657640070 100644 --- a/src/pflib/CompilerDriver_ipfw.cpp +++ b/src/pflib/CompilerDriver_ipfw.cpp @@ -43,6 +43,8 @@ CompilerDriver_ipfw::CompilerDriver_ipfw(FWObjectDatabase *db) : // create a copy of itself, including objdb CompilerDriver* CompilerDriver_ipfw::clone() { - return new CompilerDriver_ipfw(objdb); + CompilerDriver_ipfw* new_cd = new CompilerDriver_ipfw(objdb); + if (inEmbeddedMode()) new_cd->setEmbeddedMode(); + return new_cd; } diff --git a/src/pflib/CompilerDriver_pf.cpp b/src/pflib/CompilerDriver_pf.cpp index e785412cf..e6073c113 100644 --- a/src/pflib/CompilerDriver_pf.cpp +++ b/src/pflib/CompilerDriver_pf.cpp @@ -63,7 +63,9 @@ CompilerDriver_pf::CompilerDriver_pf(FWObjectDatabase *db) : // create a copy of itself, including objdb CompilerDriver* CompilerDriver_pf::clone() { - return new CompilerDriver_pf(objdb); + CompilerDriver_pf* new_cd = new CompilerDriver_pf(objdb); + if (inEmbeddedMode()) new_cd->setEmbeddedMode(); + return new_cd; } string CompilerDriver_pf::getConfFileName(const string &ruleset_name,