Mercurial > dropbear
comparison cli-main.c @ 1051:359fba4b1a49
merge tcp fastopen
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sat, 28 Feb 2015 23:24:30 +0800 |
parents | 0da8ba489c23 |
children | 23103e1e9548 |
comparison
equal
deleted
inserted
replaced
1045:31727a8abd4b | 1051:359fba4b1a49 |
---|---|
28 #include "dbutil.h" | 28 #include "dbutil.h" |
29 #include "runopts.h" | 29 #include "runopts.h" |
30 #include "session.h" | 30 #include "session.h" |
31 #include "dbrandom.h" | 31 #include "dbrandom.h" |
32 #include "crypto_desc.h" | 32 #include "crypto_desc.h" |
33 #include "netio.h" | |
33 | 34 |
34 static void cli_dropbear_exit(int exitcode, const char* format, va_list param) ATTRIB_NORETURN; | 35 static void cli_dropbear_exit(int exitcode, const char* format, va_list param) ATTRIB_NORETURN; |
35 static void cli_dropbear_log(int priority, const char* format, va_list param); | 36 static void cli_dropbear_log(int priority, const char* format, va_list param); |
36 | 37 |
37 #ifdef ENABLE_CLI_PROXYCMD | 38 #ifdef ENABLE_CLI_PROXYCMD |
44 #else | 45 #else |
45 int main(int argc, char ** argv) { | 46 int main(int argc, char ** argv) { |
46 #endif | 47 #endif |
47 | 48 |
48 int sock_in, sock_out; | 49 int sock_in, sock_out; |
49 char* error = NULL; | 50 struct dropbear_progress_connection *progress = NULL; |
50 | 51 |
51 _dropbear_exit = cli_dropbear_exit; | 52 _dropbear_exit = cli_dropbear_exit; |
52 _dropbear_log = cli_dropbear_log; | 53 _dropbear_log = cli_dropbear_log; |
53 | 54 |
54 disallow_core(); | 55 disallow_core(); |
70 cli_proxy_cmd(&sock_in, &sock_out); | 71 cli_proxy_cmd(&sock_in, &sock_out); |
71 m_free(cli_opts.proxycmd); | 72 m_free(cli_opts.proxycmd); |
72 } else | 73 } else |
73 #endif | 74 #endif |
74 { | 75 { |
75 int sock = connect_remote(cli_opts.remotehost, cli_opts.remoteport, &error); | 76 progress = connect_remote(cli_opts.remotehost, cli_opts.remoteport, cli_connected, &ses); |
76 sock_in = sock_out = sock; | 77 sock_in = sock_out = -1; |
77 } | 78 } |
78 | 79 |
79 if (sock_in < 0) { | 80 cli_session(sock_in, sock_out, progress); |
80 dropbear_exit("%s", error); | |
81 } | |
82 | |
83 cli_session(sock_in, sock_out); | |
84 | 81 |
85 /* not reached */ | 82 /* not reached */ |
86 return -1; | 83 return -1; |
87 } | 84 } |
88 #endif /* DBMULTI stuff */ | 85 #endif /* DBMULTI stuff */ |