* scripts/check-local-headers.sh: Filter out sys/capability.h.

2007-03-22  Jakub Jelinek  <jakub@redhat.com>

	* config.h.in (HAVE_LIBCAP): Add.
	* nscd/selinux.h: Include sys/capability.h rather than non-existent
	sys/capabilities.h.
	* nscd/selinux.c (preserve_capabilities): Use cap_free instead of
	free_caps.  Cast away const from 4th cap_set_flag argument.
This commit is contained in:
Ulrich Drepper 2007-03-26 20:41:09 +00:00
parent 4e87573fe2
commit e1f0c5bc78
6 changed files with 32 additions and 7 deletions

View File

@ -1,3 +1,15 @@
2007-03-23 Jakub Jelinek <jakub@redhat.com>
* scripts/check-local-headers.sh: Filter out sys/capability.h.
2007-03-22 Jakub Jelinek <jakub@redhat.com>
* config.h.in (HAVE_LIBCAP): Add.
* nscd/selinux.h: Include sys/capability.h rather than non-existent
sys/capabilities.h.
* nscd/selinux.c (preserve_capabilities): Use cap_free instead of
free_caps. Cast away const from 4th cap_set_flag argument.
2007-03-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/Versions: Move sync_file_range to

View File

@ -19,6 +19,9 @@
/* Defined if building with SELinux support & audit libs are detected. */
#undef HAVE_LIBAUDIT
/* Defined if building with SELinux support & libcap libs are detected. */
#undef HAVE_LIBCAP
/* Define if using XCOFF. Set by --with-xcoff. */
#undef HAVE_XCOFF

View File

@ -1,3 +1,8 @@
2007-03-19 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
(__lll_robust_trylock): Add MUTEX_HINT_ACQ to lwarx instruction.
2007-03-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/bits/libc-lock.h: Use __extern_inline and

View File

@ -187,18 +187,22 @@ preserve_capabilities (void)
if (tmp_caps == NULL || new_caps == NULL)
{
if (tmp_caps != NULL)
free_caps (tmp_caps);
cap_free (tmp_caps);
dbg_log (_("Failed to initialize drop of capabilities"));
error (EXIT_FAILURE, 0, _("cap_init failed"));
}
/* There is no reason why these should not work. */
cap_set_flag (new_caps, CAP_PERMITTED, nnew_cap_list, new_cap_list, CAP_SET);
cap_set_flag (new_caps, CAP_EFFECTIVE, nnew_cap_list, new_cap_list, CAP_SET);
cap_set_flag (new_caps, CAP_PERMITTED, nnew_cap_list,
(cap_value_t *) new_cap_list, CAP_SET);
cap_set_flag (new_caps, CAP_EFFECTIVE, nnew_cap_list,
(cap_value_t *) new_cap_list, CAP_SET);
cap_set_flag (tmp_caps, CAP_PERMITTED, ntmp_cap_list, tmp_cap_list, CAP_SET);
cap_set_flag (tmp_caps, CAP_EFFECTIVE, ntmp_cap_list, tmp_cap_list, CAP_SET);
cap_set_flag (tmp_caps, CAP_PERMITTED, ntmp_cap_list,
(cap_value_t *) tmp_cap_list, CAP_SET);
cap_set_flag (tmp_caps, CAP_EFFECTIVE, ntmp_cap_list,
(cap_value_t *) tmp_cap_list, CAP_SET);
int res = cap_set_proc (tmp_caps);

View File

@ -1,5 +1,5 @@
/* Header for nscd SELinux access controls.
Copyright (C) 2004, 2006 Free Software Foundation, Inc.
Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Matthew Rickard <mjricka@epoch.ncsc.mil>, 2004.
@ -23,7 +23,7 @@
#include "nscd.h"
#ifdef HAVE_LIBCAP
# include <sys/capabilities.h>
# include <sys/capability.h>
#endif
#ifdef HAVE_SELINUX

View File

@ -30,6 +30,7 @@ if fgrep "$includedir" */*.{o,os,oS}.d |
fgrep -v "$includedir/asm" |
fgrep -v "$includedir/linux" |
fgrep -v "$includedir/selinux" |
fgrep -v "$includedir/sys/capability.h" |
fgrep -v "$includedir/gd"; then
# If we found a match something is wrong.
exit 1