From patchwork Tue Aug 23 19:04:24 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shirish Pargaonkar X-Patchwork-Id: 1089482 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.4) with ESMTP id p7NIw3oL009681 for ; Tue, 23 Aug 2011 18:58:51 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755681Ab1HWS6v (ORCPT ); Tue, 23 Aug 2011 14:58:51 -0400 Received: from mail-gy0-f174.google.com ([209.85.160.174]:63581 "EHLO mail-gy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755304Ab1HWS6u (ORCPT ); Tue, 23 Aug 2011 14:58:50 -0400 Received: by mail-gy0-f174.google.com with SMTP id 6so321859gya.19 for ; Tue, 23 Aug 2011 11:58:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; bh=htOTTw1iBxne8QeheWNsTmcdhsGGQic/i1cd96WeTzU=; b=ojeyUSY61lfIplD6BBePkmiLTGVAOLjLFuZg4K5Sk7bc5ehk10+6dgJhwWaX0NlSdj Phk7NIYXKlyodt78tHT0JlmXYMuJ9fJjNTdHNJDw4J2TXZurk2Rtt2Wq4Ps3R9Vnf7Bz VNGFTO5joOg18scDnpV+Fcs2YqYBMooYb2DaE= Received: by 10.147.142.2 with SMTP id u2mr4074870yan.2.1314125930265; Tue, 23 Aug 2011 11:58:50 -0700 (PDT) Received: from localhost ([32.97.110.58]) by mx.google.com with ESMTPS id o2sm317412yhl.43.2011.08.23.11.58.49 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 23 Aug 2011 11:58:49 -0700 (PDT) From: shirishpargaonkar@gmail.com To: jlayton@samba.org Cc: linux-cifs@vger.kernel.org, Shirish Pargaonkar Subject: [PATCH 7/8] cifs-utils: cifsacl utilities: Add configure and make directives for cifsacl (try #2) Date: Tue, 23 Aug 2011 14:04:24 -0500 Message-Id: <1314126264-12107-1-git-send-email-shirishpargaonkar@gmail.com> X-Mailer: git-send-email 1.6.0.2 Sender: linux-cifs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-cifs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Tue, 23 Aug 2011 18:58:51 +0000 (UTC) From: Shirish Pargaonkar Add configure directives for option cifsacl. The default action is to enable cifsacl option. cifsacl option is enabled or disabled in a similar way to cifs.idmap in the same function. In addition, for cifsacl, check for sys/xattr.h is done in the smae .m4 file. Add directives to build getcifsacl in Makefile. Signed-off-by: Shirish Pargaonkar --- Makefile.am | 17 ++++++++++++++++- aclocal/idmap.m4 | 23 ++++++++++++++++++++--- configure.ac | 17 +++++++++++++++++ 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 4938447..3ec6b7e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,7 +9,7 @@ mount_cifs_LDADD = $(LIBCAP) $(CAPNG_LDADD) man_MANS = mount.cifs.8 sbin_PROGRAMS = -clean-local: clean-local-upcall clean-local-idmap +clean-local: clean-local-upcall clean-local-idmap clean-local-aclprogs if CONFIG_CIFSUPCALL sbin_PROGRAMS += cifs.upcall @@ -50,3 +50,18 @@ clean-local-idmap: if CONFIG_CIFSIDMAP rm -f cifs.idmap.8 cifs.idmap.8-t endif + +if CONFIG_CIFSACL +sbin_PROGRAMS += getcifsacl +getcifsacl_SOURCES = getcifsacl.c +getcifsacl_LDADD = -lkeyutils $(WINB_LDADD) +man_MANS += getcifsacl.8 + +getcifsacl.8: getcifsacl.8.in + $(SED) 's,[@]sbindir@,$(sbindir),' $(srcdir)/$@.in > $@-t && mv $@-t $@ +endif + +clean-local-aclprogs: +if CONFIG_CIFSACL + rm -f getcifsacl.8 getcifsacl.8-t +endif diff --git a/aclocal/idmap.m4 b/aclocal/idmap.m4 index 211d372..ada73f0 100644 --- a/aclocal/idmap.m4 +++ b/aclocal/idmap.m4 @@ -23,10 +23,10 @@ AC_DEFUN([AC_WBCH_COMPL],[ #endif ]]) -dnl Check for wbclient.h header and libwbclietn.so +dnl Check for wbclient.h header and libwbclient.so dnl AC_DEFUN([AC_TEST_WBCHL],[ -if test $enable_cifsidmap != "no"; then +if test $enable_cifsidmap != "no" -o $enable_cifsacl != "no"; then AC_CHECK_HEADERS([wbclient.h], , [ if test "$enable_cifsidmap" = "yes"; then AC_MSG_ERROR([wbclient.h not found, consider installing libwbclient-devel.]) @@ -34,10 +34,27 @@ if test $enable_cifsidmap != "no"; then AC_MSG_WARN([wbclient.h not found, consider installing libwbclient-devel. Disabling cifs.idmap.]) enable_cifsidmap="no" fi + if test "$enable_cifsacl" = "yes"; then + AC_MSG_ERROR([wbclient.h not found, consider installing libwbclient-devel.]) + else + AC_MSG_WARN([wbclient.h not found, consider installing libwbclient-devel. Disabling cifsacl.]) + enable_cifsacl="no" + fi ], [ AC_WBCH_COMPL ]) fi -if test $enable_cifsidmap != "no"; then +if test $enable_cifsacl != "no"; then + AC_CHECK_HEADERS([sys/xattr.h], , [ + if test "$enable_cifsacl" = "yes"; then + AC_MSG_ERROR([/usr/include/sys/xattr.h not found]) + else + AC_MSG_WARN([/usr/include/sys/xattr.h not found. Disabling cifsacl.]) + enable_cifsacl="no" + fi + ], [ ]) +fi + +if test $enable_cifsidmap != "no" -o $enable_cifsacl != "no"; then AC_CHECK_LIB([wbclient], [wbcStringToSid], [ WINB_LDADD='-lwbclient' ] [ AC_DEFINE(HAVE_LIBWBCLIENT, 1, ["Define var have_libwbclient"]) ], [AC_MSG_ERROR([No functioning wbclient library found!])]) AC_SUBST(WINB_LDADD) diff --git a/configure.ac b/configure.ac index 780abe7..293415f 100644 --- a/configure.ac +++ b/configure.ac @@ -28,6 +28,12 @@ AC_ARG_ENABLE(cifsidmap, enable_cifsidmap=$enableval, enable_cifsidmap="maybe") +AC_ARG_ENABLE(cifsacl, + [AC_HELP_STRING([--enable-cifsacl], + [Create get/set cifsacl binary @<:@default=yes@:>@])], + enable_cifsacl=$enableval, + enable_cifsacl="maybe") + # Checks for programs. AC_PROG_CC AC_PROG_SED @@ -94,6 +100,16 @@ if test $enable_cifsupcall != "no" -o $enable_cifsidmap != "no"; then fi ]) fi +if test $enable_cifsacl != "no"; then + AC_CHECK_HEADERS([wbclient.h], , [ + if test "$enable_cifsacl" = "yes"; then + AC_MSG_ERROR([wbclient.h not found, consider installing libwbclient-devel.]) + else + AC_MSG_WARN([wbclient.h not found, consider installing libwbclient-devel. Disabling getcifsacl.]) + enable_cifsacl="no" + fi + ]) +fi if test $enable_cifsupcall != "no"; then AC_CHECK_LIB([krb5], [krb5_init_context], [ KRB5_LDADD='-lkrb5' ], @@ -156,6 +172,7 @@ LIBS=$cu_saved_libs AM_CONDITIONAL(CONFIG_CIFSUPCALL, [test "$enable_cifsupcall" != "no"]) AM_CONDITIONAL(CONFIG_CIFSCREDS, [test "$enable_cifscreds" = "yes"]) AM_CONDITIONAL(CONFIG_CIFSIDMAP, [test "$enable_cifsidmap" != "no"]) +AM_CONDITIONAL(CONFIG_CIFSACL, [test "$enable_cifsacl" != "no"]) LIBCAP_NG_PATH