xref: /dflybsd-src/contrib/wpa_supplicant/src/eap_common/chap.c (revision bcf9aa4feb4a2fdf8ceac276d271a57f4b27e13d)
16d49e1aeSJan Lentfer /*
26d49e1aeSJan Lentfer  * CHAP-MD5 (RFC 1994)
3*3ff40c12SJohn Marino  * Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi>
46d49e1aeSJan Lentfer  *
5*3ff40c12SJohn Marino  * This software may be distributed under the terms of the BSD license.
6*3ff40c12SJohn Marino  * See README for more details.
76d49e1aeSJan Lentfer  */
86d49e1aeSJan Lentfer 
96d49e1aeSJan Lentfer #include "includes.h"
106d49e1aeSJan Lentfer 
116d49e1aeSJan Lentfer #include "common.h"
12*3ff40c12SJohn Marino #include "crypto/crypto.h"
136d49e1aeSJan Lentfer #include "chap.h"
146d49e1aeSJan Lentfer 
chap_md5(u8 id,const u8 * secret,size_t secret_len,const u8 * challenge,size_t challenge_len,u8 * response)15*3ff40c12SJohn Marino int chap_md5(u8 id, const u8 *secret, size_t secret_len, const u8 *challenge,
166d49e1aeSJan Lentfer 	      size_t challenge_len, u8 *response)
176d49e1aeSJan Lentfer {
186d49e1aeSJan Lentfer 	const u8 *addr[3];
196d49e1aeSJan Lentfer 	size_t len[3];
206d49e1aeSJan Lentfer 
216d49e1aeSJan Lentfer 	addr[0] = &id;
226d49e1aeSJan Lentfer 	len[0] = 1;
236d49e1aeSJan Lentfer 	addr[1] = secret;
246d49e1aeSJan Lentfer 	len[1] = secret_len;
256d49e1aeSJan Lentfer 	addr[2] = challenge;
266d49e1aeSJan Lentfer 	len[2] = challenge_len;
27*3ff40c12SJohn Marino 	return md5_vector(3, addr, len, response);
286d49e1aeSJan Lentfer }
29