Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/ssh.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 6717 by doda, Fri May 12 12:42:07 2017 UTC revision 6801 by doda, Tue Jun 13 10:30:12 2017 UTC
# Line 587  typedef struct _SSHPacketHandlerItem SSH Line 587  typedef struct _SSHPacketHandlerItem SSH
587  struct _SSHPacketHandlerItem {  struct _SSHPacketHandlerItem {
588          SSHPacketHandler handler;          SSHPacketHandler handler;
589          /* Circular list of handlers for given message */          /* Circular list of handlers for given message */
590          SSHPacketHandlerItem FAR * next_for_message;          SSHPacketHandlerItem *next_for_message;
591          SSHPacketHandlerItem FAR * last_for_message;          SSHPacketHandlerItem *last_for_message;
592          /* Circular list of handlers in set */          /* Circular list of handlers in set */
593          SSHPacketHandlerItem FAR * next_in_set;          SSHPacketHandlerItem *next_in_set;
594          int active_for_message;          int active_for_message;
595  };  };
596    
597  typedef struct {  typedef struct {
598          char FAR * hostname;          char *hostname;
599    
600          int server_protocol_flags;          int server_protocol_flags;
601          char FAR * server_ID;          char *server_ID;
602    
603          /* This buffer is used to hold the outgoing data, and encrypted in-place          /* This buffer is used to hold the outgoing data, and encrypted in-place
604             here if necessary. */             here if necessary. */
605          unsigned char FAR * outbuf;          unsigned char *outbuf;
606          long outbuflen;          long outbuflen;
607          /* This buffer is used by the SSH protocol processing to store uncompressed          /* This buffer is used by the SSH protocol processing to store uncompressed
608             packet data for compression. User data is never streamed through here;             packet data for compression. User data is never streamed through here;
609             it is compressed directly from the user's buffer. */             it is compressed directly from the user's buffer. */
610          unsigned char FAR * precompress_outbuf;          unsigned char *precompress_outbuf;
611          long precompress_outbuflen;          long precompress_outbuflen;
612          /* this is the length of the packet data, including the type header */          /* this is the length of the packet data, including the type header */
613          long outgoing_packet_len;          long outgoing_packet_len;
# Line 615  typedef struct { Line 615  typedef struct {
615          /* This buffer is used by the SSH protocol processing to store decompressed          /* This buffer is used by the SSH protocol processing to store decompressed
616             packet data. User data is never streamed through here; it is decompressed             packet data. User data is never streamed through here; it is decompressed
617             directly to the user's buffer. */             directly to the user's buffer. */
618          unsigned char FAR * postdecompress_inbuf;          unsigned char *postdecompress_inbuf;
619          long postdecompress_inbuflen;          long postdecompress_inbuflen;
620    
621          unsigned char FAR * payload;          unsigned char *payload;
622          long payload_grabbed;          long payload_grabbed;
623          long payloadlen;          long payloadlen;
624          long payload_datastart;          long payload_datastart;
# Line 633  typedef struct { Line 633  typedef struct {
633          BOOL decompressing;          BOOL decompressing;
634          int compression_level;          int compression_level;
635    
636          SSHPacketHandlerItem FAR * packet_handlers[256];          SSHPacketHandlerItem *packet_handlers[256];
637          int status_flags;          int status_flags;
638    
639          int win_cols;          int win_cols;
# Line 651  typedef struct { Line 651  typedef struct {
651    
652  void SSH_init(PTInstVar pvar);  void SSH_init(PTInstVar pvar);
653  void SSH_open(PTInstVar pvar);  void SSH_open(PTInstVar pvar);
654  void SSH_notify_disconnecting(PTInstVar pvar, char FAR * reason);  void SSH_notify_disconnecting(PTInstVar pvar, char *reason);
655  /* SSH_handle_server_ID returns TRUE iff a valid ID string has been  /* SSH_handle_server_ID returns TRUE iff a valid ID string has been
656     received. If it returns FALSE, we need to keep looking for another     received. If it returns FALSE, we need to keep looking for another
657     ID string. */     ID string. */
658  BOOL SSH_handle_server_ID(PTInstVar pvar, char FAR * ID, int ID_len);  BOOL SSH_handle_server_ID(PTInstVar pvar, char *ID, int ID_len);
659  /* SSH_handle_packet requires NO PAYLOAD on entry.  /* SSH_handle_packet requires NO PAYLOAD on entry.
660     'len' is the size of the packet: payload + padding (+ CRC for SSHv1)     'len' is the size of the packet: payload + padding (+ CRC for SSHv1)
661     'padding' is the size of the padding.     'padding' is the size of the padding.
662     'data' points to the start of the packet data (the length field)     'data' points to the start of the packet data (the length field)
663  */  */
664  void SSH_handle_packet(PTInstVar pvar, char FAR * data, int len, int padding);  void SSH_handle_packet(PTInstVar pvar, char *data, int len, int padding);
665  void SSH_notify_win_size(PTInstVar pvar, int cols, int rows);  void SSH_notify_win_size(PTInstVar pvar, int cols, int rows);
666  void SSH_notify_user_name(PTInstVar pvar);  void SSH_notify_user_name(PTInstVar pvar);
667  void SSH_notify_cred(PTInstVar pvar);  void SSH_notify_cred(PTInstVar pvar);
668  void SSH_notify_host_OK(PTInstVar pvar);  void SSH_notify_host_OK(PTInstVar pvar);
669  void SSH_send(PTInstVar pvar, unsigned char const FAR * buf, unsigned int buflen);  void SSH_send(PTInstVar pvar, unsigned char const *buf, unsigned int buflen);
670  /* SSH_extract_payload returns number of bytes extracted */  /* SSH_extract_payload returns number of bytes extracted */
671  int SSH_extract_payload(PTInstVar pvar, unsigned char FAR * dest, int len);  int SSH_extract_payload(PTInstVar pvar, unsigned char *dest, int len);
672  void SSH_end(PTInstVar pvar);  void SSH_end(PTInstVar pvar);
673    
674  void SSH_get_server_ID_info(PTInstVar pvar, char FAR * dest, int len);  void SSH_get_server_ID_info(PTInstVar pvar, char *dest, int len);
675  void SSH_get_protocol_version_info(PTInstVar pvar, char FAR * dest, int len);  void SSH_get_protocol_version_info(PTInstVar pvar, char *dest, int len);
676  void SSH_get_compression_info(PTInstVar pvar, char FAR * dest, int len);  void SSH_get_compression_info(PTInstVar pvar, char *dest, int len);
677  void SSH_get_mac_info(PTInstVar pvar, char FAR * dest, int len);  void SSH_get_mac_info(PTInstVar pvar, char *dest, int len);
678    
679  /* len must be <= SSH_MAX_SEND_PACKET_SIZE */  /* len must be <= SSH_MAX_SEND_PACKET_SIZE */
680  void SSH_channel_send(PTInstVar pvar, int channel_num,  void SSH_channel_send(PTInstVar pvar, int channel_num,
681                        uint32 remote_channel_num,                        uint32 remote_channel_num,
682                        unsigned char FAR * buf, int len, int retry);                        unsigned char *buf, int len, int retry);
683  void SSH_fail_channel_open(PTInstVar pvar, uint32 remote_channel_num);  void SSH_fail_channel_open(PTInstVar pvar, uint32 remote_channel_num);
684  void SSH_confirm_channel_open(PTInstVar pvar, uint32 remote_channel_num, uint32 local_channel_num);  void SSH_confirm_channel_open(PTInstVar pvar, uint32 remote_channel_num, uint32 local_channel_num);
685  void SSH_channel_output_eof(PTInstVar pvar, uint32 remote_channel_num);  void SSH_channel_output_eof(PTInstVar pvar, uint32 remote_channel_num);
686  void SSH_channel_input_eof(PTInstVar pvar, uint32 remote_channel_num, uint32 local_channel_num);  void SSH_channel_input_eof(PTInstVar pvar, uint32 remote_channel_num, uint32 local_channel_num);
687  void SSH_request_forwarding(PTInstVar pvar, char FAR * bind_address, int from_server_port,  void SSH_request_forwarding(PTInstVar pvar, char *bind_address, int from_server_port,
688                              char FAR * to_local_host, int to_local_port);                              char *to_local_host, int to_local_port);
689  void SSH_cancel_request_forwarding(PTInstVar pvar, char FAR * bind_address, int from_server_port, int reply);  void SSH_cancel_request_forwarding(PTInstVar pvar, char *bind_address, int from_server_port, int reply);
690  void SSH_request_X11_forwarding(PTInstVar pvar,  void SSH_request_X11_forwarding(PTInstVar pvar,
691    char FAR * auth_protocol, unsigned char FAR * auth_data, int auth_data_len, int screen_num);    char *auth_protocol, unsigned char *auth_data, int auth_data_len, int screen_num);
692  void SSH_open_channel(PTInstVar pvar, uint32 local_channel_num,  void SSH_open_channel(PTInstVar pvar, uint32 local_channel_num,
693                        char FAR * to_remote_host, int to_remote_port,                        char *to_remote_host, int to_remote_port,
694                        char FAR * originator, unsigned short originator_port);                        char *originator, unsigned short originator_port);
695    
696  int SSH_start_scp(PTInstVar pvar, char *sendfile, char *dstfile);  int SSH_start_scp(PTInstVar pvar, char *sendfile, char *dstfile);
697  int SSH_start_scp_receive(PTInstVar pvar, char *filename);  int SSH_start_scp_receive(PTInstVar pvar, char *filename);
# Line 702  int SSH_sftp_transaction(PTInstVar pvar) Line 702  int SSH_sftp_transaction(PTInstVar pvar)
702  int SSH_get_min_packet_size(PTInstVar pvar);  int SSH_get_min_packet_size(PTInstVar pvar);
703  /* data is guaranteed to be at least SSH_get_min_packet_size bytes long  /* data is guaranteed to be at least SSH_get_min_packet_size bytes long
704     at least 5 bytes must be decrypted */     at least 5 bytes must be decrypted */
705  void SSH_predecrpyt_packet(PTInstVar pvar, char FAR * data);  void SSH_predecrpyt_packet(PTInstVar pvar, char *data);
706  int SSH_get_clear_MAC_size(PTInstVar pvar);  int SSH_get_clear_MAC_size(PTInstVar pvar);
707    
708  #define SSH_is_any_payload(pvar) ((pvar)->ssh_state.payload_datalen > 0)  #define SSH_is_any_payload(pvar) ((pvar)->ssh_state.payload_datalen > 0)
# Line 822  typedef struct channel { Line 822  typedef struct channel {
822          unsigned int state;          unsigned int state;
823  } Channel_t;  } Channel_t;
824    
825  unsigned char FAR *begin_send_packet(PTInstVar pvar, int type, int len);  unsigned char *begin_send_packet(PTInstVar pvar, int type, int len);
826  void finish_send_packet_special(PTInstVar pvar, int skip_compress);  void finish_send_packet_special(PTInstVar pvar, int skip_compress);
827  void SSH2_send_channel_data(PTInstVar pvar, Channel_t *c, unsigned char FAR * buf, unsigned int buflen, int retry);  void SSH2_send_channel_data(PTInstVar pvar, Channel_t *c, unsigned char *buf, unsigned int buflen, int retry);
828    
829  #define finish_send_packet(pvar) finish_send_packet_special((pvar), 0)  #define finish_send_packet(pvar) finish_send_packet_special((pvar), 0)
830  #define get_payload_uint32(pvar, offset) get_uint32_MSBfirst((pvar)->ssh_state.payload + (offset))  #define get_payload_uint32(pvar, offset) get_uint32_MSBfirst((pvar)->ssh_state.payload + (offset))

Legend:
Removed from v.6717  
changed lines
  Added in v.6801

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26