lsd0001

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

commit 84bee592b9dd3c0a536f9e52246e7d1061ab8048
parent c8c317d724ff064b6781023fea3815deb7d0f04c
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Sat, 19 Feb 2022 13:07:55 +0100

introduce reserved labels

Diffstat:
Mdraft-schanzen-gns.xml | 29+++++++++++++++++++++++------
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