]> git.ipfire.org Git - thirdparty/squid.git/blob - src/auth/basic/RADIUS/radius.h
Source Format Enforcement (#763)
[thirdparty/squid.git] / src / auth / basic / RADIUS / radius.h
1 /*
2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9 /*
10 *
11 * RADIUS
12 * Remote Authentication Dial In User Service
13 *
14 *
15 * Livingston Enterprises, Inc.
16 * 6920 Koll Center Parkway
17 * Pleasanton, CA 94566
18 *
19 * Copyright 1992 Livingston Enterprises, Inc.
20 *
21 * Permission to use, copy, modify, and distribute this software for any
22 * purpose and without fee is hereby granted, provided that this
23 * copyright and permission notice appear on all copies and supporting
24 * documentation, the name of Livingston Enterprises, Inc. not be used
25 * in advertising or publicity pertaining to distribution of the
26 * program without specific prior permission, and notice be given
27 * in supporting documentation that copying and distribution is by
28 * permission of Livingston Enterprises, Inc.
29 *
30 * Livingston Enterprises, Inc. makes no representations about
31 * the suitability of this software for any purpose. It is
32 * provided "as is" without express or implied warranty.
33 *
34 */
35
36 /*
37 * @(#)radius.h 2.0 03-Aug-1996
38 */
39
40 #define AUTH_VECTOR_LEN 16
41 #define AUTH_PASS_LEN 16
42 #define AUTH_STRING_LEN 128 /* maximum of 254 */
43
44 typedef struct pw_auth_hdr {
45 u_char code;
46 u_char id;
47 uint16_t length;
48 u_char vector[AUTH_VECTOR_LEN];
49 u_char data[2];
50 } AUTH_HDR;
51
52 #define AUTH_HDR_LEN 20
53 #define CHAP_VALUE_LENGTH 16
54
55 #define PW_AUTH_UDP_PORT 1812
56 #define PW_ACCT_UDP_PORT 1813
57
58 #define VENDORPEC_USR 429
59
60 #define PW_TYPE_STRING 0
61 #define PW_TYPE_INTEGER 1
62 #define PW_TYPE_IPADDR 2
63 #define PW_TYPE_DATE 3
64
65 #define PW_AUTHENTICATION_REQUEST 1
66 #define PW_AUTHENTICATION_ACK 2
67 #define PW_AUTHENTICATION_REJECT 3
68 #define PW_ACCOUNTING_REQUEST 4
69 #define PW_ACCOUNTING_RESPONSE 5
70 #define PW_ACCOUNTING_STATUS 6
71 #define PW_PASSWORD_REQUEST 7
72 #define PW_PASSWORD_ACK 8
73 #define PW_PASSWORD_REJECT 9
74 #define PW_ACCOUNTING_MESSAGE 10
75 #define PW_ACCESS_CHALLENGE 11
76
77 #define PW_USER_NAME 1
78 #define PW_PASSWORD 2
79 #define PW_CHAP_PASSWORD 3
80 #define PW_NAS_IP_ADDRESS 4
81 #define PW_NAS_PORT_ID 5
82 #define PW_SERVICE_TYPE 6
83 #define PW_FRAMED_PROTOCOL 7
84 #define PW_FRAMED_IP_ADDRESS 8
85 #define PW_FRAMED_IP_NETMASK 9
86 #define PW_FRAMED_ROUTING 10
87 #define PW_FILTER_ID 11
88 #define PW_FRAMED_MTU 12
89 #define PW_FRAMED_COMPRESSION 13
90 #define PW_LOGIN_IP_HOST 14
91 #define PW_LOGIN_SERVICE 15
92 #define PW_LOGIN_TCP_PORT 16
93 #define PW_OLD_PASSWORD 17
94 #define PW_REPLY_MESSAGE 18
95 #define PW_CALLBACK_NUMBER 19
96 #define PW_CALLBACK_ID 20
97 #define PW_EXPIRATION 21
98 #define PW_FRAMED_ROUTE 22
99 #define PW_FRAMED_IPXNET 23
100 #define PW_STATE 24
101 #define PW_CLASS 25
102 #define PW_VENDOR_SPECIFIC 26
103 #define PW_SESSION_TIMEOUT 27
104 #define PW_IDLE_TIMEOUT 28
105 #define PW_CALLED_STATION_ID 30
106 #define PW_CALLING_STATION_ID 31
107 #define PW_NAS_ID 32
108 #define PW_PROXY_STATE 33
109
110 #define PW_ACCT_STATUS_TYPE 40
111 #define PW_ACCT_DELAY_TIME 41
112 #define PW_ACCT_INPUT_OCTETS 42
113 #define PW_ACCT_OUTPUT_OCTETS 43
114 #define PW_ACCT_SESSION_ID 44
115 #define PW_ACCT_AUTHENTIC 45
116 #define PW_ACCT_SESSION_TIME 46
117 #define PW_ACCT_INPUT_PACKETS 47
118 #define PW_ACCT_OUTPUT_PACKETS 48
119
120 #define PW_CHAP_CHALLENGE 60
121 #define PW_NAS_PORT_TYPE 61
122 #define PW_PORT_LIMIT 62
123 #define PW_CONNECT_INFO 77
124
125 #define PW_HUNTGROUP_NAME 221
126 #define PW_AUTHTYPE 1000
127 #define PW_PREFIX 1003
128 #define PW_SUFFIX 1004
129 #define PW_GROUP 1005
130 #define PW_CRYPT_PASSWORD 1006
131 #define PW_CONNECT_RATE 1007
132 #define PW_USER_CATEGORY 1029
133 #define PW_GROUP_NAME 1030
134 #define PW_SIMULTANEOUS_USE 1034
135 #define PW_STRIP_USERNAME 1035
136 #define PW_FALL_THROUGH 1036
137 #define PW_ADD_PORT_TO_IP_ADDRESS 1037
138 #define PW_EXEC_PROGRAM 1038
139 #define PW_EXEC_PROGRAM_WAIT 1039
140 #define PW_HINT 1040
141 #define PAM_AUTH_ATTR 1041
142 #define PW_LOGIN_TIME 1042
143
144 /*
145 * INTEGER TRANSLATIONS
146 */
147
148 /* USER TYPES */
149
150 #define PW_LOGIN_USER 1
151 #define PW_FRAMED_USER 2
152 #define PW_DIALBACK_LOGIN_USER 3
153 #define PW_DIALBACK_FRAMED_USER 4
154
155 /* FRAMED PROTOCOLS */
156
157 #define PW_PPP 1
158 #define PW_SLIP 2
159
160 /* FRAMED ROUTING VALUES */
161
162 #define PW_NONE 0
163 #define PW_BROADCAST 1
164 #define PW_LISTEN 2
165 #define PW_BROADCAST_LISTEN 3
166
167 /* FRAMED COMPRESSION TYPES */
168
169 #define PW_VAN_JACOBSEN_TCP_IP 1
170
171 /* LOGIN SERVICES */
172
173 #define PW_TELNET 0
174 #define PW_RLOGIN 1
175 #define PW_TCP_CLEAR 2
176 #define PW_PORTMASTER 3
177
178 /* AUTHENTICATION LEVEL */
179
180 #define PW_AUTHTYPE_LOCAL 0
181 #define PW_AUTHTYPE_SYSTEM 1
182 #define PW_AUTHTYPE_SECURID 2
183 #define PW_AUTHTYPE_CRYPT 3
184 #define PW_AUTHTYPE_REJECT 4
185 #define PW_AUTHTYPE_PAM 253
186 #define PW_AUTHTYPE_ACCEPT 254
187
188 /* PORT TYPES */
189 #define PW_NAS_PORT_ASYNC 0
190 #define PW_NAS_PORT_SYNC 1
191 #define PW_NAS_PORT_ISDN 2
192 #define PW_NAS_PORT_ISDN_V120 3
193 #define PW_NAS_PORT_ISDN_V110 4
194
195 /* STATUS TYPES */
196
197 #define PW_STATUS_START 1
198 #define PW_STATUS_STOP 2
199 #define PW_STATUS_ALIVE 3
200 #define PW_STATUS_ACCOUNTING_ON 7
201 #define PW_STATUS_ACCOUNTING_OFF 8
202