summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorAlexander Bokovoy <ab@samba.org>2003-09-10 14:03:08 +0000
committerAlexander Bokovoy <ab@samba.org>2003-09-10 14:03:08 +0000
commit37737023a8dccbaa546d1b88999c4d4f8257e436 (patch)
treeee6ea05838239b8a4702b660aef31d3707960eab /source3
parent623a46b7e4a56f0f9552a6b394409136d0c050cd (diff)
downloadsamba-37737023a8dccbaa546d1b88999c4d4f8257e436.tar.gz
samba-37737023a8dccbaa546d1b88999c4d4f8257e436.tar.bz2
samba-37737023a8dccbaa546d1b88999c4d4f8257e436.zip
Support for CAN-2003-0689 port from SAMBA_3_0
(This used to be commit 69b30ec0776b06c62810a3eb1d7be1df3db9e169)
Diffstat (limited to 'source3')
-rw-r--r--source3/configure.in23
1 files changed, 21 insertions, 2 deletions
diff --git a/source3/configure.in b/source3/configure.in
index a2e04b5d48..151411feb8 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -883,8 +883,23 @@ AC_CHECK_FUNCS(open64 _open64 __open64 creat64)
#
case "$host_os" in
*linux*)
- # glibc <= 2.3.2 has a broken getgrouplist
- AC_TRY_RUN([
+ # test if user trusts its own glibc version w.r.t. CAN-2003-0689
+ # Some vendors already provided glibc builds with this fix so getgrouplist() is usable
+ # on those platforms. Unfortunately, we can't get this information from compiling yet.
+ AC_MSG_CHECKING([whether GNU libc has good getgrouplist w.r.t. CAN-2003-0689])
+ AC_ARG_WITH(good-getgrouplist,
+ [ --with-good-getgrouplist[=no] whether GNU libc has good getgrouplist w.r.t. CAN-2003-0689 ],
+ [ case "$with_good_getgrouplist" in
+ yes)
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist])
+ ;;
+ *)
+ AC_MSG_RESULT(no)
+ ;;
+ esac],
+# glibc <= 2.3.2 has a broken getgrouplist
+AC_TRY_RUN([
#include <unistd.h>
#include <sys/utsname.h>
main() {
@@ -902,8 +917,12 @@ main() {
}
], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no])
if test x"$linux_getgrouplist_ok" = x"yes"; then
+ AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist])
+ else
+ AC_MSG_RESULT(no)
fi
+)
;;
*)
AC_CHECK_FUNCS(getgrouplist)