Subject: [nfsv4] [PATCH] Partially address item NSDB-5

From: Chuck Lever <[email-masked]>
Date: Thu, 16 Aug 2012 12:57:55 -0400

Review comment from

  http://www.ietf.org/mail-archive/web/nfsv4/current/msg10851.html

| 4.2.1.1
|   I note that LDAP already has a UUID syntax 1.3.6.1.1.16.1 and I
|   don't believe you should be defining yours as inheriting from
|   "name".

Rough consensus was to go with the standard LDAP "UUID" type rather
than inheriting from "name:"

  http://www.ietf.org/mail-archive/web/nfsv4/current/msg11207.html

Remove the fedfsUuid type, and change the fedFsFsnUuid and
fedFsFslUuid attributes to inherit from "UUID," defined in RFC 4530.

Note that LDAP does not provide any mechanism for verifying that a
UUID is of a particular variant.
---

 nsdb-proto.xml                    |   51 +++++--------------------------------
 references/reference.RFC.4530.xml |   15 +++++++++++
 2 files changed, 22 insertions(+), 44 deletions(-)
 create mode 100644 references/reference.RFC.4530.xml

diff --git a/nsdb-proto.xml b/nsdb-proto.xml
index 4629775..07c87a4 100644
--- a/nsdb-proto.xml
+++ b/nsdb-proto.xml
@@ -970,35 +970,6 @@
             </list>
         </t>
 
-        <section title="fedfsUuid" anchor="uuid">
-
-            <t> A fedfsUuid is the base type for all of the
-            universally unique identifiers (UUIDs) used by the
-            federated filesystem protocols.  </t>
-
-            <t> The UUID's text representation (as defined in
-            <xref target="RFC4122"/>) SHOULD be encoded as a UTF-8
-            string.  </t>
-
-            <t> A fedfsUuid is a single-valued LDAP attribute. </t>
-
-            <t> &lt;CODE BEGINS> </t>
-
-            <figure><artwork><![CDATA[
-        ///
-        /// attributetype (
-        ///     1.3.6.1.4.1.31103.1.1 NAME 'fedfsUuid'
-        ///     DESC 'A UUID used by NSDB'
-        ///     SUP name
-        ///     SINGLE-VALUE
-        ///     )
-        ///
-            ]]></artwork></figure>
-
-            <t> &lt;CODE ENDS> </t>
-
-        </section>
-
         <section title="fedfsNetAddr">
 
             <t> A fedfsNetAddr is the locative name of a
@@ -1070,8 +1041,8 @@
             An NSDB SHOULD ensure that no two FSNs it stores have the same
             fedfsFsnUuid. </t>
 
-            <t> The fedfsFsnUuid is a subclass of fedfsUuid, with the
-            same encoding rules.  </t>
+            <t> The fedfsFsnUuid is a subclass of UUID
+            <xref target="RFC4530"/>, with the same encoding rules. </t>
 
             <t> This attribute is single-valued.  </t>
 
@@ -1082,7 +1053,7 @@
         /// attributetype (
         ///     1.3.6.1.4.1.31103.1.4 NAME 'fedfsFsnUuid'
         ///     DESC 'The FSN UUID component of an FSN'
-        ///     SUP fedfsUuid
+        ///     SUP UUID
         ///     SINGLE-VALUE
         ///     )
         ///
@@ -1188,8 +1159,8 @@
             An NSDB SHOULD ensure that no two FSLs it stores have the same
             fedfsFslUuid. </t>
 
-            <t> The fedfsFslUuid attribute is a subclass of fedfsUuid,
-            with the same encoding rules.  </t>
+            <t> The fedfsFslUuid is a subclass of UUID
+            <xref target="RFC4530"/>, with the same encoding rules. </t>
 
             <t> This attribute is single-valued.  </t>
 
@@ -1200,7 +1171,7 @@
         /// attributetype (
         ///     1.3.6.1.4.1.31103.1.8 NAME 'fedfsFslUuid'
         ///     DESC 'UUID of an FSL'
-        ///     SUP fedfsUuid
+        ///     SUP UUID
         ///     SINGLE-VALUE
         ///     )
         ///
@@ -2833,7 +2804,6 @@
         <ttcol align='left' >Description</ttcol>
         <ttcol align='left' >Reference</ttcol>
 
-        <c> 1.3.6.1.4.1.31103.1.1    </c> <c> fedfsUuid               </c> <c> RFC-TBD1 </c>
         <c> 1.3.6.1.4.1.31103.1.2    </c> <c> fedfsNetAddr            </c> <c> RFC-TBD1 </c>
         <c> 1.3.6.1.4.1.31103.1.3    </c> <c> fedfsNetPort            </c> <c> RFC-TBD1 </c>
         <c> 1.3.6.1.4.1.31103.1.4    </c> <c> fedfsFsnUuid            </c> <c> RFC-TBD1 </c>
@@ -2891,14 +2861,6 @@
 
     <t>
         <list style="hanging">
-        <t hangText="Object Identifier:"> 1.3.6.1.4.1.31103.1.1 </t>
-        <t hangText="Descriptor (short name):"> fedfsUuid </t>
-        <t hangText="Usage:"> attribute type </t>
-        </list>
-    </t>
-
-    <t>
-        <list style="hanging">
         <t hangText="Object Identifier:"> 1.3.6.1.4.1.31103.1.2 </t>
         <t hangText="Descriptor (short name):"> fedfsNetAddr </t>
         <t hangText="Usage:"> attribute type </t>
@@ -3200,6 +3162,7 @@
         <?rfc include="references/reference.RFC.4517.xml"?>
         <?rfc include="references/reference.RFC.4519.xml"?>
         <?rfc include="references/reference.RFC.4520.xml"?>
+        <?rfc include="references/reference.RFC.4530.xml"?>
         <?rfc include="references/reference.RFC.5226.xml"?>
         <?rfc include="references/reference.RFC.5234.xml"?>
         <?rfc include="references/reference.RFC.5246.xml"?>
diff --git a/references/reference.RFC.4530.xml b/references/reference.RFC.4530.xml
new file mode 100644
index 0000000..3c804da
--- /dev/null
+++ b/references/reference.RFC.4530.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<reference anchor='RFC4530'>
+
+<front>
+<title>Lightweight Directory Access Protocol (LDAP) entryUUID Operational Attribute</title>
+<author initials='K.' surname='Zeilenga' fullname='K. Zeilenga'>
+<organization /></author>
+<date year='2006' month='June' />
+<abstract>
+<t>This document describes the LDAP/X.500 \'entryUUID' operational attribute and associated matching rules and syntax.  The attribute holds a server-assigned Universally Unique Identifier (UUID) for the object.  Directory clients may use this attribute to distinguish objects identified by a distinguished name or to locate an object after renaming. [STANDARDS-TRACK]</t></abstract></front>
+
+<seriesInfo name='RFC' value='4530' />
+<format type='TXT' octets='15191' target='http://www.rfc-editor.org/rfc/rfc4530.txt' />
+</reference>