diff --git a/usr.sbin/ppp/chap_ms.c b/usr.sbin/ppp/chap_ms.c index a3df295acede..e482296ef794 100644 --- a/usr.sbin/ppp/chap_ms.c +++ b/usr.sbin/ppp/chap_ms.c @@ -28,10 +28,12 @@ #include #ifdef __FreeBSD__ #include -#else -#include -#endif #include +#else +#include +#include +#include +#endif #include #include @@ -177,6 +179,29 @@ GenerateNTResponse(char *AuthenticatorChallenge, char *PeerChallenge, ChallengeResponse(Challenge, PasswordHash, Response); } +#ifndef __FreeBSD__ +#define LENGTH 20 +char * +SHA1_End(SHA_CTX *ctx, char *buf) +{ + int i; + unsigned char digest[LENGTH]; + static const char hex[]="0123456789abcdef"; + + if (!buf) + buf = malloc(2*LENGTH + 1); + if (!buf) + return 0; + SHA1_Final(digest, ctx); + for (i = 0; i < LENGTH; i++) { + buf[i+i] = hex[digest[i] >> 4]; + buf[i+i+1] = hex[digest[i] & 0x0f]; + } + buf[i+i] = '\0'; + return buf; +} +#endif + void GenerateAuthenticatorResponse(char *Password, int PasswordLen, char *NTResponse, char *PeerChallenge, diff --git a/usr.sbin/ppp/mppe.c b/usr.sbin/ppp/mppe.c index 85576fe731df..253bb5670412 100644 --- a/usr.sbin/ppp/mppe.c +++ b/usr.sbin/ppp/mppe.c @@ -31,7 +31,11 @@ #include #include #include +#ifdef __FreeBSD__ #include +#else +#include +#endif #include #include "defs.h"