summaryrefslogtreecommitdiff
path: root/sbin/isakmpd
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1999-05-14 20:10:12 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1999-05-14 20:10:12 +0000
commit780242616fa9db7a3f5f911f9c100d0cd9148afb (patch)
tree50c8828806254f683e665d0e1c8bb37d7d9c57f7 /sbin/isakmpd
parent125cf88b3813490d3a44f733f751dc71a2ce4f19 (diff)
Merge with EOM 1.134
author: niklas We forgot to remove messages in-transit from the send queue when freeing it due to the other side acknowledging it.
Diffstat (limited to 'sbin/isakmpd')
-rw-r--r--sbin/isakmpd/message.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sbin/isakmpd/message.c b/sbin/isakmpd/message.c
index 528bcf577ea..13932571e69 100644
--- a/sbin/isakmpd/message.c
+++ b/sbin/isakmpd/message.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: message.c,v 1.20 1999/05/03 22:45:04 niklas Exp $ */
-/* $EOM: message.c,v 1.133 1999/05/03 07:58:37 niklas Exp $ */
+/* $OpenBSD: message.c,v 1.21 1999/05/14 20:10:11 niklas Exp $ */
+/* $EOM: message.c,v 1.134 1999/05/14 20:09:49 niklas Exp $ */
/*
* Copyright (c) 1998, 1999 Niklas Hallqvist. All rights reserved.
@@ -1519,6 +1519,12 @@ message_check_duplicate (struct message *msg)
if (exchange->last_sent)
{
message_free (exchange->last_sent);
+ if (exchange->last_sent == exchange->in_transit)
+ {
+ TAILQ_REMOVE (&exchange->in_transit->transport->sendq,
+ exchange->in_transit, link);
+ exchange->in_transit = 0;
+ }
exchange->last_sent = 0;
}