diff options
Diffstat (limited to 'packages/openssh/openssh-4.0p1/configure.patch')
-rw-r--r-- | packages/openssh/openssh-4.0p1/configure.patch | 233 |
1 files changed, 233 insertions, 0 deletions
diff --git a/packages/openssh/openssh-4.0p1/configure.patch b/packages/openssh/openssh-4.0p1/configure.patch index e69de29bb2..ddfe21d164 100644 --- a/packages/openssh/openssh-4.0p1/configure.patch +++ b/packages/openssh/openssh-4.0p1/configure.patch @@ -0,0 +1,233 @@ +Index: openssh-4.0p1/configure.ac +=================================================================== +--- openssh-4.0p1.orig/configure.ac 2005-03-07 04:21:37.000000000 -0500 ++++ openssh-4.0p1/configure.ac 2005-03-12 23:43:25.057482040 -0500 +@@ -718,23 +718,21 @@ + ] + ) + +-AC_MSG_CHECKING([whether struct dirent allocates space for d_name]) +-AC_RUN_IFELSE( +- [AC_LANG_SOURCE([[ +-#include <sys/types.h> +-#include <dirent.h> +-int main(void){struct dirent d;exit(sizeof(d.d_name)<=sizeof(char));} +- ]])], +- [AC_MSG_RESULT(yes)], +- [ +- AC_MSG_RESULT(no) +- AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME) +- ], +- [ +- AC_MSG_WARN([cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME]) +- AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME) +- ] +-) ++AC_CACHE_CHECK([whether struct dirent allocates space for d_name], ac_cv_have_space_d_name_in_struct_dirent, [ ++ AC_RUN_IFELSE( ++ [AC_LANG_SOURCE([[ ++ #include <sys/types.h> ++ #include <dirent.h> ++ int main(void){struct dirent d;exit(sizeof(d.d_name)<=sizeof(char));} ++ ]])], ++ [ ac_cv_have_space_d_name_in_struct_dirent="yes" ], ++ [ ac_cv_have_space_d_name_in_struct_dirent="no" ], ++ ) ++]) ++ ++if test "x$ac_cv_dirent_have_space_d_name" = "xyes" ; then ++ AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME) ++fi + + AC_MSG_CHECKING([for /proc/pid/fd directory]) + if test -d "/proc/$$/fd" ; then +@@ -987,20 +985,25 @@ + + # Check for broken snprintf + if test "x$ac_cv_func_snprintf" = "xyes" ; then +- AC_MSG_CHECKING([whether snprintf correctly terminates long strings]) +- AC_RUN_IFELSE( +- [AC_LANG_SOURCE([[ +-#include <stdio.h> +-int main(void){char b[5];snprintf(b,5,"123456789");exit(b[4]!='\0');} +- ]])], +- [AC_MSG_RESULT(yes)], +- [ +- AC_MSG_RESULT(no) +- AC_DEFINE(BROKEN_SNPRINTF) +- AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor]) +- ], +- [ AC_MSG_WARN([cross compiling: Assuming working snprintf()]) ] +- ) ++ AC_CACHE_CHECK([whether snprintf correctly terminates long strings], ++ ac_cv_have_broken_snprintf, [ ++ AC_RUN_IFELSE( ++ [AC_LANG_SOURCE([[ ++ #include <stdio.h> ++ int main(void){char b[5];snprintf(b,5,"123456789");exit(b[4]!='\0');} ++ ]])], ++ [ac_cv_have_broken_snprintf="no"], ++ [ac_cv_have_broken_snprintf="yes"], ++ [ ++ AC_MSG_WARN([cross compiling: Assuming working snprintf()]) ++ ac_cv_have_broken_snprintf="yes" ++ ] ++ ) ++ ]) ++ if test "x$ac_cv_have_broken_snprintf" = "xyes" ; then ++ AC_DEFINE(BROKEN_SNPRINTF) ++ AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor]) ++ fi + fi + + # Check for missing getpeereid (or equiv) support +@@ -1045,49 +1048,49 @@ + + 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_CACHE_CHECK([if openpty acquires controlling terminal], ++ ac_cv_have_openpty_ctty_bug, [ ++ 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) +- ] +- ) ++ ], ++ [ ac_cv_have_openpty_ctty_bug="no" ], ++ [ ac_cv_have_openpty_ctty_bug="yes"] ++ ) ++ ]) ++ if test "x$ac_cv_have_openpty_ctty_bug" = "xyes" ; then ++ AC_DEFINE(SSHD_ACQUIRES_CTTY) ++ fi + fi + + if test "x$ac_cv_func_getaddrinfo" = "xyes" -a "x$check_for_hpux_broken_getaddrinfo" = "x1"; then +@@ -2039,8 +2042,12 @@ + exit 1; + else + dnl test snprintf (broken on SCO w/gcc) +- AC_RUN_IFELSE( +- [AC_LANG_SOURCE([[ ++ # No need to check for a broken snprintf if we already know it's broken. ++ if test "x$ac_cv_func_snprintf" = "xyes" && test "x$ac_cv_have_broken_snprintf" != "xyes"; then ++ AC_CACHE_CHECK([whether snprintf correctly terminates long strings], ++ ac_cv_have_broken_snprintf, [ ++ AC_RUN_IFELSE( ++ [AC_LANG_SOURCE([[ + #include <stdio.h> + #include <string.h> + #ifdef HAVE_SNPRINTF +@@ -2063,9 +2070,20 @@ + #else + main() { exit(0); } + #endif +- ]])], [ true ], [ AC_DEFINE(BROKEN_SNPRINTF) ], +- AC_MSG_WARN([cross compiling: Assuming working snprintf()]) +- ) ++ ]])], ++ [ac_cv_have_broken_snprintf="no"], ++ [ac_cv_have_broken_snprintf="yes"], ++ [ ++ AC_MSG_WARN([cross compiling: Assuming working snprintf()]) ++ ac_cv_have_broken_snprintf="yes" ++ ] ++ ) ++ ]) ++ if test "x$ac_cv_have_broken_snprintf" = "xyes" ; then ++ AC_DEFINE(BROKEN_SNPRINTF) ++ AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor]) ++ fi ++ fi + fi + + dnl Checks for structure members +@@ -2666,12 +2684,15 @@ + ) + + if test "x$etc_default_login" != "xno"; then +- AC_CHECK_FILE("/etc/default/login", +- [ external_path_file=/etc/default/login ]) + if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; + then + AC_MSG_WARN([cross compiling: Disabling /etc/default/login test]) +- elif test "x$external_path_file" = "x/etc/default/login"; then ++ external_path_file=/etc/default/login ++ else ++ AC_CHECK_FILE("/etc/default/login", ++ [ external_path_file=/etc/default/login ]) ++ fi ++ if test "x$external_path_file" = "x/etc/default/login"; then + AC_DEFINE(HAVE_ETC_DEFAULT_LOGIN) + fi + fi |