diff --git a/net/silc-client/Makefile b/net/silc-client/Makefile index 4c43025adaf..edb87ac39c2 100644 --- a/net/silc-client/Makefile +++ b/net/silc-client/Makefile @@ -1,9 +1,9 @@ -# $OpenBSD: Makefile,v 1.56 2010/04/26 20:09:18 steven Exp $ +# $OpenBSD: Makefile,v 1.57 2010/06/02 00:10:18 sthen Exp $ COMMENT= Secure Internet Live Conferencing (SILC) client DISTNAME= silc-client-1.1.8 -PKGNAME= ${DISTNAME}p3 +PKGNAME= ${DISTNAME}p4 CATEGORIES= net HOMEPAGE= http://www.silcnet.org/ diff --git a/net/silc-client/patches/patch-apps_irssi_src_silc_core_client_ops_c b/net/silc-client/patches/patch-apps_irssi_src_silc_core_client_ops_c new file mode 100644 index 00000000000..8b4ae60b71a --- /dev/null +++ b/net/silc-client/patches/patch-apps_irssi_src_silc_core_client_ops_c @@ -0,0 +1,17 @@ +$OpenBSD: patch-apps_irssi_src_silc_core_client_ops_c,v 1.1 2010/06/02 00:10:18 sthen Exp $ +--- apps/irssi/src/silc/core/client_ops.c.orig Sat Dec 13 15:30:25 2008 ++++ apps/irssi/src/silc/core/client_ops.c Sat May 29 18:58:33 2010 +@@ -262,10 +262,11 @@ int verify_message_signature(SilcClientEntry sender, + sizeof(sender->fingerprint)); + if (strcmp(fingerprint, fingerprint2)) { + /* since the public key differs from the senders public key, the +- verification _failed_ */ ++ verification won't be done */ + silc_pkcs_public_key_free(pk); + silc_free(fingerprint); +- ret = SILC_MSG_SIGNED_UNKNOWN; ++ silc_free(fingerprint2); ++ return SILC_MSG_SIGNED_UNKNOWN; + } + silc_free(fingerprint2); + } diff --git a/net/silc-client/patches/patch-lib_silccore_silcpacket_c b/net/silc-client/patches/patch-lib_silccore_silcpacket_c new file mode 100644 index 00000000000..e1de28f42b0 --- /dev/null +++ b/net/silc-client/patches/patch-lib_silccore_silcpacket_c @@ -0,0 +1,15 @@ +$OpenBSD: patch-lib_silccore_silcpacket_c,v 1.1 2010/06/02 00:10:18 sthen Exp $ +--- lib/silccore/silcpacket.c.orig Sat May 29 18:59:19 2010 ++++ lib/silccore/silcpacket.c Sat May 29 19:00:31 2010 +@@ -2231,8 +2231,9 @@ static void silc_packet_read_process(SilcPacketStream + + /* Padding sanity checks */ + if (cipher && silc_cipher_get_mode(cipher) != SILC_CIPHER_MODE_CTR && +- ((normal && paddedlen % block_len != 0) || +- (!normal && silc_packet_special_len(header) % block_len != 0))) { ++ ((normal && block_len && paddedlen % block_len != 0) || ++ (!normal && block_len && ++ silc_packet_special_len(header) % block_len != 0))) { + SILC_LOG_DEBUG(("Packet length %d not multiple by cipher block length", + paddedlen)); + silc_mutex_unlock(stream->lock); diff --git a/net/silc-client/patches/patch-lib_silcske_silcske_c b/net/silc-client/patches/patch-lib_silcske_silcske_c new file mode 100644 index 00000000000..790f0cfb112 --- /dev/null +++ b/net/silc-client/patches/patch-lib_silcske_silcske_c @@ -0,0 +1,12 @@ +$OpenBSD: patch-lib_silcske_silcske_c,v 1.1 2010/06/02 00:10:18 sthen Exp $ +--- lib/silcske/silcske.c.orig Sat May 29 19:00:50 2010 ++++ lib/silcske/silcske.c Sat May 29 19:01:32 2010 +@@ -2387,6 +2387,8 @@ SILC_FSM_STATE(silc_ske_st_responder_failure) + ske->packet = NULL; + } + ske->status = error; ++ if (ske->status == SILC_SKE_STATUS_OK) ++ ske->status = SILC_SKE_STATUS_ERROR; + + silc_packet_stream_unlink(ske->stream, &silc_ske_stream_cbs, ske); + silc_schedule_task_del_by_context(ske->schedule, ske);