summaryrefslogtreecommitdiffstats
path: root/main/ipsec-tools/20-natoa-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/ipsec-tools/20-natoa-fix.patch')
-rw-r--r--main/ipsec-tools/20-natoa-fix.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/main/ipsec-tools/20-natoa-fix.patch b/main/ipsec-tools/20-natoa-fix.patch
new file mode 100644
index 000000000..91d7224e2
--- /dev/null
+++ b/main/ipsec-tools/20-natoa-fix.patch
@@ -0,0 +1,33 @@
+Fix nat-oa parsing when rekeying.
+
+From: Timo Teras <timo.teras@iki.fi>
+
+
+---
+
+ src/racoon/handler.c | 11 +++++++++++
+ 1 files changed, 11 insertions(+), 0 deletions(-)
+
+
+diff --git a/src/racoon/handler.c b/src/racoon/handler.c
+index 6f91beb..960b5b3 100644
+--- a/src/racoon/handler.c
++++ b/src/racoon/handler.c
+@@ -736,6 +736,17 @@ initph2(iph2)
+ oakley_delivm(iph2->ivm);
+ iph2->ivm = NULL;
+ }
++
++#ifdef ENABLE_NATT
++ if (iph2->natoa_src) {
++ racoon_free(iph2->natoa_src);
++ iph2->natoa_src = NULL;
++ }
++ if (iph2->natoa_dst) {
++ racoon_free(iph2->natoa_dst);
++ iph2->natoa_dst = NULL;
++ }
++#endif
+ }
+
+ /*