View | Details | Raw Unified | Return to bug 1199 | Differences between
and this patch

Collapse All | Expand All

(-)openssh-4.3p2/ttymodes.c~ (+3 lines)
Lines 292-297 Link Here
292
	}
292
	}
293
293
294
	if (tiop == NULL) {
294
	if (tiop == NULL) {
295
		if (fd == -1)
296
			goto end;
297
295
		if (tcgetattr(fd, &tio) == -1) {
298
		if (tcgetattr(fd, &tio) == -1) {
296
			logit("tcgetattr: %.100s", strerror(errno));
299
			logit("tcgetattr: %.100s", strerror(errno));
297
			goto end;
300
			goto end;
(-)openssh-4.3p2/clientloop.c~ (-2 / +9 lines)
Lines 1862-1867 Link Here
1862
	if (want_tty) {
1862
	if (want_tty) {
1863
		struct winsize ws;
1863
		struct winsize ws;
1864
		struct termios tio;
1864
		struct termios tio;
1865
		struct termios *tmptiop = NULL;
1865
1866
1866
		/* Store window size in the packet. */
1867
		/* Store window size in the packet. */
1867
		if (ioctl(in_fd, TIOCGWINSZ, &ws) < 0)
1868
		if (ioctl(in_fd, TIOCGWINSZ, &ws) < 0)
Lines 1873-1880 Link Here
1873
		packet_put_int(ws.ws_row);
1874
		packet_put_int(ws.ws_row);
1874
		packet_put_int(ws.ws_xpixel);
1875
		packet_put_int(ws.ws_xpixel);
1875
		packet_put_int(ws.ws_ypixel);
1876
		packet_put_int(ws.ws_ypixel);
1876
		tio = get_saved_tio();
1877
1877
		tty_make_modes(-1, tiop != NULL ? tiop : &tio);
1878
		tmptiop = tiop;
1879
		if ((tmptiop == NULL) && get_saved_tio_valid()) {
1880
			tio = get_saved_tio();
1881
			tmptiop = &tio;
1882
		}
1883
1884
		tty_make_modes(-1, tmptiop);
1878
		packet_send();
1885
		packet_send();
1879
		/* XXX wait for reply */
1886
		/* XXX wait for reply */
1880
		c->client_tty = 1;
1887
		c->client_tty = 1;
(-)openssh-4.3p2/sshpty.h~ (+1 lines)
Lines 17-22 Link Here
17
#ifndef SSHPTY_H
17
#ifndef SSHPTY_H
18
#define SSHPTY_H
18
#define SSHPTY_H
19
19
20
int	 get_saved_tio_valid(void);
20
struct termios get_saved_tio(void);
21
struct termios get_saved_tio(void);
21
void	 leave_raw_mode(void);
22
void	 leave_raw_mode(void);
22
void	 enter_raw_mode(void);
23
void	 enter_raw_mode(void);
(-)openssh-4.3p2/sshtty.c~ (+8 lines)
Lines 40-48 Link Here
40
#include "sshpty.h"
40
#include "sshpty.h"
41
#include "log.h"
41
#include "log.h"
42
42
43
static int _saved_tio_valid;
43
static struct termios _saved_tio;
44
static struct termios _saved_tio;
44
static int _in_raw_mode = 0;
45
static int _in_raw_mode = 0;
45
46
47
48
int get_saved_tio_valid(void)
49
{
50
	return _saved_tio_valid;
51
}
52
46
struct termios
53
struct termios
47
get_saved_tio(void)
54
get_saved_tio(void)
48
{
55
{
Lines 70-75 Link Here
70
		return;
77
		return;
71
	}
78
	}
72
	_saved_tio = tio;
79
	_saved_tio = tio;
80
	_saved_tio_valid = 1;
73
	tio.c_iflag |= IGNPAR;
81
	tio.c_iflag |= IGNPAR;
74
	tio.c_iflag &= ~(ISTRIP | INLCR | IGNCR | ICRNL | IXON | IXANY | IXOFF);
82
	tio.c_iflag &= ~(ISTRIP | INLCR | IGNCR | ICRNL | IXON | IXANY | IXOFF);
75
#ifdef IUCLC
83
#ifdef IUCLC

Return to bug 1199