From: Tobias Brunner Date: Fri, 24 Feb 2012 12:09:09 +0000 (+0100) Subject: Use send_no_marker to send NAT keepalives. X-Git-Tag: 5.0.1~211^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=75f83163323bebbed363fe1ad57f1e6a6318e1d3;p=thirdparty%2Fstrongswan.git Use send_no_marker to send NAT keepalives. --- diff --git a/src/libcharon/network/sender.c b/src/libcharon/network/sender.c index b3e8d29f58..a919a02635 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 5182da5aa6..755e5d74df 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);