Check checksum of downloaded file if checksum is available
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Mon, 21 May 2012 16:40:11 +0000 (01:40 +0900)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 26 May 2012 21:11:46 +0000 (23:11 +0200)
commit9f7f7925da648b3b39714e6c9fd65500a869bdfe
tree5dcc6fd6301c14d33589c86728cd798461351549
parentc3ef63f16743202eae8b0a1207130a5ba65b8ec2
Check checksum of downloaded file if checksum is available

Metalink file contains several hash types of checksums, such as
md5, sha-1, sha-256, etc. To deal with these checksums, I created
abstraction layer based on lib/curl_md5.h and
lib/md5.c. Basically, they are almost the same but I changed the
code so that it is not hash type dependent. Currently,
GNUTLS(nettle or gcrypt) and OpenSSL functions are supported.

Checksum checking is done by reopening download file.  If there
is an I/O error, the current implementation just prints error
message and does not try next resource.

In this patch, the supported hash types are: md5, sha-1 and sha-256.
src/tool_metalink.c
src/tool_metalink.h
src/tool_operate.c