4 * Remote Authentication Dial In User Service
7 * Livingston Enterprises, Inc.
8 * 6920 Koll Center Parkway
11 * Copyright 1992 Livingston Enterprises, Inc.
13 * Permission to use, copy, modify, and distribute this software for any
14 * purpose and without fee is hereby granted, provided that this
15 * copyright and permission notice appear on all copies and supporting
16 * documentation, the name of Livingston Enterprises, Inc. not be used
17 * in advertising or publicity pertaining to distribution of the
18 * program without specific prior permission, and notice be given
19 * in supporting documentation that copying and distribution is by
20 * permission of Livingston Enterprises, Inc.
22 * Livingston Enterprises, Inc. makes no representations about
23 * the suitability of this software for any purpose. It is
24 * provided "as is" without express or implied warranty.
29 * @(#)radius.h 1.9 11/14/94
34 #define AUTH_VECTOR_LEN 16
35 #define AUTH_PASS_LEN 16
36 #define AUTH_STRING_LEN 128 /* maximum of 254 */
39 typedef unsigned long UINT4;
42 typedef struct pw_auth_hdr {
46 u_char vector[AUTH_VECTOR_LEN];
50 #define AUTH_HDR_LEN 20
51 #define CHAP_VALUE_LENGTH 16
53 #define PW_AUTH_UDP_PORT 1645
54 #define PW_ACCT_UDP_PORT 1646
56 #define PW_TYPE_STRING 0
57 #define PW_TYPE_INTEGER 1
58 #define PW_TYPE_IPADDR 2
59 #define PW_TYPE_DATE 3
62 #define PW_AUTHENTICATION_REQUEST 1
63 #define PW_AUTHENTICATION_ACK 2
64 #define PW_AUTHENTICATION_REJECT 3
65 #define PW_ACCOUNTING_REQUEST 4
66 #define PW_ACCOUNTING_RESPONSE 5
67 #define PW_ACCOUNTING_STATUS 6
68 #define PW_PASSWORD_REQUEST 7
69 #define PW_PASSWORD_ACK 8
70 #define PW_PASSWORD_REJECT 9
71 #define PW_ACCOUNTING_MESSAGE 10
72 #define PW_ACCESS_CHALLENGE 11
74 #define PW_USER_NAME 1
76 #define PW_CHAP_PASSWORD 3
77 #define PW_NAS_IP_ADDRESS 4
78 #define PW_NAS_PORT_ID 5
79 #define PW_USER_SERVICE_TYPE 6
80 #define PW_FRAMED_PROTOCOL 7
81 #define PW_FRAMED_ADDRESS 8
82 #define PW_FRAMED_NETMASK 9
83 #define PW_FRAMED_ROUTING 10
84 #define PW_FRAMED_FILTER_ID 11
85 #define PW_FRAMED_MTU 12
86 #define PW_FRAMED_COMPRESSION 13
87 #define PW_LOGIN_HOST 14
88 #define PW_LOGIN_SERVICE 15
89 #define PW_LOGIN_TCP_PORT 16
90 #define PW_OLD_PASSWORD 17
91 #define PW_REPLY_MESSAGE 18
92 #define PW_CALLBACK_NUMBER 19
93 #define PW_CALLBACK_ID 20
94 #define PW_EXPIRATION 21
95 #define PW_FRAMED_ROUTE 22
96 #define PW_FRAMED_IPXNET 23
98 #define PW_CLASS 25 /* string */
99 #define PW_VENDOR_SPECIFIC 26 /* vendor */
100 #define PW_SESSION_TIMEOUT 27 /* integer */
101 #define PW_IDLE_TIMEOUT 28 /* integer */
102 #define PW_TERMINATION_ACTION 29 /* integer */
103 #define PW_CALLED_STATION_ID 30 /* string */
104 #define PW_CALLING_STATION_ID 31 /* string */
105 #define PW_NAS_IDENTIFIER 32 /* string */
106 #define PW_PROXY_STATE 33 /* string */
107 #define PW_LOGIN_LAT_SERVICE 34 /* string */
108 #define PW_LOGIN_LAT_NODE 35 /* string */
109 #define PW_LOGIN_LAT_GROUP 36 /* string */
110 #define PW_FRAMED_APPLETALK_LINK 37 /* integer */
111 #define PW_FRAMED_APPLETALK_NETWORK 38 /* integer */
112 #define PW_FRAMED_APPLETALK_ZONE 39 /* string */
114 #define PW_ACCT_STATUS_TYPE 40
115 #define PW_ACCT_DELAY_TIME 41
116 #define PW_ACCT_INPUT_OCTETS 42
117 #define PW_ACCT_OUTPUT_OCTETS 43
118 #define PW_ACCT_SESSION_ID 44
119 #define PW_ACCT_AUTHENTIC 45
120 #define PW_ACCT_SESSION_TIME 46
122 #define PW_CHAP_CHALLENGE 60 /* string */
123 #define PW_NAS_PORT_TYPE 61 /* integer */
124 #define PW_PORT_LIMIT 62 /* integer */
125 #define PW_LOGIN_LAT_PORT 63 /* string */
126 #define PW_PROMPT 64 /* integer */
129 * INTEGER TRANSLATIONS
134 #define PW_LOGIN_USER 1
135 #define PW_FRAMED_USER 2
136 #define PW_DIALBACK_LOGIN_USER 3
137 #define PW_DIALBACK_FRAMED_USER 4
138 #define PW_OUTBOUND_USER 5
139 #define PW_SHELL_USER 6
141 /* FRAMED PROTOCOLS */
146 /* FRAMED ROUTING VALUES */
149 #define PW_BROADCAST 1
151 #define PW_BROADCAST_LISTEN 3
154 #define PW_NAS_PORT_TYPE_VIRTUAL 5
156 /* FRAMED COMPRESSION TYPES */
158 #define PW_VAN_JACOBSEN_TCP_IP 1
164 #define PW_TCP_CLEAR 2
165 #define PW_PORTMASTER 3
166 #define PW_AUTHENTICATE_ONLY 8
168 /* AUTHENTICATION LEVEL */
170 #define PW_AUTH_NONE 0
171 #define PW_AUTH_RADIUS 1
172 #define PW_AUTH_LOCAL 2
176 #define PW_STATUS_START 1
177 #define PW_STATUS_STOP 2
178 #define PW_STATUS_ALIVE 3
181 /* Vendor Specific Attribute stuff */
182 #define VENDOR_SECURE 1573 /* Secure Computing */
183 #define PW_SG_GROUP 1
185 #define PAM_ENV_SG_GROUP "SG-GROUP"
186 #define PAM_ENV_IDLE_TIMEOUT "SG-IDLETIME"
188 /* Default Database File Names */
190 #define RADIUS_DIR "/etc/raddb"
191 #define RADACCT_DIR "/usr/adm/radacct"
193 #define RADIUS_DICTIONARY "dictionary"
194 #define RADIUS_CLIENTS "clients"
195 #define RADIUS_USERS "users"
196 #define RADIUS_HOLD "holdusers"
197 #define RADIUS_LOG "logfile"
199 /* Server data structures */
201 typedef struct dict_attr {
205 struct dict_attr *next;
208 typedef struct dict_value {
212 struct dict_value *next;
215 typedef struct value_pair {
220 char strvalue[AUTH_STRING_LEN];
221 struct value_pair *next;
224 typedef struct auth_req {
232 int child_pid; /* Process ID of child */
234 struct auth_req *next; /* Next active request */
237 #define SECONDS_PER_DAY 86400
238 #define MAX_REQUEST_TIME 30
239 #define CLEANUP_DELAY 5
240 #define MAX_REQUESTS 100
242 #endif /* RADIUS_H */