summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2010-07-01 17:38:07 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2010-07-01 17:38:07 +0200
commitc93ff79c70e1595af94abbadce685087f702c39b (patch)
tree12c1aaa5bf41e62803abaae2be0fa5fce85657aa
parent70018069df0397a738498dfacf3a6130f732f0bc (diff)
conntrackd: fix ICMPv6 support
This patch fixes several minor nitpicks to support IPv6 failover: * ICMPv6 type/code/id were missing in synchronization messages. * The use of '-' as string in the configuration file was not allowed. * Include example in configuration file under doc/. Reported-by: Mohit Mehta <mohit.mehta@vyatta.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--doc/sync/alarm/conntrackd.conf1
-rw-r--r--doc/sync/ftfw/conntrackd.conf1
-rw-r--r--doc/sync/notrack/conntrackd.conf1
-rw-r--r--src/build.c1
-rw-r--r--src/read_config_lex.l2
5 files changed, 5 insertions, 1 deletions
diff --git a/doc/sync/alarm/conntrackd.conf b/doc/sync/alarm/conntrackd.conf
index 65c8715..ed36c32 100644
--- a/doc/sync/alarm/conntrackd.conf
+++ b/doc/sync/alarm/conntrackd.conf
@@ -345,6 +345,7 @@ General {
DCCP
# UDP
# ICMP # This requires a Linux kernel >= 2.6.31
+ # IPv6-ICMP # This requires a Linux kernel >= 2.6.31
}
#
diff --git a/doc/sync/ftfw/conntrackd.conf b/doc/sync/ftfw/conntrackd.conf
index 481fe8b..103f9eb 100644
--- a/doc/sync/ftfw/conntrackd.conf
+++ b/doc/sync/ftfw/conntrackd.conf
@@ -369,6 +369,7 @@ General {
DCCP
# UDP
# ICMP # This requires a Linux kernel >= 2.6.31
+ # IPv6-ICMP # This requires a Linux kernel >= 2.6.31
}
#
diff --git a/doc/sync/notrack/conntrackd.conf b/doc/sync/notrack/conntrackd.conf
index 430ca25..cc17fe5 100644
--- a/doc/sync/notrack/conntrackd.conf
+++ b/doc/sync/notrack/conntrackd.conf
@@ -407,6 +407,7 @@ General {
DCCP
# UDP
# ICMP # This requires a Linux kernel >= 2.6.31
+ # IPv6-ICMP # This requires a Linux kernel >= 2.6.31
}
#
diff --git a/src/build.c b/src/build.c
index a73476a..a495872 100644
--- a/src/build.c
+++ b/src/build.c
@@ -161,6 +161,7 @@ static struct build_l4proto {
[IPPROTO_SCTP] = { .build = build_l4proto_sctp },
[IPPROTO_DCCP] = { .build = build_l4proto_dccp },
[IPPROTO_ICMP] = { .build = build_l4proto_icmp },
+ [IPPROTO_ICMPV6] = { .build = build_l4proto_icmp },
[IPPROTO_UDP] = { .build = build_l4proto_udp },
};
diff --git a/src/read_config_lex.l b/src/read_config_lex.l
index f005099..be6bf8b 100644
--- a/src/read_config_lex.l
+++ b/src/read_config_lex.l
@@ -47,7 +47,7 @@ ip6_part {hex_255}":"?
ip6_form1 {ip6_part}{0,16}"::"{ip6_part}{0,16}
ip6_form2 ({hex_255}":"){16}{hex_255}
ip6 {ip6_form1}{ip6_cidr}?|{ip6_form2}{ip6_cidr}?
-string [a-zA-Z][a-zA-Z0-9\.]*
+string [a-zA-Z][a-zA-Z0-9\.\-]*
persistent [P|p][E|e][R|r][S|s][I|i][S|s][T|t][E|e][N|n][T|T]
nack [N|n][A|a][C|c][K|k]
alarm [A|a][L|l][A|a][R|r][M|m]