Annotation of embedaddon/mpd/src/chap.h, revision 1.1.1.1

1.1       misho       1: 
                      2: /*
                      3:  * chap.h
                      4:  *
                      5:  * Written by Toshiharu OHNO <tony-o@iij.ad.jp>
                      6:  * Copyright (c) 1993, Internet Initiative Japan, Inc. All rights reserved.
                      7:  * See ``COPYRIGHT.iij''
                      8:  * 
                      9:  * Rewritten by Archie Cobbs <archie@freebsd.org>
                     10:  * Copyright (c) 1995-1999 Whistle Communications, Inc. All rights reserved.
                     11:  * See ``COPYRIGHT.whistle''
                     12:  */
                     13: 
                     14: #ifndef _CHAP_H_
                     15: #define        _CHAP_H_
                     16: 
                     17: #include "mbuf.h"
                     18: #include "timer.h"
                     19: 
                     20: /*
                     21:  * DEFINITIONS
                     22:  */
                     23: 
                     24:   #define CHAP_CHALLENGE       1
                     25:   #define CHAP_RESPONSE                2
                     26:   #define CHAP_SUCCESS         3
                     27:   #define CHAP_FAILURE         4
                     28:   #define CHAP_MS_V1_CHANGE_PW 5
                     29:   #define CHAP_MS_V2_CHANGE_PW 7
                     30: 
                     31:   #define CHAP_MAX_NAME                64
                     32:   #define CHAP_MAX_VAL         64
                     33: 
                     34:   #define CHAP_ALG_MD5         0x05
                     35:   #define CHAP_ALG_MSOFT       0x80
                     36:   #define CHAP_ALG_MSOFTv2     0x81
                     37: 
                     38:   #define CHAP_MSOFT_CHAL_LEN  8
                     39:   #define CHAP_MSOFTv2_CHAL_LEN        16
                     40:   #define CHAP_MSOFTv2_RESP_LEN        24
                     41: 
                     42:   #define MSCHAP_ERROR_RESTRICTED_LOGON_HOURS  646 
                     43:   #define MSCHAP_ERROR_ACCT_DISABLED           647 
                     44:   #define MSCHAP_ERROR_PASSWD_EXPIRED          648 
                     45:   #define MSCHAP_ERROR_NO_DIALIN_PERMISSION    649 
                     46:   #define MSCHAP_ERROR_AUTHENTICATION_FAILURE  691 
                     47:   #define MSCHAP_ERROR_CHANGING_PASSWORD       709
                     48: 
                     49:   struct chapinfo
                     50:   {
                     51:     int                        proto;                          /* CHAP, EAP */
                     52:     short              next_id;                        /* Packet id */
                     53:     short              retry;                          /* Resend count */
                     54:     struct pppTimer    chalTimer;                      /* Challenge timer */
                     55:     struct pppTimer    respTimer;                      /* Reponse timer */
                     56:     u_char             *resp;                          /* Response packet */
                     57:     short              resp_len;                       /* Response length */
                     58:     u_char             resp_id;                        /* Response ID */
                     59:   };
                     60:   typedef struct chapinfo      *ChapInfo;
                     61: 
                     62:   struct chapparams
                     63:   {
                     64:     u_char             chal_data[CHAP_MAX_VAL];        /* Challenge sent */
                     65:     u_char             value[CHAP_MAX_VAL];            /* Chap packet */
                     66:     int                        chal_len;                       /* Challenge length */
                     67:     int                        value_len;                      /* Packet length */
                     68:   };
                     69:   typedef struct chapparams    *ChapParams;
                     70: 
                     71:   struct mschapvalue {
                     72:     u_char     lmHash[24];
                     73:     u_char     ntHash[24];
                     74:     u_char     useNT;
                     75:   };
                     76: 
                     77:   struct mschapv2value {
                     78:     u_char     peerChal[16];
                     79:     u_char     reserved[8];
                     80:     u_char     ntHash[24];
                     81:     u_char     flags;
                     82:   };
                     83:   
                     84:   struct mschapv2value_cpw {
                     85:     u_char     encryptedPass[516];
                     86:     u_char     encryptedHash[16];
                     87:     u_char     peerChal[16];
                     88:     u_char     reserved[8];
                     89:     u_char     ntResponse[24];    
                     90:     u_char     flags[2];
                     91:   };
                     92:  
                     93:   struct authdata;
                     94: /*
                     95:  * FUNCTIONS
                     96:  */
                     97: 
                     98:   extern void  ChapStart(Link l, int which);
                     99:   extern void  ChapStop(ChapInfo chap);
                    100:   extern void  ChapInput(Link l, struct authdata *auth, const u_char *pkt, u_short len);
                    101:   extern void  ChapSendChallenge(Link l);
                    102:   extern void  ChapChalTimeout(void *ptr);
                    103:   extern const char *ChapCode(int code, char *buf, size_t len);
                    104:   extern void  ChapInputFinish(Link l, struct authdata *auth);
                    105: 
                    106: #endif
                    107: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>