003 File Manager
Current Path:
/usr/src/contrib/capsicum-test
usr
/
src
/
contrib
/
capsicum-test
/
📁
..
📄
.gitignore
(235 B)
📄
CONTRIBUTING.md
(880 B)
📄
GNUmakefile
(2.22 KB)
📄
LICENSE
(1.4 KB)
📄
README.md
(2.7 KB)
📄
capability-fd-pair.cc
(5.52 KB)
📄
capability-fd.cc
(42.15 KB)
📄
capmode.cc
(19.24 KB)
📄
capsicum-freebsd.h
(1.97 KB)
📄
capsicum-linux.h
(1.17 KB)
📄
capsicum-rights.h
(2.86 KB)
📄
capsicum-test-main.cc
(4.23 KB)
📄
capsicum-test.cc
(2.63 KB)
📄
capsicum-test.h
(9.9 KB)
📄
capsicum.h
(4.49 KB)
📄
fcntl.cc
(14.48 KB)
📄
fexecve.cc
(6.08 KB)
📄
ioctl.cc
(6.93 KB)
📄
linux.cc
(48.75 KB)
📄
makefile
(1.59 KB)
📄
mini-me.c
(1.04 KB)
📄
mqueue.cc
(3.24 KB)
📄
openat.cc
(14.52 KB)
📄
overhead.cc
(1.28 KB)
📄
procdesc.cc
(26.95 KB)
📄
rename.cc
(1.59 KB)
📄
sctp.cc
(7.14 KB)
📄
select.cc
(4 KB)
📄
showrights
(4.81 KB)
📄
smoketest.c
(4.86 KB)
📄
socket.cc
(10.56 KB)
📄
syscalls.h
(8.36 KB)
📄
sysctl.cc
(403 B)
📄
waittest.c
(1 KB)
Editing: capsicum-freebsd.h
#ifndef __CAPSICUM_FREEBSD_H__ #define __CAPSICUM_FREEBSD_H__ #ifdef __FreeBSD__ /************************************************************ * FreeBSD Capsicum Functionality. ************************************************************/ #ifdef __cplusplus extern "C" { #endif /* FreeBSD definitions. */ #include <errno.h> #include <sys/param.h> #if __FreeBSD_version >= 1100014 || \ (__FreeBSD_version >= 1001511 && __FreeBSD_version < 1100000) #include <sys/capsicum.h> #else #include <sys/capability.h> #endif #include <sys/procdesc.h> #if __FreeBSD_version >= 1000000 #define AT_SYSCALLS_IN_CAPMODE #define HAVE_CAP_RIGHTS_GET #define HAVE_CAP_RIGHTS_LIMIT #define HAVE_PROCDESC_FSTAT #define HAVE_CAP_FCNTLS_LIMIT // fcntl(2) takes int, cap_fcntls_limit(2) takes uint32_t. typedef uint32_t cap_fcntl_t; #define HAVE_CAP_IOCTLS_LIMIT // ioctl(2) and cap_ioctls_limit(2) take unsigned long. typedef unsigned long cap_ioctl_t; #if __FreeBSD_version >= 1101000 #define HAVE_OPENAT_INTERMEDIATE_DOTDOT #endif #endif #ifdef __cplusplus } #endif // Use fexecve_() in tests to allow Linux variant to bypass glibc version. #define fexecve_(F, A, E) fexecve(F, A, E) #ifdef ENOTBENEATH #define E_NO_TRAVERSE_CAPABILITY ENOTBENEATH #define E_NO_TRAVERSE_O_BENEATH ENOTBENEATH #else #define E_NO_TRAVERSE_CAPABILITY ENOTCAPABLE #define E_NO_TRAVERSE_O_BENEATH ENOTCAPABLE #endif // FreeBSD limits the number of ioctls in cap_ioctls_limit to 256 #define CAP_IOCTLS_LIMIT_MAX 256 // Too many links #define E_TOO_MANY_LINKS EMLINK // TODO(FreeBSD): uncomment if/when FreeBSD propagates rights on accept. // FreeBSD does not generate a capability from accept(cap_fd,...). // https://bugs.freebsd.org/201052 // #define CAP_FROM_ACCEPT // TODO(FreeBSD): uncomment if/when FreeBSD propagates rights on sctp_peeloff. // FreeBSD does not generate a capability from sctp_peeloff(cap_fd,...). // https://bugs.freebsd.org/201052 // #define CAP_FROM_PEELOFF #endif /* __FreeBSD__ */ #endif /*__CAPSICUM_FREEBSD_H__*/
Upload File
Create Folder