xref: /openbsd-src/usr.sbin/tcpdump/radius.h (revision b2ea75c1b17e1a9a339660e7ed45cd24946b230e)
1 /*	$OpenBSD: radius.h,v 1.2 2000/10/03 14:31:58 ho Exp $	*/
2 
3 /* RADIUS support for tcpdump, Thomas Ptacek <tqbf@enteract.com> */
4 
5 /* ------------------------------------------------------------ */
6 
7 /* RADIUS attribute encoding types */
8 
9 #define RD_INT				1
10 #define RD_DATE				2
11 #define RD_ADDRESS			3
12 #define RD_STRING			4
13 #define RD_HEX				5
14 
15 /* ------------------------------------------------------------ */
16 
17 /* RADIUS packet opcodes */
18 
19 #define RADIUS_CODE_ACCESS_REQUEST		1
20 #define RADIUS_CODE_ACCESS_ACCEPT		2
21 #define RADIUS_CODE_ACCESS_REJECT		3
22 #define RADIUS_CODE_ACCOUNT_REQUEST		4
23 #define RADIUS_CODE_ACCOUNT_RESPONSE		5
24 #define RADIUS_CODE_ACCOUNT_STATUS		6
25 #define RADIUS_CODE_PASSCHG_REQUEST		7
26 #define RADIUS_CODE_PASSCHG_ACCEPT		8
27 #define RADIUS_CODE_PASSCHG_REJECT		9
28 #define RADIUS_CODE_ACCOUNT_MESSAGE		10
29 #define RADIUS_CODE_ACCESS_CHALLENGE		11
30 
31 /* ------------------------------------------------------------ */
32 
33 /* slew o' attributes */
34 
35 #define RADIUS_ATT_USER_NAME			1
36 #define RADIUS_ATT_PASSWORD			2
37 #define RADIUS_ATT_CHAP_PASS			3
38 #define RADIUS_ATT_NAS_IP			4
39 #define RADIUS_ATT_NAS_PORT			5
40 #define RADIUS_ATT_USER_SERVICE			6
41 #define RADIUS_ATT_PROTOCOL			7
42 #define RADIUS_ATT_FRAMED_ADDRESS		8
43 #define RADIUS_ATT_NETMASK			9
44 #define RADIUS_ATT_ROUTING			10
45 #define RADIUS_ATT_FILTER			11
46 #define RADIUS_ATT_MTU				12
47 #define RADIUS_ATT_COMPRESSION			13
48 #define RADIUS_ATT_LOGIN_HOST			14
49 #define RADIUS_ATT_LOGIN_SERVICE		15
50 #define RADIUS_ATT_LOGIN_TCP_PORT		16
51 #define RADIUS_ATT_OLD_PASSWORD			17
52 #define RADIUS_ATT_PORT_MESSAGE			18
53 #define RADIUS_ATT_DIALBACK_NO			19
54 #define RADIUS_ATT_DIALBACK_NAME		20
55 #define RADIUS_ATT_EXPIRATION			21
56 #define RADIUS_ATT_FRAMED_ROUTE			22
57 #define RADIUS_ATT_FRAMED_IPX			23
58 #define RADIUS_ATT_CHALLENGE_STATE		24
59 #define RADIUS_ATT_CLASS			25
60 #define RADIUS_ATT_VENDOR_SPECIFIC		26
61 #define RADIUS_ATT_SESSION_TIMEOUT		27
62 #define RADIUS_ATT_IDLE_TIMEOUT			28
63 #define RADIUS_ATT_TERMINATE_ACTION		29
64 #define RADIUS_ATT_CALLED_ID			30
65 #define RADIUS_ATT_CALLER_ID			31
66 
67 #define RADIUS_ATT_STATUS_TYPE			40
68 
69 /* the accounting attributes change way too much
70  * for me to want to hardcode them in.
71  */
72 
73 /* ------------------------------------------------------------ */
74 
75 /* RADIUS packet header */
76 
77 #define RADFIXEDSZ		20
78 
79 struct radius_header {
80 	u_char	code;
81 	u_char 	id;
82 	u_short len;
83 	u_char 	auth[16];
84 };
85 
86 /* ------------------------------------------------------------ */
87