of a socket connection. The affected file is
lib/silcutil/silcsockconn.h.
+ * Added better error logging in rekey protocol. Affected file
+ silcd/protocol.c.
+
+ * Do not check public key types in SKE during rekey. Affected
+ file lib/silcske/payload.c.
+
Tue Apr 2 14:55:06 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
* Some client implementations quit network by doing first LEAVE
goto err;
}
- if (payload->pk_type == 0) {
+ if (ske->start_payload &&
+ (payload->pk_type < SILC_SKE_PK_TYPE_SILC ||
+ payload->pk_type > SILC_SKE_PK_TYPE_SPKI)) {
status = SILC_SKE_STATUS_BAD_PAYLOAD;
goto err;
}
}
if (tot_len != len2) {
- status = SILC_SKE_STATUS_BAD_PAYLOAD;
+ status = SILC_SKE_STATUS_BAD_PAYLOAD_LENGTH;
goto err;
}
SILC_LOG_DEBUG(("Start"));
+ if (status > SILC_SKE_STATUS_INVALID_COOKIE)
+ status = SILC_SKE_STATUS_BAD_PAYLOAD;
+
packet = silc_buffer_alloc(4);
silc_buffer_pull_tail(packet, SILC_BUFFER_END(packet));
silc_buffer_format(packet,