Page MenuHomeFreeBSD

D14557.diff
No OneTemporary

D14557.diff

Index: head/lib/libcapsicum/capsicum_helpers.h
===================================================================
--- head/lib/libcapsicum/capsicum_helpers.h
+++ head/lib/libcapsicum/capsicum_helpers.h
@@ -39,6 +39,8 @@
#include <time.h>
#include <unistd.h>
+#include <libcasper.h>
+
#define CAPH_IGNORE_EBADF 0x0001
#define CAPH_READ 0x0002
#define CAPH_WRITE 0x0004
@@ -120,6 +122,24 @@
{
(void)catopen("libc", NL_CAT_LOCALE);
+}
+
+static __inline int
+caph_enter(void)
+{
+
+ if (cap_enter() < 0 && errno != ENOSYS)
+ return (-1);
+
+ return (0);
+}
+
+
+static __inline int
+caph_enter_casper(void)
+{
+
+ return (CASPER_SUPPORT == 0 ? 0 : caph_enter());
}
#endif /* _CAPSICUM_HELPERS_H_ */
Index: head/lib/libcapsicum/capsicum_helpers.3
===================================================================
--- head/lib/libcapsicum/capsicum_helpers.3
+++ head/lib/libcapsicum/capsicum_helpers.3
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 21, 2016
+.Dd May 7, 2018
.Dt CAPSICUM_HELPERS 3
.Os
.Sh NAME
@@ -41,6 +41,10 @@
.Sh SYNOPSIS
.In capsicum_helpers.h
.Ft int
+.Fn caph_enter "void"
+.Ft int
+.Fn caph_enter_casper "void"
+.Ft int
.Fn caph_limit_stream "int fd, int flags"
.Ft int
.Fn caph_limit_stdin "void"
@@ -55,6 +59,19 @@
.Ft void
.Fn caph_cache_catpages "void"
.Sh DESCRIPTION
+The
+.Nm caph_enter
+is equivalent to the
+.Xr cap_enter 2
+it returns success when the kernel is built without support of the capability
+mode.
+.Pp
+The
+.Nm caph_enter_casper
+is equivalent to the
+.Nm caph_enter
+it returns success when the system is built without Casper support.
+.Pp
The
.Nm capsicum helpers
are a set of a inline functions which simplify modifying programs to use

File Metadata

Mime Type
text/plain
Expires
Wed, Sep 2, 3:56 PM (18 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37985468
Default Alt Text
D14557.diff (1 KB)

Event Timeline