1 diff -ur courier-authlib-0.56.orig/checkpasswordmd5.c courier-authlib-0.56/checkpasswordmd5.c
2 --- courier-authlib-0.56.orig/checkpasswordmd5.c 2004-10-21 02:10:49.000000000 +0200
3 +++ courier-authlib-0.56/checkpasswordmd5.c 2005-08-09 12:27:03.000000000 +0200
6 if (strncasecmp(encrypted_password, "{MD5}", 5) == 0)
8 - return (strcmp(encrypted_password+5, md5_hash_courier(password)));
9 + int a = strcmp(encrypted_password+5, md5_hash_courier(password));
11 + return (strcasecmp(encrypted_password+5, md5_hash_hex(password)));
17 diff -ur courier-authlib-0.56.orig/md5/md5.h courier-authlib-0.56/md5/md5.h
18 --- courier-authlib-0.56.orig/md5/md5.h 2002-12-12 05:23:58.000000000 +0100
19 +++ courier-authlib-0.56/md5/md5.h 2005-08-09 12:26:27.000000000 +0200
21 #define md5_crypt md5_crypt_redhat
23 const char *md5_hash_courier(const char *);
24 +const char *md5_hash_hex(const char *);
28 diff -ur courier-authlib-0.56.orig/md5/md5_hash.c courier-authlib-0.56/md5/md5_hash.c
29 --- courier-authlib-0.56.orig/md5/md5_hash.c 2002-12-12 05:23:58.000000000 +0100
30 +++ courier-authlib-0.56/md5/md5_hash.c 2005-08-09 12:24:05.000000000 +0200
32 static const char base64tab[]=
33 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
35 +static const char hextab[] = "0123456789abcdef";
37 const char *md5_hash_courier(const char *passw)
45 +const char *md5_hash_hex(const char *passw) {
47 + static char hash_buffer[2*sizeof(md5buf)+1];
50 + md5_digest(passw, strlen(passw), md5buf);
52 + for (i=0; i<sizeof(md5buf); i++) {
53 + hash_buffer[j++] = hextab[(md5buf[i] & 0xF0) >> 4];
54 + hash_buffer[j++] = hextab[md5buf[i] & 0x0F];
58 + return (hash_buffer);