Hello community,

here is the log from the commit of package rsh for openSUSE:Factory checked in 
at 2013-06-25 09:35:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rsh (Old)
 and      /work/SRC/openSUSE:Factory/.rsh.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rsh"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rsh/rsh.changes  2012-10-19 08:51:20.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.rsh.new/rsh.changes     2013-06-25 
14:45:51.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Jun 19 13:10:53 UTC 2013 - [email protected]
+
+- rlogin-handle-EIO-better.patch: rlogin: handle EIO better
+  (bnc#816514)
+
+-------------------------------------------------------------------

New:
----
  rlogin-handle-EIO-better.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rsh.spec ++++++
--- /var/tmp/diff_new_pack.8jGp94/_old  2013-06-25 14:45:52.000000000 +0200
+++ /var/tmp/diff_new_pack.8jGp94/_new  2013-06-25 14:45:52.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rsh
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -50,6 +50,7 @@
 Patch14:        netkit-rsh-0.17-tty-4-pam.diff
 Patch15:        netkit-rsh-0.17-pam-sess.patch
 Patch16:        netkit-rsh-0.17-fork_before_exec.patch
+Patch17:        rlogin-handle-EIO-better.patch
 
 %description
 This package contains programs that allow users to run commands on
@@ -98,6 +99,7 @@
 %patch14
 %patch15
 %patch16
+%patch17 -p1
 
 %build
 CFLAGS="$RPM_OPT_FLAGS -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE" 
\

++++++ rlogin-handle-EIO-better.patch ++++++
From: Jiri Slaby <[email protected]>
Subject: rlogin: handle EIO better
References: bnc#816514

EIO can be returned by the TTY layer for the moment when login closed
all its TTYs to perform hangup. Let's just ignore that error.
---
 rlogind/rlogind.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

--- a/rlogind/rlogind.c
+++ b/rlogind/rlogind.c
@@ -67,6 +67,7 @@ char rcsid[] =
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
+#include <time.h>
 
 #include "pathnames.h"
 #include "logwtmp.h"
@@ -246,7 +247,15 @@ static void protocol(int f, int p) {
                        pbp = pibuf;
                        if (pcc < 0 && errno == EWOULDBLOCK)
                                pcc = 0;
-                       else if (pcc <= 0)
+                       else if (pcc < 0 && errno == EIO) {
+                               /*
+                                * login hung up and closed its pty side for
+                                * a while. Let's just ignore that.
+                                */
+                               pcc = 0;
+                               nanosleep(&(const struct timespec){ 0, 50000000 
},
+                                               NULL);
+                       } else if (pcc <= 0)
                                break;
                        else if (pibuf[0] == 0) {
                                pbp++, pcc--;
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to