diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-02-24 13:09:09 +0100 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-08-08 15:12:25 +0200 |
commit | 75f83163323bebbed363fe1ad57f1e6a6318e1d3 (patch) | |
tree | d250a8a00bc6757b2f0354078127d5a5a1d9ae75 /src | |
parent | 30dc7dff4d1c978323807e8e4c4aa478786de4da (diff) | |
download | strongswan-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.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); |