X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fchap_ms.h;h=f52f58d61f458a536fa4209643d09fe22416ce15;hb=e50870a901749c7390109404e90c095ea3ef7072;hp=a8a13950ab5f3448c2392e0a2939a2ba2bf40235;hpb=bcfa20820fc9ff3b25bcf62308e3e737c1897dc6;p=ppp.git diff --git a/pppd/chap_ms.h b/pppd/chap_ms.h index a8a1395..f52f58d 100644 --- a/pppd/chap_ms.h +++ b/pppd/chap_ms.h @@ -1,25 +1,33 @@ /* * chap_ms.h - Challenge Handshake Authentication Protocol definitions. * - * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited. - * http://www.strataware.com/ + * Copyright (c) 1995 Eric Rosenquist. All rights reserved. * - * All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: * - * Redistribution and use in source and binary forms are permitted - * provided that the above copyright notice and this paragraph are - * duplicated in all such forms and that any documentation, - * advertising materials, and other materials related to such - * distribution and use acknowledge that the software was developed - * by Eric Rosenquist. The name of the author may not be used to - * endorse or promote products derived from this software without - * specific prior written permission. + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * - * $Id: chap_ms.h,v 1.5 2002/03/05 15:14:04 dfs Exp $ + * 3. The name(s) of the authors of this software must not be used to + * endorse or promote products derived from this software without + * prior written permission. + * + * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY + * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * $Id: chap_ms.h,v 1.8 2002/12/23 23:24:37 fcusack Exp $ */ #ifndef __CHAPMS_INCLUDE__ @@ -30,17 +38,13 @@ #define MS_CHAP_RESPONSE_LEN 49 /* Response length for MS-CHAP */ #define MS_CHAP2_RESPONSE_LEN 49 /* Response length for MS-CHAPv2 */ -/* - * E=eeeeeeeeee error codes for MS-CHAP failure messages. - * Offset by 646 (the minimum code) for switch() handling on older compilers. - */ -#define MS_CHAP_ERROR_BASE 646 -#define MS_CHAP_ERROR_RESTRICTED_LOGON_HOURS (646 - MS_CHAP_ERROR_BASE) -#define MS_CHAP_ERROR_ACCT_DISABLED (647 - MS_CHAP_ERROR_BASE) -#define MS_CHAP_ERROR_PASSWD_EXPIRED (648 - MS_CHAP_ERROR_BASE) -#define MS_CHAP_ERROR_NO_DIALIN_PERMISSION (649 - MS_CHAP_ERROR_BASE) -#define MS_CHAP_ERROR_AUTHENTICATION_FAILURE (691 - MS_CHAP_ERROR_BASE) -#define MS_CHAP_ERROR_CHANGING_PASSWORD (709 - MS_CHAP_ERROR_BASE) +/* E=eeeeeeeeee error codes for MS-CHAP failure messages. */ +#define MS_CHAP_ERROR_RESTRICTED_LOGON_HOURS 646 +#define MS_CHAP_ERROR_ACCT_DISABLED 647 +#define MS_CHAP_ERROR_PASSWD_EXPIRED 648 +#define MS_CHAP_ERROR_NO_DIALIN_PERMISSION 649 +#define MS_CHAP_ERROR_AUTHENTICATION_FAILURE 691 +#define MS_CHAP_ERROR_CHANGING_PASSWORD 709 /* * Use MS_CHAP_RESPONSE_LEN, rather than sizeof(MS_ChapResponse), @@ -63,9 +67,24 @@ typedef struct { u_char Flags[1]; /* Must be zero */ } MS_Chap2Response; +#ifdef MPPE +#include /* MPPE_MAX_KEY_LEN */ +extern u_char mppe_send_key[MPPE_MAX_KEY_LEN]; +extern u_char mppe_recv_key[MPPE_MAX_KEY_LEN]; +extern int mppe_keys_set; +#endif + +/* Are we the authenticator or authenticatee? For MS-CHAPv2 key derivation. */ +#define MS_CHAP2_AUTHENTICATEE 0 +#define MS_CHAP2_AUTHENTICATOR 1 + +#include "chap.h" /* chap_state, et al */ void ChapMS __P((chap_state *, u_char *, char *, int, MS_ChapResponse *)); void ChapMS2 __P((chap_state *, u_char *, u_char *, char *, char *, int, - MS_Chap2Response *, u_char[MS_AUTH_RESPONSE_LENGTH+1])); + MS_Chap2Response *, u_char[MS_AUTH_RESPONSE_LENGTH+1], int)); +#ifdef MPPE +void mppe_set_keys __P((u_char *, u_char[MD4_SIGNATURE_SIZE])); +#endif #define __CHAPMS_INCLUDE__ #endif /* __CHAPMS_INCLUDE__ */