void ChapMS( chap_state *cstate, char *rchallenge, int rchallenge_len, char *secret, int secret_len) { MS_ChapResponse response; #ifdef MSLANMAN extern int ms_lanman; #endif #if 0 CHAPDEBUG(LOG_INFO, ("ChapMS: secret is '%.*s'\n", secret_len, secret)); #endif BZERO(&response, sizeof(response)); /* Calculate both always */ ChapMS_NT(rchallenge, rchallenge_len, secret, secret_len, &response); #ifdef MSLANMAN ChapMS_LANMan(rchallenge, rchallenge_len, secret, secret_len, &response); /* prefered method is set by option */ response.UseNT = !ms_lanman; #else response.UseNT = 1; #endif BCOPY(&response, cstate->response, MS_CHAP_RESPONSE_LEN); cstate->resp_length = MS_CHAP_RESPONSE_LEN; }
void ChapMS(chap_state *cstate, u_char *rchallenge, char *secret, int secret_len, MS_ChapResponse *response) { #if 0 CHAPDEBUG((LOG_INFO, "ChapMS: secret is '%.*s'", secret_len, secret)); #endif BZERO(response, sizeof(*response)); ChapMS_NT(rchallenge, secret, secret_len, response->NTResp); #ifdef MSLANMAN ChapMS_LANMan(rchallenge, secret, secret_len, response); /* preferred method is set by option */ response->UseNT[0] = !ms_lanman; #else response->UseNT[0] = 1; #endif cstate->resp_length = MS_CHAP_RESPONSE_LEN; #ifdef MPPE Set_Start_Key(rchallenge, secret, secret_len); mppe_keys_set = 1; #endif }
static void ChapMS(ppp_pcb *pcb, const u_char *rchallenge, const char *secret, int secret_len, unsigned char *response) { #if !MPPE_SUPPORT LWIP_UNUSED_ARG(pcb); #endif /* !MPPE_SUPPORT */ BZERO(response, MS_CHAP_RESPONSE_LEN); ChapMS_NT(rchallenge, secret, secret_len, &response[MS_CHAP_NTRESP]); #ifdef MSLANMAN ChapMS_LANMan(rchallenge, secret, secret_len, &response[MS_CHAP_LANMANRESP]); /* preferred method is set by option */ response[MS_CHAP_USENT] = !ms_lanman; #else response[MS_CHAP_USENT] = 1; #endif #if MPPE_SUPPORT Set_Start_Key(pcb, rchallenge, secret, secret_len); #endif /* MPPE_SUPPORT */ }