version bump to 4.1.10
[strongswan.git] / src / pluto / vendor.h
1 /* FreeS/WAN ISAKMP VendorID
2 * Copyright (C) 2002-2003 Mathieu Lafon - Arkoon Network Security
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * for more details.
13 *
14 * RCSID $Id$
15 */
16
17 #ifndef _VENDOR_H_
18 #define _VENDOR_H_
19
20 enum known_vendorid {
21 /* 1 - 100 : Implementation names */
22 VID_OPENPGP = 1,
23 VID_KAME_RACOON = 2,
24 VID_MS_NT5 = 3,
25 VID_SSH_SENTINEL = 4,
26 VID_SSH_SENTINEL_1_1 = 5,
27 VID_SSH_SENTINEL_1_2 = 6,
28 VID_SSH_SENTINEL_1_3 = 7,
29 VID_SSH_SENTINEL_1_4 = 8,
30 VID_SSH_SENTINEL_1_4_1 = 9,
31 VID_SSH_IPSEC_1_1_0 = 10,
32 VID_SSH_IPSEC_1_1_1 = 11,
33 VID_SSH_IPSEC_1_1_2 = 12,
34 VID_SSH_IPSEC_1_2_1 = 13,
35 VID_SSH_IPSEC_1_2_2 = 14,
36 VID_SSH_IPSEC_2_0_0 = 15,
37 VID_SSH_IPSEC_2_1_0 = 16,
38 VID_SSH_IPSEC_2_1_1 = 17,
39 VID_SSH_IPSEC_2_1_2 = 18,
40 VID_SSH_IPSEC_3_0_0 = 19,
41 VID_SSH_IPSEC_3_0_1 = 20,
42 VID_SSH_IPSEC_4_0_0 = 21,
43 VID_SSH_IPSEC_4_0_1 = 22,
44 VID_SSH_IPSEC_4_1_0 = 23,
45 VID_SSH_IPSEC_4_2_0 = 24,
46 VID_CISCO_UNITY = 25,
47 VID_CISCO3K = 26,
48 VID_CISCO_IOS = 27,
49 VID_TIMESTEP = 28,
50 VID_SAFENET = 29,
51 VID_MACOSX = 30,
52 VID_OPENSWAN2 = 31,
53 VID_NCP_SERVER = 32,
54 VID_NCP_CLIENT = 33,
55 VID_VISTA_AUTHIP = 34,
56 VID_VISTA_AUTHIP2 = 35,
57 VID_VISTA_AUTHIP3 = 36,
58
59 VID_STRONGSWAN = 37,
60 VID_STRONGSWAN_2_2_0 = 38,
61 VID_STRONGSWAN_2_2_1 = 39,
62 VID_STRONGSWAN_2_2_2 = 40,
63 VID_STRONGSWAN_2_3_0 = 41,
64 VID_STRONGSWAN_2_3_1 = 42,
65 VID_STRONGSWAN_2_3_2 = 43,
66 VID_STRONGSWAN_2_4_0 = 44,
67 VID_STRONGSWAN_2_4_1 = 45,
68 VID_STRONGSWAN_2_4_2 = 46,
69 VID_STRONGSWAN_2_4_3 = 47,
70 VID_STRONGSWAN_2_4_4 = 48,
71 VID_STRONGSWAN_2_5_0 = 49,
72 VID_STRONGSWAN_2_5_1 = 50,
73 VID_STRONGSWAN_2_5_2 = 51,
74 VID_STRONGSWAN_2_5_3 = 52,
75 VID_STRONGSWAN_2_5_4 = 53,
76 VID_STRONGSWAN_2_5_5 = 54,
77 VID_STRONGSWAN_2_5_6 = 55,
78 VID_STRONGSWAN_2_5_7 = 56,
79 VID_STRONGSWAN_2_6_0 = 57,
80 VID_STRONGSWAN_2_6_1 = 58,
81 VID_STRONGSWAN_2_6_2 = 59,
82 VID_STRONGSWAN_2_6_3 = 60,
83 VID_STRONGSWAN_2_6_4 = 61,
84 VID_STRONGSWAN_2_7_0 = 62,
85 VID_STRONGSWAN_2_7_1 = 63,
86 VID_STRONGSWAN_2_7_2 = 64,
87 VID_STRONGSWAN_2_7_3 = 65,
88 VID_STRONGSWAN_2_8_0 = 66,
89 VID_STRONGSWAN_2_8_1 = 67,
90 VID_STRONGSWAN_2_8_2 = 68,
91 VID_STRONGSWAN_2_8_3 = 69,
92 VID_STRONGSWAN_2_8_4 = 70,
93 VID_STRONGSWAN_2_8_5 = 71,
94 VID_STRONGSWAN_2_8_6 = 72,
95 VID_STRONGSWAN_2_8_7 = 73,
96 VID_STRONGSWAN_2_8_8 = 74,
97
98 VID_STRONGSWAN_4_0_0 = 80,
99 VID_STRONGSWAN_4_0_1 = 81,
100 VID_STRONGSWAN_4_0_2 = 82,
101 VID_STRONGSWAN_4_0_3 = 83,
102 VID_STRONGSWAN_4_0_4 = 84,
103 VID_STRONGSWAN_4_0_5 = 85,
104 VID_STRONGSWAN_4_0_6 = 86,
105 VID_STRONGSWAN_4_0_7 = 87,
106 VID_STRONGSWAN_4_1_0 = 88,
107 VID_STRONGSWAN_4_1_1 = 89,
108 VID_STRONGSWAN_4_1_2 = 90,
109 VID_STRONGSWAN_4_1_3 = 91,
110 VID_STRONGSWAN_4_1_4 = 92,
111 VID_STRONGSWAN_4_1_5 = 93,
112 VID_STRONGSWAN_4_1_6 = 94,
113 VID_STRONGSWAN_4_1_7 = 95,
114 VID_STRONGSWAN_4_1_8 = 96,
115 VID_STRONGSWAN_4_1_9 = 97,
116
117 /* 101 - 200 : NAT-Traversal */
118 VID_NATT_STENBERG_01 =101,
119 VID_NATT_STENBERG_02 =102,
120 VID_NATT_HUTTUNEN =103,
121 VID_NATT_HUTTUNEN_ESPINUDP =104,
122 VID_NATT_IETF_00 =105,
123 VID_NATT_IETF_02_N =106,
124 VID_NATT_IETF_02 =107,
125 VID_NATT_IETF_03 =108,
126 VID_NATT_RFC =109,
127
128 /* 201 - 300 : Misc */
129 VID_MISC_XAUTH =201,
130 VID_MISC_DPD =202,
131 VID_MISC_HEARTBEAT_NOTIFY =203,
132 VID_MISC_FRAGMENTATION =204,
133 VID_INITIAL_CONTACT =205,
134 VID_CISCO3K_FRAGMENTATION =206
135 };
136
137 void init_vendorid(void);
138
139 struct msg_digest;
140 void handle_vendorid (struct msg_digest *md, const char *vid, size_t len);
141
142 bool out_vendorid (u_int8_t np, pb_stream *outs, enum known_vendorid vid);
143
144 #endif /* _VENDOR_H_ */
145