From 18912775cb97c0b1e75e838d3c7d4b56648137b5 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 21 May 2014 17:06:46 +1000 Subject: [PATCH] - (djm) [commit configure.ac defines.h sshpty.c] don't attempt to use vhangup on Linux. It doens't work for non-root users, and for them it just messes up the tty settings. --- ChangeLog | 5 +++++ configure.ac | 5 ++--- defines.h | 6 +----- sshpty.c | 13 ------------- 4 files changed, 8 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3d8b9af09..8ad8b1a4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +20140521 + - (djm) [commit configure.ac defines.h sshpty.c] don't attempt to use + vhangup on Linux. It doens't work for non-root users, and for them + it just messes up the tty settings. + 20140519 - (djm) [rijndael.c rijndael.h] Sync with newly-ressurected versions ine OpenBSD diff --git a/configure.ac b/configure.ac index 058cfd090..7a89b57e6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $Id: configure.ac,v 1.573 2014/05/15 04:58:08 djm Exp $ +# $Id: configure.ac,v 1.574 2014/05/21 07:06:47 djm Exp $ # # Copyright (c) 1999-2004 Damien Miller # @@ -15,7 +15,7 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) -AC_REVISION($Revision: 1.573 $) +AC_REVISION($Revision: 1.574 $) AC_CONFIG_SRCDIR([ssh.c]) AC_LANG([C]) @@ -1736,7 +1736,6 @@ AC_CHECK_FUNCS([ \ user_from_uid \ usleep \ vasprintf \ - vhangup \ vsnprintf \ waitpid \ ]) diff --git a/defines.h b/defines.h index 9e383020b..b3df1e230 100644 --- a/defines.h +++ b/defines.h @@ -25,7 +25,7 @@ #ifndef _DEFINES_H #define _DEFINES_H -/* $Id: defines.h,v 1.179 2014/05/15 04:37:04 djm Exp $ */ +/* $Id: defines.h,v 1.180 2014/05/21 07:06:47 djm Exp $ */ /* Constants */ @@ -603,10 +603,6 @@ struct winsize { # define memmove(s1, s2, n) bcopy((s2), (s1), (n)) #endif /* !defined(HAVE_MEMMOVE) && defined(HAVE_BCOPY) */ -#if defined(HAVE_VHANGUP) && !defined(HAVE_DEV_PTMX) -# define USE_VHANGUP -#endif /* defined(HAVE_VHANGUP) && !defined(HAVE_DEV_PTMX) */ - #ifndef GETPGRP_VOID # include # define getpgrp() getpgrp(0) diff --git a/sshpty.c b/sshpty.c index bbbc0fefe..a2059b76d 100644 --- a/sshpty.c +++ b/sshpty.c @@ -99,9 +99,6 @@ void pty_make_controlling_tty(int *ttyfd, const char *tty) { int fd; -#ifdef USE_VHANGUP - void *old; -#endif /* USE_VHANGUP */ #ifdef _UNICOS if (setsid() < 0) @@ -157,21 +154,11 @@ pty_make_controlling_tty(int *ttyfd, const char *tty) if (setpgrp(0,0) < 0) error("SETPGRP %s",strerror(errno)); #endif /* NEED_SETPGRP */ -#ifdef USE_VHANGUP - old = signal(SIGHUP, SIG_IGN); - vhangup(); - signal(SIGHUP, old); -#endif /* USE_VHANGUP */ fd = open(tty, O_RDWR); if (fd < 0) { error("%.100s: %.100s", tty, strerror(errno)); } else { -#ifdef USE_VHANGUP - close(*ttyfd); - *ttyfd = fd; -#else /* USE_VHANGUP */ close(fd); -#endif /* USE_VHANGUP */ } /* Verify that we now have a controlling tty. */ fd = open(_PATH_TTY, O_WRONLY);