Import Upstream version 0.69.0
[hcoop/debian/courier-authlib.git] / checkpasswordmd5.c
CommitLineData
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
17int 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}