summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJP Abgrall <jpa@google.com>2012-04-24 21:30:43 -0700
committerJP Abgrall <jpa@google.com>2012-04-26 16:30:46 -0700
commite4c501c3a78f21d6d6e4ff0ba9090185cff1be8c (patch)
treee233b9437cb2fb2ac80a9d11f28641e603905f02
parent73be1adb3b1a63185b97ecc9c61ae75a7994ee86 (diff)
downloadnetd-e4c501c3a78f21d6d6e4ff0ba9090185cff1be8c.tar.gz
netd: NatController: don't setup iptables hooks in constructor.
iptables top-level chain updates should happen within CommandListener() when it invokes the various modules' setupIptablesHooks(). And remove the extra DROP rule. Change-Id: I33d2cfbd5444516f855ff85152c472352944cc77
-rw-r--r--NatController.cpp8
1 files changed, 1 insertions, 7 deletions
diff --git a/NatController.cpp b/NatController.cpp
index db96ed38..77c4874d 100644
--- a/NatController.cpp
+++ b/NatController.cpp
@@ -37,9 +37,6 @@ extern "C" int system_nosh(const char *command);
NatController::NatController(SecondaryTableController *ctrl) {
secondaryTableCtrl = ctrl;
-
- setupIptablesHooks();
- setDefaults();
}
NatController::~NatController() {
@@ -88,6 +85,7 @@ int NatController::setupIptablesHooks() {
if (runCmd(IPTABLES_PATH, "-t nat -A POSTROUTING -j natctrl_nat_POSTROUTING"))
return -1;
+ setDefaults();
return 0;
}
@@ -232,10 +230,6 @@ int NatController::setForwardRules(bool add, const char *intIface, const char *
return -1;
}
- snprintf(cmd, sizeof(cmd), "-%s natctrl_FORWARD -j DROP", (add ? "A" : "D"),
- intIface, extIface);
- runCmd(IPTABLES_PATH, cmd);
-
return 0;
}