static int do_authcheckpassword(const char *password, const char *encrypted_password) { if (strncmp(encrypted_password, "$1$", 3) == 0 || strncasecmp(encrypted_password, "{MD5}", 5) == 0 || strncasecmp(encrypted_password, "{MD5RAW}", 8) == 0 ) return (authcheckpasswordmd5(password, encrypted_password)); if (strncasecmp(encrypted_password, "{SHA}", 5) == 0 || strncasecmp(encrypted_password, "{SHA256}", 8) == 0 || strncasecmp(encrypted_password, "{SHA512}", 8) == 0 || strncasecmp(encrypted_password, "{SSHA}", 6) == 0) return (authcheckpasswordsha1(password, encrypted_password)); #if HAVE_CRYPT if (strncasecmp(encrypted_password, "{CRYPT}", 7) == 0) encrypted_password += 7; #endif return ( #if HAVE_CRYPT strcmp(encrypted_password, crypt(password, encrypted_password)) #else strcmp(encrypted_password, password) #endif ); }
int authcheckpassword(const char *password, const char *encrypted_password) { #if HAVE_MD5LIB if (strncmp(encrypted_password, "$1$", 3) == 0 || strncasecmp(encrypted_password, "{MD5}", 5) == 0 ) return (authcheckpasswordmd5(password, encrypted_password)); #endif #if HAVE_SHA1LIB if (strncasecmp(encrypted_password, "{SHA}", 5) == 0 ) return (authcheckpasswordsha1(password, encrypted_password)); #endif return ( #if HAVE_CRYPT strcmp(encrypted_password, crypt(password, encrypted_password)) #else strcmp(encrypted_password, password) #endif ); }