freebsd-dev/contrib/openbsm
Robert Watson 22ccb20de4 Vendor import of OpenBSM 1.0 alpha 9, with the following change history
notes since the last import:

OpenBSM 1.0 alpha 9

- Rename many OpenBSM-specific constants and API elements containing the
  strings "BSM" and "bsm" to "AUDIT" and "audit", observing that this is true
  for almost all existing constants and APIs.
- Instead of passing a per-instance cookie directly into all audit filter
  APIs, pass in the audit filter daemon state pointer, which is then used by
  the module using an audit_filter_{get,set}cookie() API.  This will allow
  future service APIs provided by the filter daemon to maintain their own
  state -- for example, per-module preselection state.

OpenBSM 1.0 alpha 8

- Correct typo in definition of AUR_INT.
- Adopt OpenSolaris constant values for AUDIT_* configuration flags.
- Arguments to au_to_exec_args() and au_to_exec_env() no longer const.
- Add kernel versions of au_to_exec_args() and au_to_exec_env().
- Fix exec argument type that is printed for env strings from 'arg' to 'env'.
- New OpenBSM token version number assigned, constants added for other
  commonly seen version numbers.
- OpenBSM-specific events assigned numbers in the 43xxx range to avoid future
  collisions with Solaris.  Darwin events renamed to AUE_DARWIN_foo, as they
  are now deprecated numberings.
- autoconf now detects clock_gettime(), which is not available on Darwin.
- praudit output fixes relating to arg32 and arg64 tokens.
- Maximum record size updated to 64k-1 to match Solaris record size limit.
- Various style and comment cleanups in include files.

This is an MFC candidate to RELENG_6.

Obtained from:	TrustedBSD Project
2006-08-26 08:04:15 +00:00
..
bin Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
bsm Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
compat Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 5: 2006-03-04 16:45:52 +00:00
config Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
etc Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
libbsm Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
man Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
modules Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
test Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
tools Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
aclocal.m4 Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 5: 2006-03-04 16:45:52 +00:00
autogen.sh Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 5: 2006-03-04 16:45:52 +00:00
CHANGELOG CVS import OpenBSM 1.0 alpha 4: 2006-02-11 00:39:23 +00:00
configure Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
configure.ac Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
HISTORY Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
LICENSE Initial vendor import of the TrustedBSD OpenBSM distribution, version 2006-01-31 19:40:12 +00:00
Makefile Initial vendor import of the TrustedBSD OpenBSM distribution, version 2006-01-31 19:40:12 +00:00
Makefile.am Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 6: 2006-06-05 10:52:12 +00:00
Makefile.in Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 6: 2006-06-05 10:52:12 +00:00
README Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00
TODO Vendor branch import of TrustedBSD OpenBSM 1.0 alpha 6: 2006-06-05 10:52:12 +00:00
VERSION Vendor import of OpenBSM 1.0 alpha 9, with the following change history 2006-08-26 08:04:15 +00:00

OpenBSM 1.0

  Introduction

OpenBSM provides an open source implementation of Sun's BSM Audit API. 
Originally created under contract to Apple Computer by McAfee Research, 
this implementation is now maintained by volunteers and the generous 
contribution of several organizations.  Coupled with a kernel audit 
implementation, OpenBSM can be used to maintain system audit streams, and 
is a foundation for an Audit-enabled system.

  Contents

OpenBSM consists of several directories:

    bin/           Audit-related command line tools
    bsm/           System include files for BSM
    etc/           Sample /etc/security configuration files
    libbsm/        Implementation of BSM library interfaces and man pages
    man/           System call and configuration file man pages

OpenBSM currently builds on FreeBSD and Darwin.  With Makefile adjustment
and minor tweaks, it should build without problems on a broad range of
POSIX-like systems.

  Building

OpenBSM is currently built using autoconf and automake, which should allow
for building on a range of operating systems, including FreeBSD, Mac OS X,
and Linux.  Depending on the availability of audit facilities in the
underlying operating system, some components that depend on kernel audit
support are built conditionally.  Typically, build will be performed using

    ./configure
    make

To install, use:

    make install

You may wish to specify that the OpenBSM components not be installed in the
base system, rather in a specific directory.  This may be done using the
--prefix argument to configure.  If installing to a specific directory,
remember to update your library path so that running tools from that
directory the correct libbsm is used:

    ./configure --prefix=/home/rwatson/openbsm
    make
    make install
    LD_LIBRARY_PATH=/home/rwatson/openbsm/libbsm ; export LD_LIBRARY_PATH

You will need to manually propagate openbsm/etc/* into /etc on your system;
this is not done automatically so as to avoid disrupting the current
configuration.  Currently, the locations of these files is not
configurable.

  Credits

The following organizations and individuals have contributed substantially 
to the development of OpenBSM:

    Apple Computer, Inc.
    McAfee Research, McAfee, Inc.
    SPARTA, Inc.
    Robert Watson
    Wayne Salamon
    Suresh Krishnaswamy
    Kevin Van Vechten
    Tom Rhodes
    Wojciech Koszek
    Chunyang Yuan
    Poul-Henning Kamp
    Christian Brueffer
    Olivier Houchard
    Christian Peron
    Martin Fong
    Pawel Worach
    Martin Englund

In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel
Software's FlexeLint tool were used to identify a number of bugs in the
OpenBSM implementation.

  Contributions

The TrustedBSD Project would appreciate the contribution of bug fixes, 
enhancements, etc, under identically or substantially similar licenses to 
those present on the remainder of the OpenBSM source code.

  Location

Information on OpenBSM may be found on the OpenBSM home page:

    http://www.OpenBSM.org/

Information on TrustedBSD may be found on the TrustedBSD home page:

    http://www.TrustedBSD.org/

$P4: //depot/projects/trustedbsd/openbsm/README#19 $