]> git.ipfire.org Git - thirdparty/squid.git/blob - src/auth/basic/RADIUS/radius.h
a62f9f280cdbc0845068fcb996c42dd4d41b5ab4
[thirdparty/squid.git] / src / auth / basic / RADIUS / radius.h
1 /*
2 * Copyright (C) 1996-2025 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 #ifndef SQUID_SRC_AUTH_BASIC_RADIUS_RADIUS_H
41 #define SQUID_SRC_AUTH_BASIC_RADIUS_RADIUS_H
42
43 #define AUTH_VECTOR_LEN 16
44 #define AUTH_PASS_LEN 16
45 #define AUTH_STRING_LEN 128 /* maximum of 254 */
46
47 typedef struct pw_auth_hdr {
48 u_char code;
49 u_char id;
50 uint16_t length;
51 u_char vector[AUTH_VECTOR_LEN];
52 u_char data[2];
53 } AUTH_HDR;
54
55 #define AUTH_HDR_LEN 20
56 #define CHAP_VALUE_LENGTH 16
57
58 #define PW_AUTH_UDP_PORT 1812
59 #define PW_ACCT_UDP_PORT 1813
60
61 #define VENDORPEC_USR 429
62
63 #define PW_TYPE_STRING 0
64 #define PW_TYPE_INTEGER 1
65 #define PW_TYPE_IPADDR 2
66 #define PW_TYPE_DATE 3
67
68 #define PW_AUTHENTICATION_REQUEST 1
69 #define PW_AUTHENTICATION_ACK 2
70 #define PW_AUTHENTICATION_REJECT 3
71 #define PW_ACCOUNTING_REQUEST 4
72 #define PW_ACCOUNTING_RESPONSE 5
73 #define PW_ACCOUNTING_STATUS 6
74 #define PW_PASSWORD_REQUEST 7
75 #define PW_PASSWORD_ACK 8
76 #define PW_PASSWORD_REJECT 9
77 #define PW_ACCOUNTING_MESSAGE 10
78 #define PW_ACCESS_CHALLENGE 11
79
80 #define PW_USER_NAME 1
81 #define PW_PASSWORD 2
82 #define PW_CHAP_PASSWORD 3
83 #define PW_NAS_IP_ADDRESS 4
84 #define PW_NAS_PORT_ID 5
85 #define PW_SERVICE_TYPE 6
86 #define PW_FRAMED_PROTOCOL 7
87 #define PW_FRAMED_IP_ADDRESS 8
88 #define PW_FRAMED_IP_NETMASK 9
89 #define PW_FRAMED_ROUTING 10
90 #define PW_FILTER_ID 11
91 #define PW_FRAMED_MTU 12
92 #define PW_FRAMED_COMPRESSION 13
93 #define PW_LOGIN_IP_HOST 14
94 #define PW_LOGIN_SERVICE 15
95 #define PW_LOGIN_TCP_PORT 16
96 #define PW_OLD_PASSWORD 17
97 #define PW_REPLY_MESSAGE 18
98 #define PW_CALLBACK_NUMBER 19
99 #define PW_CALLBACK_ID 20
100 #define PW_EXPIRATION 21
101 #define PW_FRAMED_ROUTE 22
102 #define PW_FRAMED_IPXNET 23
103 #define PW_STATE 24
104 #define PW_CLASS 25
105 #define PW_VENDOR_SPECIFIC 26
106 #define PW_SESSION_TIMEOUT 27
107 #define PW_IDLE_TIMEOUT 28
108 #define PW_CALLED_STATION_ID 30
109 #define PW_CALLING_STATION_ID 31
110 #define PW_NAS_ID 32
111 #define PW_PROXY_STATE 33
112
113 #define PW_ACCT_STATUS_TYPE 40
114 #define PW_ACCT_DELAY_TIME 41
115 #define PW_ACCT_INPUT_OCTETS 42
116 #define PW_ACCT_OUTPUT_OCTETS 43
117 #define PW_ACCT_SESSION_ID 44
118 #define PW_ACCT_AUTHENTIC 45
119 #define PW_ACCT_SESSION_TIME 46
120 #define PW_ACCT_INPUT_PACKETS 47
121 #define PW_ACCT_OUTPUT_PACKETS 48
122
123 #define PW_CHAP_CHALLENGE 60
124 #define PW_NAS_PORT_TYPE 61
125 #define PW_PORT_LIMIT 62
126 #define PW_CONNECT_INFO 77
127
128 #define PW_HUNTGROUP_NAME 221
129 #define PW_AUTHTYPE 1000
130 #define PW_PREFIX 1003
131 #define PW_SUFFIX 1004
132 #define PW_GROUP 1005
133 #define PW_CRYPT_PASSWORD 1006
134 #define PW_CONNECT_RATE 1007
135 #define PW_USER_CATEGORY 1029
136 #define PW_GROUP_NAME 1030
137 #define PW_SIMULTANEOUS_USE 1034
138 #define PW_STRIP_USERNAME 1035
139 #define PW_FALL_THROUGH 1036
140 #define PW_ADD_PORT_TO_IP_ADDRESS 1037
141 #define PW_EXEC_PROGRAM 1038
142 #define PW_EXEC_PROGRAM_WAIT 1039
143 #define PW_HINT 1040
144 #define PAM_AUTH_ATTR 1041
145 #define PW_LOGIN_TIME 1042
146
147 /*
148 * INTEGER TRANSLATIONS
149 */
150
151 /* USER TYPES */
152
153 #define PW_LOGIN_USER 1
154 #define PW_FRAMED_USER 2
155 #define PW_DIALBACK_LOGIN_USER 3
156 #define PW_DIALBACK_FRAMED_USER 4
157
158 /* FRAMED PROTOCOLS */
159
160 #define PW_PPP 1
161 #define PW_SLIP 2
162
163 /* FRAMED ROUTING VALUES */
164
165 #define PW_NONE 0
166 #define PW_BROADCAST 1
167 #define PW_LISTEN 2
168 #define PW_BROADCAST_LISTEN 3
169
170 /* FRAMED COMPRESSION TYPES */
171
172 #define PW_VAN_JACOBSEN_TCP_IP 1
173
174 /* LOGIN SERVICES */
175
176 #define PW_TELNET 0
177 #define PW_RLOGIN 1
178 #define PW_TCP_CLEAR 2
179 #define PW_PORTMASTER 3
180
181 /* AUTHENTICATION LEVEL */
182
183 #define PW_AUTHTYPE_LOCAL 0
184 #define PW_AUTHTYPE_SYSTEM 1
185 #define PW_AUTHTYPE_SECURID 2
186 #define PW_AUTHTYPE_CRYPT 3
187 #define PW_AUTHTYPE_REJECT 4
188 #define PW_AUTHTYPE_PAM 253
189 #define PW_AUTHTYPE_ACCEPT 254
190
191 /* PORT TYPES */
192 #define PW_NAS_PORT_ASYNC 0
193 #define PW_NAS_PORT_SYNC 1
194 #define PW_NAS_PORT_ISDN 2
195 #define PW_NAS_PORT_ISDN_V120 3
196 #define PW_NAS_PORT_ISDN_V110 4
197
198 /* STATUS TYPES */
199
200 #define PW_STATUS_START 1
201 #define PW_STATUS_STOP 2
202 #define PW_STATUS_ALIVE 3
203 #define PW_STATUS_ACCOUNTING_ON 7
204 #define PW_STATUS_ACCOUNTING_OFF 8
205
206 #endif /* SQUID_SRC_AUTH_BASIC_RADIUS_RADIUS_H */
207