mirror of
git://anongit.mindrot.org/openssh.git
synced 2024-11-27 23:53:26 +08:00
- (dtucker) [configure.ac] Move openpty/ctty test outside of case statement
and after normal openpty test.
This commit is contained in:
parent
8e3653d2f3
commit
70a3d55b4a
@ -6,6 +6,8 @@
|
||||
- (dtucker) [defines.h] Put CMSG_DATA, CMSG_FIRSTHDR with other CMSG* macros,
|
||||
change CMSG_DATA to use __CMSG_ALIGN (and thus work properly), reformat for
|
||||
consistency.
|
||||
- (dtucker) [configure.ac] Move openpty/ctty test outside of case statement
|
||||
and after normal openpty test.
|
||||
|
||||
20030813
|
||||
- (dtucker) [session.c] Remove #ifdef TIOCSBRK kludge.
|
||||
@ -843,4 +845,4 @@
|
||||
- Fix sshd BindAddress and -b options for systems using fake-getaddrinfo.
|
||||
Report from murple@murple.net, diagnosis from dtucker@zip.com.au
|
||||
|
||||
$Id: ChangeLog,v 1.2895 2003/08/21 06:49:41 dtucker Exp $
|
||||
$Id: ChangeLog,v 1.2896 2003/08/21 07:58:29 dtucker Exp $
|
||||
|
96
configure.ac
96
configure.ac
@ -1,4 +1,4 @@
|
||||
# $Id: configure.ac,v 1.139 2003/08/13 10:48:07 dtucker Exp $
|
||||
# $Id: configure.ac,v 1.140 2003/08/21 07:58:29 dtucker Exp $
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR([ssh.c])
|
||||
@ -195,56 +195,11 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
|
||||
*-*-linux*)
|
||||
no_dev_ptmx=1
|
||||
check_for_libcrypt_later=1
|
||||
check_for_openpty_ctty_bug=1
|
||||
AC_DEFINE(DONT_TRY_OTHER_AF)
|
||||
AC_DEFINE(PAM_TTY_KLUDGE)
|
||||
AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)
|
||||
inet6_default_4in6=yes
|
||||
# openpty can be in libutil, needed for controlling tty test
|
||||
AC_SEARCH_LIBS(openpty, util)
|
||||
# make sure that openpty does not reacquire controlling terminal
|
||||
AC_MSG_CHECKING(if openpty correctly handles controlling tty)
|
||||
AC_TRY_RUN(
|
||||
[
|
||||
#include <stdio.h>
|
||||
#include <sys/fcntl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
pid_t pid;
|
||||
int fd, ptyfd, ttyfd, status;
|
||||
|
||||
pid = fork();
|
||||
if (pid < 0) { /* failed */
|
||||
exit(1);
|
||||
} else if (pid > 0) { /* parent */
|
||||
waitpid(pid, &status, 0);
|
||||
if (WIFEXITED(status))
|
||||
exit(WEXITSTATUS(status));
|
||||
else
|
||||
exit(2);
|
||||
} else { /* child */
|
||||
close(0); close(1); close(2);
|
||||
setsid();
|
||||
openpty(&ptyfd, &ttyfd, NULL, NULL, NULL);
|
||||
fd = open("/dev/tty", O_RDWR | O_NOCTTY);
|
||||
if (fd >= 0)
|
||||
exit(3); /* Acquired ctty: broken */
|
||||
else
|
||||
exit(0); /* Did not acquire ctty: OK */
|
||||
}
|
||||
}
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(yes)
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(no)
|
||||
AC_DEFINE(SSHD_ACQUIRES_CTTY)
|
||||
]
|
||||
)
|
||||
case `uname -r` in
|
||||
1.*|2.0.*)
|
||||
AC_DEFINE(BROKEN_CMSG_TYPE)
|
||||
@ -805,6 +760,53 @@ unlink(template); exit(0);
|
||||
)
|
||||
fi
|
||||
|
||||
dnl make sure that openpty does not reacquire controlling terminal
|
||||
if test ! -z "$check_for_openpty_ctty_bug"; then
|
||||
AC_MSG_CHECKING(if openpty correctly handles controlling tty)
|
||||
AC_TRY_RUN(
|
||||
[
|
||||
#include <stdio.h>
|
||||
#include <sys/fcntl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
pid_t pid;
|
||||
int fd, ptyfd, ttyfd, status;
|
||||
|
||||
pid = fork();
|
||||
if (pid < 0) { /* failed */
|
||||
exit(1);
|
||||
} else if (pid > 0) { /* parent */
|
||||
waitpid(pid, &status, 0);
|
||||
if (WIFEXITED(status))
|
||||
exit(WEXITSTATUS(status));
|
||||
else
|
||||
exit(2);
|
||||
} else { /* child */
|
||||
close(0); close(1); close(2);
|
||||
setsid();
|
||||
openpty(&ptyfd, &ttyfd, NULL, NULL, NULL);
|
||||
fd = open("/dev/tty", O_RDWR | O_NOCTTY);
|
||||
if (fd >= 0)
|
||||
exit(3); /* Acquired ctty: broken */
|
||||
else
|
||||
exit(0); /* Did not acquire ctty: OK */
|
||||
}
|
||||
}
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(yes)
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(no)
|
||||
AC_DEFINE(SSHD_ACQUIRES_CTTY)
|
||||
]
|
||||
)
|
||||
fi
|
||||
|
||||
AC_FUNC_GETPGRP
|
||||
|
||||
# Check for PAM libs
|
||||
|
Loading…
Reference in New Issue
Block a user