summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEamon Walsh <ewalsh@tycho.nsa.gov>2009-06-29 16:05:09 -0400
committerEamon Walsh <ewalsh@tycho.nsa.gov>2009-06-29 16:05:09 -0400
commite73134d2e82b147c857e0c2bda8f16f7fff58142 (patch)
tree2a50802a726117ea6d1943e528fcdca444529032
parent3cc3a00d84ea54e659d93f0c5a1ba403be07f7ec (diff)
xace: property access hook documentation updates for Post hook.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
-rw-r--r--sgml/security/XACE-Spec.sgml14
1 files changed, 14 insertions, 0 deletions
diff --git a/sgml/security/XACE-Spec.sgml b/sgml/security/XACE-Spec.sgml
index ced13f7..f47f596 100644
--- a/sgml/security/XACE-Spec.sgml
+++ b/sgml/security/XACE-Spec.sgml
@@ -30,6 +30,12 @@
<authorinitials>efw</authorinitials>
<revremark>Version 2.1 (XI2)</revremark>
</revision>
+ <revision>
+ <revnumber>2.2</revnumber>
+ <date>29 Jun 2009</date>
+ <authorinitials>efw</authorinitials>
+ <revremark>Version 2.2 (Property post-data hook)</revremark>
+ </revision>
</revhistory>
<legalnotice>
<para>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER DEALINGS IN THE SOFTWARE.</para>
@@ -656,6 +662,11 @@
<entry>Existence of the property is being disclosed.</entry>
<entry>ListProperties</entry>
</row>
+ <row>
+ <entry><literal>DixPostAccess</literal></entry>
+ <entry>Post-write call reflecting new contents (this bit will always occur in conjunction with <literal>DixWriteAccess</literal>).</entry>
+ <entry>ChangeProperty</entry>
+ </row>
</tbody>
</tgroup>
</table>
@@ -667,6 +678,9 @@
<listitem><para>Alternately, when a property is being looked up, the <structfield>status</structfield> may be set to <literal>BadMatch</literal> which will cause the DIX layer to treat the property as not existing. This may result in an additional property object with the same name being created (in which case the hook will be called again with the create access mode).</para></listitem>
</itemizedlist>
</para>
+
+ <para>New in XACE Version 2.2, this hook allows security extensions to verify the contents of properties after the client has written them. On a property change, the property access hook will be called twice. The first call is unchanged from previous versions. The second call will have the <literal>DixPostAccess</literal> bit together with <literal>DixWriteAccess</literal> and the <structfield>ppProp</structfield> property pointer will contain the new data. Setting the <structfield>status</structfield> field to something other than <literal>Success</literal> will cause the previous property contents to be restored and the client to receive the status code as an error.</para>
+ <para>Note that in the case of property creation (when <literal>DixCreateAccess</literal> is set), the <structfield>ppProp</structfield> field already reflects the new data. Hence security extensions wishing to validate property data should check for either <literal>DixPostAccess</literal> or <literal>DixCreateAccess</literal> in conjunction with <literal>DixWriteAccess</literal>. If your extension does not need this feature, simply ignore calls with the <literal>DixPostAccess</literal> bit set.</para>
</section>
<section id="send_access_hook">