Merge branch 'debian'
[hcoop/debian/courier-authlib.git] / checkpasswordmd5.c
1 /*
2 ** Copyright 1998 - 2007 Double Precision, Inc. See COPYING for
3 ** distribution information.
4 */
5
6 #if HAVE_CONFIG_H
7 #include "courier_auth_config.h"
8 #endif
9 #include <string.h>
10 #if HAVE_UNISTD_H
11 #include <unistd.h>
12 #endif
13 #include "md5/md5.h"
14 #include "auth.h"
15
16
17 int authcheckpasswordmd5(const char *password, const char *encrypted_password)
18 {
19 if (strncmp(encrypted_password, "$1$", 3) == 0)
20 {
21 return (strcmp(encrypted_password,
22 md5_crypt(password, encrypted_password)));
23 }
24
25 if (strncasecmp(encrypted_password, "{MD5}", 5) == 0)
26 {
27 return (strcmp(encrypted_password+5, md5_hash_courier(password)));
28 }
29 if (strncasecmp(encrypted_password, "{MD5RAW}", 8) == 0)
30 {
31 return (strcmp(encrypted_password+8, md5_hash_raw(password)));
32 }
33
34 return (-1);
35 }