@@ -19,6 +19,26 @@ if test $enable_cifsidmap != "no" -o $enable_cifsacl != "no"; then
])
fi
+if test $enable_cifsacl != "no" -o $enable_cifsacl != "no"; then
+ ac_wbc_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $WBCLIENT_LIBS"
+ AC_CHECK_LIB(wbclient, wbcSidsToUnixIds, , [
+ if test "$enable_cifsidmap" = "yes"; then
+ AC_MSG_ERROR([wbclient library lacks wbcSidsToUnixIds().])
+ else
+ AC_MSG_WARN([wbclient library lacks wbcSidsToUnixIds(). Disabling cifs.idmap.])
+ enable_cifsidmap="no"
+ fi
+ if test "$enable_cifsacl" = "yes"; then
+ AC_MSG_ERROR([wbclient library lacks wbcSidsToUnixIds.])
+ else
+ AC_MSG_WARN([wbclient library lacks wbcSidsToUnixIds(). Disabling cifsacl tools.])
+ enable_cifsacl="no"
+ fi
+ ])
+ LDFLAGS=$ac_wbc_save_LDFLAGS
+fi
+
if test $enable_cifsacl != "no"; then
AC_CHECK_HEADERS([sys/xattr.h], , [
if test "$enable_cifsacl" = "yes"; then
The idmapwb plugin requires a usable wbcSidsToUnixIds() function. Check to ensure that the wbclient library provides that symbol, and handle it appropriately if it doesn't. If someone were so inclined they probably could fix idmapwb to fall back to the older mapping functions if that symbol doesn't exist, but for now this patch just makes it refuse to build the plugin. Reported-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com> Signed-off-by: Jeff Layton <jlayton@samba.org> --- aclocal/idmap.m4 | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)