75 lines
1.5 KiB
Plaintext
75 lines
1.5 KiB
Plaintext
|
|
+-------------------+ +-----------------+
|
|
(Socket)InputStream ---> | secsh transport | <===> | secsh channel |
|
|
(Socket)OutputStream --> | (auth, pipe) | N | (buffer) |
|
|
+-------------------+ +-----------------+
|
|
@ feeder thread | |
|
|
- read InputStream | +-> InputStream
|
|
- feed into channel +---> OutputStream
|
|
buffers
|
|
|
|
SIS <-- @ --> (parse, find chan) --> secsh chan: buffer <-- SSHInputStream
|
|
SSHOutputStream --> secsh chan --> secsh transport --> SOS [no thread]
|
|
|
|
|
|
|
|
exported API...
|
|
|
|
from BaseTransport:
|
|
start_client
|
|
start_server
|
|
add_server_key
|
|
get_server_key
|
|
close
|
|
get_remote_server_key
|
|
is_active
|
|
is_authenticated
|
|
open_session
|
|
open_channel
|
|
renegotiate_keys
|
|
check_channel_request
|
|
|
|
from Transport:
|
|
auth_key
|
|
auth_password
|
|
get_allowed_auths
|
|
check_auth_none
|
|
check_auth_password
|
|
check_auth_publickey
|
|
accept
|
|
|
|
from Channel:
|
|
set_name
|
|
get_name
|
|
send_eof
|
|
settimeout
|
|
gettimeout
|
|
setblocking
|
|
close
|
|
recv
|
|
send
|
|
sendall
|
|
makefile
|
|
fileno
|
|
shutdown
|
|
[client:]
|
|
get_pty
|
|
invoke_shell
|
|
exec_command
|
|
invoke_subsystem
|
|
resize_pty
|
|
[server:]
|
|
check_pty_request
|
|
check_shell_request
|
|
|
|
from ChannelFile:
|
|
next
|
|
write
|
|
writelines
|
|
flush
|
|
read
|
|
readline
|
|
readlines
|
|
xreadlines
|
|
close
|