xref: /dflybsd-src/contrib/wpa_supplicant/src/eap_common/chap.c (revision 6d49e1aea1f916afb9e202b8d2ad09cfab6e48c3)
1*6d49e1aeSJan Lentfer /*
2*6d49e1aeSJan Lentfer  * CHAP-MD5 (RFC 1994)
3*6d49e1aeSJan Lentfer  * Copyright (c) 2007, Jouni Malinen <j@w1.fi>
4*6d49e1aeSJan Lentfer  *
5*6d49e1aeSJan Lentfer  * This program is free software; you can redistribute it and/or modify
6*6d49e1aeSJan Lentfer  * it under the terms of the GNU General Public License version 2 as
7*6d49e1aeSJan Lentfer  * published by the Free Software Foundation.
8*6d49e1aeSJan Lentfer  *
9*6d49e1aeSJan Lentfer  * Alternatively, this software may be distributed under the terms of BSD
10*6d49e1aeSJan Lentfer  * license.
11*6d49e1aeSJan Lentfer  *
12*6d49e1aeSJan Lentfer  * See README and COPYING for more details.
13*6d49e1aeSJan Lentfer  */
14*6d49e1aeSJan Lentfer 
15*6d49e1aeSJan Lentfer #include "includes.h"
16*6d49e1aeSJan Lentfer 
17*6d49e1aeSJan Lentfer #include "common.h"
18*6d49e1aeSJan Lentfer #include "md5.h"
19*6d49e1aeSJan Lentfer #include "crypto.h"
20*6d49e1aeSJan Lentfer #include "chap.h"
21*6d49e1aeSJan Lentfer 
22*6d49e1aeSJan Lentfer void chap_md5(u8 id, const u8 *secret, size_t secret_len, const u8 *challenge,
23*6d49e1aeSJan Lentfer 	      size_t challenge_len, u8 *response)
24*6d49e1aeSJan Lentfer {
25*6d49e1aeSJan Lentfer 	const u8 *addr[3];
26*6d49e1aeSJan Lentfer 	size_t len[3];
27*6d49e1aeSJan Lentfer 
28*6d49e1aeSJan Lentfer 	addr[0] = &id;
29*6d49e1aeSJan Lentfer 	len[0] = 1;
30*6d49e1aeSJan Lentfer 	addr[1] = secret;
31*6d49e1aeSJan Lentfer 	len[1] = secret_len;
32*6d49e1aeSJan Lentfer 	addr[2] = challenge;
33*6d49e1aeSJan Lentfer 	len[2] = challenge_len;
34*6d49e1aeSJan Lentfer 	md5_vector(3, addr, len, response);
35*6d49e1aeSJan Lentfer }
36