X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/5b80d07f712ff90cfae4c89084e25eb90dd2e510..0d694692c59504838ec2043ddfe670b3a9247faf:/sshsha.c diff --git a/sshsha.c b/sshsha.c index 95d5259e..48cabb5c 100644 --- a/sshsha.c +++ b/sshsha.c @@ -199,6 +199,14 @@ static void sha1_sckey(unsigned char *key) { sha1_key(&sha1_sc_mac_s1, &sha1_sc_mac_s2, key, 20); } +static void sha1_cskey_buggy(unsigned char *key) { + sha1_key(&sha1_cs_mac_s1, &sha1_cs_mac_s2, key, 16); +} + +static void sha1_sckey_buggy(unsigned char *key) { + sha1_key(&sha1_sc_mac_s1, &sha1_sc_mac_s2, key, 16); +} + static void sha1_do_hmac(SHA_State *s1, SHA_State *s2, unsigned char *blk, int len, unsigned long seq, unsigned char *hmac) { @@ -236,3 +244,11 @@ struct ssh_mac ssh_sha1 = { "hmac-sha1", 20 }; + +struct ssh_mac ssh_sha1_buggy = { + sha1_cskey_buggy, sha1_sckey_buggy, + sha1_generate, + sha1_verify, + "hmac-sha1", + 20 +};