AIX and Privsep.

Markus Friedl markus at openbsd.org
Fri Jul 5 01:29:25 EST 2002


On Thu, Jul 04, 2002 at 10:05:29AM +0100, Leigh Brown wrote:
>  
> -	window = CHAN_SES_WINDOW_DEFAULT;
> -	packetmax = CHAN_SES_PACKET_DEFAULT;
>  	if (tty_flag) {
> -		window >>= 1;
> -		packetmax >>= 1;
> +		window = CHAN_TTY_WINDOW_DEFAULT;
> +		packetmax = CHAN_TTY_PACKET_DEFAULT;
> +	} else {
> +		window = CHAN_SES_WINDOW_DEFAULT;
> +		packetmax = CHAN_SES_PACKET_DEFAULT;

that's not the right place to fix, because the bug affects
what can be written on the server side.

i think you need sth like:

Index: channels.c
===================================================================
RCS file: /cvs/src/usr.bin/ssh/channels.c,v
retrieving revision 1.180
diff -u -r1.180 channels.c
--- channels.c	4 Jul 2002 08:12:15 -0000	1.180
+++ channels.c	4 Jul 2002 15:30:18 -0000
@@ -1287,6 +1287,10 @@
 		data = buffer_ptr(&c->output);
 		dlen = buffer_len(&c->output);
 		len = write(c->wfd, data, dlen);
+#ifdef AIX
+		if (compat20 && c->isatty && dlen >= 8*1024)
+			dlen = 8*1024;
+#endif
 		if (len < 0 && (errno == EINTR || errno == EAGAIN))
 			return 1;
 		if (len <= 0) {



More information about the openssh-unix-dev mailing list