Home | History | Annotate | Download | only in dropbear
      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