From 4b75a016154576e104a710b53c468fbc4279d9e4 Mon Sep 17 00:00:00 2001 From: Vadim Kurland Date: Sun, 18 May 2008 17:19:09 +0000 Subject: [PATCH] checks for ipv6 rules in fwb_ipt --- src/ipt/NATCompiler_ipt.cpp | 2 ++ src/ipt/PolicyCompiler_ipt.cpp | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ipt/NATCompiler_ipt.cpp b/src/ipt/NATCompiler_ipt.cpp index 6c3cc7356..024fd33a2 100644 --- a/src/ipt/NATCompiler_ipt.cpp +++ b/src/ipt/NATCompiler_ipt.cpp @@ -2204,6 +2204,8 @@ void NATCompiler_ipt::compile() add( new dynamicInterfaceInTSrc("set target if dynamic interface in TSrc" ) ); add( new convertInterfaceIdToStr("prepare interface assignments") ); + add( new CheckIfIPv6Rule("find ipv6 rules")); + if (fwopt->getBool("use_iptables_restore")) { // bug #1812295: we should use PrintRuleIptRstEcho not only diff --git a/src/ipt/PolicyCompiler_ipt.cpp b/src/ipt/PolicyCompiler_ipt.cpp index a3ff1559d..21362a160 100644 --- a/src/ipt/PolicyCompiler_ipt.cpp +++ b/src/ipt/PolicyCompiler_ipt.cpp @@ -4101,8 +4101,11 @@ string PolicyCompiler_ipt::flushAndSetDefaultPolicy() res += printRule->_declareTable(); res += printRule->_flushAndSetDefaultPolicy(); res += printRule->_printOptionalGlobalRules(); - // same rules for ipv6 - res += printRule->_printOptionalGlobalRules(true); + if (haveIPv6Rules()) + { + // same rules for ipv6 + res += printRule->_printOptionalGlobalRules(true); + } return res; }