d9898ee8 |
1 | /* |
dd184caf |
2 | ** Copyright 1998 - 2007 Double Precision, Inc. See COPYING for |
d9898ee8 |
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 | |
d9898ee8 |
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 | } |
dd184caf |
29 | if (strncasecmp(encrypted_password, "{MD5RAW}", 8) == 0) |
30 | { |
31 | return (strcmp(encrypted_password+8, md5_hash_raw(password))); |
32 | } |
33 | |
d9898ee8 |
34 | return (-1); |
35 | } |