diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-07-12 15:07:13 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2007-07-12 15:07:13 +0000 |
commit | 57924f941f2c959193d0104b306bda888a4af864 (patch) | |
tree | 7131ad1b7746703fbc8e39da6f1d5d76ad4ee7dc /nscd | |
parent | 76a149ca08631b519040faf8de67da010fc9e33d (diff) | |
download | glibc-57924f941f2c959193d0104b306bda888a4af864.tar glibc-57924f941f2c959193d0104b306bda888a4af864.tar.gz glibc-57924f941f2c959193d0104b306bda888a4af864.tar.bz2 glibc-57924f941f2c959193d0104b306bda888a4af864.zip |
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.
Diffstat (limited to 'nscd')
-rw-r--r-- | nscd/selinux.c | 16 | ||||
-rw-r--r-- | nscd/selinux.h | 2 |
2 files changed, 11 insertions, 7 deletions
diff --git a/nscd/selinux.c b/nscd/selinux.c index f123d68b93..483c8e29b6 100644 --- a/nscd/selinux.c +++ b/nscd/selinux.c @@ -182,18 +182,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 (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 (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, + (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); diff --git a/nscd/selinux.h b/nscd/selinux.h index 9ce0628486..1d940c35bc 100644 --- a/nscd/selinux.h +++ b/nscd/selinux.h @@ -23,7 +23,7 @@ #include "nscd.h" #ifdef HAVE_LIBCAP -# include <sys/capabilities.h> +# include <sys/capability.h> #endif #ifdef HAVE_SELINUX |