diff options
author | rwatson <rwatson@FreeBSD.org> | 2000-07-13 20:38:52 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2000-07-13 20:38:52 +0000 |
commit | 1a2da9c569393657e716341d0de1a0a7194a3cb0 (patch) | |
tree | 80b672c3d38305575fa192ef2156bfe6e9b06c63 | |
parent | d8fbcbd787338261d16d69869a895993583c0c65 (diff) | |
download | FreeBSD-src-1a2da9c569393657e716341d0de1a0a7194a3cb0.zip FreeBSD-src-1a2da9c569393657e716341d0de1a0a7194a3cb0.tar.gz |
o Commit two of two, introducing __cap_{get,set}_{fd,file} syscalls to
modify capability sets on files.
Obtained from: TrustedBSD Project
-rw-r--r-- | sys/kern/init_sysent.c | 6 | ||||
-rw-r--r-- | sys/kern/syscalls.c | 6 | ||||
-rw-r--r-- | sys/sys/syscall-hide.h | 6 | ||||
-rw-r--r-- | sys/sys/syscall.h | 8 | ||||
-rw-r--r-- | sys/sys/syscall.mk | 8 | ||||
-rw-r--r-- | sys/sys/sysproto.h | 22 |
6 files changed, 48 insertions, 8 deletions
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c index d724c94..e9b1deb 100644 --- a/sys/kern/init_sysent.c +++ b/sys/kern/init_sysent.c @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp */ #include "opt_compat.h" @@ -388,4 +388,8 @@ struct sysent sysent[] = { { AS(kevent_args), (sy_call_t *)kevent }, /* 363 = kevent */ { AS(__cap_get_proc_args), (sy_call_t *)__cap_get_proc }, /* 364 = __cap_get_proc */ { AS(__cap_set_proc_args), (sy_call_t *)__cap_set_proc }, /* 365 = __cap_set_proc */ + { AS(__cap_get_fd_args), (sy_call_t *)__cap_get_fd }, /* 366 = __cap_get_fd */ + { AS(__cap_get_file_args), (sy_call_t *)__cap_get_file }, /* 367 = __cap_get_file */ + { AS(__cap_set_fd_args), (sy_call_t *)__cap_set_fd }, /* 368 = __cap_set_fd */ + { AS(__cap_set_file_args), (sy_call_t *)__cap_set_file }, /* 369 = __cap_set_file */ }; diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c index ed77c47..1ef1709 100644 --- a/sys/kern/syscalls.c +++ b/sys/kern/syscalls.c @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp */ char *syscallnames[] = { @@ -373,4 +373,8 @@ char *syscallnames[] = { "kevent", /* 363 = kevent */ "__cap_get_proc", /* 364 = __cap_get_proc */ "__cap_set_proc", /* 365 = __cap_set_proc */ + "__cap_get_fd", /* 366 = __cap_get_fd */ + "__cap_get_file", /* 367 = __cap_get_file */ + "__cap_set_fd", /* 368 = __cap_set_fd */ + "__cap_set_file", /* 369 = __cap_set_file */ }; diff --git a/sys/sys/syscall-hide.h b/sys/sys/syscall-hide.h index b4d4432..14b77c5 100644 --- a/sys/sys/syscall-hide.h +++ b/sys/sys/syscall-hide.h @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp */ HIDE_POSIX(fork) @@ -282,3 +282,7 @@ HIDE_BSD(kqueue) HIDE_BSD(kevent) HIDE_BSD(__cap_get_proc) HIDE_BSD(__cap_set_proc) +HIDE_BSD(__cap_get_fd) +HIDE_BSD(__cap_get_file) +HIDE_BSD(__cap_set_fd) +HIDE_BSD(__cap_set_file) diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h index 08b86c4..bf474c0 100644 --- a/sys/sys/syscall.h +++ b/sys/sys/syscall.h @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp */ #define SYS_syscall 0 @@ -287,4 +287,8 @@ #define SYS_kevent 363 #define SYS___cap_get_proc 364 #define SYS___cap_set_proc 365 -#define SYS_MAXSYSCALL 366 +#define SYS___cap_get_fd 366 +#define SYS___cap_get_file 367 +#define SYS___cap_set_fd 368 +#define SYS___cap_set_file 369 +#define SYS_MAXSYSCALL 370 diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk index 93a0969..3364783 100644 --- a/sys/sys/syscall.mk +++ b/sys/sys/syscall.mk @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. # $FreeBSD$ -# created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp +# created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp MIASM = \ syscall.o \ exit.o \ @@ -237,4 +237,8 @@ MIASM = \ kqueue.o \ kevent.o \ __cap_get_proc.o \ - __cap_set_proc.o + __cap_set_proc.o \ + __cap_get_fd.o \ + __cap_get_file.o \ + __cap_set_fd.o \ + __cap_set_file.o diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h index ae2467b..0ead29f 100644 --- a/sys/sys/sysproto.h +++ b/sys/sys/sysproto.h @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.77 2000/06/15 23:08:17 rwatson Exp + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.78 2000/07/13 20:31:24 rwatson Exp */ #ifndef _SYS_SYSPROTO_H_ @@ -1027,6 +1027,22 @@ struct __cap_get_proc_args { struct __cap_set_proc_args { struct cap * cap_p; char cap_p_[PAD_(struct cap *)]; }; +struct __cap_get_fd_args { + int fd; char fd_[PAD_(int)]; + struct cap * cap_p; char cap_p_[PAD_(struct cap *)]; +}; +struct __cap_get_file_args { + const char * path_p; char path_p_[PAD_(const char *)]; + struct cap * cap_p; char cap_p_[PAD_(struct cap *)]; +}; +struct __cap_set_fd_args { + int fd; char fd_[PAD_(int)]; + struct cap * cap_p; char cap_p_[PAD_(struct cap *)]; +}; +struct __cap_set_file_args { + const char * path_p; char path_p_[PAD_(const char *)]; + struct cap * cap_p; char cap_p_[PAD_(struct cap *)]; +}; int nosys __P((struct proc *, struct nosys_args *)); void exit __P((struct proc *, struct rexit_args *)) __dead2; int fork __P((struct proc *, struct fork_args *)); @@ -1260,6 +1276,10 @@ int kqueue __P((struct proc *, struct kqueue_args *)); int kevent __P((struct proc *, struct kevent_args *)); int __cap_get_proc __P((struct proc *, struct __cap_get_proc_args *)); int __cap_set_proc __P((struct proc *, struct __cap_set_proc_args *)); +int __cap_get_fd __P((struct proc *, struct __cap_get_fd_args *)); +int __cap_get_file __P((struct proc *, struct __cap_get_file_args *)); +int __cap_set_fd __P((struct proc *, struct __cap_set_fd_args *)); +int __cap_set_file __P((struct proc *, struct __cap_set_file_args *)); #ifdef COMPAT_43 |