forked from KolibriOS/kolibrios
CP866->UTF8 input recode
git-svn-id: svn://kolibrios.org@9132 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
324586c098
commit
760d64a3cd
@ -25,7 +25,7 @@ PACKETSIZE = 32*1024 ; Must be at least 32K according rfc4253
|
|||||||
MAX_BITS = 8192
|
MAX_BITS = 8192
|
||||||
|
|
||||||
DH_PRIVATE_KEY_SIZE = 256
|
DH_PRIVATE_KEY_SIZE = 256
|
||||||
MAX_INPUT_LENGTH = 255 ;;; WHAT WAS THIS AGAIN ?!
|
MAX_INPUT_LENGTH = 255
|
||||||
MAX_USERNAME_LENGTH = 256
|
MAX_USERNAME_LENGTH = 256
|
||||||
MAX_PASSWORD_LENGTH = 256
|
MAX_PASSWORD_LENGTH = 256
|
||||||
MAX_HOSTNAME_LENGTH = 4096
|
MAX_HOSTNAME_LENGTH = 4096
|
||||||
@ -422,11 +422,17 @@ con_in_thread:
|
|||||||
.loop:
|
.loop:
|
||||||
; TODO: check if channel is still open somehow
|
; TODO: check if channel is still open somehow
|
||||||
|
|
||||||
invoke con_get_input, ssh_msg_channel_data.data, MAX_INPUT_LENGTH
|
invoke con_get_input, keyb_input, MAX_INPUT_LENGTH
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .no_input
|
jz .no_input
|
||||||
|
|
||||||
lea ecx, [eax + ssh_msg_channel_data.data - ssh_msg_channel_data]
|
mov ecx, eax
|
||||||
|
mov esi, keyb_input
|
||||||
|
mov edi, ssh_msg_channel_data.data
|
||||||
|
call recode_to_utf8
|
||||||
|
|
||||||
|
lea eax, [edi - ssh_msg_channel_data.data]
|
||||||
|
lea ecx, [edi - ssh_msg_channel_data]
|
||||||
bswap eax
|
bswap eax
|
||||||
mov [ssh_msg_channel_data.len], eax
|
mov [ssh_msg_channel_data.len], eax
|
||||||
stdcall sshlib_send_packet, ssh_con, ssh_msg_channel_data, ecx, 0
|
stdcall sshlib_send_packet, ssh_con, ssh_msg_channel_data, ecx, 0
|
||||||
@ -481,7 +487,7 @@ str24b db 10, 10, "If you trust this host, press A to accept and store the (new
|
|||||||
ssh_ident_ha:
|
ssh_ident_ha:
|
||||||
dd_n (ssh_msg_ident.length-2)
|
dd_n (ssh_msg_ident.length-2)
|
||||||
ssh_msg_ident:
|
ssh_msg_ident:
|
||||||
db "SSH-2.0-KolibriOS_SSH_0.08",13,10
|
db "SSH-2.0-KolibriOS_SSH_0.09",13,10
|
||||||
.length = $ - ssh_msg_ident
|
.length = $ - ssh_msg_ident
|
||||||
|
|
||||||
|
|
||||||
@ -577,7 +583,7 @@ ssh_msg_channel_data:
|
|||||||
db SSH_MSG_CHANNEL_DATA
|
db SSH_MSG_CHANNEL_DATA
|
||||||
dd_n 0 ; Sender channel
|
dd_n 0 ; Sender channel
|
||||||
.len dd ?
|
.len dd ?
|
||||||
.data rb MAX_INPUT_LENGTH + 1
|
.data rb 4*MAX_INPUT_LENGTH + 1
|
||||||
|
|
||||||
|
|
||||||
ssh_msg_channel_window_adjust:
|
ssh_msg_channel_window_adjust:
|
||||||
@ -643,4 +649,6 @@ params rb MAX_HOSTNAME_LENGTH
|
|||||||
ssh_con sshlib_connection
|
ssh_con sshlib_connection
|
||||||
ssh_chan sshlib_channel
|
ssh_chan sshlib_channel
|
||||||
|
|
||||||
|
keyb_input rb MAX_INPUT_LENGTH
|
||||||
|
|
||||||
mem:
|
mem:
|
||||||
|
Loading…
Reference in New Issue
Block a user