added new VIDs
[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: vendor.h,v 1.30 2006/04/12 16:44:28 as Exp $
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_STRONGSWAN = 34,
56 VID_STRONGSWAN_2_2_0 = 35,
57 VID_STRONGSWAN_2_2_1 = 36,
58 VID_STRONGSWAN_2_2_2 = 37,
59 VID_STRONGSWAN_2_3_0 = 38,
60 VID_STRONGSWAN_2_3_1 = 39,
61 VID_STRONGSWAN_2_3_2 = 40,
62 VID_STRONGSWAN_2_4_0 = 41,
63 VID_STRONGSWAN_2_4_1 = 42,
64 VID_STRONGSWAN_2_4_2 = 43,
65 VID_STRONGSWAN_2_4_3 = 44,
66 VID_STRONGSWAN_2_4_4 = 45,
67 VID_STRONGSWAN_2_5_0 = 46,
68 VID_STRONGSWAN_2_5_1 = 47,
69 VID_STRONGSWAN_2_5_2 = 48,
70 VID_STRONGSWAN_2_5_3 = 49,
71 VID_STRONGSWAN_2_5_4 = 50,
72 VID_STRONGSWAN_2_5_5 = 51,
73 VID_STRONGSWAN_2_5_6 = 52,
74 VID_STRONGSWAN_2_5_7 = 53,
75 VID_STRONGSWAN_2_6_0 = 54,
76 VID_STRONGSWAN_2_6_1 = 56,
77 VID_STRONGSWAN_2_6_2 = 56,
78 VID_STRONGSWAN_2_6_3 = 57,
79 VID_STRONGSWAN_2_6_4 = 58,
80 VID_STRONGSWAN_2_7_0 = 59,
81 VID_STRONGSWAN_2_7_1 = 60,
82 VID_STRONGSWAN_2_7_2 = 61,
83 VID_STRONGSWAN_2_7_3 = 62,
84 VID_STRONGSWAN_2_8_0 = 63,
85
86 VID_STRONGSWAN_4_0_0 = 70,
87 VID_STRONGSWAN_4_0_1 = 71,
88 VID_STRONGSWAN_4_0_2 = 72,
89 VID_STRONGSWAN_4_0_3 = 73,
90 VID_STRONGSWAN_4_0_4 = 74,
91
92 /* 101 - 200 : NAT-Traversal */
93 VID_NATT_STENBERG_01 =101,
94 VID_NATT_STENBERG_02 =102,
95 VID_NATT_HUTTUNEN =103,
96 VID_NATT_HUTTUNEN_ESPINUDP =104,
97 VID_NATT_IETF_00 =105,
98 VID_NATT_IETF_02_N =106,
99 VID_NATT_IETF_02 =107,
100 VID_NATT_IETF_03 =108,
101 VID_NATT_RFC =109,
102
103 /* 201 - 300 : Misc */
104 VID_MISC_XAUTH =201,
105 VID_MISC_DPD =202,
106 VID_MISC_HEARTBEAT_NOTIFY =203,
107 VID_MISC_FRAGMENTATION =204,
108 VID_INITIAL_CONTACT =205,
109 VID_CISCO3K_FRAGMENTATION =206
110 };
111
112 void init_vendorid(void);
113
114 struct msg_digest;
115 void handle_vendorid (struct msg_digest *md, const char *vid, size_t len);
116
117 bool out_vendorid (u_int8_t np, pb_stream *outs, enum known_vendorid vid);
118
119 #endif /* _VENDOR_H_ */
120