X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fchap_ms.c;fp=pppd%2Fchap_ms.c;h=2f31bb5da5f11dfe4ec2ab238334f0c231c75595;hp=52d48905f03b3890c3bd76d0bc3f0f44558ec8b2;hb=9e1e5b0e4e95cf70196ba2383d371b41d4731a44;hpb=49e1aff19a7ba4376b2a8387f11ff92382cef34f diff --git a/pppd/chap_ms.c b/pppd/chap_ms.c index 52d4890..2f31bb5 100644 --- a/pppd/chap_ms.c +++ b/pppd/chap_ms.c @@ -569,7 +569,7 @@ ascii2unicode(char ascii[], int ascii_len, u_char unicode[]) static void NTPasswordHash(u_char *secret, int secret_len, u_char hash[MD4_SIGNATURE_SIZE]) { -#ifdef __NetBSD__ +#if defined(__NetBSD__) || !defined(USE_MD4) /* NetBSD uses the libc md4 routines which take bytes instead of bits */ int mdlen = secret_len; #else @@ -578,12 +578,14 @@ NTPasswordHash(u_char *secret, int secret_len, u_char hash[MD4_SIGNATURE_SIZE]) MD4_CTX md4Context; MD4Init(&md4Context); - /* MD4Update can take at most 64 bytes at a time */ +#if !defined(USE_MD4) + /* Internal MD4Update can take at most 64 bytes at a time */ while (mdlen > 512) { MD4Update(&md4Context, secret, 512); secret += 64; mdlen -= 512; } +#endif MD4Update(&md4Context, secret, mdlen); MD4Final(hash, &md4Context);