commit dc6fe528789b9db156964e2beaf9b7663cb19ccf
parent 3e8f9c480f704f490823f09ec068f2d33740b8e2
Author: Christian Grothoff <christian@grothoff.org>
Date: Tue, 1 Feb 2022 21:15:25 +0100
more MUST/SHOULD / editing
Diffstat:
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
@@ -1543,8 +1543,11 @@ NONCE := HKDF-Expand (PRK_n, label, 128 / 8)
<section anchor="publish" numbered="true" toc="default">
<name>Record Storage</name>
<t>
- Any API which allows storing a value under a key and retrieving
- a value from the key can be used by an implementation for record storage.
+ Any API which allows storing a value under a 512-bit key and retrieving
+ one or more values from the key can be used by an implementation for record storage.
+ To be useful, the API MUST permit storing at least 164 byte values
+ to be able to support the defined zone delegation record encodings,
+ and SHOULD allow at least 1024 byte values.
We assume that an implementation realizes two procedures on top of a
storage:
</t>
@@ -1605,13 +1608,14 @@ q := SHA-512 (ZKDF-Public(zk, label))
<t>
GNS records are grouped by their labels and published as a single
block in the storage. The grouped record sets MAY be paired with any
- number of supplemental records. Supplemental records must have the
+ number of supplemental records. Supplemental records MUST have the
supplemental flag set (See <xref target="rrecords"/>).
The contained resource records are encrypted using a symmetric
encryption scheme.
- A GNS implementation must publish RRBLOCKs
+ A GNS implementation publish RRBLOCKs
in accordance to the properties and recommendations of the underlying
- storage. This may include a periodic refresh publication.
+ storage. This may include a periodic refresh operation to ensure the
+ availability of the published RRBLOCKs.
The GNS RRBLOCK wire format is illustrated in
<xref target="figure_record_block"/>.
</t>
@@ -1920,7 +1924,7 @@ example.com = zk2
<li>
Case 3:
If the remainder of the name to resolve is not empty and
- does not match the "_SERVICE._PROTO" syntax, then the current record set
+ does not match the "_SERVICE._PROTO" syntax, then the current record set
MUST consist of a single delegation record (<xref target="delegation_processing" />),
a single CNAME record (<xref target="cname_processing" />),
or one or more GNS2DNS records (<xref target="gns2dns_processing" />),