aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2008-04-08 13:45:30 +0000
committerTobias Brunner <tobias@strongswan.org>2008-04-08 13:45:30 +0000
commit4a96521965fd1ab21f4e37bb848b6509d912b9a7 (patch)
treebea296ec4003cea8a104fa5236dda71a161d05df
parent5df92bba514e00fe1d614fd06d89b213ebc49121 (diff)
downloadstrongswan-4a96521965fd1ab21f4e37bb848b6509d912b9a7.tar.bz2
strongswan-4a96521965fd1ab21f4e37bb848b6509d912b9a7.tar.xz
signature in connectivity checks is now built with the message id in network byte order
-rw-r--r--src/charon/sa/connect_manager.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/charon/sa/connect_manager.c b/src/charon/sa/connect_manager.c
index b0d6a99c3..a7c070c29 100644
--- a/src/charon/sa/connect_manager.c
+++ b/src/charon/sa/connect_manager.c
@@ -754,6 +754,7 @@ static void prune_pairs(linked_list_t *pairs)
*/
static void build_pairs(check_list_t *checklist)
{
+ /* FIXME: limit endpoints and pairs */
iterator_t *iterator_i, *iterator_r;
endpoint_notify_t *initiator, *responder;
@@ -864,10 +865,12 @@ static status_t process_payloads(message_t *message, check_t *check)
static chunk_t build_signature(private_connect_manager_t *this,
check_list_t *checklist, check_t *check, bool outbound)
{
+ u_int32_t mid;
chunk_t mid_chunk, key_chunk, sig_chunk;
chunk_t sig_hash;
- mid_chunk = chunk_from_thing(check->mid);
+ mid = htonl(check->mid);
+ mid_chunk = chunk_from_thing(mid);
key_chunk = (checklist->is_initiator && outbound) || (!checklist->is_initiator && !outbound)
? checklist->initiator.key : checklist->responder.key;