diff options
author | Alexander Bokovoy <ab@samba.org> | 2003-09-10 14:03:08 +0000 |
---|---|---|
committer | Alexander Bokovoy <ab@samba.org> | 2003-09-10 14:03:08 +0000 |
commit | 37737023a8dccbaa546d1b88999c4d4f8257e436 (patch) | |
tree | ee6ea05838239b8a4702b660aef31d3707960eab /source3/configure.in | |
parent | 623a46b7e4a56f0f9552a6b394409136d0c050cd (diff) | |
download | samba-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/configure.in')
-rw-r--r-- | source3/configure.in | 23 |
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) |