projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SKE: When failure is received mark SKE always failed
[silc.git]
/
lib
/
silcske
/
silcske.c
diff --git
a/lib/silcske/silcske.c
b/lib/silcske/silcske.c
index 5cb7c91d9c7f908aa8313d2cb6e3383165f079cf..df641f61c8feda7d621c1c1b749f2ac18a79712c 100644
(file)
--- a/
lib/silcske/silcske.c
+++ b/
lib/silcske/silcske.c
@@
-1809,10
+1809,10
@@
SILC_FSM_STATE(silc_ske_st_initiator_failure)
if (ske->packet && silc_buffer_len(&ske->packet->buffer) == 4) {
SILC_GET32_MSB(error, ske->packet->buffer.data);
if (ske->packet && silc_buffer_len(&ske->packet->buffer) == 4) {
SILC_GET32_MSB(error, ske->packet->buffer.data);
- ske->status = error;
silc_packet_free(ske->packet);
ske->packet = NULL;
}
silc_packet_free(ske->packet);
ske->packet = NULL;
}
+ ske->status = error;
SILC_LOG_DEBUG(("Error %s (%d) received during key exchange",
silc_ske_map_status(ske->status), ske->status));
SILC_LOG_DEBUG(("Error %s (%d) received during key exchange",
silc_ske_map_status(ske->status), ske->status));
@@
-2383,10
+2383,10
@@
SILC_FSM_STATE(silc_ske_st_responder_failure)
if (ske->packet && silc_buffer_len(&ske->packet->buffer) == 4) {
SILC_GET32_MSB(error, ske->packet->buffer.data);
if (ske->packet && silc_buffer_len(&ske->packet->buffer) == 4) {
SILC_GET32_MSB(error, ske->packet->buffer.data);
- ske->status = error;
silc_packet_free(ske->packet);
ske->packet = NULL;
}
silc_packet_free(ske->packet);
ske->packet = NULL;
}
+ ske->status = error;
silc_packet_stream_unlink(ske->stream, &silc_ske_stream_cbs, ske);
silc_schedule_task_del_by_context(ske->schedule, ske);
silc_packet_stream_unlink(ske->stream, &silc_ske_stream_cbs, ske);
silc_schedule_task_del_by_context(ske->schedule, ske);