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