IFA-0001: Factored out non-DNS types to IFA-0002

pull/9/head
Hugo Landau 9 years ago
parent d8ded062be
commit 681f794ae7

@ -5,11 +5,13 @@ IFA Proposals
|--------------|-------------------------------|----------|----------|
| [0000][0000] | Proposal Guidelines & Process | Process | Draft |
| [0001][0001] | Domain Names | Standard | Draft |
| [0002][0002] | Domain Names - Non-DNS Types | Standard | Draft |
*This list does not contain proposals that have been deferred, rejected, or withdrawn.*
[0000]:https://github.com/ifa-wg/proposals/blob/master/ifa-0000.md
[0001]:https://github.com/ifa-wg/proposals/blob/master/ifa-0001.md
[0002]:https://github.com/ifa-wg/proposals/blob/master/ifa-0002.md
How-To
=======
@ -29,4 +31,4 @@ Before submitting a PR for a new proposal or to update an existing proposal, ins
You must include DocToc markup in the document before running DocToc:
<!-- START doctoc -->
<!-- END doctoc -->
<!-- END doctoc -->

@ -24,7 +24,6 @@ This document was authored by Hugo Landau, with input from Zach Lym, Jeremy Rand
- [The Domain Name Object Schema](#the-domain-name-object-schema)
- [Abstract Constructs](#abstract-constructs)
- [DNS-Compatible Records](#dns-compatible-records)
- [Non-DNS Item Types](#non-dns-item-types)
- [Administrative Constructs](#administrative-constructs)
- [Experimental DNS-Compatible Item Types](#experimental-dns-compatible-item-types)
- [Interpretation of DNS Names](#interpretation-of-dns-names)
@ -472,68 +471,6 @@ Except where otherwise specified, any item with a value of `null` SHALL be treat
"loc": "10 Downing Street"
#### Non-DNS Item Types
- "tor": Used to specify zero or more Tor hidden service addresses.
The value for this item SHALL be one of the following forms:
- An empty array. This denotes that hidden service connectivity is not available via the current object. This is the default semantic if the "tor" item type is not present.
- An array of one or more strings. Each such string SHALL contain a Tor onion address, including the ".onion" suffix. (Note that the value MUST NOT be an URL.) The string MUST NOT have a trailing dot.
This form denotes that the current object is mappable to any of the Tor hidden services with the given addresses. Client implementations should select an address in a similar fashion to the selection of IP addresses; sort the addresses randomly and try them in order until all addresses are exhausted.
- A string. Where this form is encountered, it SHALL be substituted with an array containing that string and be processed as though that was what was encountered, as per the above form.
Examples:
"tor": [] // No hidden service available
"tor": "qaneqo4kcreewkvq.onion" // One hidden service available
"tor": ["xo920axk34lannrw.onion"] // One hidden service available
"tor": ["ganeqo4kcreewkvq.onion", "xo920axk34lannrw.onion"] // Two hidden services available
The following example forms are NOT valid:
"tor": "ganeqo4kcreewkvq"
"tor": "ganeqo4kcreewkvq.onion."
"tor": "http://ganeqo4kcreewkvq.onion"
"tor": {}
- "i2p": Used to specify zero or more I2P eepsite addresses.
The value for this item SHALL be one of the following forms:
- An empty array. This denotes that I2P eepsite connectivity is not available via the current object. This is the default semantic if the "i2p" item type is not present.
- An array of one or more strings. Each such string SHALL contain a base32-form I2P eepsite address, including the ".b32.i2p" suffix. (Note that the value MUST NOT be an URL.) The string MUST NOT have a trailing dot.
This form denotes that the current object is mappable to any of the I2P eepsites with the given addresses. Client implementations should select an address in a similar fashion to the selection of IP addresses; sort the addresses randomly and try them in order until all addresses are exhausted.
The address MUST be of the base32 form and MUST NOT be a friendly name like "example.i2p".
- A string. Where this form is encountered, it SHALL be substituted with an array containing that string and be processed as thoug that was what was encountered, as per the above form.
Examples:
"i2p": [] // No eepsite available
"i2p": "vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p" // One eepsite available
"i2p": ["vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p"] // One eepsite available
"i2p": ["vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p",
"idphjncvywzvcjur2zeep2a44s5dxduzv7iytgihg7vdx3x5hnkq.b32.i2p"] // Two eepsites available
The following example forms are NOT valid:
"i2p": "vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq"
"i2p": "example.i2p"
"i2p": "vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p."
"i2p": "http://vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p"
"i2p": {}
- "freenet": Provides a Freenet freesite key.
The value for this item SHALL take the form of a string containing a Freenet freesite key, e.g. "USK@0I8g...xbZ4,AQACAAE/Example/42/".
#### Administrative Constructs
- "info": This optional item can be used to provide WHOIS-like information.

@ -0,0 +1,110 @@
Domain Names — Non-DNS Types
============================
IFA Proposal No. 2
Title: Domain Names — Non-DNS Types
Status: Draft
Type: Standards Track
Created: 2015-05-31
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
This document is released into the public domain.
This document was authored by Hugo Landau.
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**
- [Introduction](#introduction)
- [Non-DNS Item Types](#non-dns-item-types)
- [Changes to Processing Rules](#changes-to-processing-rules)
- [Newly Deprecated Item Types](#newly-deprecated-item-types)
- [Changelog](#changelog)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
Introduction
------------
This document extends the Domain Names specification, IFA-0001. It specifies additional item types which are not DNS mappable at the time of writing. Currently, these types are used to express endpoints for various darknet technologies.
Non-DNS Item Types
------------------
- "tor": Used to specify zero or more Tor hidden service addresses.
The value for this item SHALL be one of the following forms:
- An empty array. This denotes that hidden service connectivity is not available via the current object. This is the default semantic if the "tor" item type is not present.
- An array of one or more strings. Each such string SHALL contain a Tor onion address, including the ".onion" suffix. (Note that the value MUST NOT be an URL.) The string MUST NOT have a trailing dot.
This form denotes that the current object is mappable to any of the Tor hidden services with the given addresses. Client implementations should select an address in a similar fashion to the selection of IP addresses; sort the addresses randomly and try them in order until all addresses are exhausted.
- A string. Where this form is encountered, it SHALL be substituted with an array containing that string and be processed as though that was what was encountered, as per the above form.
Examples:
"tor": [] // No hidden service available
"tor": "qaneqo4kcreewkvq.onion" // One hidden service available
"tor": ["xo920axk34lannrw.onion"] // One hidden service available
"tor": ["ganeqo4kcreewkvq.onion", "xo920axk34lannrw.onion"] // Two hidden services available
The following example forms are NOT valid:
"tor": "ganeqo4kcreewkvq"
"tor": "ganeqo4kcreewkvq.onion."
"tor": "http://ganeqo4kcreewkvq.onion"
"tor": {}
- "i2p": Used to specify zero or more I2P eepsite addresses.
The value for this item SHALL be one of the following forms:
- An empty array. This denotes that I2P eepsite connectivity is not available via the current object. This is the default semantic if the "i2p" item type is not present.
- An array of one or more strings. Each such string SHALL contain a base32-form I2P eepsite address, including the ".b32.i2p" suffix. (Note that the value MUST NOT be an URL.) The string MUST NOT have a trailing dot.
This form denotes that the current object is mappable to any of the I2P eepsites with the given addresses. Client implementations should select an address in a similar fashion to the selection of IP addresses; sort the addresses randomly and try them in order until all addresses are exhausted.
The address MUST be of the base32 form and MUST NOT be a friendly name like "example.i2p".
- A string. Where this form is encountered, it SHALL be substituted with an array containing that string and be processed as thoug that was what was encountered, as per the above form.
Examples:
"i2p": [] // No eepsite available
"i2p": "vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p" // One eepsite available
"i2p": ["vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p"] // One eepsite available
"i2p": ["vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p",
"idphjncvywzvcjur2zeep2a44s5dxduzv7iytgihg7vdx3x5hnkq.b32.i2p"] // Two eepsites available
The following example forms are NOT valid:
"i2p": "vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq"
"i2p": "example.i2p"
"i2p": "vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p."
"i2p": "http://vbcc75tfgauz5qc6tlggfduudeva755sncjyuv5sfjhy7o2ltuqq.b32.i2p"
"i2p": {}
- "freenet": Provides a Freenet freesite key.
The value for this item SHALL take the form of a string containing a Freenet freesite key, e.g. "USK@0I8g...xbZ4,AQACAAE/Example/42/".
Changes to Processing Rules
---------------------------
There are no changes to item suppression or other processing rules.
Newly Deprecated Item Types
---------------------------
The following item types are deprecated by this document and SHOULD NOT be used.
- "i2p": The format proposed previously does not appear to make sense and includes extraneous fields. Since no actual implementations of that format are known, it has been deprecated in favour of a format more uniform with the "tor" item type.
Changelog
---------
- 20150531: Initial revision, factored out from IFA-0001.
Loading…
Cancel
Save