summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2005-07-22 06:39:45 +0000
committerHarald Welte <laforge@gnumonks.org>2005-07-22 06:39:45 +0000
commit36d870c76621b94d51816d09eb8fd05e0fb0a0ab (patch)
tree57f54ce376b9a32403a0d30fb3b1e036167a85a7
parentefa8fc2123a2a9fc229ab471edd2b2688ce1da3a (diff)
Fix NAT of ICMP ID ranges (Patrick McHardy)
-rw-r--r--extensions/libipt_DNAT.c3
-rw-r--r--extensions/libipt_MASQUERADE.c3
-rw-r--r--extensions/libipt_REDIRECT.c3
-rw-r--r--extensions/libipt_SNAT.c3
4 files changed, 8 insertions, 4 deletions
diff --git a/extensions/libipt_DNAT.c b/extensions/libipt_DNAT.c
index 9e4f5253..3b0d146c 100644
--- a/extensions/libipt_DNAT.c
+++ b/extensions/libipt_DNAT.c
@@ -143,7 +143,8 @@ parse(int c, char **argv, int invert, unsigned int *flags,
int portok;
if (entry->ip.proto == IPPROTO_TCP
- || entry->ip.proto == IPPROTO_UDP)
+ || entry->ip.proto == IPPROTO_UDP
+ || entry->ip.proto == IPPROTO_ICMP)
portok = 1;
else
portok = 0;
diff --git a/extensions/libipt_MASQUERADE.c b/extensions/libipt_MASQUERADE.c
index b661012e..7eddcc09 100644
--- a/extensions/libipt_MASQUERADE.c
+++ b/extensions/libipt_MASQUERADE.c
@@ -81,7 +81,8 @@ parse(int c, char **argv, int invert, unsigned int *flags,
= (struct ip_nat_multi_range *)(*target)->data;
if (entry->ip.proto == IPPROTO_TCP
- || entry->ip.proto == IPPROTO_UDP)
+ || entry->ip.proto == IPPROTO_UDP
+ || entry->ip.proto == IPPROTO_ICMP)
portok = 1;
else
portok = 0;
diff --git a/extensions/libipt_REDIRECT.c b/extensions/libipt_REDIRECT.c
index 1395f62e..e29bf2ff 100644
--- a/extensions/libipt_REDIRECT.c
+++ b/extensions/libipt_REDIRECT.c
@@ -81,7 +81,8 @@ parse(int c, char **argv, int invert, unsigned int *flags,
int portok;
if (entry->ip.proto == IPPROTO_TCP
- || entry->ip.proto == IPPROTO_UDP)
+ || entry->ip.proto == IPPROTO_UDP
+ || entry->ip.proto == IPPROTO_ICMP)
portok = 1;
else
portok = 0;
diff --git a/extensions/libipt_SNAT.c b/extensions/libipt_SNAT.c
index a893a47d..74607603 100644
--- a/extensions/libipt_SNAT.c
+++ b/extensions/libipt_SNAT.c
@@ -143,7 +143,8 @@ parse(int c, char **argv, int invert, unsigned int *flags,
int portok;
if (entry->ip.proto == IPPROTO_TCP
- || entry->ip.proto == IPPROTO_UDP)
+ || entry->ip.proto == IPPROTO_UDP
+ || entry->ip.proto == IPPROTO_ICMP)
portok = 1;
else
portok = 0;