#2013_09_29 星期日 add by greshem
iso_copy_out_to_desktop.pl "sdb1:\sdb4\f8_srpm_done\iso_3.iso\\o\\op\\openssh-4.7p1-2.fc8.src.chm"
openssh-4.7p1-2.fc8.src
openssh-4.7p1-noacss/sshd.c main(int ac, char **av)
main 1227
initialize_server_options(&options);
SSLeay_add_all_algorithms();
key_load_private(options.host_key_files[i], "", NULL);
arc4random_stir();
#inet
server_accept_inetd(&sock_in, &sock_out);
#stand alone
server_listen();
server_accept_loop(&sock_in, &sock_out,
#fork 之后的 客户端的处理 的进程
packet_set_connection(sock_in, sock_out);
packet_set_server();
get_canonical_hostname(0);
sshd_exchange_identification(sock_in, sock_out);
packet_set_nonblocking();
do_ssh2_kex();
do_authentication2(authctxt);
do_ssh1_kex();
do_authentication(authctxt);
do_authenticated(authctxt);
do_authentication2(Authctxt *authctxt)
dispatch_init(&dispatch_protocol_error);
dispatch_set(SSH2_MSG_SERVICE_REQUEST, &input_service_request);
dispatch_run(DISPATCH_BLOCK, &authctxt->success, authctxt);
packet_read_seqnr(&seqnr);
packet_read_poll_seqnr(&seqnr);
(*dispatch[type])(type, seqnr, ctxt);
#dispatch_set 分发函数的注册 openssh-4.7p1-noacss/serverloop.c
SSH2_MSG_CHANNEL_CLOSE &channel_input_oclose);
SSH2_MSG_CHANNEL_DATA &channel_input_data);
SSH2_MSG_CHANNEL_EOF &channel_input_ieof);
SSH2_MSG_CHANNEL_EXTENDED_DATA &channel_input_extended_data);
SSH2_MSG_CHANNEL_OPEN &server_input_channel_open);
SSH2_MSG_CHANNEL_OPEN_CONFIRMATION &channel_input_open_confirmation);
SSH2_MSG_CHANNEL_OPEN_FAILURE &channel_input_open_failure);
SSH2_MSG_CHANNEL_REQUEST &server_input_channel_req);
SSH2_MSG_CHANNEL_WINDOW_ADJUST &channel_input_window_adjust);
SSH2_MSG_GLOBAL_REQUEST &server_input_global_request);
SSH2_MSG_CHANNEL_FAILURE &server_input_keep_alive);
SSH2_MSG_REQUEST_SUCCESS &server_input_keep_alive);
SSH2_MSG_REQUEST_FAILURE &server_input_keep_alive);
SSH2_MSG_KEXINIT &kex_input_kexinit);
SSH_CMSG_EOF &server_input_eof);
SSH_CMSG_STDIN_DATA &server_input_stdin_data);
SSH_CMSG_WINDOW_SIZE &server_input_window_size);
SSH_MSG_CHANNEL_CLOSE &channel_input_close);
SSH_MSG_CHANNEL_CLOSE_CONFIRMATION &channel_input_close_confirmation);
SSH_MSG_CHANNEL_DATA &channel_input_data);
SSH_MSG_CHANNEL_OPEN_CONFIRMATION &channel_input_open_confirmation);
SSH_MSG_CHANNEL_OPEN_FAILURE &channel_input_open_failure);
SSH_MSG_PORT_OPEN &channel_input_port_open);
SSH_MSG_CHANNEL_CLOSE &channel_input_ieof);
SSH_MSG_CHANNEL_CLOSE_CONFIRMATION &channel_input_oclose);
阅读(6499) | 评论(0) | 转发(0) |