ssh2.h revision 60573
1/*
2 * draft-ietf-secsh-architecture-04.txt
3 *
4 *   Transport layer protocol:
5 *
6 *     1-19     Transport layer generic (e.g. disconnect, ignore, debug,
7 *              etc)
8 *     20-29    Algorithm negotiation
9 *     30-49    Key exchange method specific (numbers can be reused for
10 *              different authentication methods)
11 *
12 *   User authentication protocol:
13 *
14 *     50-59    User authentication generic
15 *     60-79    User authentication method specific (numbers can be reused
16 *              for different authentication methods)
17 *
18 *   Connection protocol:
19 *
20 *     80-89    Connection protocol generic
21 *     90-127   Channel related messages
22 *
23 *   Reserved for client protocols:
24 *
25 *     128-191  Reserved
26 *
27 *   Local extensions:
28 *
29 *     192-255  Local extensions
30 */
31
32/* transport layer: generic */
33
34#define SSH2_MSG_DISCONNECT				1
35#define SSH2_MSG_IGNORE					2
36#define SSH2_MSG_UNIMPLEMENTED				3
37#define SSH2_MSG_DEBUG					4
38#define SSH2_MSG_SERVICE_REQUEST			5
39#define SSH2_MSG_SERVICE_ACCEPT				6
40
41/* transport layer: alg negotiation */
42
43#define SSH2_MSG_KEXINIT				20
44#define SSH2_MSG_NEWKEYS				21
45
46/* transport layer: kex specific messages, can be reused */
47
48#define SSH2_MSG_KEXDH_INIT				30
49#define SSH2_MSG_KEXDH_REPLY				31
50
51/* user authentication: generic */
52
53#define SSH2_MSG_USERAUTH_REQUEST			50
54#define SSH2_MSG_USERAUTH_FAILURE			51
55#define SSH2_MSG_USERAUTH_SUCCESS			52
56#define SSH2_MSG_USERAUTH_BANNER			53
57
58/* user authentication: method specific, can be reused */
59
60#define SSH2_MSG_USERAUTH_PK_OK				60
61#define SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ		60
62#define SSH2_MSG_USERAUTH_INFO_REQUEST			60
63#define SSH2_MSG_USERAUTH_INFO_RESPONSE			61
64
65/* connection protocol: generic */
66
67#define SSH2_MSG_GLOBAL_REQUEST				80
68#define SSH2_MSG_REQUEST_SUCCESS			81
69#define SSH2_MSG_REQUEST_FAILURE			82
70
71/* channel related messages */
72
73#define SSH2_MSG_CHANNEL_OPEN				90
74#define SSH2_MSG_CHANNEL_OPEN_CONFIRMATION		91
75#define SSH2_MSG_CHANNEL_OPEN_FAILURE			92
76#define SSH2_MSG_CHANNEL_WINDOW_ADJUST			93
77#define SSH2_MSG_CHANNEL_DATA				94
78#define SSH2_MSG_CHANNEL_EXTENDED_DATA			95
79#define SSH2_MSG_CHANNEL_EOF				96
80#define SSH2_MSG_CHANNEL_CLOSE				97
81#define SSH2_MSG_CHANNEL_REQUEST			98
82#define SSH2_MSG_CHANNEL_SUCCESS			99
83#define SSH2_MSG_CHANNEL_FAILURE			100
84
85/* disconnect reason code */
86
87#define SSH2_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT	1
88#define SSH2_DISCONNECT_PROTOCOL_ERROR			2
89#define SSH2_DISCONNECT_KEY_EXCHANGE_FAILED		3
90#define SSH2_DISCONNECT_HOST_AUTHENTICATION_FAILED	4
91#define SSH2_DISCONNECT_MAC_ERROR			5
92#define SSH2_DISCONNECT_COMPRESSION_ERROR		6
93#define SSH2_DISCONNECT_SERVICE_NOT_AVAILABLE		7
94#define SSH2_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED	8
95#define SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE		9
96#define SSH2_DISCONNECT_CONNECTION_LOST			10
97#define SSH2_DISCONNECT_BY_APPLICATION			11
98
99/* misc */
100
101#define SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED		1
102#define SSH2_OPEN_CONNECT_FAILED			2
103#define SSH2_OPEN_UNKNOWN_CHANNEL_TYPE			3
104#define SSH2_OPEN_RESOURCE_SHORTAGE			4
105
106#define SSH2_EXTENDED_DATA_STDERR			1
107