diff options
author | Roman Arutyunyan <arut@nginx.com> | 2017-12-18 21:09:39 +0300 |
---|---|---|
committer | Roman Arutyunyan <arut@nginx.com> | 2017-12-18 21:09:39 +0300 |
commit | 0e92c213f51bae95605c19dfee843902e7c8a0ad (patch) | |
tree | 229a9a69caa876b5f7517df2cf0a4882efdddce0 /src/os/unix/ngx_process_cycle.c | |
parent | 752f66bf7d70fae2bf05fbf5941ff4be52b2b9a5 (diff) | |
download | nginx-0e92c213f51bae95605c19dfee843902e7c8a0ad.tar.gz nginx-0e92c213f51bae95605c19dfee843902e7c8a0ad.zip |
Improved the capabilities feature detection.
Previously included file sys/capability.h mentioned in capset(2) man page,
belongs to the libcap-dev package, which may not be installed on some Linux
systems when compiling nginx. This prevented the capabilities feature from
being detected and compiled on that systems.
Now linux/capability.h system header is included instead. Since capset()
declaration is located in sys/capability.h, now capset() syscall is defined
explicitly in code using the SYS_capset constant, similarly to other
Linux-specific features in nginx.
Diffstat (limited to 'src/os/unix/ngx_process_cycle.c')
-rw-r--r-- | src/os/unix/ngx_process_cycle.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c index 40654b3a2..9b0e0421e 100644 --- a/src/os/unix/ngx_process_cycle.c +++ b/src/os/unix/ngx_process_cycle.c @@ -869,7 +869,7 @@ ngx_worker_process_init(ngx_cycle_t *cycle, ngx_int_t worker) data.effective = CAP_TO_MASK(CAP_NET_RAW); data.permitted = data.effective; - if (capset(&header, &data) == -1) { + if (syscall(SYS_capset, &header, &data) == -1) { ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno, "capset() failed"); /* fatal */ |