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