e9d64c75f7769ab7f411213c3689566b6fe74498 galt Fri Nov 29 00:33:03 2024 -0800 fixes for MD5, evp functions mostly for OpenSSL3, not 1.1 diff --git src/utils/twoBitDup/twoBitDup.c src/utils/twoBitDup/twoBitDup.c index fa80e63..7e22282 100644 --- src/utils/twoBitDup/twoBitDup.c +++ src/utils/twoBitDup/twoBitDup.c @@ -69,34 +69,34 @@ if ((hel = hashLookup(seqHash, seq->dna)) != NULL) printf("%s and %s are identical\n", index->name, (char *)hel->val); else hel = hashAdd(seqHash, seq->dna, index->name); if (keyListFile) { /* This used to be extremely slow: #include "md5.h" char *md5Sum = md5HexForString(seq->dna); fprintf(keyListFile, "%s\t%s\n", md5Sum, index->name); freeMem(md5Sum); * changed to use MD5() in openssl 2020-12-04: */ unsigned char md5Result[MD5_DIGEST_LENGTH]; -#if OPENSSL_VERSION_NUMBER < 0x10100000L // # 1.1 - MD5((unsigned char *)seq->dna, strlen(seq->dna), md5Result); -#else +#if OPENSSL_VERSION_NUMBER >= 0x30000000L // > #3.0 EVP_Q_digest(NULL, "MD5", NULL, seq->dna, strlen(seq->dna), md5Result, NULL); +#else + MD5((unsigned char *)seq->dna, strlen(seq->dna), md5Result); #endif int i; struct dyString *ds = dyStringNew(MD5_DIGEST_LENGTH); for(i = 0; i < MD5_DIGEST_LENGTH; i++) { dyStringPrintf(ds, "%02x", md5Result[i]); } fprintf(keyListFile, "%s\t%s\n", ds->string, index->name); dyStringFree(&ds); } freeDnaSeq(&seq); } }