<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in files.secmodel</title>
    <link>http://nxr.netbsd.org/rss/src/sys/secmodel/files.secmodel</link>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2005</copyright>
    <generator>Java</generator>
    
<item>
    <title>Implement the register/deregister/evaluation API for secmodel(9). It<br/>allows registration of callbacks that can be used later for<br/>cross-secmodel "safe" communication.<br/><br/>When a secmodel wishes to know a property maintained by another<br/>secmodel, it has to submit a request to it so the other secmodel can<br/>proceed to evaluating the request. This is done through the<br/>secmodel_eval(9) call; example:<br/><br/>    bool isroot;<br/>    error = secmodel_eval("org.netbsd.secmodel.suser", "is-root",<br/>        cred, &amp;isroot);<br/>    if (error == 0 &amp;&amp; !isroot)<br/>            result = KAUTH_RESULT_DENY;<br/><br/>This one asks the suser module if the credentials are assumed to be root<br/>when evaluated by suser module. If the module is present, it will<br/>respond. If absent, the call will return an error.<br/><br/>Args and command are arbitrarily defined; it's up to the secmodel(9) to<br/>document what it expects.<br/><br/>Typical example is securelevel testing: when someone wants to know<br/>whether securelevel is raised above a certain level or not, the caller<br/>has to request this property to the secmodel_securelevel(9) module.<br/>Given that securelevel module may be absent from system's context (thus<br/>making access to the global "securelevel" variable impossible or<br/>unsafe), this API can cope with this absence and return an error.<br/><br/>We are using secmodel_eval(9) to implement a secmodel_extensions(9)<br/>module, which plugs with the bsd44, suser and securelevel secmodels<br/>to provide the logic behind curtain, usermount and user_set_cpu_affinity<br/>modes, without adding hooks to traditional secmodels. This solves a<br/>real issue with the current secmodel(9) code, as usermount or<br/>user_set_cpu_affinity are not really tied to secmodel_suser(9).<br/><br/>The secmodel_eval(9) is also used to restrict security.models settings<br/>when securelevel is above 0, through the "is-securelevel-above"<br/>evaluation:<br/>- curtain can be enabled any time, but cannot be disabled if<br/>securelevel is above 0.<br/>- usermount/user_set_cpu_affinity can be disabled any time, but cannot<br/>be enabled if securelevel is above 0.<br/><br/>Regarding sysctl(7) entries:<br/>curtain and usermount are now found under security.models.extensions<br/>tree. The security.curtain and vfs.generic.usermount are still<br/>accessible for backwards compat.<br/><br/>Documentation is incoming, I am proof-reading my writings.<br/><br/>Written by elad@, reviewed and tested (anita test + interact for rights<br/>tests) by me. ok elad@.<br/><br/>See also<br/>http://mail-index.netbsd.org/tech-security/2011/11/29/msg000422.html<br/><br/>XXX might consider va0 mapping too.<br/><br/>XXX Having a secmodel(9) specific printf (like aprint_*) for reporting<br/>secmodel(9) errors might be a good idea, but I am not sure on how<br/>to design such a function right now.</title>
    <description>/src/sys/secmodel/files.secmodel - 1.5</description>
    <pubDate>Sun Dec 04 19:24:59 UTC 2011</pubDate>
    <dc:creator>jym</dc:creator>
</item>

<item>
    <title>branches:  1.4.12;  1.4.16;<br/>First part of secmodel cleanup and other misc. changes:<br/><br/>  - Separate the suser part of the bsd44 secmodel into its own secmodel<br/>    and directory, pending even more cleanups. For revision history<br/>    purposes, the original location of the files was<br/><br/>        src/sys/secmodel/bsd44/secmodel_bsd44_suser.c<br/>        src/sys/secmodel/bsd44/suser.h<br/><br/>  - Add a man-page for secmodel_suser(9) and update the one for<br/>    secmodel_bsd44(9).<br/><br/>  - Add a "secmodel" module class and use it. Userland program and<br/>    documentation updated.<br/><br/>  - Manage secmodel count (nsecmodels) through the module framework.<br/>    This eliminates the need for secmodel_{,de}register() calls in<br/>    secmodel code.<br/><br/>  - Prepare for secmodel modularization by adding relevant module bits.<br/>    The secmodels don't allow auto unload. The bsd44 secmodel depends<br/>    on the suser and securelevel secmodels. The overlay secmodel depends<br/>    on the bsd44 secmodel. As the module class is only cosmetic, and to<br/>    prevent ambiguity, the bsd44 and overlay secmodels are prefixed with<br/>    "secmodel_".<br/><br/>  - Adapt the overlay secmodel to recent changes (mainly vnode scope).<br/><br/>  - Stop using link-sets for the sysctl node(s) creation.<br/><br/>  - Keep sysctl variables under nodes of their relevant secmodels. In<br/>    other words, don't create duplicates for the suser/securelevel<br/>    secmodels under the bsd44 secmodel, as the latter is merely used<br/>    for "grouping".<br/><br/>  - For the suser and securelevel secmodels, "advertise presence" in<br/>    relevant sysctl nodes (sysctl.security.models.{suser,securelevel}).<br/><br/>  - Get rid of the LKM preprocessor stuff.<br/><br/>  - As secmodels are now modules, there's no need for an explicit call<br/>    to secmodel_start(); it's handled by the module framework. That<br/>    said, the module framework was adjusted to properly load secmodels<br/>    early during system startup.<br/><br/>  - Adapt rump to changes: Instead of using empty stubs for securelevel,<br/>    simply use the suser secmodel. Also replace secmodel_start() with a<br/>    call to secmodel_suser_start().<br/><br/>  - 5.99.20.<br/><br/>Testing was done on i386 ("release" build). Spearated module_init()<br/>changes were tested on sparc and sparc64 as well by martin@ (thanks!).<br/><br/>Mailing list reference:<br/><br/>	http://mail-index.netbsd.org/tech-kern/2009/09/25/msg006135.html</title>
    <description>/src/sys/secmodel/files.secmodel - 1.4</description>
    <pubDate>Fri Oct 02 18:50:13 UTC 2009</pubDate>
    <dc:creator>elad</dc:creator>
</item>

<item>
    <title>Add support for multi-position electro-mechanical keylocks.  An example<br/>driver, gpiolock(4), is provided as an example how to interface real hardware.<br/>A new securemodel, securemodel_keylock, is provided to show how this can<br/>be used to tie keylocks to overall system security.  This is experimental<br/>code.  The diff has been on tech-kern for several weeks.<br/><br/>Reviewed by many, kauth(9) integration reviewed by Elad Efrat; approved by<br/>tonnerre@ and tron@.  Thanks to everyone who provided feedback.</title>
    <description>/src/sys/secmodel/files.secmodel - 1.3</description>
    <pubDate>Fri Aug 14 21:17:22 UTC 2009</pubDate>
    <dc:creator>mbalmer</dc:creator>
</item>

<item>
    <title>branches:  1.2.18;<br/>Make securelevel a "secmodel" of its own.<br/><br/>While it's true that it's part of the traditional 4.4BSD security model,<br/>there may come a time where a different "primary" security model used for<br/>fine-grained privileges (ie., splitting root's responsibilities to various<br/>privileges that can be assigned) may want to still have a securelevel<br/>setting.<br/><br/>Idea from Daniel Carosone:<br/><br/>  http://mail-index.netbsd.org/tech-security/2006/08/25/0001.html<br/><br/>The location of the removed files, for reference, was:<br/><br/>  src/secmodel/bsd44/secmodel_bsd44_securelevel.c<br/>  src/secmodel/bsd44/securelevel.h</title>
    <description>/src/sys/secmodel/files.secmodel - 1.2</description>
    <pubDate>Wed Nov 21 22:49:07 UTC 2007</pubDate>
    <dc:creator>elad</dc:creator>
</item>

<item>
    <title>branches:  1.1.2;  1.1.6;  1.1.10;  1.1.30;  1.1.32;  1.1.36;  1.1.38;<br/>First take at security model abstraction.<br/><br/>- Add a few scopes to the kernel: system, network, and machdep.<br/><br/>- Add a few more actions/sub-actions (requests), and start using them as<br/>  opposed to the KAUTH_GENERIC_ISSUSER place-holders.<br/><br/>- Introduce a basic set of listeners that implement our "traditional"<br/>  security model, called "bsd44". This is the default (and only) model we<br/>  have at the moment.<br/><br/>- Update all relevant documentation.<br/><br/>- Add some code and docs to help folks who want to actually use this stuff:<br/><br/>  * There's a sample overlay model, sitting on-top of "bsd44", for<br/>    fast experimenting with tweaking just a subset of an existing model.<br/><br/>    This is pretty cool because it's *really* straightforward to do stuff<br/>    you had to use ugly hacks for until now...<br/><br/>  * And of course, documentation describing how to do the above for quick<br/>    reference, including code samples.<br/><br/>All of these changes were tested for regressions using a Python-based<br/>testsuite that will be (I hope) available soon via pkgsrc. Information<br/>about the tests, and how to write new ones, can be found on:<br/><br/>	http://kauth.linbsd.org/kauthwiki<br/><br/>NOTE FOR DEVELOPERS: *PLEASE* don't add any code that does any of the<br/>following:<br/><br/>  - Uses a KAUTH_GENERIC_ISSUSER kauth(9) request,<br/>  - Checks 'securelevel' directly,<br/>  - Checks a uid/gid directly.<br/><br/>(or if you feel you have to, contact me first)<br/><br/>This is still work in progress; It's far from being done, but now it'll<br/>be a lot easier.<br/><br/>Relevant mailing list threads:<br/><br/>http://mail-index.netbsd.org/tech-security/2006/01/25/0011.html<br/>http://mail-index.netbsd.org/tech-security/2006/03/24/0001.html<br/>http://mail-index.netbsd.org/tech-security/2006/04/18/0000.html<br/>http://mail-index.netbsd.org/tech-security/2006/05/15/0000.html<br/>http://mail-index.netbsd.org/tech-security/2006/08/01/0000.html<br/>http://mail-index.netbsd.org/tech-security/2006/08/25/0000.html<br/><br/>Many thanks to YAMAMOTO Takashi, Matt Thomas, and Christos Zoulas for help<br/>stablizing kauth(9).<br/><br/>Full credit for the regression tests, making sure these changes didn't break<br/>anything, goes to Matt Fleming and Jaime Fournier.<br/><br/>Happy birthday Randi! :)</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1</description>
    <pubDate>Fri Sep 08 20:58:56 UTC 2006</pubDate>
    <dc:creator>elad</dc:creator>
</item>

<item>
    <title>Sync with HEAD.</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.38.1</description>
    <pubDate>Sat Dec 08 18:21:28 UTC 2007</pubDate>
    <dc:creator>mjf</dc:creator>
</item>

<item>
    <title>Sync with HEAD</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.36.1</description>
    <pubDate>Thu Nov 22 15:18:26 UTC 2007</pubDate>
    <dc:creator>bouyer</dc:creator>
</item>

<item>
    <title>sync with HEAD</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.32.1</description>
    <pubDate>Wed Jan 09 01:58:02 UTC 2008</pubDate>
    <dc:creator>matt</dc:creator>
</item>

<item>
    <title>Sync with HEAD. amd64 Xen support needs testing.</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.30.1</description>
    <pubDate>Tue Nov 27 19:39:07 UTC 2007</pubDate>
    <dc:creator>joerg</dc:creator>
</item>

<item>
    <title>sync with head</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.10.3</description>
    <pubDate>Fri Dec 07 17:34:48 UTC 2007</pubDate>
    <dc:creator>yamt</dc:creator>
</item>

<item>
    <title>sync with head.</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.10.2</description>
    <pubDate>Sat Dec 30 20:50:55 UTC 2006</pubDate>
    <dc:creator>yamt</dc:creator>
</item>

<item>
    <title>file files.secmodel was added on branch yamt-lazymbuf on 2006-12-30 20:50:55 +0000</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.10.1</description>
    <pubDate>Fri Sep 08 20:58:56 UTC 2006</pubDate>
    <dc:creator>yamt</dc:creator>
</item>

<item>
    <title>Sync with head.</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.6.1</description>
    <pubDate>Sat Nov 18 21:39:46 UTC 2006</pubDate>
    <dc:creator>ad</dc:creator>
</item>

<item>
    <title>sync with head.</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.2.2</description>
    <pubDate>Thu Sep 14 00:32:00 UTC 2006</pubDate>
    <dc:creator>yamt</dc:creator>
</item>

<item>
    <title>file files.secmodel was added on branch yamt-pdpolicy on 2006-09-14 12:32:00 +0000</title>
    <description>/src/sys/secmodel/files.secmodel - 1.1.2.1</description>
    <pubDate>Fri Sep 08 20:58:56 UTC 2006</pubDate>
    <dc:creator>yamt</dc:creator>
</item>

<item>
    <title>sync with head</title>
    <description>/src/sys/secmodel/files.secmodel - 1.2.18.2</description>
    <pubDate>Thu Mar 11 15:04:40 UTC 2010</pubDate>
    <dc:creator>yamt</dc:creator>
</item>

<item>
    <title>sync with head.</title>
    <description>/src/sys/secmodel/files.secmodel - 1.2.18.1</description>
    <pubDate>Wed Aug 19 18:48:31 UTC 2009</pubDate>
    <dc:creator>yamt</dc:creator>
</item>

<item>
    <title>merge to -current.</title>
    <description>/src/sys/secmodel/files.secmodel - 1.4.16.1</description>
    <pubDate>Sat Feb 18 07:35:46 UTC 2012</pubDate>
    <dc:creator>mrg</dc:creator>
</item>

<item>
    <title>sync with head</title>
    <description>/src/sys/secmodel/files.secmodel - 1.4.12.1</description>
    <pubDate>Tue Apr 17 00:08:50 UTC 2012</pubDate>
    <dc:creator>yamt</dc:creator>
</item>
</channel></rss>

