Mercurial > dropbear
comparison packet.c @ 817:a625f9e135a4
Constant time memcmp for the hmac and password crypt
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 03 Oct 2013 22:25:30 +0800 |
parents | 0bf76f54de6f |
children | c19acba28590 |
comparison
equal
deleted
inserted
replaced
816:84e4259dae3e | 817:a625f9e135a4 |
---|---|
374 buf_setpos(ses.readbuf, 0); | 374 buf_setpos(ses.readbuf, 0); |
375 make_mac(ses.recvseq, &ses.keys->recv, ses.readbuf, contents_len, mac_bytes); | 375 make_mac(ses.recvseq, &ses.keys->recv, ses.readbuf, contents_len, mac_bytes); |
376 | 376 |
377 /* compare the hash */ | 377 /* compare the hash */ |
378 buf_setpos(ses.readbuf, contents_len); | 378 buf_setpos(ses.readbuf, contents_len); |
379 if (memcmp(mac_bytes, buf_getptr(ses.readbuf, mac_size), mac_size) != 0) { | 379 if (constant_time_memcmp(mac_bytes, buf_getptr(ses.readbuf, mac_size), mac_size) != 0) { |
380 return DROPBEAR_FAILURE; | 380 return DROPBEAR_FAILURE; |
381 } else { | 381 } else { |
382 return DROPBEAR_SUCCESS; | 382 return DROPBEAR_SUCCESS; |
383 } | 383 } |
384 } | 384 } |