NetBSD/sys/secmodel/securelevel/securelevel.h
elad 6887492c26 Make securelevel a "secmodel" of its own.
While it's true that it's part of the traditional 4.4BSD security model,
there may come a time where a different "primary" security model used for
fine-grained privileges (ie., splitting root's responsibilities to various
privileges that can be assigned) may want to still have a securelevel
setting.

Idea from Daniel Carosone:

  http://mail-index.netbsd.org/tech-security/2006/08/25/0001.html

The location of the removed files, for reference, was:

  src/secmodel/bsd44/secmodel_bsd44_securelevel.c
  src/secmodel/bsd44/securelevel.h
2007-11-21 22:49:05 +00:00

54 lines
2.4 KiB
C

/* $NetBSD: securelevel.h,v 1.1 2007/11/21 22:49:09 elad Exp $ */
/*-
* Copyright (c) 2006 Elad Efrat <elad@NetBSD.org>
* 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.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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.
*/
#ifndef _SECMODEL_SECURELEVEL_SECURELEVEL_H_
#define _SECMODEL_SECURELEVEL_SECURELEVEL_H_
int secmodel_securelevel_sysctl(SYSCTLFN_PROTO);
void secmodel_securelevel_init(void);
void secmodel_securelevel_start(void);
#if defined(_LKM)
void secmodel_securelevel_stop(void);
SYSCTL_SETUP_PROTO(sysctl_security_securelevel_setup);
#endif /* _LKM */
int secmodel_securelevel_system_cb(kauth_cred_t, kauth_action_t, void *,
void *, void *, void *, void *);
int secmodel_securelevel_process_cb(kauth_cred_t, kauth_action_t, void *,
void *, void *, void *, void *);
int secmodel_securelevel_network_cb(kauth_cred_t, kauth_action_t, void *,
void *, void *, void *, void *);
int secmodel_securelevel_machdep_cb(kauth_cred_t, kauth_action_t, void *,
void *, void *, void *, void *);
int secmodel_securelevel_device_cb(kauth_cred_t, kauth_action_t, void *,
void *, void *, void *, void *);
#endif /* !_SECMODEL_SECURELEVEL_SECURELEVEL_H_ */