xref: /openbsd-src/usr.sbin/radiusctl/chap_ms.h (revision a7ca44b834e2b4e6e0c6ceff73a2050ac81b31a9)
1*a7ca44b8Syasuoka /*	$OpenBSD: chap_ms.h,v 1.1 2015/07/21 04:06:04 yasuoka Exp $	*/
2*a7ca44b8Syasuoka /*	$vantronix: chap_ms.h,v 1.6 2010/05/19 09:37:00 reyk Exp $	*/
3*a7ca44b8Syasuoka 
4*a7ca44b8Syasuoka /*
5*a7ca44b8Syasuoka  * Copyright (c) 2010 Reyk Floeter <reyk@vantronix.net>
6*a7ca44b8Syasuoka  *
7*a7ca44b8Syasuoka  * Permission to use, copy, modify, and distribute this software for any
8*a7ca44b8Syasuoka  * purpose with or without fee is hereby granted, provided that the above
9*a7ca44b8Syasuoka  * copyright notice and this permission notice appear in all copies.
10*a7ca44b8Syasuoka  *
11*a7ca44b8Syasuoka  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12*a7ca44b8Syasuoka  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13*a7ca44b8Syasuoka  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14*a7ca44b8Syasuoka  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15*a7ca44b8Syasuoka  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16*a7ca44b8Syasuoka  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17*a7ca44b8Syasuoka  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18*a7ca44b8Syasuoka  */
19*a7ca44b8Syasuoka 
20*a7ca44b8Syasuoka #ifndef _CHAP_MS_H
21*a7ca44b8Syasuoka #define _CHAP_MS_H
22*a7ca44b8Syasuoka 
23*a7ca44b8Syasuoka #define MSCHAP_CHALLENGE_SZ	8
24*a7ca44b8Syasuoka #define MSCHAPV2_CHALLENGE_SZ	16
25*a7ca44b8Syasuoka #define MSCHAP_HASH_SZ		16
26*a7ca44b8Syasuoka #define MSCHAP_MASTERKEY_SZ	16
27*a7ca44b8Syasuoka #define MSCHAP_MSK_KEY_SZ	32
28*a7ca44b8Syasuoka #define MSCHAP_MSK_PADDING_SZ	32
29*a7ca44b8Syasuoka #define MSCHAP_MSK_SZ		64
30*a7ca44b8Syasuoka 
31*a7ca44b8Syasuoka #define MSCHAP_MAXNTPASSWORD_SZ	255	/* unicode chars */
32*a7ca44b8Syasuoka 
33*a7ca44b8Syasuoka void	 mschap_nt_response(u_int8_t *, u_int8_t *, u_int8_t *, int,
34*a7ca44b8Syasuoka 	    u_int8_t *, int , u_int8_t *);
35*a7ca44b8Syasuoka void	 mschap_auth_response(u_int8_t *, int, u_int8_t *, u_int8_t *,
36*a7ca44b8Syasuoka 	    u_int8_t *, u_int8_t *, int, u_int8_t *);
37*a7ca44b8Syasuoka 
38*a7ca44b8Syasuoka void	 mschap_ntpassword_hash(u_int8_t *, int, u_int8_t *);
39*a7ca44b8Syasuoka void	 mschap_challenge_hash(u_int8_t *, u_int8_t *, u_int8_t *,
40*a7ca44b8Syasuoka 	    int, u_int8_t *);
41*a7ca44b8Syasuoka 
42*a7ca44b8Syasuoka void	 mschap_asymetric_startkey(u_int8_t *, u_int8_t *, int, int, int);
43*a7ca44b8Syasuoka void	 mschap_masterkey(u_int8_t *, u_int8_t *, u_int8_t *);
44*a7ca44b8Syasuoka void	 mschap_radiuskey(u_int8_t *, const u_int8_t *, const u_int8_t *,
45*a7ca44b8Syasuoka 	    const u_int8_t *);
46*a7ca44b8Syasuoka void	 mschap_msk(u_int8_t *, int, u_int8_t *, u_int8_t *);
47*a7ca44b8Syasuoka 
48*a7ca44b8Syasuoka #endif /* _CHAP_MS_H */
49