From: markus Date: Thu, 23 Mar 2000 21:52:02 +0000 (+0000) Subject: switch to raw mode only if he _get_ a pty (not if we _want_ a pty). X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=331301cfca104ca263eb931cb22f0a498a90474d;p=openbsd switch to raw mode only if he _get_ a pty (not if we _want_ a pty). --- diff --git a/usr.bin/ssh/ssh.c b/usr.bin/ssh/ssh.c index b847e73ff90..c5652eaa67e 100644 --- a/usr.bin/ssh/ssh.c +++ b/usr.bin/ssh/ssh.c @@ -11,7 +11,7 @@ */ #include "includes.h" -RCSID("$Id: ssh.c,v 1.42 2000/03/22 09:55:10 markus Exp $"); +RCSID("$Id: ssh.c,v 1.43 2000/03/23 21:52:02 markus Exp $"); #include "xmalloc.h" #include "ssh.h" @@ -171,6 +171,7 @@ main(int ac, char **av) struct stat st; struct passwd *pw, pwcopy; int interactive = 0, dummy; + int have_pty = 0; uid_t original_effective_uid; int plen; @@ -661,9 +662,10 @@ main(int ac, char **av) /* Read response from the server. */ type = packet_read(&plen); - if (type == SSH_SMSG_SUCCESS) + if (type == SSH_SMSG_SUCCESS) { interactive = 1; - else if (type == SSH_SMSG_FAILURE) + have_pty = 1; + } else if (type == SSH_SMSG_FAILURE) log("Warning: Remote host failed or refused to allocate a pseudo tty."); else packet_disconnect("Protocol error waiting for pty request response."); @@ -791,7 +793,7 @@ main(int ac, char **av) } /* Enter the interactive session. */ - exit_status = client_loop(tty_flag, tty_flag ? options.escape_char : -1); + exit_status = client_loop(have_pty, tty_flag ? options.escape_char : -1); /* Close the connection to the remote host. */ packet_close();