|
Line
Link Here
|
| 0 |
-- clientloop.c 2021-03-02 04:31:47.000000000 -0600 |
0 |
++ clientloop.c.new 2021-03-31 21:10:39.563518860 -0500 |
|
Lines 128-133
extern int fork_after_authentication_fla
Link Here
|
| 128 |
extern int muxserver_sock; /* XXX use mux_client_cleanup() instead */ |
128 |
extern int muxserver_sock; /* XXX use mux_client_cleanup() instead */ |
| 129 |
/* |
129 |
/* |
|
|
130 |
* Flag indicating that the current process should be backgrounded and |
| 131 |
* a new slave launched in the foreground for ControlPersist. |
| 132 |
*/ |
| 133 |
extern int need_controlpersist_detach; |
| 134 |
|
| 135 |
/* For keeping fd of the original stdout until close */ |
| 136 |
extern int isolated_stdout_fd; |
| 137 |
|
| 138 |
/* |
| 130 |
* Name of the host we are connecting to. This is the name given on the |
139 |
* Name of the host we are connecting to. This is the name given on the |
| 131 |
* command line, or the Hostname specified for the user-supplied name in a |
140 |
* command line, or the Hostname specified for the user-supplied name in a |
| 132 |
* configuration file. |
141 |
* configuration file. |
|
Lines 1403-1408
client_loop(struct ssh *ssh, int have_pt
Link Here
|
| 1403 |
if (have_pty) |
1412 |
if (have_pty) |
| 1404 |
leave_raw_mode(options.request_tty == REQUEST_TTY_FORCE); |
1413 |
leave_raw_mode(options.request_tty == REQUEST_TTY_FORCE); |
|
|
1414 |
/* restore stdin if stdout was isolated */ |
| 1415 |
if (!need_controlpersist_detach && isolated_stdout_fd > 0){ |
| 1416 |
if (dup2(isolated_stdout_fd, fileno(stdout)) < 0) |
| 1417 |
fatal("%s: dup2() isolated stdout failed", __func__); |
| 1418 |
close(isolated_stdout_fd); |
| 1419 |
} |
| 1420 |
|
| 1405 |
/* restore blocking io */ |
1421 |
/* restore blocking io */ |
| 1406 |
if (!isatty(fileno(stdin))) |
1422 |
if (!isatty(fileno(stdin))) |
| 1407 |
unset_nonblock(fileno(stdin)); |
1423 |
unset_nonblock(fileno(stdin)); |