int cli_main(int argc, char ** argv) { #else int main(int argc, char ** argv) { #endif int sock_in, sock_out; struct dropbear_progress_connection *progress = NULL; _dropbear_exit = cli_dropbear_exit; _dropbear_log = cli_dropbear_log; disallow_core(); seedrandom(); crypto_init(); cli_getopts(argc, argv); #ifndef DISABLE_SYSLOG if (opts.usingsyslog) { startsyslog("dbclient"); } #endif TRACE(("user='******' host='%s' port='%s' bind_address='%s' bind_port='%s'", cli_opts.username, cli_opts.remotehost, cli_opts.remoteport, cli_opts.bind_address, cli_opts.bind_port)) if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { dropbear_exit("signal() error"); } pid_t proxy_cmd_pid = 0; #if DROPBEAR_CLI_PROXYCMD if (cli_opts.proxycmd) { cli_proxy_cmd(&sock_in, &sock_out, &proxy_cmd_pid); m_free(cli_opts.proxycmd); if (signal(SIGINT, kill_proxy_sighandler) == SIG_ERR || signal(SIGTERM, kill_proxy_sighandler) == SIG_ERR || signal(SIGHUP, kill_proxy_sighandler) == SIG_ERR) { dropbear_exit("signal() error"); } } else #endif { progress = connect_remote(cli_opts.remotehost, cli_opts.remoteport, cli_connected, &ses, cli_opts.bind_address, cli_opts.bind_port); sock_in = sock_out = -1; } cli_session(sock_in, sock_out, progress, proxy_cmd_pid); /* not reached */ return -1; }
int cli_main(int argc, char ** argv) { #else int main(int argc, char ** argv) { #endif int sock_in, sock_out; char* error = NULL; char* hostandport; int len; _dropbear_exit = cli_dropbear_exit; _dropbear_log = cli_dropbear_log; disallow_core(); cli_getopts(argc, argv); TRACE(("user='******' host='%s' port='%s'", cli_opts.username, cli_opts.remotehost, cli_opts.remoteport)) if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { dropbear_exit("signal() error"); } #ifdef ENABLE_CLI_PROXYCMD if (cli_opts.proxycmd) { cli_proxy_cmd(&sock_in, &sock_out); } else #endif { int sock = connect_remote(cli_opts.remotehost, cli_opts.remoteport, 0, &error); sock_in = sock_out = sock; } if (sock_in < 0) { dropbear_exit("%s", error); } /* Set up the host:port log */ len = strlen(cli_opts.remotehost); len += 10; /* 16 bit port and leeway*/ hostandport = (char*)m_malloc(len); snprintf(hostandport, len, "%s:%s", cli_opts.remotehost, cli_opts.remoteport); cli_session(sock_in, sock_out, hostandport); /* not reached */ return -1; }
int cli_main(int argc, char ** argv) { #else int main(int argc, char ** argv) { #endif int sock_in, sock_out; char* error = NULL; _dropbear_exit = cli_dropbear_exit; _dropbear_log = cli_dropbear_log; disallow_core(); seedrandom(); crypto_init(); cli_getopts(argc, argv); TRACE(("user='******' host='%s' port='%s'", cli_opts.username, cli_opts.remotehost, cli_opts.remoteport)) if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { dropbear_exit("signal() error"); } #ifdef ENABLE_CLI_PROXYCMD if (cli_opts.proxycmd) { cli_proxy_cmd(&sock_in, &sock_out); m_free(cli_opts.proxycmd); } else #endif { int sock = connect_remote(cli_opts.ipfamily, cli_opts.remotehost, cli_opts.remoteport, 0, &error); sock_in = sock_out = sock; if (cli_opts.wantpty) { set_sock_priority(sock, DROPBEAR_PRIO_LOWDELAY); } } if (sock_in < 0) { dropbear_exit("%s", error); } cli_session(sock_in, sock_out); /* not reached */ return -1; }
int cli_main(int argc, char ** argv) { #else int main(int argc, char ** argv) { #endif int sock_in, sock_out; struct dropbear_progress_connection *progress = NULL; _dropbear_exit = cli_dropbear_exit; _dropbear_log = cli_dropbear_log; disallow_core(); seedrandom(); crypto_init(); cli_getopts(argc, argv); TRACE(("user='******' host='%s' port='%s'", cli_opts.username, cli_opts.remotehost, cli_opts.remoteport)) if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { dropbear_exit("signal() error"); } #ifdef ENABLE_CLI_PROXYCMD if (cli_opts.proxycmd) { cli_proxy_cmd(&sock_in, &sock_out); m_free(cli_opts.proxycmd); } else #endif { progress = connect_remote(cli_opts.ipfamily, cli_opts.remotehost, cli_opts.remoteport, cli_connected, &ses); sock_in = sock_out = -1; } cli_session(sock_in, sock_out, progress); /* not reached */ return -1; }
int cli_main(int argc, char ** argv) { #else int main(int argc, char ** argv) { #endif #if 0 int sock_in, sock_out; char* error = NULL; #endif _dropbear_exit = cli_dropbear_exit; _dropbear_log = cli_dropbear_log; disallow_core(); cli_getopts(argc, argv); #if 0 TRACE(("user='******' host='%s' port='%s'", cli_opts.username, cli_opts.remotehost, cli_opts.remoteport)) #endif TRACE(("user='******' remotehost='%s'", cli_opts.username, cli_opts.remote_name_str)); if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { dropbear_exit("signal() error"); } #if 0 #ifdef ENABLE_CLI_PROXYCMD if (cli_opts.proxycmd) { cli_proxy_cmd(&sock_in, &sock_out); m_free(cli_opts.proxycmd); } else #endif { int sock = connect_remote(cli_opts.remotehost, cli_opts.remoteport, 0, &error); sock_in = sock_out = sock; } if (sock_in < 0) { dropbear_exit("%s", error); } cli_session(sock_in, sock_out); #endif srand(time(NULL)); cli_opts.ssh_ccn = ccn_create(); cli_opts.ccn_cached_keystore = ccn_init_keystore(); if( cli_opts.ssh_ccn == NULL || ccn_connect(cli_opts.ssh_ccn,NULL) == -1 ) dropbear_exit("Failed to connect to ccnd"); ccn_publish_host_key(); ccn_publish_client_mountpoint(); ccn_ssh_connect(cli_opts.remote_name_str); // Wait for server response ccn_run(cli_opts.ssh_ccn,-1); /* not reached */ return -1; }