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]
