sys_linux: fix building with old libcap versions
The cap_get_bound() function and CAP_IS_SUPPORTED macro were added in libcap-2.21. Check if the macro is defined before use. The sys/capability.h header from libcap-2.16 and earlier disables the linux/types.h header, which breaks the linux/ptp_clock.h header. Change the order to include sys/capability.h as the last system header.
This commit is contained in:
parent
366345790d
commit
bf7aa52394
1 changed files with 6 additions and 6 deletions
12
sys_linux.c
12
sys_linux.c
|
@ -42,11 +42,6 @@
|
|||
#include <sys/resource.h>
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_PRIVDROP
|
||||
#include <sys/prctl.h>
|
||||
#include <sys/capability.h>
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_PHC) || defined(HAVE_LINUX_TIMESTAMPING)
|
||||
#include <linux/ptp_clock.h>
|
||||
#endif
|
||||
|
@ -66,6 +61,11 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_PRIVDROP
|
||||
#include <sys/prctl.h>
|
||||
#include <sys/capability.h>
|
||||
#endif
|
||||
|
||||
#include "sys_linux.h"
|
||||
#include "sys_timex.h"
|
||||
#include "conf.h"
|
||||
|
@ -385,7 +385,7 @@ test_step_offset(void)
|
|||
static void
|
||||
report_time_adjust_blockers(void)
|
||||
{
|
||||
#ifdef FEAT_PRIVDROP
|
||||
#if defined(FEAT_PRIVDROP) && defined(CAP_IS_SUPPORTED)
|
||||
if (CAP_IS_SUPPORTED(CAP_SYS_TIME) && cap_get_bound(CAP_SYS_TIME))
|
||||
return;
|
||||
LOG(LOGS_WARN, "CAP_SYS_TIME not present");
|
||||
|
|
Loading…
Reference in a new issue