huangcm
2025-02-24 69ed55dec4b2116a19e4cca4393cbc014fce5fb2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/* $OpenBSD: ssh1.h,v 1.7 2016/05/04 14:22:33 markus Exp $ */
 
/*
 * Author: Tatu Ylonen <ylo@cs.hut.fi>
 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
 *                    All rights reserved
 *
 * As far as I am concerned, the code I have written for this software
 * can be used freely for any purpose.  Any derived versions of this
 * software must be clearly marked as such, and if the derived work is
 * incompatible with the protocol description in the RFC file, it must be
 * called by a name other than "ssh" or "Secure Shell".
 */
 
/*
 * Definition of message types.  New values can be added, but old values
 * should not be removed or without careful consideration of the consequences
 * for compatibility.  The maximum value is 254; value 255 is reserved for
 * future extension.
 */
/* Ranges */
#define SSH_MSG_MIN                1
#define SSH_MSG_MAX                254
/* Message name */            /* msg code */    /* arguments */
#define SSH_MSG_DISCONNECT            1    /* cause (string) */
#define SSH_SMSG_PUBLIC_KEY            2    /* ck,msk,srvk,hostk */
#define SSH_CMSG_SESSION_KEY            3    /* key (BIGNUM) */
#define SSH_CMSG_USER                4    /* user (string) */
#define SSH_CMSG_AUTH_RHOSTS            5    /* user (string) */
#define SSH_CMSG_AUTH_RSA            6    /* modulus (BIGNUM) */
#define SSH_SMSG_AUTH_RSA_CHALLENGE        7    /* int (BIGNUM) */
#define SSH_CMSG_AUTH_RSA_RESPONSE        8    /* int (BIGNUM) */
#define SSH_CMSG_AUTH_PASSWORD            9    /* pass (string) */
#define SSH_CMSG_REQUEST_PTY            10    /* TERM, tty modes */
#define SSH_CMSG_WINDOW_SIZE            11    /* row,col,xpix,ypix */
#define SSH_CMSG_EXEC_SHELL            12    /* */
#define SSH_CMSG_EXEC_CMD            13    /* cmd (string) */
#define SSH_SMSG_SUCCESS            14    /* */
#define SSH_SMSG_FAILURE            15    /* */
#define SSH_CMSG_STDIN_DATA            16    /* data (string) */
#define SSH_SMSG_STDOUT_DATA            17    /* data (string) */
#define SSH_SMSG_STDERR_DATA            18    /* data (string) */
#define SSH_CMSG_EOF                19    /* */
#define SSH_SMSG_EXITSTATUS            20    /* status (int) */
#define SSH_MSG_CHANNEL_OPEN_CONFIRMATION    21    /* channel (int) */
#define SSH_MSG_CHANNEL_OPEN_FAILURE        22    /* channel (int) */
#define SSH_MSG_CHANNEL_DATA            23    /* ch,data (int,str) */
#define SSH_MSG_CHANNEL_CLOSE            24    /* channel (int) */
#define SSH_MSG_CHANNEL_CLOSE_CONFIRMATION    25    /* channel (int) */
/*      SSH_CMSG_X11_REQUEST_FORWARDING        26       OBSOLETE */
#define SSH_SMSG_X11_OPEN            27    /* channel (int) */
#define SSH_CMSG_PORT_FORWARD_REQUEST        28    /* p,host,hp (i,s,i) */
#define SSH_MSG_PORT_OPEN            29    /* ch,h,p (i,s,i) */
#define SSH_CMSG_AGENT_REQUEST_FORWARDING    30    /* */
#define SSH_SMSG_AGENT_OPEN            31    /* port (int) */
#define SSH_MSG_IGNORE                32    /* string */
#define SSH_CMSG_EXIT_CONFIRMATION        33    /* */
#define SSH_CMSG_X11_REQUEST_FORWARDING        34    /* proto,data (s,s) */
#define SSH_CMSG_AUTH_RHOSTS_RSA        35    /* user,mod (s,mpi) */
#define SSH_MSG_DEBUG                36    /* string */
#define SSH_CMSG_REQUEST_COMPRESSION        37    /* level 1-9 (int) */
#define SSH_CMSG_MAX_PACKET_SIZE        38    /* size 4k-1024k (int) */
#define SSH_CMSG_AUTH_TIS            39    /* we use this for s/key */
#define SSH_SMSG_AUTH_TIS_CHALLENGE        40    /* challenge (string) */
#define SSH_CMSG_AUTH_TIS_RESPONSE        41    /* response (string) */
#define SSH_CMSG_AUTH_KERBEROS            42    /* (KTEXT) */
#define SSH_SMSG_AUTH_KERBEROS_RESPONSE        43    /* (KTEXT) */
#define SSH_CMSG_HAVE_KERBEROS_TGT        44    /* credentials (s) */
#define SSH_CMSG_HAVE_AFS_TOKEN            65    /* token (s) */
 
/* protocol version 1.5 overloads some version 1.3 message types */
#define SSH_MSG_CHANNEL_INPUT_EOF    SSH_MSG_CHANNEL_CLOSE
#define SSH_MSG_CHANNEL_OUTPUT_CLOSE    SSH_MSG_CHANNEL_CLOSE_CONFIRMATION
 
/*
 * Authentication methods.  New types can be added, but old types should not
 * be removed for compatibility.  The maximum allowed value is 31.
 */
#define SSH_AUTH_RHOSTS        1
#define SSH_AUTH_RSA        2
#define SSH_AUTH_PASSWORD    3
#define SSH_AUTH_RHOSTS_RSA    4
#define SSH_AUTH_TIS        5
#define SSH_AUTH_KERBEROS    6
#define SSH_PASS_KERBEROS_TGT    7
               /* 8 to 15 are reserved */
#define SSH_PASS_AFS_TOKEN    21
 
/* Protocol flags.  These are bit masks. */
#define SSH_PROTOFLAG_SCREEN_NUMBER    1    /* X11 forwarding includes screen */
#define SSH_PROTOFLAG_HOST_IN_FWD_OPEN    2    /* forwarding opens contain host */