Module Name: othersrc Committed By: lukem Date: Sat Sep 23 04:45:03 UTC 2023
Modified Files: othersrc/libexec/tnftpd: configure.ac tnftpd.h Log Message: configure: only replace fts_open if required FTS_ flags aren't available Use system fts_open() if it provides the flags we use: FTS_COMFOLLOW|FTS_LOGICAL|FTS_NOSTAT|FTS_PHYSICAL|FTS_SEEDOT To generate a diff of this commit: cvs rdiff -u -r1.51 -r1.52 othersrc/libexec/tnftpd/configure.ac cvs rdiff -u -r1.40 -r1.41 othersrc/libexec/tnftpd/tnftpd.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: othersrc/libexec/tnftpd/configure.ac diff -u othersrc/libexec/tnftpd/configure.ac:1.51 othersrc/libexec/tnftpd/configure.ac:1.52 --- othersrc/libexec/tnftpd/configure.ac:1.51 Sat Sep 23 04:28:10 2023 +++ othersrc/libexec/tnftpd/configure.ac Sat Sep 23 04:45:03 2023 @@ -1,4 +1,4 @@ -# $NetBSD: configure.ac,v 1.51 2023/09/23 04:28:10 lukem Exp $ +# $NetBSD: configure.ac,v 1.52 2023/09/23 04:45:03 lukem Exp $ # # Process this file with autoconf to produce a configure script. @@ -95,8 +95,10 @@ AH_TEMPLATE([USE_BLOCKLIST], [Define if using blocklist.]) AH_TEMPLATE([USE_BLACKLIST], [Define if using blacklist.]) +AH_TEMPLATE([USE_FTS_H], + [Define if using system <fts.h> instead of ftpfts.h.]) AH_TEMPLATE([USE_GLOB_H], - [Define if using system <glob.h> instead of local glob.]) + [Define if using system <glob.h> instead of ftpglob.h.]) AH_TEMPLATE([USE_INET6], [Define if using IPv6 support.]) AH_TEMPLATE([USE_PAM], @@ -313,7 +315,7 @@ AC_CHECK_HEADER([glob.h], int f = GLOB_BRACE|GLOB_LIMIT|GLOB_NOCHECK|GLOB_TILDE; ]])], [AC_MSG_RESULT([yes]) - use_local_glob=no], + use_local_glob=no], [AC_MSG_RESULT([no - using local version])], [AC_MSG_RESULT([unknown - cross-compiling])])]) AS_IF([test "$use_local_glob" = yes], @@ -485,9 +487,25 @@ AS_IF([test "$with_skey" != no], AS_IF([test "$opt_builtinls" = yes], [AC_MSG_NOTICE([--enable-builtinls; checking for required features]) AC_REPLACE_FUNCS([strmode user_from_uid]) - # Always replace fts_open(); the vendor's may not be secure. + + # Use system fts if required FTS_ flags are available. # - AC_LIBOBJ([fts_open]) + use_local_fts=yes + AC_CHECK_HEADER([fts.h], + [AC_MSG_CHECKING([fts supports required flags]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +$accheck_includes +#include <fts.h>]], [[ +int f = FTS_COMFOLLOW|FTS_LOGICAL|FTS_NOSTAT|FTS_PHYSICAL|FTS_SEEDOT; +]])], + [AC_MSG_RESULT([yes]) + use_local_fts=no], + [AC_MSG_RESULT([no - using local version])], + [AC_MSG_RESULT([unknown - cross-compiling])])]) + AS_IF([test "$use_local_fts" = yes], + [AC_LIBOBJ([fts_open])], + [AC_DEFINE([USE_FTS_H], [1])]) + AC_MSG_NOTICE([--enable-builtinls feature check complete])], [AC_DEFINE([NO_INTERNAL_LS], [1])]) Index: othersrc/libexec/tnftpd/tnftpd.h diff -u othersrc/libexec/tnftpd/tnftpd.h:1.40 othersrc/libexec/tnftpd/tnftpd.h:1.41 --- othersrc/libexec/tnftpd/tnftpd.h:1.40 Sat Sep 23 04:28:10 2023 +++ othersrc/libexec/tnftpd/tnftpd.h Sat Sep 23 04:45:03 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: tnftpd.h,v 1.40 2023/09/23 04:28:10 lukem Exp $ */ +/* $NetBSD: tnftpd.h,v 1.41 2023/09/23 04:45:03 lukem Exp $ */ #define FTPD_VERSION PACKAGE_STRING @@ -246,7 +246,7 @@ int sl_delete(StringList *, const char # endif #endif -#if defined(HAVE_FTS_H) +#if defined(USE_FTS_H) # include <fts.h> #else # include "ftpfts.h"