- don't deadlock on exit with multiple X forwarded channels (#152432)

- don't use X11 port which can't be bound on all IP families (#163732)
This commit is contained in:
Tomáš Mráz 2005-07-27 11:42:36 +00:00
parent 79c96868ce
commit fa148157e7
3 changed files with 35 additions and 2 deletions

View File

@ -0,0 +1,12 @@
--- openssh-3.9p1/channels.c.skip-used 2005-07-08 22:42:35.000000000 +0200
+++ openssh-3.9p1/channels.c 2005-07-25 21:34:29.000000000 +0200
@@ -2653,9 +2653,6 @@
debug2("bind port %d: %.100s", port, strerror(errno));
close(sock);
- if (ai->ai_next)
- continue;
-
for (n = 0; n < num_socks; n++) {
close(socks[n]);
}

View File

@ -0,0 +1,13 @@
--- openssh-4.0p1/channels.c.exit-deadlock 2005-03-01 11:24:33.000000000 +0100
+++ openssh-4.0p1/channels.c 2005-04-05 22:25:15.197226237 +0200
@@ -1403,6 +1403,10 @@
u_int dlen;
int len;
+ if(c->wfd != -1 && buffer_len(&c->output) > 0 && c->ostate == CHAN_OUTPUT_WAIT_DRAIN) {
+ debug("channel %d: forcing write", c->self);
+ FD_SET(c->wfd, writeset);
+ }
/* Send buffered output data to the socket. */
if (c->wfd != -1 &&
FD_ISSET(c->wfd, writeset) &&

View File

@ -74,7 +74,7 @@
Summary: The OpenSSH implementation of SSH protocol versions 1 and 2.
Name: openssh
Version: 4.1p1
%define rel 3
%define rel 4
%if %{rescue}
Release: %{rel}rescue
%else
@ -103,6 +103,8 @@ Patch26: openssh-4.0p1-krb5-valid.patch
Patch27: openssh-4.1p1-pam-loginuid.patch
Patch28: openssh-4.1p1-nologin.patch
Patch29: openssh-4.1p1-getpeername-race.patch
Patch30: openssh-4.0p1-exit-deadlock.patch
Patch31: openssh-3.9p1-skip-used.patch
License: BSD
Group: Applications/Internet
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
@ -162,7 +164,7 @@ Group: System Environment/Daemons
Obsoletes: ssh-server
PreReq: openssh = %{version}-%{release}, chkconfig >= 0.9, /usr/sbin/useradd
%if ! %{build6x}
Requires: pam >= 0.78-7, /etc/pam.d/system-auth
Requires: /etc/pam.d/system-auth, /%{_lib}/security/pam_loginuid.so
%endif
%package askpass
@ -243,6 +245,8 @@ environment.
%patch27 -p1 -b .loginuid
%patch28 -p1 -b .nologin
%patch29 -p0 -b .getpeername-race
%patch30 -p1 -b .exit-deadlock
%patch31 -p1 -b .skip-used
autoreconf
@ -511,6 +515,10 @@ fi
%endif
%changelog
* Wed Jul 27 2005 Tomas Mraz <tmraz@redhat.com> 4.1p1-4
- don't deadlock on exit with multiple X forwarded channels (#152432)
- don't use X11 port which can't be bound on all IP families (#163732)
* Wed Jun 29 2005 Tomas Mraz <tmraz@redhat.com> 4.1p1-3
- fix small regression caused by the nologin patch (#161956)
- fix race in getpeername error checking (mindrot #1054)