X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fselinux-selinux-h.m4;h=35d2dbed45ad38167d51cbf5057fe32f02e7801a;hb=e4c754e34096c0703a41f6c0e9fb7cc1f007b3ed;hp=20dc77c4369f9362204df5672aefe262ff33b558;hpb=bfee83b134136d03de06c20972a18c5f59bef482;p=gnulib.git diff --git a/m4/selinux-selinux-h.m4 b/m4/selinux-selinux-h.m4 index 20dc77c43..35d2dbed4 100644 --- a/m4/selinux-selinux-h.m4 +++ b/m4/selinux-selinux-h.m4 @@ -1,19 +1,31 @@ # serial 3 -*- Autoconf -*- -# Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. +# Copyright (C) 2006-2007, 2009-2010 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering # Provide , if necessary. +# If it is already present, provide wrapper functions to guard against +# misbehavior from getfilecon, lgetfilecon, and fgetfilecon. AC_DEFUN([gl_HEADERS_SELINUX_SELINUX_H], [ AC_REQUIRE([gl_LIBSELINUX]) - AC_CHECK_HEADERS([selinux/selinux.h], - [SELINUX_SELINUX_H=], - [SELINUX_SELINUX_H=selinux/selinux.h]) - AC_SUBST([SELINUX_SELINUX_H]) + AC_CHECK_HEADERS([selinux/selinux.h]) + + if test "$ac_cv_header_selinux_selinux_h" = yes; then + # We do have , so do compile getfilecon.c + # and arrange to use its wrappers. + AC_LIBOBJ([getfilecon]) + gl_CHECK_NEXT_HEADERS([selinux/selinux.h]) + AC_DEFINE([getfilecon], [rpl_getfilecon], + [Always use our getfilecon wrapper.]) + AC_DEFINE([lgetfilecon], [rpl_lgetfilecon], + [Always use our lgetfilecon wrapper.]) + AC_DEFINE([fgetfilecon], [rpl_fgetfilecon], + [Always use our fgetfilecon wrapper.]) + fi case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in no:*) # already warned