X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccore%2Fsilcchannel.c;h=5254c9ed59eb23d9b51b94623a058ba5d271c749;hb=025071b92db9e9933a00aafef1e60baef53fec08;hp=2bd7eb6fce3351cb8fbee08cc26a0856ba4d7619;hpb=486df9cbf554ad550bdaeb0429fbad278604aa0e;p=silc.git diff --git a/lib/silccore/silcchannel.c b/lib/silccore/silcchannel.c index 2bd7eb6f..5254c9ed 100644 --- a/lib/silccore/silcchannel.c +++ b/lib/silccore/silcchannel.c @@ -304,9 +304,18 @@ bool silc_channel_message_payload_decrypt(unsigned char *data, silc_hmac_update(hmac, data + (data_len - iv_len), iv_len); silc_hmac_final(hmac, mac2, &mac_len); if (memcmp(mac, mac2, mac_len)) { +#if 1 + /* Backwards support for old mac checking, remove in 1.0 */ + silc_hmac_make(hmac, dst, (data_len - iv_len - mac_len), mac2, &mac_len); + if (memcmp(mac, mac2, mac_len)) { +#endif + SILC_LOG_DEBUG(("Channel message MACs does not match")); silc_free(dst); return FALSE; +#if 1 + } +#endif } SILC_LOG_DEBUG(("MAC is Ok"));