aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/charon/sa/tasks/ike_natd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/charon/sa/tasks/ike_natd.c b/src/charon/sa/tasks/ike_natd.c
index b35ddf47f..a20af7ce7 100644
--- a/src/charon/sa/tasks/ike_natd.c
+++ b/src/charon/sa/tasks/ike_natd.c
@@ -356,7 +356,11 @@ static status_t build_i(private_ike_natd_t *this, message_t *message)
charon->kernel_interface, FALSE, FALSE);
while (enumerator->enumerate(enumerator, (void**)&host))
{
+ /* apply port 500 to host, but work on a copy */
+ host = host->clone(host);
+ host->set_port(host, IKEV2_UDP_PORT);
notify = build_natd_payload(this, NAT_DETECTION_SOURCE_IP, host);
+ host->destroy(host);
message->add_payload(message, (payload_t*)notify);
}
enumerator->destroy(enumerator);