diff -Naurb samba-3.0.28.orig/source/configure.in samba-3.0.28/source/configure.in --- samba-3.0.28.orig/source/configure.in 2007-11-21 04:58:01.000000000 +0100 +++ samba-3.0.28/source/configure.in 2008-02-20 14:31:05.167709211 +0100 @@ -2663,6 +2663,7 @@ if test x"$samba_cv_HAVE_POSIX_CAPABILITIES" = x"yes"; then AC_DEFINE(HAVE_POSIX_CAPABILITIES, 1, [Whether POSIX capabilities are available]) + AC_CHECK_DECLS([capget], , , [#include ]) else LIBS=$ac_save_LIBS fi diff -Naurb samba-3.0.28.orig/source/include/config.h.in samba-3.0.28/source/include/config.h.in --- samba-3.0.28.orig/source/include/config.h.in 2007-12-10 17:04:29.000000000 +0100 +++ samba-3.0.28/source/include/config.h.in 2008-02-20 14:32:41.246837408 +0100 @@ -1211,6 +1211,9 @@ /* Whether POSIX capabilities are available */ #undef HAVE_POSIX_CAPABILITIES +/* Whether the capget (and capset) function is available (libcap-2.x has it) */ +#undef HAVE_DECL_CAPGET + /* Whether posix_fadvise is available */ #undef HAVE_POSIX_FADVISE diff -Naurb samba-3.0.28.orig/source/smbd/oplock_linux.c samba-3.0.28/source/smbd/oplock_linux.c --- samba-3.0.28.orig/source/smbd/oplock_linux.c 2007-11-15 04:15:04.000000000 +0100 +++ samba-3.0.28/source/smbd/oplock_linux.c 2008-02-20 14:31:48.327720338 +0100 @@ -34,10 +34,12 @@ uint32 inheritable; } data; +#if defined HAVE_DECL_CAPGET && !HAVE_DECL_CAPGET extern int capget(struct cap_user_header * hdrp, struct cap_user_data * datap); extern int capset(struct cap_user_header * hdrp, const struct cap_user_data * datap); +#endif static SIG_ATOMIC_T signals_received; #define FD_PENDING_SIZE 100