[PATCH] cifs-utils: add autoconf test to make sure that libwbclient is usable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

diff --git a/aclocal/idmap.m4 b/aclocal/idmap.m4
index 939a901..4946179 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_ERROR([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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux