Module Name: othersrc Committed By: lukem Date: Sat Sep 23 04:28:10 UTC 2023
Modified Files: othersrc/libexec/tnftpd: configure.ac tnftpd.h Log Message: configure: only replace glob if required GLOB_ flags aren't available Use system glob() if it provides the flags we use: GLOB_BRACE|GLOB_LIMIT|GLOB_NOCHECK|GLOB_TILDE To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 othersrc/libexec/tnftpd/configure.ac cvs rdiff -u -r1.39 -r1.40 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.50 othersrc/libexec/tnftpd/configure.ac:1.51 --- othersrc/libexec/tnftpd/configure.ac:1.50 Sat Sep 23 04:12:32 2023 +++ othersrc/libexec/tnftpd/configure.ac Sat Sep 23 04:28:10 2023 @@ -1,4 +1,4 @@ -# $NetBSD: configure.ac,v 1.50 2023/09/23 04:12:32 lukem Exp $ +# $NetBSD: configure.ac,v 1.51 2023/09/23 04:28:10 lukem Exp $ # # Process this file with autoconf to produce a configure script. @@ -95,6 +95,8 @@ AH_TEMPLATE([USE_BLOCKLIST], [Define if using blocklist.]) AH_TEMPLATE([USE_BLACKLIST], [Define if using blacklist.]) +AH_TEMPLATE([USE_GLOB_H], + [Define if using system <glob.h> instead of local glob.]) AH_TEMPLATE([USE_INET6], [Define if using IPv6 support.]) AH_TEMPLATE([USE_PAM], @@ -301,9 +303,22 @@ have_dirfd_as_macro AC_DEFINE([HAVE_DIRFD_AS_MACRO], [1])], [AC_MSG_RESULT([no])])]) -# Always replace glob(); the vendor's may not be secure. +# Use system glob if required GLOB_ flags are available. # -AC_LIBOBJ([glob]) +use_local_glob=yes +AC_CHECK_HEADER([glob.h], + [AC_MSG_CHECKING([glob supports required flags]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include <glob.h>]], [[ +int f = GLOB_BRACE|GLOB_LIMIT|GLOB_NOCHECK|GLOB_TILDE; +]])], + [AC_MSG_RESULT([yes]) + use_local_glob=no], + [AC_MSG_RESULT([no - using local version])], + [AC_MSG_RESULT([unknown - cross-compiling])])]) +AS_IF([test "$use_local_glob" = yes], + [AC_LIBOBJ([glob])], + [AC_DEFINE([USE_GLOB_H], [1])]) # Replace fnmatch() if FNM_CASEFOLD is not supported. # Index: othersrc/libexec/tnftpd/tnftpd.h diff -u othersrc/libexec/tnftpd/tnftpd.h:1.39 othersrc/libexec/tnftpd/tnftpd.h:1.40 --- othersrc/libexec/tnftpd/tnftpd.h:1.39 Sat Sep 23 04:00:21 2023 +++ othersrc/libexec/tnftpd/tnftpd.h Sat Sep 23 04:28:10 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: tnftpd.h,v 1.39 2023/09/23 04:00:21 lukem Exp $ */ +/* $NetBSD: tnftpd.h,v 1.40 2023/09/23 04:28:10 lukem Exp $ */ #define FTPD_VERSION PACKAGE_STRING @@ -173,7 +173,11 @@ struct pollfd { # include <err.h> #endif -#include "ftpglob.h" +#if defined(USE_GLOB_H) +# include <glob.h> +#else +# include "ftpglob.h" +#endif #if defined(HAVE_FNMATCH_H) && HAVE_DECL_FNM_CASEFOLD # include <fnmatch.h>