1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-23 00:43:28 +00:00
freebsd-ports/net/samba36/files/patch-source3__configure.in
Timur I. Bakeyev 69a5492b89 Security update of the port to the 3.6.12 version
Security:	CVE-2013-0213, CVE-2013-0214
2013-01-31 15:59:44 +00:00

211 lines
6.6 KiB
Plaintext

--- ./source3/configure.in.orig 2013-01-18 10:41:08.000000000 +0000
+++ ./source3/configure.in 2013-01-30 01:24:19.349878982 +0000
@@ -864,9 +864,13 @@
AC_PATH_PROG(CUPS_CONFIG, cups-config)
if test "x$CUPS_CONFIG" != x; then
+ ac_save_PRINT_CPPFLAGS=$CPPFLAGS
+ ac_save_PRINT_LDFLAGS=$LDFLAGS
- ac_save_LDFLAGS=$LDFLAGS
ac_save_PRINT_LIBS=$PRINT_LIBS
+ CPPFLAGS="$CPPFLAGS `$CUPS_CONFIG --cflags`"
+ LDFLAGS="$LDFLAGS `$CUPS_CONFIG --ldflags`"
+
AC_CHECK_HEADERS(cups/cups.h cups/language.h)
if test x"$ac_cv_header_cups_cups_h" = xyes -a \
@@ -875,7 +879,7 @@
# underlinked. With cups-config --libs we pull in unwanted and unneeded
# dendencies including thread libraries - use cups-config only if really
# required.
- AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS , httpConnect,
+ AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS, httpConnect,
[PRINT_LIBS="$ac_save_PRINT_LIBS -lcups"],
[AC_MSG_WARN([your cups library doesn't link with -lcups alone, it might be underlinked.]) ;
PRINT_LIBS="$ac_save_PRINT_LIBS `$CUPS_CONFIG --libs`"])
@@ -885,10 +889,10 @@
AC_CHECK_LIB_EXT(cups, PRINT_LIBS, httpConnectEncrypt)
else
AC_MSG_WARN([cups-config around but cups-devel not installed])
- CFLAGS=$ac_save_CFLAGS
- LDFLAGS=$ac_save_LDFLAGS
PRINT_LIBS=$ac_save_PRINT_LIBS
fi
+ CPPFLAGS=$ac_save_PRINT_CPPFLAGS
+ LDFLAGS=$ac_save_PRINT_LDFLAGS
elif test x"$enable_cups" = x"yes"; then
AC_MSG_ERROR(Cups support required but cups-config not located. Make sure cups-devel related files are installed.)
@@ -1845,7 +1849,7 @@
fi
if test x"$BLDSHARED" = x"true" ; then
- LDFLAGS="$LDFLAGS -L./bin"
+ LDFLAGS="-L./bin $LDFLAGS"
fi
AC_MSG_RESULT($BLDSHARED)
@@ -1976,9 +1980,6 @@
AC_MSG_CHECKING([PICFLAG])
AC_MSG_RESULT([$PICFLAG])
-AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX])
-AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX])
-
AC_CACHE_CHECK([whether building shared libraries actually works],
[ac_cv_shlib_works],[
# try building a trivial shared library
@@ -4656,15 +4657,51 @@
x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then
if test x"${try_pam}" = x"yes";then
AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found])
- fi
+ fi
create_pam_modules=no
- fi
+ fi
if test x"$use_pam" = x"yes"; then
- AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
+ AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
AC_DEFINE(HAVE_LIBPAM,1,[Whether libpam is available])
AUTH_LIBS="$AUTH_LIBS $PAM_LIBS"
- with_pam_for_crypt=yes
+ with_pam_for_crypt=yes
+
+ AC_VERIFY_C_PROTOTYPE(
+ [int pam_get_data(const pam_handle_t *pamh, const char *module_data_name, const void **data)],
+ [return 0;],
+ [AC_DEFINE(PAM_GET_DATA_ARG3_CONST_VOID_PP, 1, [Whether pam_get_data 3 argument is a const pointer to pointer])],
+ [
+ dnl Old OpenPAM declaration
+ AC_VERIFY_C_PROTOTYPE(
+ [int pam_get_data(pam_handle_t *pamh, const char *module_data_name, void **data)],
+ [return 0;],
+ [AC_DEFINE(PAM_GET_DATA_ARG3_VOID_PP, 1, [Whether pam_get_data 3 argument is a void pointer to pointer])],
+ [], [
+ #include <sys/types.h>
+ #if HAVE_SECURITY_PAM_APPL_H
+ #include <security/pam_appl.h>
+ #endif
+ #if HAVE_PAM_PAM_APPL_H
+ #include <pam/pam_appl.h>
+ #endif
+ #if HAVE_SECURITY_PAM_MODULES_H
+ #include <security/pam_modules.h>
+ #endif
+ ]
+ )],[
+ #include <sys/types.h>
+ #if HAVE_SECURITY_PAM_APPL_H
+ #include <security/pam_appl.h>
+ #endif
+ #if HAVE_PAM_PAM_APPL_H
+ #include <pam/pam_appl.h>
+ #endif
+ #if HAVE_SECURITY_PAM_MODULES_H
+ #include <security/pam_modules.h>
+ #endif
+ ]
+ )
if test x"$create_pam_modules" = x"yes"; then
AC_DEFINE(WITH_PAM_MODULES,1,[Whether to include PAM MODULES support])
@@ -4674,7 +4711,7 @@
AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h)
AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS)
else
- AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])
+ AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])
fi
fi
AC_MSG_CHECKING(whether to use PAM support)
@@ -5877,7 +5914,7 @@
AC_MSG_CHECKING(for aio_suspend)
AC_LINK_IFELSE([#include <aio.h>
-int main() { struct aiocb a; struct timespec t; return aio_suspend(&a, 1, &t); }],
+int main() { struct aiocb *a[[1]]; struct timespec t; return aio_suspend((const struct aiocb**)&a, 1, &t); }],
[AC_DEFINE(HAVE_AIO_SUSPEND, 1, [Have aio_suspend]) AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
fi
@@ -6336,12 +6373,13 @@
NSSSONAMEVERSIONSUFFIX=".2"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_linux.o"
;;
- *freebsd[[5-9]]*)
+ *freebsd*)
# FreeBSD winbind client is implemented as a wrapper around
# the Linux version.
NSSSONAMEVERSIONSUFFIX=".1"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_freebsd.o \
../nsswitch/winbind_nss_linux.o"
+ WINBIND_WINS_NSS_EXTRA_OBJS="../nsswitch/wins_freebsd.o"
WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
;;
@@ -6488,10 +6526,14 @@
AC_MSG_RESULT(no$winbind_no_reason)
fi
+AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX])
+AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX])
+
AC_SUBST(WINBIND_NSS)
AC_SUBST(WINBIND_WINS_NSS)
AC_SUBST(WINBIND_NSS_LDSHFLAGS)
AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
+AC_SUBST(WINBIND_WINS_NSS_EXTRA_OBJS)
AC_SUBST(NSSSONAMEVERSIONSUFFIX)
AC_SUBST(WINBIND_KRB5_LOCATOR)
@@ -6810,13 +6852,21 @@
# Start
AC_CHECK_FUNC(getmntent)
-AC_CHECK_HEADERS(sys/statfs.h)
+AC_CHECK_HEADERS(sys/statfs.h sys/mount.h)
AC_MSG_CHECKING([vfs_fileid: checking for statfs() and struct statfs.f_fsid)])
AC_CACHE_VAL(vfsfileid_cv_statfs,[
AC_TRY_RUN([
#include <sys/types.h>
+ #ifdef HAVE_SYS_PARAM_H
+ #include <sys/param.h>
+ #endif
+ #ifdef HAVE_SYS_MOUNT_H
+ #include <sys/mount.h>
+ #endif
+ #ifdef HAVE_SYS_STATFS_H
#include <sys/statfs.h>
+ #endif
int main(void)
{
struct statfs fsd;
@@ -7116,6 +7166,16 @@
LIBS="$LIBS -ldmalloc"
fi
+AC_ARG_ENABLE(dmalloc, [AS_HELP_STRING([--enable-dmalloc], [Enable heap debugging [default=no]])])
+
+if test "x$enable_dmalloc" = xyes
+then
+ AC_DEFINE(ENABLE_DMALLOC, 1, [Define to turn on dmalloc debugging])
+ AC_DEFINE(DMALLOC_FUNC_CHECK, 1,
+ [Define to check invariants around some common functions])
+ LIBS="$LIBS -ldmalloc"
+fi
+
dnl Remove -L/usr/lib/? from LDFLAGS and LIBS
LIB_REMOVE_USR_LIB(LDFLAGS)
LIB_REMOVE_USR_LIB(LIBS)
@@ -7164,6 +7224,7 @@
AC_SUBST(SMBD_LIBS)
CFLAGS="${CFLAGS} \$(FLAGS)"
+CFLAGS="${CFLAGS} -I%%LOCALBASE%%/include"
CFLAGS="${CFLAGS} -D_SAMBA_BUILD_=3"
# If we had to expand the includes, make tsure the output file is moved back