Make rpmfiConfigConflict() honor fi digest algorithm
authorPanu Matilainen <pmatilai@redhat.com>
Thu, 29 May 2008 12:20:05 +0000 (15:20 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Mon, 2 Jun 2008 06:50:48 +0000 (09:50 +0300)
lib/rpmfi.c

index f71391f..4e7a03a 100644 (file)
@@ -593,11 +593,12 @@ int rpmfiConfigConflict(const rpmfi fi)
     
     memset(buffer, 0, sizeof(buffer));
     if (newWhat == REG) {
-       const unsigned char * ndigest;
-       if (rpmDoDigest(PGPHASHALGO_MD5, fn, 0, (unsigned char *)buffer, NULL))
+       pgpHashAlgo algo;
+       size_t diglen;
+       const unsigned char *ndigest = rpmfiDigest(fi, &algo, &diglen);
+       if (rpmDoDigest(algo, fn, 0, (unsigned char *)buffer, NULL))
            return 0;   /* assume file has been removed */
-       ndigest = rpmfiMD5(fi);
-       if (ndigest && !memcmp(ndigest, buffer, 16))
+       if (ndigest && !memcmp(ndigest, buffer, diglen))
            return 0;   /* unmodified config file */
     } else /* newWhat == LINK */ {
        const char * nFLink;