checkpassword.c
上传用户:s81996212
上传日期:2007-01-04
资源大小:722k
文件大小:1k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1. /*
  2. ** Copyright 1998 - 1999 Double Precision, Inc.  See COPYING for
  3. ** distribution information.
  4. */
  5. #if HAVE_CONFIG_H
  6. #include "config.h"
  7. #endif
  8. #include <string.h>
  9. #if HAVE_UNISTD_H
  10. #include <unistd.h>
  11. #endif
  12. #if HAVE_CRYPT_H
  13. #include <crypt.h>
  14. #endif
  15. #include "auth.h"
  16. static const char rcsid[]="$Id: checkpassword.c,v 1.6 2000/06/29 01:46:59 mrsam Exp $";
  17. #if HAVE_CRYPT
  18. #if NEED_CRYPT_PROTOTYPE
  19. extern char *crypt(const char *, const char *);
  20. #endif
  21. #endif
  22. #if HAVE_MD5LIB
  23. extern int authcheckpasswordmd5(const char *, const char *);
  24. #endif
  25. int authcheckpassword(const char *password, const char *encrypted_password)
  26. {
  27. #if HAVE_MD5LIB
  28. if (strncmp(encrypted_password, "$1$", 3) == 0
  29. #if 0
  30. || strncmp(encrypted_password, "{MD5}", 5) == 0
  31. #endif
  32. )
  33. return (authcheckpasswordmd5(password, encrypted_password));
  34. #endif
  35. return (
  36. #if HAVE_CRYPT
  37. strcmp(encrypted_password,
  38. crypt(password, encrypted_password))
  39. #else
  40. strcmp(encrypted_password, password)
  41. #endif
  42. );
  43. }