X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fplugins%2Fradius%2Fradiusclient%2Finclude%2Fradiusclient.h;h=9ce2a39e001465a760833653d87691b04139f9f8;hb=73722c28d461401b93d750a16c6ecc6eb975d58d;hp=141e69039ac16ff88c6259fac91c2d2912ecbd8a;hpb=8ed456439d306257173fb0c74d77c4e3c472dfc6;p=ppp.git diff --git a/pppd/plugins/radius/radiusclient/include/radiusclient.h b/pppd/plugins/radius/radiusclient/include/radiusclient.h index 141e690..9ce2a39 100644 --- a/pppd/plugins/radius/radiusclient/include/radiusclient.h +++ b/pppd/plugins/radius/radiusclient/include/radiusclient.h @@ -1,5 +1,5 @@ /* - * $Id: radiusclient.h,v 1.4 2002/03/04 14:59:52 dfs Exp $ + * $Id: radiusclient.h,v 1.9 2002/11/13 18:19:26 fcusack Exp $ * * Copyright (C) 1995,1996,1997,1998 Lars Fenneberg * @@ -38,8 +38,15 @@ # define __P(protos) () #endif +#ifndef _UINT4_T +#ifdef _LP64 +typedef unsigned int UINT4; +typedef int INT4; +#else typedef unsigned long UINT4; -typedef long INT4; +typedef long INT4; +#endif +#endif #define AUTH_VECTOR_LEN 16 #define AUTH_PASS_LEN (3 * 16) /* multiple of 16 */ @@ -157,6 +164,14 @@ typedef struct pw_auth_hdr /* Vendor RADIUS attribute-value pairs */ #define PW_MS_CHAP_CHALLENGE 11 /* string */ #define PW_MS_CHAP_RESPONSE 1 /* string */ +#define PW_MS_CHAP2_RESPONSE 25 /* string */ +#define PW_MS_CHAP2_SUCCESS 26 /* string */ +#define PW_MS_MPPE_ENCRYPTION_POLICY 7 /* string */ +#define PW_MS_MPPE_ENCRYPTION_TYPE 8 /* string */ +#define PW_MS_MPPE_ENCRYPTION_TYPES PW_MS_MPPE_ENCRYPTION_TYPE +#define PW_MS_CHAP_MPPE_KEYS 12 /* string */ +#define PW_MS_MPPE_SEND_KEY 16 /* string */ +#define PW_MS_MPPE_RECV_KEY 17 /* string */ /* Accounting */ @@ -173,11 +188,19 @@ typedef struct pw_auth_hdr #define PW_ACCT_MULTI_SESSION_ID 50 /* string */ #define PW_ACCT_LINK_COUNT 51 /* integer */ +/* From RFC 2869 */ +#define PW_ACCT_INTERIM_INTERVAL 85 /* integer */ + /* Merit Experimental Extensions */ #define PW_USER_ID 222 /* string */ #define PW_USER_REALM 223 /* string */ + +/* Session limits */ +#define PW_SESSION_OCTETS_LIMIT 227 /* integer */ +#define PW_OCTETS_DIRECTION 228 /* integer */ + /* Integer Translations */ /* SERVICE TYPES */ @@ -279,6 +302,13 @@ typedef struct pw_auth_hdr #define PW_LOCAL 2 #define PW_REMOTE 3 +/* Session-Octets-Limit */ +#define PW_OCTETS_DIRECTION_SUM 0 +#define PW_OCTETS_DIRECTION_IN 1 +#define PW_OCTETS_DIRECTION_OUT 2 +#define PW_OCTETS_DIRECTION_MAX 3 + + /* Vendor codes */ #define VENDOR_NONE (-1) #define VENDOR_MICROSOFT 311 @@ -317,7 +347,7 @@ typedef struct value_pair int vendorcode; int type; UINT4 lvalue; - char strvalue[AUTH_STRING_LEN + 1]; + u_char strvalue[AUTH_STRING_LEN + 1]; struct value_pair *next; } VALUE_PAIR; @@ -343,6 +373,12 @@ typedef struct send_data /* Used to pass information to sendserver() function */ VALUE_PAIR *receive_pairs; /* Where to place received a/v pairs */ } SEND_DATA; +typedef struct request_info +{ + char secret[MAX_SECRET_LENGTH + 1]; + u_char request_vector[AUTH_VECTOR_LEN]; +} REQUEST_INFO; + #ifndef MIN #define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif @@ -373,6 +409,7 @@ int rc_avpair_assign __P((VALUE_PAIR *, void *, int)); VALUE_PAIR *rc_avpair_new __P((int, void *, int, int)); VALUE_PAIR *rc_avpair_gen __P((AUTH_HDR *)); VALUE_PAIR *rc_avpair_get __P((VALUE_PAIR *, UINT4)); +VALUE_PAIR *rc_avpair_copy __P((VALUE_PAIR *)); void rc_avpair_insert __P((VALUE_PAIR **, VALUE_PAIR *, VALUE_PAIR *)); void rc_avpair_free __P((VALUE_PAIR *)); int rc_avpair_parse __P((char *, VALUE_PAIR **)); @@ -383,8 +420,9 @@ VALUE_PAIR *rc_avpair_readin __P((FILE *)); void rc_buildreq __P((SEND_DATA *, int, char *, unsigned short, int, int)); unsigned char rc_get_seqnbr __P((void)); -int rc_auth __P((UINT4, VALUE_PAIR *, VALUE_PAIR **, char *)); -int rc_auth_using_server __P((SERVER *, UINT4, VALUE_PAIR *, VALUE_PAIR **, char *)); +int rc_auth __P((UINT4, VALUE_PAIR *, VALUE_PAIR **, char *, REQUEST_INFO *)); +int rc_auth_using_server __P((SERVER *, UINT4, VALUE_PAIR *, VALUE_PAIR **, + char *, REQUEST_INFO *)); int rc_auth_proxy __P((VALUE_PAIR *, VALUE_PAIR **, char *)); int rc_acct __P((UINT4, VALUE_PAIR *)); int rc_acct_using_server __P((SERVER *, UINT4, VALUE_PAIR *)); @@ -431,7 +469,7 @@ void rc_log __P((int, const char *, ...)); /* sendserver.c */ -int rc_send_server __P((SEND_DATA *, char *)); +int rc_send_server __P((SEND_DATA *, char *, REQUEST_INFO *)); /* util.c */