PERFORCE change 108514 for review
Todd Miller
millert at FreeBSD.org
Thu Oct 26 19:23:48 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=108514
Change 108514 by millert at millert_macbook on 2006/10/26 19:23:29
Update based on November DSEP release.
Affected files ...
.. //depot/projects/trustedbsd/sedarwin8/README#3 edit
Differences ...
==== //depot/projects/trustedbsd/sedarwin8/README#3 (text+ko) ====
@@ -60,6 +60,89 @@
Mach servers. The launchd and notifyd daemons have been modified
to use our security-enhanced MiG.
+
+New Features in the 20061013 release
+=====================================
+ - Framework entrypoints have been renamed to follow the convention of
+ mpo_<object>_<operation>()
+ or
+ mpo_<object>_[check,label,notify]_<operation>()
+
+ where <object> is audit, cred, devfs, file, lctx, policy etc.
+ The policy-specific functions (registration, etc) are an exception, in
+ that they do not have values to check, label and notify.
+
+ - All sample policy modules have been updated to use this convention. See
+ mac_policy.h and API documentation for details.
+
+ - A unique identifier has been added for each policy to facilitate quick
+ lookups by the Framework. This is used in the new externalize/internalize
+ changes where policies register a label namespace based on their handle.
+
+ - 'mnt_fslabel' has been removed from struct mount as there was no need for
+ separate fslabel and mntlabel. The framework and entrypoints have been
+ renamed to suit.
+
+ - The MAC Framework kernel interface (the mac_foo routines) have been
+ split from mac.h into a separate header file, mac_framework.h. This
+ mirrors a similar change in the TrustedBSD mac2 branch.
+
+ - Previously we were using the foo_internal.h interfaces which technically
+ break Apple's KPI. In order to comply with Apple's KPI conventions, we
+ have changed how a cred is obtained from struct proc by changing
+ p->p_ucred to proc_ucred() or vfs_context_cred() where possible.
+
+ - New entrypoints have been added
+ mpo_task_label_copy
+ mpo_task_label_externalize
+ mpo_task_label_internalize
+
+ - In addition to renaming these entrypoints, we split their
+ definitions in mac_policy.h as they shared a definition with the
+ non-"once" value.
+ mpo_port_check_make_send_once
+ mpo_port_check_move_send_once
+ mpo_port_check_hold_send_once
+
+ For example,
+ mpo_check_port_move_send_t *mpo_check_port_move_send;
+ mpo_check_port_move_send_t *mpo_check_port_move_send_once;
+
+ becomes:
+ mpo_port_check_move_send_t *mpo_port_check_move_send;
+ mpo_port_check_move_send_once_t *mpo_port_check_move_send_once;
+
+ - These entry points have been modified. In particular, we renamed one
+ of the parameters, the API does not change. However the semantics of
+ the policies must understand that when we combined the two mount labels,
+ the policies will always be passed the one remaining label.
+ mpo_vnode_label_update_extattr
+
+ - The lctx label entrypoints implementation within the MLS policy have
+ been removed as MLS does not label login contexts anymore. The Framework
+ still contains these entry points.
+
+ - We do not provide linkage for modules with the kernel symbol
+ IS_64BIT_PROCESS anymore and made changes to MACFrameworks.exports.
+
+ - We fixed a race condition while setting and updating an extended
+ attribute label.
+
+ - mac_vnode_label_associate_file() has been moved to hold the vnode lock
+ around the call to mpo_vnode_label_associate_file.
+
+ - mac_test sample policy has been cleaned up to reduce warnings about
+ NULL parameters. In particular, we did this by adding tags to the
+ mac_policy.h API documentation. The scripts that generate the policy
+ module understand a few tags and permit the policy to be automatically
+ generated in a more intelligent way. In the future, would like to provide
+ additional automatic policy generation through the use of these tags.
+
+ - The MAC Framework API documentation has been updated; documentation is
+ available in the docs/Framework/html/directory.
+
+
+
New Features in the 20060929 release
=====================================
@@ -576,23 +659,6 @@
so that a security policy module can set initial labels based on
an authenticated user login session.
- - The build infrastructure was enhanced to provide the ability to
- build installation packages and disk images. These packages may
- be installed with the standard Apple software installation GUI
- tools. While this functionality is still considered
- experimental, it has proven to be quite useful. After
- completing a top-level build and install, the disk image can be
- build by the 'dmg' target in the Makefile. The resultant disk
- image contains a single software installation package with the
- MAC framework and related components. See the
- src/dsep-install-gui.txt document for additional information on
- using the graphical install tool.
-
- For example:
- % make
- % make install
- % make dmg
-
- The various sample policies have been updated to support the
recent changes to the Framework: mac_mls, mactest, mac_none,
mac_stub. Note that the SEDarwin policy module is no longer
More information about the trustedbsd-cvs
mailing list