aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-02-24 13:09:09 +0100
committerTobias Brunner <tobias@strongswan.org>2012-08-08 15:12:25 +0200
commit75f83163323bebbed363fe1ad57f1e6a6318e1d3 (patch)
treed250a8a00bc6757b2f0354078127d5a5a1d9ae75 /src
parent30dc7dff4d1c978323807e8e4c4aa478786de4da (diff)
downloadstrongswan-75f83163323bebbed363fe1ad57f1e6a6318e1d3.tar.bz2
strongswan-75f83163323bebbed363fe1ad57f1e6a6318e1d3.tar.xz
Use send_no_marker to send NAT keepalives.
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/network/sender.c11
-rw-r--r--src/libcharon/sa/ike_sa.c2
2 files changed, 4 insertions, 9 deletions
diff --git a/src/libcharon/network/sender.c b/src/libcharon/network/sender.c
index b3e8d29f5..a919a0263 100644
--- a/src/libcharon/network/sender.c
+++ b/src/libcharon/network/sender.c
@@ -127,15 +127,10 @@ METHOD(sender_t, send_, void,
if (dst->get_port(dst) != IKEV2_UDP_PORT &&
src->get_port(src) != IKEV2_UDP_PORT)
{
- chunk_t marker = chunk_from_chars(0x00, 0x00, 0x00, 0x00), data;
+ chunk_t data, marker = chunk_from_chars(0x00, 0x00, 0x00, 0x00);
- data = packet->get_data(packet);
- /* NAT keepalives have no marker prepended */
- if (data.len != 1 || data.ptr[0] != 0xFF)
- {
- data = chunk_cat("cc", marker, data);
- packet->set_data(packet, data);
- }
+ data = chunk_cat("cc", marker, packet->get_data(packet));
+ packet->set_data(packet, data);
}
send_no_marker(this, packet);
diff --git a/src/libcharon/sa/ike_sa.c b/src/libcharon/sa/ike_sa.c
index 5182da5aa..755e5d74d 100644
--- a/src/libcharon/sa/ike_sa.c
+++ b/src/libcharon/sa/ike_sa.c
@@ -489,7 +489,7 @@ METHOD(ike_sa_t, send_keepalive, void,
data.len = 1;
packet->set_data(packet, data);
DBG1(DBG_IKE, "sending keep alive");
- charon->sender->send(charon->sender, packet);
+ charon->sender->send_no_marker(charon->sender, packet);
diff = 0;
}
job = send_keepalive_job_create(this->ike_sa_id);