lsd0001

LSD0001: GNU Name System
Log | Files | Refs | README

commit 118c58412c3c34832eb304618c922ade8241b090
parent d7fe59a9f4f8253e42ecf785cdf176455d54461d
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Mon, 21 Feb 2022 13:13:23 +0100

fixes

Diffstat:
Mdraft-schanzen-gns.xml | 66++++++++++++++++++++++++++++++++----------------------------------
1 file changed, 32 insertions(+), 34 deletions(-)

diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml @@ -227,9 +227,7 @@ </dd> <dt>Extension Label</dt> <dd> - If a name ends with the extension label the rest of the name - <bcp14>MUST</bcp14> be interpreted relative to the current zone in the resolution process. - The primary use for this is in redirections where the redirection + The primary use for the extension label is in redirections where the redirection target is defined relative to the authoritative zone of the redirection record (<xref target="gnsrecords_redirect"/>). The extension label is represented using the character U+002B ("+" @@ -373,17 +371,15 @@ <section anchor="zones" numbered="true" toc="default"> <name>Zones</name> <t> - A zone in GNS is uniquely identified by its zone type and zone key. - Each zone can be represented by a Zone Top-Level Domain (zTLD) string. - </t> - <t> An implementation <bcp14>SHOULD</bcp14> enable the user to create and manage zones. If this functionality is not implemented, names can still be resolved if zone keys for the initial step in the name resolution are available (see <xref target="resolution"/>). </t> <t> - Each zone type (ztype) is a unique 32-bit number. + A zone in GNS is uniquely identified by its zone type and zone key. + Each zone can be represented by a Zone Top-Level Domain (zTLD) string. + A zone type (ztype) is a unique 32-bit number. This number corresponds to a resource record type number identifying a delegation record type in the GNUnet Assigned Numbers Authority <xref target="GANA" />. @@ -676,9 +672,8 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62] denotes the relative 64-bit time to live of the record in microseconds also in network byte order. The field <bcp14>SHOULD</bcp14> be set to EPOCH * 1.1. - If the average number of leading zeros D' is larger than - D, then the field value <bcp14>MAY</bcp14> be increased up to - (D'-D) * EPOCH * 1.1. + Given an average number of leading zeros D', then the field value + <bcp14>MAY</bcp14> be increased up to (D'-D) * EPOCH * 1.1. The EPOCH is extended by 10% in order to deal with unsynchronized clocks. This field is informational for a verifier. @@ -774,7 +769,7 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62] <li>The set of POW values <bcp14>MUST</bcp14> NOT contain duplicates which <bcp14>MUST</bcp14> be checked by verifying that the values are strictly monotonically increasing.</li> <li>The average number of leading zeroes D' resulting from the provided POW values <bcp14>MUST</bcp14> be greater than and not equal to D. Implementers - <bcp14>MUST</bcp14> NOT use an integer data type to calculate or represent D'.</li> + <bcp14>MUST NOT</bcp14> use an integer data type to calculate or represent D'.</li> <li> The validity period of the revocation is calculated as (D'-D) * EPOCH * 1.1. The EPOCH is extended by @@ -785,8 +780,11 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62] the TTL field value, the verifier <bcp14>MUST</bcp14> continue and use the calculated value when forwarding the revocation. </li> - <li>The current time <bcp14>SHOULD</bcp14> be between TIMESTAMP and - TIMESTAMP + validity period. Implementations <bcp14>MAY</bcp14> process the revocation without validating this.</li> + <li> + The current time <bcp14>SHOULD</bcp14> be between TIMESTAMP and + TIMESTAMP + validity period. + Implementations <bcp14>MAY</bcp14> process the revocation without validating this. + </li> </ol> </section> @@ -859,9 +857,9 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62] </dl> <t> Flags indicate metadata surrounding the resource record. - Applications creating resource records <bcp14>MUST</bcp14> set all bits which are - not defined as a flag to 0. Additional flags may be defined in - future protocol versions. + An application creating resource records <bcp14>MUST</bcp14> set all bits + to 0 unless it wants to set the respective flag. + Additional flags may be defined in future protocol versions, If an application or implementation encounters a flag which it does not recognize, it <bcp14>MUST</bcp14> be ignored. Any combination of the flags specified below are valid. @@ -913,7 +911,7 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62] the respective zone type is encountered. This may be a valid choice if some zone delegation record types have been determined to be cryptographically insecure. - Zone delegation records <bcp14>MUST</bcp14> NOT be stored and published + Zone delegation records <bcp14>MUST NOT</bcp14> be stored and published under the apex label. A zone delegation record type value is the same as the respective ztype value. @@ -921,8 +919,8 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62] being delegated to. A zone delegation record payload contains the public key of the zone to delegate to. - A zone delegation record <bcp14>MUST</bcp14> have the CRTITICAL flag set. - A zone delegation record <bcp14>MUST</bcp14> be the only record under a label. + A zone delegation record <bcp14>MUST</bcp14> have the CRTITICAL flag set + and <bcp14>MUST</bcp14> be the only record under a label. No other records are allowed. </t> <section anchor="gnsrecords_pkey" numbered="true" toc="default"> @@ -1378,11 +1376,11 @@ S-Decrypt(zk,label,expiration,ciphertext): and <bcp14>MAY</bcp14> support any number of additional redirection records defined in the GNU Name System Record Types registry (see Section <xref target="gana"/>). Redirection records <bcp14>MUST</bcp14> have the CRTITICAL flag set. - Not supporting some record types <bcp14>MAY</bcp14> result in resolution failures. - This <bcp14>MAY</bcp14> BE a valid choice if some redirection record types have been + Not supporting some record types may consequently result in resolution failures. + This may be a valid choice if some redirection record types have been determined to be insecure, or if an application has reasons to not support redirection to DNS for reasons such as complexity or security. - Redirection records <bcp14>MUST</bcp14> NOT be stored and published under the apex label. + Redirection records <bcp14>MUST NOT</bcp14> be stored and published under the apex label. </t> <section anchor="gnsrecords_rdr" numbered="true" toc="default"> <name>REDIRECT</name> @@ -1639,7 +1637,7 @@ GET(key) -> value record would require a revocation of the record. In GNS, zones can only be revoked as a whole. Records automatically expire and it is under the discretion of the storage as to when to delete - the record. The GNS implementation <bcp14>MUST</bcp14> NOT publish expired resource + the record. The GNS implementation <bcp14>MUST NOT</bcp14> publish expired resource records. Any GNS resolver <bcp14>MUST</bcp14> discard expired records returned from the storage. </t> @@ -1856,7 +1854,7 @@ q := SHA-512 (ZKDF-Public(zk, label)) ignored on receipt. As a special exception, record sets with (only) a zone delegation record type are never padded. - Note that a record set with a delegation record <bcp14>MUST</bcp14> NOT + Note that a record set with a delegation record <bcp14>MUST NOT</bcp14> contain other records. If other records are encountered, the whole record block <bcp14>MUST</bcp14> be discarded. </dd> @@ -1881,7 +1879,7 @@ q := SHA-512 (ZKDF-Public(zk, label)) For example, if a zone delegation record type is requested, the resolution of the apex label in that zone must be skipped, as the desired record is already found. - The resolver implementation <bcp14>MUST</bcp14> NOT filter results according to the desired + The resolver implementation <bcp14>MUST NOT</bcp14> filter results according to the desired record type. Filtering of record sets is typically done by the application. </t> @@ -1931,7 +1929,7 @@ Example name: www.example.<zTLD> label separator. If multiple suffixes match the name to resolve, the longest matching suffix <bcp14>MUST</bcp14> be used. The suffix length of two results - <bcp14>MUST</bcp14> NOT be equal. This indicates a misconfiguration and the + <bcp14>MUST NOT</bcp14> be equal. This indicates a misconfiguration and the implementation <bcp14>MUST</bcp14> return an error. The following is a non-normative example mapping of start zones: </t> @@ -2118,7 +2116,7 @@ example.com = zTLD2 := Base32GNS(ztype2||zk2) <t> As the DNS servers specified are possibly authoritative DNS servers, the GNS resolver <bcp14>MUST</bcp14> - support recursive DNS resolution and <bcp14>MUST</bcp14> NOT delegate this to the + support recursive DNS resolution and <bcp14>MUST NOT</bcp14> delegate this to the authoritative DNS servers. The first successful recursive name resolution result is returned to the application. @@ -2129,9 +2127,9 @@ example.com = zTLD2 := Base32GNS(ztype2||zk2) <t> Once the transition from GNS into DNS is made through a GNS2DNS record, there is no "going back". - The (possibly recursive) resolution of the DNS name <bcp14>MUST</bcp14> NOT + The (possibly recursive) resolution of the DNS name <bcp14>MUST NOT</bcp14> delegate back into GNS and should only follow the DNS specifications. - For example, names contained in DNS CNAME records <bcp14>MUST</bcp14> NOT be + For example, names contained in DNS CNAME records <bcp14>MUST NOT</bcp14> be interpreted as GNS names. </t> <t> @@ -2174,11 +2172,11 @@ example.com = zTLD2 := Base32GNS(ztype2||zk2) resolution <bcp14>MUST</bcp14> fail with an empty result set. </t> <t> - Implementations <bcp14>MUST</bcp14> NOT allow multiple different zone + Implementations <bcp14>MUST NOT</bcp14> allow multiple different zone delegations under a single label. Implementations <bcp14>MAY</bcp14> support any subset of ztypes. Handling of - Implementations <bcp14>MUST</bcp14> NOT process zone delegation for the apex + Implementations <bcp14>MUST NOT</bcp14> process zone delegation for the apex label "@". Upon encountering a zone delegation record under this label, resolution fails and an error <bcp14>MUST</bcp14> be returned. The implementation <bcp14>MAY</bcp14> choose not to return the reason for the failure, @@ -2288,7 +2286,7 @@ NICK: john (Supplemental) select a default ztype considered secure at the time of releasing the software. For applications targeting end users that are not expected to - understand cryptography, the application developer <bcp14>MUST</bcp14> NOT leave + understand cryptography, the application developer <bcp14>MUST NOT</bcp14> leave the ztype selection of new zones to end users. </t> <t> @@ -2460,7 +2458,7 @@ NICK: john (Supplemental) to manage revocations accordingly. </t> <t> - Revocation payloads do NOT include a 'new' key for key replacement. + Revocation payloads do not include a 'new' key for key replacement. Inclusion of such a key would have two major disadvantages: </t> <ol>