diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2013-02-12 10:19:49 +0100 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2013-02-12 12:34:41 +0200 |
commit | 4ef79dcb96b08830b03ffcc52120ea843a9f3685 (patch) | |
tree | 4a0828b5eca1487d41275f59e612f56349d65852 /src | |
parent | af9be951d5da9ff42b5b5af9251eede003614678 (diff) | |
download | connman-4ef79dcb96b08830b03ffcc52120ea843a9f3685.tar.gz connman-4ef79dcb96b08830b03ffcc52120ea843a9f3685.tar.bz2 connman-4ef79dcb96b08830b03ffcc52120ea843a9f3685.zip |
nat: Use new iptables API
Diffstat (limited to 'src')
-rw-r--r-- | src/nat.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -59,6 +59,7 @@ static int enable_ip_forward(connman_bool_t enable) static int enable_nat(struct connman_nat *nat) { + char *cmd; int err; g_free(nat->interface); @@ -68,11 +69,12 @@ static int enable_nat(struct connman_nat *nat) return 0; /* Enable masquerading */ - err = __connman_iptables_command("-t nat -A POSTROUTING " - "-s %s/%d -o %s -j MASQUERADE", + cmd = g_strdup_printf("-s %s/%d -o %s -j MASQUERADE", nat->address, nat->prefixlen, nat->interface); + err = __connman_iptables_append("nat", "POSTROUTING", cmd); + g_free(cmd); if (err < 0) return err; @@ -81,17 +83,19 @@ static int enable_nat(struct connman_nat *nat) static void disable_nat(struct connman_nat *nat) { + char *cmd; int err; if (nat->interface == NULL) return; /* Disable masquerading */ - err = __connman_iptables_command("-t nat -D POSTROUTING " - "-s %s/%d -o %s -j MASQUERADE", + cmd = g_strdup_printf("-s %s/%d -o %s -j MASQUERADE", nat->address, nat->prefixlen, nat->interface); + err = __connman_iptables_delete("nat", "POSTROUTING", cmd); + g_free(cmd); if (err < 0) return; |