diff options
-rw-r--r-- | src/libcharon/network/sender.c | 11 | ||||
-rw-r--r-- | src/libcharon/sa/ike_sa.c | 2 |
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); |