From fa148157e7a79f1e276b2bf9aae563437a9fa121 Mon Sep 17 00:00:00 2001 From: Tomáš Mráz Date: Jul 27 2005 11:42:36 +0000 Subject: - 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) --- diff --git a/openssh-3.9p1-skip-used.patch b/openssh-3.9p1-skip-used.patch new file mode 100644 index 0000000..95ba3d1 --- /dev/null +++ b/openssh-3.9p1-skip-used.patch @@ -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]); + } diff --git a/openssh-4.0p1-exit-deadlock.patch b/openssh-4.0p1-exit-deadlock.patch new file mode 100644 index 0000000..66246d3 --- /dev/null +++ b/openssh-4.0p1-exit-deadlock.patch @@ -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) && diff --git a/openssh.spec b/openssh.spec index 7c3573b..f57ace0 100644 --- a/openssh.spec +++ b/openssh.spec @@ -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 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 4.1p1-3 - fix small regression caused by the nologin patch (#161956) - fix race in getpeername error checking (mindrot #1054)