e5ba6b2618
The CRC implementation imported from libgcrypt 1.5.3 is arguably non-free, due to being encumbered by the restrictive Internet Society licence on RFCs (see e.g. https://wiki.debian.org/NonFreeIETFDocuments). Fortunately, libgcrypt has since replaced it with a version that is both reportedly better-optimised and doesn't suffer from this encumbrance. The ideal solution would be to update to a new version of libgcrypt, and I spent some time trying to do that. However, util/import_gcry.py requires complex modifications to cope with the new version, and I stalled part-way through; furthermore, GRUB's libgcrypt tree already contains some backports of upstream changes. Rather than allowing the perfect to be the enemy of the good, I think it's best to backport this single change to at least sort out the licensing situation. Doing so won't make things any harder for a future wholesale upgrade. This commit is mostly a straightforward backport of https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=06e122baa3321483a47bbf82fd2a4540becfa0c9, but I also imported bufhelp.h from libgcrypt 1.7.0 (newer versions required further changes elsewhere). I've tested that "hashsum -h crc32" still produces correct output for a variety of files on both i386-pc and x86_64-emu targets. Signed-off-by: Colin Watson <cjwatson@ubuntu.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> |
||
---|---|---|
.. | ||
ac.c | ||
arcfour.c | ||
bithelp.h | ||
blowfish.c | ||
bufhelp.h | ||
camellia-glue.c | ||
camellia.c | ||
camellia.h | ||
cast5.c | ||
ChangeLog | ||
ChangeLog-2011 | ||
cipher.c | ||
crc.c | ||
des.c | ||
dsa.c | ||
ecc.c | ||
elgamal.c | ||
hash-common.c | ||
hash-common.h | ||
hmac-tests.c | ||
idea.c | ||
kdf.c | ||
Makefile.am | ||
Manifest | ||
md.c | ||
md4.c | ||
md5.c | ||
primegen.c | ||
pubkey.c | ||
rfc2268.c | ||
rijndael-tables.h | ||
rijndael.c | ||
rmd.h | ||
rmd160.c | ||
rsa.c | ||
seed.c | ||
serpent.c | ||
sha1.c | ||
sha256.c | ||
sha512.c | ||
test-getrusage.c | ||
tiger.c | ||
twofish.c | ||
whirlpool.c |