diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 58 |
1 files changed, 50 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac index d6726eaab..dee852854 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1,4 +1,4 @@ | |||
1 | # $Id: configure.ac,v 1.115 2003/05/02 10:48:21 dtucker Exp $ | 1 | # $Id: configure.ac,v 1.116 2003/05/10 07:05:46 dtucker Exp $ |
2 | 2 | ||
3 | AC_INIT | 3 | AC_INIT |
4 | AC_CONFIG_SRCDIR([ssh.c]) | 4 | AC_CONFIG_SRCDIR([ssh.c]) |
@@ -188,15 +188,56 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
188 | AC_DEFINE(SETPROCTITLE_STRATEGY,PS_USE_CLOBBER_ARGV) | 188 | AC_DEFINE(SETPROCTITLE_STRATEGY,PS_USE_CLOBBER_ARGV) |
189 | AC_DEFINE(SETPROCTITLE_PS_PADDING, '\0') | 189 | AC_DEFINE(SETPROCTITLE_PS_PADDING, '\0') |
190 | inet6_default_4in6=yes | 190 | inet6_default_4in6=yes |
191 | AC_MSG_CHECKING(for broken cmsg_type) | 191 | # openpty can be in libutil, needed for controlling tty test |
192 | AC_SEARCH_LIBS(openpty, util) | ||
193 | # make sure that openpty does not reacquire controlling terminal | ||
194 | AC_MSG_CHECKING(if openpty correctly handles controlling tty) | ||
195 | AC_TRY_RUN( | ||
196 | [ | ||
197 | #include <stdio.h> | ||
198 | #include <sys/fcntl.h> | ||
199 | #include <sys/types.h> | ||
200 | #include <sys/wait.h> | ||
201 | |||
202 | int | ||
203 | main() | ||
204 | { | ||
205 | pid_t pid; | ||
206 | int fd, ptyfd, ttyfd, status; | ||
207 | |||
208 | pid = fork(); | ||
209 | if (pid < 0) { /* failed */ | ||
210 | exit(1); | ||
211 | } else if (pid > 0) { /* parent */ | ||
212 | waitpid(pid, &status, 0); | ||
213 | if (WIFEXITED(status)) | ||
214 | exit(WEXITSTATUS(status)); | ||
215 | else | ||
216 | exit(2); | ||
217 | } else { /* child */ | ||
218 | close(0); close(1); close(2); | ||
219 | setsid(); | ||
220 | openpty(&ptyfd, &ttyfd, NULL, NULL, NULL); | ||
221 | fd = open("/dev/tty", O_RDWR | O_NOCTTY); | ||
222 | if (fd >= 0) | ||
223 | exit(3); /* Acquired ctty: broken */ | ||
224 | else | ||
225 | exit(0); /* Did not acquire ctty: OK */ | ||
226 | } | ||
227 | } | ||
228 | ], | ||
229 | [ | ||
230 | AC_MSG_RESULT(yes) | ||
231 | ], | ||
232 | [ | ||
233 | AC_MSG_RESULT(no) | ||
234 | AC_DEFINE(SSHD_ACQUIRES_CTTY) | ||
235 | ] | ||
236 | ) | ||
192 | case `uname -r` in | 237 | case `uname -r` in |
193 | 2.0.*) | 238 | 1.*|2.0.*) |
194 | AC_MSG_RESULT(yes) | ||
195 | AC_DEFINE(BROKEN_CMSG_TYPE) | 239 | AC_DEFINE(BROKEN_CMSG_TYPE) |
196 | ;; | 240 | ;; |
197 | *) | ||
198 | AC_MSG_RESULT(no) | ||
199 | ;; | ||
200 | esac | 241 | esac |
201 | ;; | 242 | ;; |
202 | mips-sony-bsd|mips-sony-newsos4) | 243 | mips-sony-bsd|mips-sony-newsos4) |
@@ -230,7 +271,8 @@ mips-sony-bsd|mips-sony-newsos4) | |||
230 | AC_DEFINE(LOGIN_NEEDS_UTMPX) | 271 | AC_DEFINE(LOGIN_NEEDS_UTMPX) |
231 | AC_DEFINE(LOGIN_NEEDS_TERM) | 272 | AC_DEFINE(LOGIN_NEEDS_TERM) |
232 | AC_DEFINE(PAM_TTY_KLUDGE) | 273 | AC_DEFINE(PAM_TTY_KLUDGE) |
233 | AC_DEFINE(STREAMS_PUSH_ACQUIRES_CTTY) | 274 | # Pushing STREAMS modules will cause sshd to acquire a controlling tty. |
275 | AC_DEFINE(SSHD_ACQUIRES_CTTY) | ||
234 | # hardwire lastlog location (can't detect it on some versions) | 276 | # hardwire lastlog location (can't detect it on some versions) |
235 | conf_lastlog_location="/var/adm/lastlog" | 277 | conf_lastlog_location="/var/adm/lastlog" |
236 | AC_MSG_CHECKING(for obsolete utmp and wtmp in solaris2.x) | 278 | AC_MSG_CHECKING(for obsolete utmp and wtmp in solaris2.x) |