PERFORCE change 1199447 for review
John-Mark Gurney
jmg at FreeBSD.org
Mon Sep 8 04:52:30 UTC 2014
http://p4web.freebsd.org/@@1199447?ac=10
Change 1199447 by jmg at jmg_carbon2 on 2014/08/27 22:48:16
import OpenBSD's timingsafe_bcmp and use that for tag
comparision...
Affected files ...
.. //depot/projects/opencrypto/sys/conf/files#6 edit
.. //depot/projects/opencrypto/sys/libkern/timingsafe_bcmp.c#1 add
.. //depot/projects/opencrypto/sys/opencrypto/cryptosoft.c#8 edit
.. //depot/projects/opencrypto/sys/sys/libkern.h#2 edit
Differences ...
==== //depot/projects/opencrypto/sys/conf/files#6 (text+ko) ====
@@ -3177,6 +3177,7 @@
libkern/strtoul.c standard
libkern/strtouq.c standard
libkern/strvalid.c standard
+libkern/timingsafe_bcmp.c standard
net/bpf.c standard
net/bpf_buffer.c optional bpf
net/bpf_jitter.c optional bpf_jitter
==== //depot/projects/opencrypto/sys/opencrypto/cryptosoft.c#8 (text+ko) ====
@@ -481,10 +481,7 @@
crypto_copydata(crp->crp_flags, buf, crda->crd_inject,
axf->hashsize, uaalg);
- r = 0;
- for (i = 0; i < axf->hashsize; i++)
- r |= aalg[i] ^ uaalg[i];
-
+ r = timingsafe_bcmp(aalg, uaalg, axf->hashsize);
if (r == 0) {
/* tag matches, decrypt data */
for (i = 0; i < crde->crd_len; i += blksz) {
==== //depot/projects/opencrypto/sys/sys/libkern.h#2 (text+ko) ====
@@ -80,6 +80,8 @@
uint32_t arc4random(void);
void arc4rand(void *ptr, u_int len, int reseed);
int bcmp(const void *, const void *, size_t);
+int timingsafe_bcmp(const void *, const void *, size_t);
+
void *bsearch(const void *, const void *, size_t,
size_t, int (*)(const void *, const void *));
#ifndef HAVE_INLINE_FFS
More information about the p4-projects
mailing list