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 <[email protected]>
Signed-off-by: Jeff Layton <[email protected]>
---
 aclocal/idmap.m4 | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/aclocal/idmap.m4 b/aclocal/idmap.m4
index 939a901..c5727f6 100644
--- a/aclocal/idmap.m4
+++ b/aclocal/idmap.m4
@@ -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
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to