• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Dropbear - a SSH2 server
3  *
4  * Copyright (c) 2002,2003 Matt Johnston
5  * All rights reserved.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included in
15  * all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE. */
24 
25 /* This file contains the various numbers in the protocol */
26 
27 
28 /* message numbers */
29 #define SSH_MSG_DISCONNECT             1
30 #define SSH_MSG_IGNORE                 2
31 #define SSH_MSG_UNIMPLEMENTED          3
32 #define SSH_MSG_DEBUG                  4
33 #define SSH_MSG_SERVICE_REQUEST        5
34 #define SSH_MSG_SERVICE_ACCEPT         6
35 #define SSH_MSG_KEXINIT                20
36 #define SSH_MSG_NEWKEYS                21
37 #define SSH_MSG_KEXDH_INIT             30
38 #define SSH_MSG_KEXDH_REPLY            31
39 
40 /* userauth message numbers */
41 #define SSH_MSG_USERAUTH_REQUEST            50
42 #define SSH_MSG_USERAUTH_FAILURE            51
43 #define SSH_MSG_USERAUTH_SUCCESS            52
44 #define SSH_MSG_USERAUTH_BANNER             53
45 
46 /* packets 60-79 are method-specific, aren't one-one mapping */
47 #define SSH_MSG_USERAUTH_SPECIFIC_60   60
48 
49 #define SSH_MSG_USERAUTH_PASSWD_CHANGEREQ   60
50 
51 #define SSH_MSG_USERAUTH_PK_OK				60
52 
53 /* keyboard interactive auth */
54 #define SSH_MSG_USERAUTH_INFO_REQUEST           60
55 #define SSH_MSG_USERAUTH_INFO_RESPONSE          61
56 
57 
58 /* If adding numbers here, check MAX_UNAUTH_PACKET_TYPE in process-packet.c
59  * is still valid */
60 
61 /* connect message numbers */
62 #define SSH_MSG_GLOBAL_REQUEST                  80
63 #define SSH_MSG_REQUEST_SUCCESS                 81
64 #define SSH_MSG_REQUEST_FAILURE                 82
65 #define SSH_MSG_CHANNEL_OPEN                    90
66 #define SSH_MSG_CHANNEL_OPEN_CONFIRMATION       91
67 #define SSH_MSG_CHANNEL_OPEN_FAILURE            92
68 #define SSH_MSG_CHANNEL_WINDOW_ADJUST           93
69 #define SSH_MSG_CHANNEL_DATA                    94
70 #define SSH_MSG_CHANNEL_EXTENDED_DATA           95
71 #define SSH_MSG_CHANNEL_EOF                     96
72 #define SSH_MSG_CHANNEL_CLOSE                   97
73 #define SSH_MSG_CHANNEL_REQUEST                 98
74 #define SSH_MSG_CHANNEL_SUCCESS                 99
75 #define SSH_MSG_CHANNEL_FAILURE                 100
76 
77 /* extended data types */
78 #define SSH_EXTENDED_DATA_STDERR	1
79 
80 /* disconnect codes */
81 #define SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT      1
82 #define SSH_DISCONNECT_PROTOCOL_ERROR                   2
83 #define SSH_DISCONNECT_KEY_EXCHANGE_FAILED              3
84 #define SSH_DISCONNECT_RESERVED                         4
85 #define SSH_DISCONNECT_MAC_ERROR                        5
86 #define SSH_DISCONNECT_COMPRESSION_ERROR                6
87 #define SSH_DISCONNECT_SERVICE_NOT_AVAILABLE            7
88 #define SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED   8
89 #define SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE          9
90 #define SSH_DISCONNECT_CONNECTION_LOST                 10
91 #define SSH_DISCONNECT_BY_APPLICATION                  11
92 #define SSH_DISCONNECT_TOO_MANY_CONNECTIONS            12
93 #define SSH_DISCONNECT_AUTH_CANCELLED_BY_USER          13
94 #define SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE  14
95 #define SSH_DISCONNECT_ILLEGAL_USER_NAME               15
96 
97 /* service types */
98 #define SSH_SERVICE_USERAUTH "ssh-userauth"
99 #define SSH_SERVICE_USERAUTH_LEN 12
100 #define SSH_SERVICE_CONNECTION "ssh-connection"
101 #define SSH_SERVICE_CONNECTION_LEN 14
102 
103 /* public key types */
104 #define SSH_SIGNKEY_DSS "ssh-dss"
105 #define SSH_SIGNKEY_DSS_LEN 7
106 #define SSH_SIGNKEY_RSA "ssh-rsa"
107 #define SSH_SIGNKEY_RSA_LEN 7
108