From: Panu Matilainen Date: Thu, 29 May 2008 12:48:40 +0000 (+0300) Subject: Make handleOverlappedFiles() honor rpmfi digest algorithm X-Git-Tag: rpm-4.6.0-rc1~434 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ea134adf81d22b26807d2c71895b0c23a7804d33;p=platform%2Fupstream%2Frpm.git Make handleOverlappedFiles() honor rpmfi digest algorithm --- diff --git a/lib/transaction.c b/lib/transaction.c index 1efc871..9ae5b8f 100644 --- a/lib/transaction.c +++ b/lib/transaction.c @@ -566,12 +566,16 @@ assert(otherFi != NULL); } /* Here is a pre-existing modified config file that needs saving. */ - { unsigned char md5sum[50]; - const unsigned char * MD5 = rpmfiMD5(fi); - if (!rpmDoDigest(PGPHASHALGO_MD5, fn, 0, md5sum, NULL) && - memcmp(MD5, md5sum, 16)) { - fi->actions[i] = FA_BACKUP; - break; + { pgpHashAlgo algo = 0; + size_t diglen = 0; + const unsigned char *digest; + if ((digest = rpmfiDigest(fi, &algo, &diglen))) { + unsigned char fdigest[diglen]; + if (!rpmDoDigest(algo, fn, 0, fdigest, NULL) && + memcmp(digest, fdigest, diglen)) { + fi->actions[i] = FA_BACKUP; + break; + } } } fi->actions[i] = FA_ERASE;