History log of /freebsd-9.3-release/lib/libc/posix1e/mac.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 176901 07-Mar-2008 rwatson

Add __FBSDID() tags.

MFC after: 3 days


# 124174 06-Jan-2004 nectar

Remove unused variables and function declarations. Add missing headers.


# 122868 17-Nov-2003 rwatson

Staticize label_default_head to prevent it from leaking out of mac.c.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


# 122735 15-Nov-2003 rwatson

Remove debugging printf that crept into the last commit.


# 122732 15-Nov-2003 rwatson

/etc/mac.conf is implicitly read and parsed when the MAC configuration
is accessed for the first time as a result of an application looking
up label configuration information. Previously, the check and read
were kicked off by mac_prepare_(typename)() functions; since
mac_prepare_type() may now be directly employed by a user process,
push the check and initialization into that function.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


# 119588 30-Aug-2003 rwatson

Return (-1) not (ENOENT) for mac_prepare_type(), and set errno to
ENOENT instead.

Reported by: "Kenneth D. Merry" <ken@kdm.org>
Submitted by: Bryan Liesner <bleez@comcast.net>


# 119317 22-Aug-2003 rwatson

Make the elements argument to mac_prepare() be const.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


# 119314 22-Aug-2003 rwatson

As new objects begin to support new labels, start to generalize
the default label support in /etc/mac.conf. Rather than maintain
each default label type in an explicit global variable in mac.c,
keep a list of defaults loaded from the configuration file.
Generalize the parsing so that we support both the older:

default_file_labels foo
default_ifnet_labels foo
default_process_labels foo

And also a new:

default_labels file foo
default_labels ifnet foo
default_labels process foo

We now accept arbitrary object classes in the first argument. If
the same object is specified more than once, we discard the
earlier definition in favor of the later one.

Add a new API, mac_prepare_type(), which accepts a mac_t to
prepare, as well as an object name in the second argument, which
will pull a default label set for the object out of the
configuration loaded by mac_init_internal(). This permits the libc
to adapt to new objects known about by applications but not by libc
at compile-time.

Also liberalize the error handling a bit: if we're using implicit
initialization (i.e., the application didn't explicitly initialize
the MAC code), ignore syntax errors and only use valid lines. In
the future, we may want to add explicit warnings and do this a
bit more consistently.

While here, add support for a MAC_CONFFILE environmental variable,
which may be used to specify an alternative mac.conf configuration
file if the application isn't running with modified privilege
(issetugid()).

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


# 111082 18-Feb-2003 nectar

Whack 28 unused variables.


# 106436 04-Nov-2002 rwatson

License update authorized by NAI: remove clause 3.


# 106053 27-Oct-2002 wollman

Do not include <sys/syslimits.h> directly; it is not intended for general
consumption.


# 105837 23-Oct-2002 chris

Place mac_prepare() with the other mac_prepare*() functions.


# 105698 22-Oct-2002 rwatson

Reflect MAC kernel/user API changes into the libc MAC implementation.
This removes a lot of complexity, since we basically just reserve
space on a retrieval of a label, and pass around strings. Two new
elements: (1) consumers of the API must now declare what label
elements they are interested in retrieving, or (2) rely on the default
provided in a new configuration file, mac.conf.

Approved by: re
Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories