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