The unified diff between revisions [833d0ade..] and [6bbab836..] is displayed below. It can also be downloaded as a raw diff.
This diff has been restricted to the following files: 'cli-session.c'
#
#
# patch "cli-session.c"
# from [7c6dc26c6d23f92785979f9e89da6e42630b15e1]
# to [32a8c16817cf01a78c969e53d98073352e5692a5]
#
============================================================
--- cli-session.c 7c6dc26c6d23f92785979f9e89da6e42630b15e1
+++ cli-session.c 32a8c16817cf01a78c969e53d98073352e5692a5
@@ -77,13 +77,13 @@ static const struct ChanType *cli_chanty
NULL /* Null termination */
};
-void cli_session(int sock, char* remotehost) {
+void cli_session(int sock_in, int sock_out, char* remotehost) {
seedrandom();
crypto_init();
- common_session_init(sock, remotehost);
+ common_session_init(sock_in, sock_out, remotehost);
chaninitialise(cli_chantypes);
@@ -200,22 +200,8 @@ static void cli_sessionloop() {
TRACE(("leave cli_sessionloop: cli_auth_try"))
return;
- /*
case USERAUTH_SUCCESS_RCVD:
- send_msg_service_request(SSH_SERVICE_CONNECTION);
- cli_ses.state = SERVICE_CONN_REQ_SENT;
- TRACE(("leave cli_sessionloop: sent ssh-connection service req"))
- return;
- case SERVICE_CONN_ACCEPT_RCVD:
- cli_send_chansess_request();
- TRACE(("leave cli_sessionloop: cli_send_chansess_request"))
- cli_ses.state = SESSION_RUNNING;
- return;
- */
-
- case USERAUTH_SUCCESS_RCVD:
-
if (cli_opts.backgrounded) {
int devnull;
/* keeping stdin open steals input from the terminal and
@@ -238,7 +224,13 @@ static void cli_sessionloop() {
#ifdef ENABLE_CLI_REMOTETCPFWD
setup_remotetcp();
#endif
- if (!cli_opts.no_cmd) {
+
+#ifdef ENABLE_CLI_NETCAT
+ if (cli_opts.netcat_host) {
+ cli_send_netcat_request();
+ } else
+#endif
+ if (!cli_opts.no_cmd) {
cli_send_chansess_request();
}
TRACE(("leave cli_sessionloop: running"))
@@ -297,8 +289,10 @@ static void cli_remoteclosed() {
/* XXX TODO perhaps print a friendlier message if we get this but have
* already sent/received disconnect message(s) ??? */
- close(ses.sock);
- ses.sock = -1;
+ m_close(ses.sock_in);
+ m_close(ses.sock_out);
+ ses.sock_in = -1;
+ ses.sock_out = -1;
dropbear_exit("remote closed the connection");
}