Hi. [ OpenBSD/i386-current as of a couple of days ago ]
Is there a good reason why "md5 -c" should say "FAILED" when the digest in the checklist file and the digest calculated by md5 differ only in letter case? I can't think of any. e.g.: ------------------------------------------------------------------------------ % ls -l Tortoise* -rw-r--r-- 1 clamat clamat 78 Nov 9 16:43 TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.md5 -rw-r--r-- 1 clamat clamat 9134080 Nov 9 16:26 TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi % cat TortoiseSVN*.md5 916C103C14664B784A54692CF5E00CA2 TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi % md5 -c TortoiseSVN*.msi MD5 (TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi) = 916c103c14664b784a54692cf5e00ca2 % md5 -c TortoiseSVN*.md5 (MD5) TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi: FAILED ------------------------------------------------------------------------------ If not, here's a trivial patch: Index: bin/md5/md5.c =================================================================== RCS file: /cvs/src/bin/md5/md5.c,v retrieving revision 1.35 diff -u -r1.35 md5.c --- bin/md5/md5.c 15 Mar 2006 03:15:07 -0000 1.35 +++ bin/md5/md5.c 10 Nov 2006 00:42:43 -0000 @@ -486,7 +486,7 @@ close(fd); (void)hf->end(&context, digest); - if (strcmp(checksum, digest) == 0) + if (strcasecmp(checksum, digest) == 0) (void)printf("(%s) %s: OK\n", algorithm, filename); else { (void)printf("(%s) %s: FAILED\n", algorithm, filename); Matt. -- "With your own code to haunt you, who needs users?" -- Maarten Wiltink