]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/plugins/radius/radiusclient/include/radiusclient.h
Patch from Frank Cusack to add support for MSCHAPv2.
[ppp.git] / pppd / plugins / radius / radiusclient / include / radiusclient.h
index f5183fcf07dc25dca3e924898dbfb28605fe8457..18106a663b025247cb77ad88de23fd75ee5c8e4d 100644 (file)
@@ -1,15 +1,15 @@
 /*
- * $Id: radiusclient.h,v 1.1 2002/01/22 16:03:01 dfs Exp $
+ * $Id: radiusclient.h,v 1.5 2002/03/05 15:14:06 dfs Exp $
  *
  * Copyright (C) 1995,1996,1997,1998 Lars Fenneberg
  *
  * Copyright 1992 Livingston Enterprises, Inc.
  *
- * Copyright 1992,1993, 1994,1995 The Regents of the University of Michigan 
+ * Copyright 1992,1993, 1994,1995 The Regents of the University of Michigan
  * and Merit Network, Inc. All Rights Reserved
  *
- * See the file COPYRIGHT for the respective terms and conditions. 
- * If the file is missing contact me at lf@elemental.net 
+ * See the file COPYRIGHT for the respective terms and conditions.
+ * If the file is missing contact me at lf@elemental.net
  * and I'll send you a copy.
  *
  */
@@ -39,7 +39,7 @@
 #endif
 
 typedef unsigned long UINT4;
-typedef long         INT4;
+typedef long         INT4;
 
 #define AUTH_VECTOR_LEN                16
 #define AUTH_PASS_LEN          (3 * 16) /* multiple of 16 */
@@ -67,7 +67,7 @@ typedef long        INT4;
 typedef struct server {
        int max;
        char *name[SERVER_MAX];
-       unsigned short port[SERVER_MAX];        
+       unsigned short port[SERVER_MAX];
 } SERVER;
 
 typedef struct pw_auth_hdr
@@ -83,8 +83,8 @@ typedef struct pw_auth_hdr
 #define MAX_SECRET_LENGTH              (3 * 16) /* MUST be multiple of 16 */
 #define CHAP_VALUE_LENGTH              16
 
-#define PW_AUTH_UDP_PORT               1645
-#define PW_ACCT_UDP_PORT               1646
+#define PW_AUTH_UDP_PORT               1812
+#define PW_ACCT_UDP_PORT               1813
 
 #define PW_TYPE_STRING                 0
 #define PW_TYPE_INTEGER                        1
@@ -154,6 +154,12 @@ typedef struct pw_auth_hdr
 #define        PW_PORT_LIMIT                   62      /* integer */
 #define PW_LOGIN_LAT_PORT               63      /* string */
 
+/* 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 */
+
 /*     Accounting */
 
 #define        PW_ACCT_STATUS_TYPE             40      /* integer */
@@ -260,7 +266,7 @@ typedef struct pw_auth_hdr
 #define PW_CALLBACK             16
 #define PW_USER_ERROR           17
 #define PW_HOST_REQUEST         18
+
 /*     NAS PORT TYPES    */
 
 #define PW_ASYNC               0
@@ -277,6 +283,7 @@ typedef struct pw_auth_hdr
 
 /* Vendor codes */
 #define VENDOR_NONE     (-1)
+#define VENDOR_MICROSOFT       311
 
 /* Server data structures */
 
@@ -285,7 +292,7 @@ typedef struct dict_attr
        char              name[NAME_LENGTH + 1];        /* attribute name */
        int               value;                        /* attribute index */
        int               type;                         /* string, int, etc. */
-        int               vendorcode;                   /* vendor code */
+       int               vendorcode;                   /* vendor code */
        struct dict_attr *next;
 } DICT_ATTR;
 
@@ -309,7 +316,7 @@ typedef struct value_pair
 {
        char               name[NAME_LENGTH + 1];
        int                attribute;
-        int                vendorcode;
+       int                vendorcode;
        int                type;
        UINT4              lvalue;
        char               strvalue[AUTH_STRING_LEN + 1];
@@ -319,7 +326,7 @@ typedef struct value_pair
 /* don't change this, as it has to be the same as in the Merit radiusd code */
 #define MGMT_POLL_SECRET       "Hardlyasecret"
 
-/*     Define return codes from "SendServer" utility */
+/*     Define return codes from "SendServer" utility */
 
 #define BADRESP_RC     -2
 #define ERROR_RC       -1
@@ -379,8 +386,10 @@ 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_proxy __P((VALUE_PAIR *, VALUE_PAIR **, char *));
 int rc_acct __P((UINT4, VALUE_PAIR *));
+int rc_acct_using_server __P((SERVER *, UINT4, VALUE_PAIR *));
 int rc_acct_proxy __P((VALUE_PAIR *));
 int rc_check __P((char *, unsigned short, char *));