commit 84bee592b9dd3c0a536f9e52246e7d1061ab8048
parent c8c317d724ff064b6781023fea3815deb7d0f04c
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Sat, 19 Feb 2022 13:07:55 +0100
introduce reserved labels
Diffstat:
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
@@ -203,23 +203,37 @@
example according to <xref target="Unicode-UTS46"/>.
Zone administrators MAY disallow certain labels that may be easily
confused with other labels through registration policies.
+ The apex label, label separator and the extension label are reserved
+ and MUST NOT be used.
</dd>
<dt>Apex Label</dt>
<dd>
- The apex label is represented using the character "@" (without
+ The apex label is represented using the character U+0040 ("@" without
quotes).
The apex label is used to publish resource
records in a zone that can be resolved without providing a specific
label. It is the GNS method to provide what is the "zone apex" in DNS
<xref target="RFC4033"/>.
</dd>
+ <dt>Extension Label</dt>
+ <dd>
+ If a name ends with the label U+002B ("+" without the quotes),
+ the rest of the name MUST be
+ interpreted relative to the current zone in the resolution process.
+ The primary use for this is in redirection records
+ <xref target="gnsrecords_redirect"/> where the redirection should
+ happen relative to the authoritative zone.
+ </dd>
+ <dt>Label Separator</dt>
+ <dd>
+ Labels in a name are separated using the label separator defined as the
+ unicode dot character U+002E ("." without the quotes).
+ </dd>
<dt>Name</dt>
<dd>
A name in GNS is a domain name as defined in <xref target="RFC8499"/>
as an ordered list of labels.
Names, like labels, are encoded in UTF-8.
- The labels in a name are separated using the unicode dot character
- U+002E.
</dd>
<dt>Top-Level Domain</dt> <!--FIXME shall we call this TLZ? -->
<dd>
@@ -1400,7 +1414,8 @@ S-Decrypt(zk,label,expiration,ciphertext):
The name to continue with.
The value of a redirect record may be a regular name, or a relative
name.
- Relative GNS names are indicated using the suffix ".+".
+ Relative GNS names are indicated by an extension label (U+002B, "+")
+ as rightmost label.
The string is UTF-8 encoded and 0-terminated.
</dd>
</dl>
@@ -2055,7 +2070,8 @@ example.com = zk2
<t>
If the remaining name is empty and the desired record type is
REDIRECT, in which case the resolution concludes with the REDIRECT record.
- If the redirect name ends in ".+",
+ If the rightmost label of the redirect name is the extension label
+ (U+002B, "+"),
resolution continues in GNS with the new name in the
current zone.
Otherwise, the resulting name is resolved via the
@@ -2090,7 +2106,8 @@ example.com = zk2
contain numeric IPv4 or IPv6 addresses, allowing the resolver to
skip this step.
The DNS server names may themselves be names in GNS or DNS.
- If the DNS server name ends in ".+", the rest of the name is to be
+ If the rightmost label of the DNS server name is the extension label
+ (U+002B, "+"), the rest of the name is to be
interpreted relative to the zone of the GNS2DNS record.
If the DNS server name ends in a label representation of a
zone key, the DNS server name is to be resolved against