From a996141f6ed74d133b214e78a69e180430dee83c Mon Sep 17 00:00:00 2001 From: Robert Watson Date: Wed, 7 Jun 2000 04:53:49 +0000 Subject: [PATCH] Introduce additional POSIX.1e-related stubs o options CAPABILITIES o kern/kern_cap.c -- syscall stubs returning ENOSYS syscalls.master changes to follow Obtained from: TrustedBSD Project --- sys/conf/files | 1 + sys/conf/options | 3 +++ sys/kern/kern_cap.c | 66 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 sys/kern/kern_cap.c diff --git a/sys/conf/files b/sys/conf/files index dce0e894628f..57b5d015b6bb 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -377,6 +377,7 @@ kern/init_main.c standard kern/init_sysent.c standard kern/kern_acct.c standard kern/kern_acl.c standard +kern/kern_cap.c standard kern/kern_clock.c standard kern/kern_conf.c standard kern/kern_descrip.c standard diff --git a/sys/conf/options b/sys/conf/options index c738de0e0da9..6f364a22a3d3 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -94,6 +94,9 @@ P1003_1B opt_posix.h _KPOSIX_PRIORITY_SCHEDULING opt_posix.h _KPOSIX_VERSION opt_posix.h +# TrustedBSD and POSIX.1e Kernel Options +CAPABILITIES opt_cap.h + # Do we want the config file compiled into the kernel? INCLUDE_CONFIG_FILE opt_config.h diff --git a/sys/kern/kern_cap.c b/sys/kern/kern_cap.c new file mode 100644 index 000000000000..6c5dc58dce41 --- /dev/null +++ b/sys/kern/kern_cap.c @@ -0,0 +1,66 @@ +/*- + * Copyright (c) 2000 Robert N. M. Watson + * All rights reserved. + * + * Copyright (c) 1999 Ilmar S. Habibulin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ +/* + * Developed by the TrustedBSD Project. + * Support for POSIX.1e process capabilities. + * + * XXX Currently just syscall stubs + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * Syscall to allow a process to get it's currently capability set + */ +int +__cap_get_proc(struct proc *p, struct __cap_get_proc_args *uap) +{ + + return (ENOSYS); +} + +/* + * Syscall to allow a process to set it's current capability set, if + * permitted. + */ +int +__cap_set_proc(struct proc *p, struct __cap_set_proc_args *uap) +{ + + return (ENOSYS); +}