diff options
author | David Carlier <devnexen@gmail.com> | 2018-11-03 20:44:25 +0000 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2019-04-26 23:43:51 -0700 |
commit | 2eda49b11ede5bb9d25a028635947c7b41dff484 (patch) | |
tree | 876a005b432d750f262120db5f483792dc4edae7 /freebsd_priv.c | |
parent | 7a483b34e011c6e0a927da3892cbfda6c23fb71f (diff) | |
download | memcached-2eda49b11ede5bb9d25a028635947c7b41dff484.tar.gz |
Adding FreeBSD capabilities support.
Diffstat (limited to 'freebsd_priv.c')
-rw-r--r-- | freebsd_priv.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/freebsd_priv.c b/freebsd_priv.c new file mode 100644 index 0000000..de0830e --- /dev/null +++ b/freebsd_priv.c @@ -0,0 +1,18 @@ +#include <sys/capsicum.h> +#include <errno.h> +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> +#include "memcached.h" + +/* + * dropping privileges is entering in capability mode + * in FreeBSD vocabulary. + */ +void drop_privileges() { + if (cap_enter() != 0) { + fprintf(stderr, "cap_enter failed: %s\n", strerror(errno)); + exit(EXIT_FAILURE); + } +} |