rfc9083.original | rfc9083.txt | |||
---|---|---|---|---|
REGEXT Working Group S. Hollenbeck | Internet Engineering Task Force (IETF) S. Hollenbeck | |||
Internet-Draft Verisign Labs | Request for Comments: 9083 Verisign Labs | |||
Obsoletes: 7483 (if approved) A. Newton | STD: 95 A. Newton | |||
Intended status: Standards Track AWS | Obsoletes: 7483 AWS | |||
Expires: 28 August 2021 24 February 2021 | Category: Standards Track June 2021 | |||
ISSN: 2070-1721 | ||||
JSON Responses for the Registration Data Access Protocol (RDAP) | JSON Responses for the Registration Data Access Protocol (RDAP) | |||
draft-ietf-regext-rfc7483bis-05 | ||||
Abstract | Abstract | |||
This document describes JSON data structures representing | This document describes JSON data structures representing | |||
registration information maintained by Regional Internet Registries | registration information maintained by Regional Internet Registries | |||
(RIRs) and Domain Name Registries (DNRs). These data structures are | (RIRs) and Domain Name Registries (DNRs). These data structures are | |||
used to form Registration Data Access Protocol (RDAP) query | used to form Registration Data Access Protocol (RDAP) query | |||
responses. If approved, this document obsoletes RFC 7483. | responses. This document obsoletes RFC 7483. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 28 August 2021. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9083. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Simplified BSD License text | to this document. Code Components extracted from this document must | |||
as described in Section 4.e of the Trust Legal Provisions and are | include Simplified BSD License text as described in Section 4.e of | |||
provided without warranty as described in the Simplified BSD License. | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
1.1. Terminology and Definitions . . . . . . . . . . . . . . . 3 | 1.1. Terminology and Definitions | |||
1.2. Data Model . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.2. Data Model | |||
2. Use of JSON . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Use of JSON | |||
2.1. Naming . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.1. Naming | |||
3. Common Data Types . . . . . . . . . . . . . . . . . . . . . . 7 | 3. Common Data Types | |||
4. Common Data Structures . . . . . . . . . . . . . . . . . . . 8 | 4. Common Data Structures | |||
4.1. RDAP Conformance . . . . . . . . . . . . . . . . . . . . 8 | 4.1. RDAP Conformance | |||
4.2. Links . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 4.2. Links | |||
4.3. Notices and Remarks . . . . . . . . . . . . . . . . . . . 10 | 4.3. Notices and Remarks | |||
4.4. Language Identifier . . . . . . . . . . . . . . . . . . . 12 | 4.4. Language Identifier | |||
4.5. Events . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.5. Events | |||
4.6. Status . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 4.6. Status | |||
4.7. Port 43 WHOIS Server . . . . . . . . . . . . . . . . . . 14 | 4.7. Port 43 WHOIS Server | |||
4.8. Public IDs . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.8. Public IDs | |||
4.9. Object Class Name . . . . . . . . . . . . . . . . . . . . 14 | 4.9. Object Class Name | |||
4.10. An Example . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.10. An Example | |||
5. Object Classes . . . . . . . . . . . . . . . . . . . . . . . 16 | 5. Object Classes | |||
5.1. The Entity Object Class . . . . . . . . . . . . . . . . . 17 | 5.1. The Entity Object Class | |||
5.2. The Nameserver Object Class . . . . . . . . . . . . . . . 23 | 5.2. The Nameserver Object Class | |||
5.3. The Domain Object Class . . . . . . . . . . . . . . . . . 26 | 5.3. The Domain Object Class | |||
5.4. The IP Network Object Class . . . . . . . . . . . . . . . 39 | 5.4. The IP Network Object Class | |||
5.5. The Autonomous System Number Object Class . . . . . . . . 43 | 5.5. The Autonomous System Number Object Class | |||
6. Error Response Body . . . . . . . . . . . . . . . . . . . . . 46 | 6. Error Response Body | |||
7. Responding to Help Queries . . . . . . . . . . . . . . . . . 48 | 7. Responding to Help Queries | |||
8. Responding To Searches . . . . . . . . . . . . . . . . . . . 48 | 8. Responding To Searches | |||
9. Indicating Truncated Responses . . . . . . . . . . . . . . . 49 | 9. Indicating Truncated Responses | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 51 | 10. IANA Considerations | |||
10.1. RDAP JSON Media Type Registration . . . . . . . . . . . 52 | 10.1. RDAP JSON Media Type Registration | |||
10.2. JSON Values Registry . . . . . . . . . . . . . . . . . . 53 | 10.2. JSON Values Registry | |||
10.2.1. Notice and Remark Types . . . . . . . . . . . . . . 54 | 10.2.1. Notice and Remark Types | |||
10.2.2. Status . . . . . . . . . . . . . . . . . . . . . . . 56 | 10.2.2. Status | |||
10.2.3. Event Actions . . . . . . . . . . . . . . . . . . . 60 | 10.2.3. Event Actions | |||
10.2.4. Roles . . . . . . . . . . . . . . . . . . . . . . . 62 | 10.2.4. Roles | |||
10.2.5. Variant Relations . . . . . . . . . . . . . . . . . 65 | 10.2.5. Variant Relations | |||
11. Implementation Status . . . . . . . . . . . . . . . . . . . . 66 | 11. Security Considerations | |||
11.1. RedDog . . . . . . . . . . . . . . . . . . . . . . . . . 67 | 12. Internationalization Considerations | |||
11.2. Verisign . . . . . . . . . . . . . . . . . . . . . . . . 67 | 12.1. Character Encoding | |||
11.3. Verisign Labs . . . . . . . . . . . . . . . . . . . . . 68 | 12.2. URIs and IRIs | |||
11.4. Asia-Pacific Network Information Centre (APNIC) . . . . 68 | 12.3. Language Tags | |||
12. Security Considerations . . . . . . . . . . . . . . . . . . . 68 | 12.4. Internationalized Domain Names | |||
13. Internationalization Considerations . . . . . . . . . . . . . 69 | 13. Privacy Considerations | |||
13.1. Character Encoding . . . . . . . . . . . . . . . . . . . 69 | 14. References | |||
13.2. URIs and IRIs . . . . . . . . . . . . . . . . . . . . . 69 | 14.1. Normative References | |||
13.3. Language Tags . . . . . . . . . . . . . . . . . . . . . 69 | 14.2. Informative References | |||
13.4. Internationalized Domain Names . . . . . . . . . . . . . 69 | Appendix A. Suggested Data Modeling with the Entity Object Class | |||
A.1. Registrants and Contacts | ||||
14. Privacy Considerations . . . . . . . . . . . . . . . . . . . 70 | A.2. Registrars | |||
15. References . . . . . . . . . . . . . . . . . . . . . . . . . 70 | Appendix B. Modeling Events | |||
15.1. Normative References . . . . . . . . . . . . . . . . . . 70 | Appendix C. Structured vs. Unstructured Addresses | |||
15.2. Informative References . . . . . . . . . . . . . . . . . 72 | Appendix D. Secure DNS | |||
Appendix A. Suggested Data Modeling with the Entity Object | Appendix E. Motivations for Using JSON | |||
Class . . . . . . . . . . . . . . . . . . . . . . . . . . 73 | Appendix F. Changes from RFC 7483 | |||
A.1. Registrants and Contacts . . . . . . . . . . . . . . . . 73 | Acknowledgments | |||
A.2. Registrars . . . . . . . . . . . . . . . . . . . . . . . 76 | Authors' Addresses | |||
Appendix B. Modeling Events . . . . . . . . . . . . . . . . . . 77 | ||||
Appendix C. Structured vs. Unstructured Addresses . . . . . . . 79 | ||||
Appendix D. Secure DNS . . . . . . . . . . . . . . . . . . . . . 82 | ||||
Appendix E. Motivations for Using JSON . . . . . . . . . . . . . 82 | ||||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 83 | ||||
Changes from RFC 7483 . . . . . . . . . . . . . . . . . . . . . . 83 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 86 | ||||
1. Introduction | 1. Introduction | |||
This document describes responses in the JSON [RFC8259] format for | This document describes responses in the JSON [RFC8259] format for | |||
the queries as defined by the Registration Data Access Protocol Query | the queries as defined by the Registration Data Access Protocol Query | |||
Format [I-D.ietf-regext-rfc7482bis]. A communication protocol for | Format [RFC9082]. A communication protocol for exchanging queries | |||
exchanging queries and responses is described in [RFC7480]. If | and responses is described in [RFC7480]. This document obsoletes RFC | |||
approved, this document obsoletes RFC 7483. | 7483. | |||
1.1. Terminology and Definitions | 1.1. Terminology and Definitions | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
The following list describes terminology and definitions used | The following list describes terminology and definitions used | |||
throughout this document: | throughout this document: | |||
DNR: Domain Name Registry or Domain Name Registrar | DNR: Domain Name Registry or Domain Name Registrar | |||
LDH: letters, digits, hyphen | LDH: letters, digits, hyphen | |||
member: data found within an object as defined by JSON [RFC8259] | member: data found within an object as defined by JSON [RFC8259] | |||
skipping to change at page 8, line 6 ¶ | skipping to change at line 317 ¶ | |||
"192.0.2.0". | "192.0.2.0". | |||
IPv6 addresses: The representation of IPv6 addresses in this | IPv6 addresses: The representation of IPv6 addresses in this | |||
document follow the forms outlined in [RFC5952]. | document follow the forms outlined in [RFC5952]. | |||
An example of this textual representation is | An example of this textual representation is | |||
"2001:db8::1:0:0:1". | "2001:db8::1:0:0:1". | |||
country codes: Where the identity of a geopolitical nation or | country codes: Where the identity of a geopolitical nation or | |||
country is needed, these identities are represented | country is needed, these identities are represented | |||
with the alpha-2 or two-character country code | with the alpha-2 or two-character country code | |||
designation as defined in [ISO.3166.1988]. The | designation as defined in [ISO.3166.2020]. The | |||
alpha-2 representation is used because it is freely | alpha-2 representation is used because it is freely | |||
available, whereas the alpha-3 and numeric-3 | available, whereas the alpha-3 and numeric-3 | |||
standards are not. | standards are not. | |||
LDH names: Textual representations of DNS names where the | LDH names: Textual representations of DNS names where the | |||
labels of the domain are all "letters, digits, | labels of the domain are all "letters, digits, | |||
hyphen" labels as described by [RFC5890]. Trailing | hyphen" labels as described by [RFC5890]. Trailing | |||
periods are optional. | periods are optional. | |||
Unicode names: Textual representations of DNS names where one or | Unicode names: Textual representations of DNS names where one or | |||
skipping to change at page 10, line 8 ¶ | skipping to change at line 412 ¶ | |||
"title" : "title", | "title" : "title", | |||
"media" : "screen", | "media" : "screen", | |||
"type" : "application/json" | "type" : "application/json" | |||
} | } | |||
Figure 5 | Figure 5 | |||
The JSON name/values of "rel", "href", "hreflang", "title", "media", | The JSON name/values of "rel", "href", "hreflang", "title", "media", | |||
and "type" correspond to values found in Section 3 of [RFC8288]. The | and "type" correspond to values found in Section 3 of [RFC8288]. The | |||
"value" JSON value is the context URI as described by [RFC8288]. The | "value" JSON value is the context URI as described by [RFC8288]. The | |||
"value", "rel" and "href" JSON values MUST be specified. All other | "value", "rel", and "href" JSON values MUST be specified. All other | |||
JSON values are OPTIONAL. A "related" link relation MUST NOT include | JSON values are OPTIONAL. A "related" link relation MUST NOT include | |||
an "href" URI that is the same as the "self" link relation "href" URI | an "href" URI that is the same as the "self" link relation "href" URI | |||
to reduce the risk of infinite client processing loops. | to reduce the risk of infinite client processing loops. | |||
Internationalized Domain Names (IDNs) returned in URIs SHOULD be | Internationalized Domain Names (IDNs) returned in URIs SHOULD be | |||
consistently returned in LDH name format to allow clients to process | consistently returned in LDH name format to allow clients to process | |||
these IDNs according to their capabilities. | these IDNs according to their capabilities. | |||
This is an example of the "links" array as it might be found in an | This is an example of the "links" array as it might be found in an | |||
object class: | object class: | |||
skipping to change at page 16, line 8 ¶ | skipping to change at line 694 ¶ | |||
] | ] | |||
} | } | |||
] | ] | |||
} | } | |||
Figure 13 | Figure 13 | |||
5. Object Classes | 5. Object Classes | |||
Object classes represent structures appropriate for a response from | Object classes represent structures appropriate for a response from | |||
the queries specified in [I-D.ietf-regext-rfc7482bis]. | the queries specified in [RFC9082]. | |||
Each object class contains a "links" array as specified in | Each object class contains a "links" array as specified in | |||
Section 4.2. For every object class instance in a response, whether | Section 4.2. For every object class instance in a response, whether | |||
the object class instance is directly representing the response to a | the object class instance is directly representing the response to a | |||
query or is embedded in other object class instances or is an item in | query or is embedded in other object class instances or is an item in | |||
a search result set, servers SHOULD provide a link representing a URI | a search result set, servers SHOULD provide a link representing a URI | |||
for that object class instance using the "self" relationship as | for that object class instance using the "self" relationship as | |||
described in the IANA registry specified by [RFC8288]. As explained | described in the IANA registry specified by [RFC8288]. As explained | |||
in Section 5.2, this may be not always be possible for nameserver | in Section 5.2, this may be not always be possible for nameserver | |||
data. Clients MUST be able to process object instances without a | data. Clients MUST be able to process object instances without a | |||
skipping to change at page 17, line 9 ¶ | skipping to change at line 738 ¶ | |||
"type" : "application/rdap+json" | "type" : "application/rdap+json" | |||
} | } | |||
] | ] | |||
Figure 14 | Figure 14 | |||
5.1. The Entity Object Class | 5.1. The Entity Object Class | |||
The entity object class appears throughout this document and is an | The entity object class appears throughout this document and is an | |||
appropriate response for the /entity/XXXX query defined in | appropriate response for the /entity/XXXX query defined in | |||
"Registration Data Access Protocol (RDAP) Query Format" | "Registration Data Access Protocol (RDAP) Query Format" [RFC9082]. | |||
[I-D.ietf-regext-rfc7482bis]. This object class represents the | This object class represents the information of organizations, | |||
information of organizations, corporations, governments, non-profits, | corporations, governments, non-profits, clubs, individual persons, | |||
clubs, individual persons, and informal groups of people. All of | and informal groups of people. All of these representations are so | |||
these representations are so similar that it is best to represent | similar that it is best to represent them in JSON [RFC8259] with one | |||
them in JSON [RFC8259] with one construct, the entity object class, | construct, the entity object class, to aid in the reuse of code by | |||
to aid in the reuse of code by implementers. | implementers. | |||
The entity object class uses jCard [RFC7095] to represent contact | The entity object class uses jCard [RFC7095] to represent contact | |||
information, such as postal addresses, email addresses, phone numbers | information, such as postal addresses, email addresses, phone numbers | |||
and names of organizations and individuals. Many of the types of | and names of organizations and individuals. Many of the types of | |||
information that can be represented with jCard have little or no use | information that can be represented with jCard have little or no use | |||
in RDAP, such as birthdays, anniversaries, and gender. | in RDAP, such as birthdays, anniversaries, and gender. | |||
The entity object is served by both RIRs and DNRs. The following is | The entity object is served by both RIRs and DNRs. The following is | |||
an example of an entity that might be served by an RIR. | an example of an entity that might be served by an RIR. | |||
skipping to change at page 24, line 30 ¶ | skipping to change at line 1060 ¶ | |||
[ | [ | |||
"She sells sea shells down by the sea shore.", | "She sells sea shells down by the sea shore.", | |||
"Originally written by Terry Sullivan." | "Originally written by Terry Sullivan." | |||
] | ] | |||
} | } | |||
], | ], | |||
"links" : | "links" : | |||
[ | [ | |||
{ | { | |||
"value" : "https://example.net/nameserver/ | "value" : "https://example.net/nameserver/ | |||
ns1.xn--fo-5ja.example", | ns1.xn--fo-5ja.example", | |||
"rel" : "self", | "rel" : "self", | |||
"href" : "https://example.net/nameserver/ | "href" : "https://example.net/nameserver/ | |||
ns1.xn--fo-5ja.example", | ns1.xn--fo-5ja.example", | |||
"type" : "application/rdap+json" | "type" : "application/rdap+json" | |||
} | } | |||
], | ], | |||
"port43" : "whois.example.net", | "port43" : "whois.example.net", | |||
"events" : | "events" : | |||
[ | [ | |||
{ | { | |||
skipping to change at page 29, line 16 ¶ | skipping to change at line 1287 ¶ | |||
the DNSKEY record [RFC4034] in presentation format | the DNSKEY record [RFC4034] in presentation format | |||
o algorithm -- an integer as specified by the algorithm field | o algorithm -- an integer as specified by the algorithm field | |||
of a DNSKEY record as specified by [RFC4034] in presentation | of a DNSKEY record as specified by [RFC4034] in presentation | |||
format | format | |||
o events -- see Section 4.5 | o events -- see Section 4.5 | |||
o links -- see Section 4.2 | o links -- see Section 4.2 | |||
See Appendix D for background information on these | See Appendix D for background information on these objects. | |||
objects. | ||||
* entities -- an array of entity objects as defined by Section 5.1 | * entities -- an array of entity objects as defined by Section 5.1 | |||
* status -- see Section 4.6 | * status -- see Section 4.6 | |||
* publicIds -- see Section 4.8 | * publicIds -- see Section 4.8 | |||
* remarks -- see Section 4.3 | * remarks -- see Section 4.3 | |||
* links -- see Section 4.2 | * links -- see Section 4.2 | |||
skipping to change at page 39, line 9 ¶ | skipping to change at line 1751 ¶ | |||
} | } | |||
] | ] | |||
} | } | |||
Figure 24 | Figure 24 | |||
5.4. The IP Network Object Class | 5.4. The IP Network Object Class | |||
The IP network object class models IP network registrations found in | The IP network object class models IP network registrations found in | |||
RIRs and is the expected response for the "/ip" query as defined by | RIRs and is the expected response for the "/ip" query as defined by | |||
[I-D.ietf-regext-rfc7482bis]. There is no equivalent object class | [RFC9082]. There is no equivalent object class for DNRs. The high- | |||
for DNRs. The high- level structure of the IP network object class | level structure of the IP network object class consists of | |||
consists of information about the network registration and entities | information about the network registration and entities related to | |||
related to the IP network (e.g., registrant information, contacts, | the IP network (e.g., registrant information, contacts, etc.). | |||
etc.). | ||||
The following is an elided example of the IP network object type | The following is an elided example of the IP network object type | |||
showing the high-level structure: | showing the high-level structure: | |||
{ | { | |||
"objectClassName" : "ip network", | "objectClassName" : "ip network", | |||
"handle" : "XXX", | "handle" : "XXX", | |||
... | ... | |||
"entities" : | "entities" : | |||
[ | [ | |||
skipping to change at page 42, line 39 ¶ | skipping to change at line 1925 ¶ | |||
network, either IPv4 or IPv6 | network, either IPv4 or IPv6 | |||
* ipVersion -- a string signifying the IP protocol version of the | * ipVersion -- a string signifying the IP protocol version of the | |||
network: "v4" signifies an IPv4 network, and "v6" signifies an | network: "v4" signifies an IPv4 network, and "v6" signifies an | |||
IPv6 network | IPv6 network | |||
* name -- a string representing an identifier assigned to the | * name -- a string representing an identifier assigned to the | |||
network registration by the registration holder | network registration by the registration holder | |||
* type -- a string containing an RIR-specific classification of the | * type -- a string containing an RIR-specific classification of the | |||
network as per that RIR's registration model | network per that RIR's registration model | |||
* country -- a string containing the two-character country code of | * country -- a string containing the two-character country code of | |||
the network | the network | |||
* parentHandle -- a string containing an RIR-unique identifier of | * parentHandle -- a string containing an RIR-unique identifier of | |||
the parent network of this network registration | the parent network of this network registration | |||
* status -- an array of strings indicating the state of the IP | * status -- an array of strings indicating the state of the IP | |||
network as defined by Section 4.6 | network as defined by Section 4.6 | |||
skipping to change at page 43, line 16 ¶ | skipping to change at line 1950 ¶ | |||
* links -- see Section 4.2 | * links -- see Section 4.2 | |||
* port43 -- see Section 4.7 | * port43 -- see Section 4.7 | |||
* events -- see Section 4.5 | * events -- see Section 4.5 | |||
5.5. The Autonomous System Number Object Class | 5.5. The Autonomous System Number Object Class | |||
The Autonomous System number (autnum) object class models Autonomous | The Autonomous System number (autnum) object class models Autonomous | |||
System number registrations found in RIRs and represents the expected | System number registrations found in RIRs and represents the expected | |||
response to an "/autnum" query as defined by | response to an "/autnum" query as defined by [RFC9082]. There is no | |||
[I-D.ietf-regext-rfc7482bis]. There is no equivalent object class | equivalent object class for DNRs. The high-level structure of the | |||
for DNRs. The high-level structure of the autnum object class | autnum object class consists of information about the Autonomous | |||
consists of information about the autonomous system number | System number registration and entities related to the autnum | |||
registration and entities related to the autnum registration (e.g., | registration (e.g., registrant information, contacts, etc.) and is | |||
registrant information, contacts, etc.) and is similar to the IP | similar to the IP network object class. | |||
network object class. | ||||
The following is an example of a JSON object representing an autnum. | The following is an example of a JSON object representing an autnum. | |||
{ | { | |||
"objectClassName" : "autnum", | "objectClassName" : "autnum", | |||
"handle" : "XXXX-RIR", | "handle" : "XXXX-RIR", | |||
"startAutnum" : 65536, | "startAutnum" : 65536, | |||
"endAutnum" : 65541, | "endAutnum" : 65541, | |||
"name": "AS-RTR-1", | "name": "AS-RTR-1", | |||
"type" : "DIRECT ALLOCATION", | "type" : "DIRECT ALLOCATION", | |||
skipping to change at page 46, line 24 ¶ | skipping to change at line 2100 ¶ | |||
starting number [RFC5396] in the block of Autonomous System | starting number [RFC5396] in the block of Autonomous System | |||
numbers | numbers | |||
* endAutnum -- an unsigned 32-bit integer representing the ending | * endAutnum -- an unsigned 32-bit integer representing the ending | |||
number [RFC5396] in the block of Autonomous System numbers | number [RFC5396] in the block of Autonomous System numbers | |||
* name -- a string representing an identifier assigned to the autnum | * name -- a string representing an identifier assigned to the autnum | |||
registration by the registration holder | registration by the registration holder | |||
* type -- a string containing an RIR-specific classification of the | * type -- a string containing an RIR-specific classification of the | |||
autnum as per that RIR's registration model | autnum per that RIR's registration model | |||
* status -- an array of strings indicating the state of the autnum | * status -- an array of strings indicating the state of the autnum | |||
as defined by Section 4.6 | as defined by Section 4.6 | |||
* country -- a string containing the two-character country code of | * country -- a string containing the two-character country code of | |||
the autnum | the autnum | |||
* entities -- an array of entity objects as defined by Section 5.1 | * entities -- an array of entity objects as defined by Section 5.1 | |||
* remarks -- see Section 4.3 | * remarks -- see Section 4.3 | |||
skipping to change at page 48, line 4 ¶ | skipping to change at line 2178 ¶ | |||
], | ], | |||
"lang" : "en", | "lang" : "en", | |||
"errorCode": 418, | "errorCode": 418, | |||
"title": "Your beverage choice is not available", | "title": "Your beverage choice is not available", | |||
"description": | "description": | |||
[ | [ | |||
"I know coffee has more ummppphhh.", | "I know coffee has more ummppphhh.", | |||
"Sorry, dude!" | "Sorry, dude!" | |||
] | ] | |||
} | } | |||
Figure 29 | Figure 29 | |||
7. Responding to Help Queries | 7. Responding to Help Queries | |||
The appropriate response to /help queries as defined by | The appropriate response to /help queries as defined by [RFC9082] is | |||
[I-D.ietf-regext-rfc7482bis] is to use the notices structure as | to use the notices structure as defined in Section 4.3. | |||
defined in Section 4.3. | ||||
This is an example of a response to a /help query including the | This is an example of a response to a /help query including the | |||
rdapConformance data structure. | rdapConformance data structure. | |||
{ | { | |||
"rdapConformance" : | "rdapConformance" : | |||
[ | [ | |||
"rdap_level_0" | "rdap_level_0" | |||
], | ], | |||
"notices" : | "notices" : | |||
skipping to change at page 48, line 45 ¶ | skipping to change at line 2219 ¶ | |||
} | } | |||
] | ] | |||
} | } | |||
] | ] | |||
} | } | |||
Figure 30 | Figure 30 | |||
8. Responding To Searches | 8. Responding To Searches | |||
[I-D.ietf-regext-rfc7482bis] specifies three types of searches: | [RFC9082] specifies three types of searches: domains, nameservers, | |||
domains, nameservers, and entities. Responses to these searches take | and entities. Responses to these searches take the form of an array | |||
the form of an array of object instances where each instance is an | of object instances where each instance is an appropriate object | |||
appropriate object class for the search (i.e., a search for /domains | class for the search (i.e., a search for /domains yields an array of | |||
yields an array of domain object instances). These arrays are | domain object instances). These arrays are contained within the | |||
contained within the response object. | response object. | |||
The names of the arrays are as follows: | The names of the arrays are as follows: | |||
* for /domains searches, the array is "domainSearchResults" | * for /domains searches, the array is "domainSearchResults" | |||
* for /nameservers searches, the array is "nameserverSearchResults" | * for /nameservers searches, the array is "nameserverSearchResults" | |||
* for /entities searches, the array is "entitySearchResults" | * for /entities searches, the array is "entitySearchResults" | |||
The following is an elided example of a response to a /domains | The following is an elided example of a response to a /domains | |||
skipping to change at page 51, line 51 ¶ | skipping to change at line 2360 ¶ | |||
} | } | |||
] | ] | |||
} | } | |||
] | ] | |||
} | } | |||
Figure 33 | Figure 33 | |||
10. IANA Considerations | 10. IANA Considerations | |||
IANA is requested to update the description of the "transfer" event | IANA has updated the description of the "transfer" event action as | |||
action as described in Section 10.2.3. | described in Section 10.2.3. | |||
10.1. RDAP JSON Media Type Registration | 10.1. RDAP JSON Media Type Registration | |||
IANA is requested to update the media type registration as described | IANA has updated the media type registration as described below. | |||
below. | ||||
This specification registers the "application/rdap+json" media | This specification registers the "application/rdap+json" media type. | |||
type. | ||||
Type name: application | ||||
Subtype name: rdap+json | Type name: application | |||
Required parameters: n/a | Subtype name: rdap+json | |||
Encoding considerations: See Section 3.1 of [RFC6839]. | Required parameters: n/a | |||
Security considerations: The media represented by this identifier | Encoding considerations: See Section 3.1 of [RFC6839]. | |||
Security considerations: The media represented by this identifier | ||||
does not have security considerations beyond that found in | does not have security considerations beyond that found in | |||
Section 12 of [RFC8259]. | Section 12 of [RFC8259]. | |||
Interoperability considerations: There are no known | Interoperability considerations: There are no known interoperability | |||
interoperability problems regarding this media format. | problems regarding this media format. | |||
Published specification: RFC <this new RFC number> | Published specification: RFC 9083 | |||
Applications that use this media type: Implementations of the | Applications that use this media type: Implementations of the | |||
Registration Data Access Protocol (RDAP). | Registration Data Access Protocol (RDAP). | |||
Additional information: This media type is a product of the IETF | Additional information: This media type is a product of the IETF | |||
REGEXT working group. The REGEXT charter, information on the | REGEXT Working Group. The REGEXT charter, information on the | |||
REGEXT mailing list, and other documents produced by the REGEXT | REGEXT mailing list, and other documents produced by the REGEXT | |||
working group can be found at https://datatracker.ietf.org/wg/ | Working Group can be found at https://datatracker.ietf.org/wg/ | |||
regext/. | regext/. | |||
Person & email address to contact for further information: IESG | Person & email address to contact for further information: | |||
<iesg@ietf.org> | IESG <iesg@ietf.org> | |||
Intended usage: COMMON | Intended usage: COMMON | |||
Restrictions on usage: none | Restrictions on usage: none | |||
Author: Andy Newton | Author: Andy Newton | |||
Change controller: IETF | Change controller: IETF | |||
Provisional Registration: No (upon publication of this RFC) | Provisional Registration: No | |||
10.2. JSON Values Registry | 10.2. JSON Values Registry | |||
IANA has created a category in the protocol registries labeled | IANA has created a category in the protocol registries labeled | |||
"Registration Data Access Protocol (RDAP)", and within that category, | "Registration Data Access Protocol (RDAP)", and within that category, | |||
IANA has established a URL-referenceable, stand-alone registry | IANA has established a URL-referenceable, stand-alone registry | |||
labeled "RDAP JSON Values". This new registry is for use in the | labeled "RDAP JSON Values". This new registry is for use in the | |||
notices and remarks (Section 4.3), status (Section 4.6), role | notices and remarks (Section 4.3), status (Section 4.6), role | |||
(Section 5.1), event action (Section 4.5), and domain variant | (Section 5.1), event action (Section 4.5), and domain variant | |||
relation (Section 5.3) fields specified in RDAP. | relation (Section 5.3) fields specified in RDAP. | |||
skipping to change at page 54, line 36 ¶ | skipping to change at line 2486 ¶ | |||
DNR or RIR to make this determination. | DNR or RIR to make this determination. | |||
The following sections provide initial registrations into this | The following sections provide initial registrations into this | |||
registry. | registry. | |||
10.2.1. Notice and Remark Types | 10.2.1. Notice and Remark Types | |||
The following values have been registered in the "RDAP JSON Values" | The following values have been registered in the "RDAP JSON Values" | |||
registry: | registry: | |||
* Value: result set truncated due to authorization | Value: result set truncated due to authorization | |||
Type: notice and remark type | ||||
Type: notice and remark type | Description: The list of results does not contain all results due to | |||
lack of authorization. This may indicate to some clients that | ||||
Description: The list of results does not contain all results due | ||||
to lack of authorization. This may indicate to some clients that | ||||
proper authorization will yield a longer result set. | proper authorization will yield a longer result set. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: result set truncated due to excessive load | |||
Type: notice and remark type | ||||
Registrant Contact Information: iesg@ietf.org | Description: The list of results does not contain all results due to | |||
an excessively heavy load on the server. This may indicate to | ||||
* Value: result set truncated due to excessive load | ||||
Type: notice and remark type | ||||
Description: The list of results does not contain all results due | ||||
to excessively heavy load on the server. This may indicate to | ||||
some clients that requerying at a later time will yield a longer | some clients that requerying at a later time will yield a longer | |||
result set. | result set. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: result set truncated due to unexplainable reasons | |||
Type: notice and remark type | ||||
Registrant Contact Information: iesg@ietf.org | Description: The list of results does not contain all results for an | |||
unexplainable reason. This may indicate to some clients that | ||||
* Value: result set truncated due to unexplainable reasons | ||||
Type: notice and remark type | ||||
Description: The list of results does not contain all results for | ||||
an unexplainable reason. This may indicate to some clients that | ||||
requerying for any reason will not yield a longer result set. | requerying for any reason will not yield a longer result set. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: object truncated due to authorization | |||
Type: notice and remark type | ||||
Registrant Contact Information: iesg@ietf.org | Description: The object does not contain all data due to lack of | |||
* Value: object truncated due to authorization | ||||
Type: notice and remark type | ||||
Description: The object does not contain all data due to lack of | ||||
authorization. | authorization. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: object truncated due to excessive load | |||
Type: notice and remark type | ||||
Registrant Contact Information: iesg@ietf.org | Description: The object does not contain all data due to an | |||
* Value: object truncated due to excessive load | ||||
Type: notice and remark type | ||||
Description: The object does not contain all data due to | ||||
excessively heavy load on the server. This may indicate to some | excessively heavy load on the server. This may indicate to some | |||
clients that requerying at a later time will yield all data of the | clients that requerying at a later time will yield all data of the | |||
object. | object. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: object truncated due to unexplainable reasons | |||
Type: notice and remark type | ||||
Registrant Contact Information: iesg@ietf.org | Description: The object does not contain all data for an | |||
* Value: object truncated due to unexplainable reasons | ||||
Type: notice and remark type | ||||
Description: The object does not contain all data for an | ||||
unexplainable reason. | unexplainable reason. | |||
Registrant Name: IESG | ||||
Registrant Name: IESG | Registrant Contact Information: iesg@ietf.org | |||
Registrant Contact Information: iesg@ietf.org | ||||
10.2.2. Status | 10.2.2. Status | |||
The following values have been registered in the "RDAP JSON Values" | The following values have been registered in the "RDAP JSON Values" | |||
registry: | registry: | |||
* Value: validated | Value: validated | |||
Type: status | ||||
Type: status | Description: Signifies that the data of the object instance has been | |||
found to be accurate. This type of status is usually found on | ||||
Description: Signifies that the data of the object instance has | entity object instances to note the validity of identifying | |||
been found to be accurate. This type of status is usually found | ||||
on entity object instances to note the validity of identifying | ||||
contact information. | contact information. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: renew prohibited | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: Renewal or reregistration of the object instance is | |||
* Value: renew prohibited | ||||
Type: status | ||||
Description: Renewal or reregistration of the object instance is | ||||
forbidden. | forbidden. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: update prohibited | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: Updates to the object instance are forbidden. | |||
Registrant Name: IESG | ||||
* Value: update prohibited | Registrant Contact Information: iesg@ietf.org | |||
Type: status | ||||
Description: Updates to the object instance are forbidden. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: transfer prohibited | ||||
Type: status | ||||
Description: Transfers of the registration from one registrar to | Value: transfer prohibited | |||
Type: status | ||||
Description: Transfers of the registration from one registrar to | ||||
another are forbidden. This type of status normally applies to | another are forbidden. This type of status normally applies to | |||
DNR domain names. | DNR domain names. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: delete prohibited | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: Deletion of the registration of the object instance is | |||
forbidden. This type of status normally applies to DNR domain | ||||
* Value: delete prohibited | ||||
Type: status | ||||
Description: Deletion of the registration of the object instance | ||||
is forbidden. This type of status normally applies to DNR domain | ||||
names. | names. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: proxy | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: The registration of the object instance has been | |||
* Value: proxy | ||||
Type: status | ||||
Description: The registration of the object instance has been | ||||
performed by a third party. This is most commonly applied to | performed by a third party. This is most commonly applied to | |||
entities. | entities. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: private | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: The information of the object instance is not | |||
* Value: private | ||||
Type: status | ||||
Description: The information of the object instance is not | ||||
designated for public consumption. This is most commonly applied | designated for public consumption. This is most commonly applied | |||
to entities. | to entities. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: removed | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: Some of the information of the object instance has not | |||
been made available and has been removed. This is most commonly | ||||
* Value: removed | applied to entities. | |||
Type: status | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | ||||
Description: Some of the information of the object instance has | ||||
not been made available and has been removed. This is most | ||||
commonly applied to entities. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: obscured | ||||
Type: status | ||||
Description: Some of the information of the object instance has | Value: obscured | |||
been altered for the purposes of not readily revealing the actual | Type: status | |||
Description: Some of the information of the object instance has been | ||||
altered for the purposes of not readily revealing the actual | ||||
information of the object instance. This is most commonly applied | information of the object instance. This is most commonly applied | |||
to entities. | to entities. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: associated | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: The object instance is associated with other object | |||
* Value: associated | ||||
Type: status | ||||
Description: The object instance is associated with other object | ||||
instances in the registry. This is most commonly used to signify | instances in the registry. This is most commonly used to signify | |||
that a nameserver is associated with a domain or that an entity is | that a nameserver is associated with a domain or that an entity is | |||
associated with a network resource or domain. | associated with a network resource or domain. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: active | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: The object instance is in use. For domain names, it | |||
* Value: active | ||||
Type: status | ||||
Description: The object instance is in use. For domain names, it | ||||
signifies that the domain name is published in DNS. For network | signifies that the domain name is published in DNS. For network | |||
and autnum registrations it signifies that they are allocated or | and autnum registrations, it signifies that they are allocated or | |||
assigned for use in operational networks. This maps to the | assigned for use in operational networks. This maps to the "OK" | |||
Extensible Provisioning Protocol (EPP) [RFC5730] 'OK' status. | status of the Extensible Provisioning Protocol (EPP) [RFC5730]. | |||
Registrant Name: IESG | ||||
Registrant Name: IESG | Registrant Contact Information: iesg@ietf.org | |||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: inactive | ||||
Type: status | ||||
Description: The object instance is not in use. See 'active'. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: locked | ||||
Type: status | Value: inactive | |||
Type: status | ||||
Description: The object instance is not in use. See "active". | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Description: Changes to the object instance cannot be made, | Value: locked | |||
Type: status | ||||
Description: Changes to the object instance cannot be made, | ||||
including the association of other object instances. | including the association of other object instances. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: pending create | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: A request has been received for the creation of the | |||
object instance, but this action is not yet complete. | ||||
* Value: pending create | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | ||||
Type: status | ||||
Description: A request has been received for the creation of the | ||||
object instance but this action is not yet complete. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: pending renew | ||||
Type: status | ||||
Description: A request has been received for the renewal of the | ||||
object instance but this action is not yet complete. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: pending transfer | ||||
Type: status | ||||
Description: A request has been received for the transfer of the | ||||
object instance but this action is not yet complete. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: pending update | Value: pending renew | |||
Type: status | ||||
Description: A request has been received for the renewal of the | ||||
object instance, but this action is not yet complete. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Type: status | Value: pending transfer | |||
Type: status | ||||
Description: A request has been received for the transfer of the | ||||
object instance, but this action is not yet complete. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Description: A request has been received for the update or | Value: pending update | |||
modification of the object instance but this action is not yet | Type: status | |||
Description: A request has been received for the update or | ||||
modification of the object instance, but this action is not yet | ||||
complete. | complete. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: pending delete | |||
Type: status | ||||
Registrant Contact Information: iesg@ietf.org | Description: A request has been received for the deletion or removal | |||
of the object instance, but this action is not yet complete. For | ||||
* Value: pending delete | domains, this might mean that the name is no longer published in | |||
DNS but has not yet been purged from the registry database. | ||||
Type: status | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | ||||
Description: A request has been received for the deletion or | ||||
removal of the object instance but this action is not yet | ||||
complete. For domains, this might mean that the name is no longer | ||||
published in DNS but has not yet been purged from the registry | ||||
database. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
10.2.3. Event Actions | 10.2.3. Event Actions | |||
The following values have been registered in the "RDAP JSON Values" | The following values have been registered in the "RDAP JSON Values" | |||
registry: | registry: | |||
* Value: registration | Value: registration | |||
Type: event action | ||||
Type: event action | Description: The object instance was initially registered. | |||
Registrant Name: IESG | ||||
Description: The object instance was initially registered. | Registrant Contact Information: iesg@ietf.org | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: reregistration | ||||
Type: event action | ||||
Description: The object instance was registered subsequently to | Value: reregistration | |||
Type: event action | ||||
Description: The object instance was registered subsequently to | ||||
initial registration. | initial registration. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: last changed | |||
Type: event action | ||||
Registrant Contact Information: iesg@ietf.org | Description: An action noting when the information in the object | |||
* Value: last changed | ||||
Type: event action | ||||
Description: An action noting when the information in the object | ||||
instance was last changed. | instance was last changed. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: expiration | |||
Type: event action | ||||
Registrant Contact Information: iesg@ietf.org | Description: The object instance has been removed or will be removed | |||
at a predetermined date and time from the registry. | ||||
* Value: expiration | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | ||||
Type: event action | ||||
Description: The object instance has been removed or will be | ||||
removed at a pre-determined date and time from the registry. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: deletion | ||||
Type: event action | ||||
Description: The object instance was removed from the registry at | ||||
a point in time that was not pre-determined. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: reinstantiation | ||||
Type: event action | ||||
Description: The object instance was reregistered after having | ||||
been removed from the registry. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: transfer | ||||
Type: event action | ||||
Description: The object instance was transferred from one | ||||
registrar to another. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | Value: deletion | |||
Type: event action | ||||
Description: The object instance was removed from the registry at a | ||||
point in time that was not predetermined. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: locked | Value: reinstantiation | |||
Type: event action | ||||
Description: The object instance was reregistered after having been | ||||
removed from the registry. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Type: event action | Value: transfer | |||
Type: event action | ||||
Description: The object instance was transferred from one registrar | ||||
to another. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Description: The object instance was locked (see the 'locked' | Value: locked | |||
Type: event action | ||||
Description: The object instance was locked (see the "locked" | ||||
status). | status). | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: unlocked | |||
Type: event action | ||||
Registrant Contact Information: iesg@ietf.org | Description: The object instance was unlocked (see the "locked" | |||
* Value: unlocked | ||||
Type: event action | ||||
Description: The object instance was unlocked (see the 'locked' | ||||
status). | status). | |||
Registrant Name: IESG | ||||
Registrant Name: IESG | Registrant Contact Information: iesg@ietf.org | |||
Registrant Contact Information: iesg@ietf.org | ||||
10.2.4. Roles | 10.2.4. Roles | |||
The following values have been registered in the "RDAP JSON Values" | The following values have been registered in the "RDAP JSON Values" | |||
registry: | registry: | |||
* Value: registrant | Value: registrant | |||
Type: role | ||||
Type: role | Description: The entity object instance is the registrant of the | |||
Description: The entity object instance is the registrant of the | ||||
registration. In some registries, this is known as a maintainer. | registration. In some registries, this is known as a maintainer. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: technical | |||
Type: role | ||||
Registrant Contact Information: iesg@ietf.org | Description: The entity object instance is a technical contact for | |||
* Value: technical | ||||
Type: role | ||||
Description: The entity object instance is a technical contact for | ||||
the registration. | the registration. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: administrative | |||
Type: role | ||||
Registrant Contact Information: iesg@ietf.org | Description: The entity object instance is an administrative contact | |||
for the registration. | ||||
* Value: administrative | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | ||||
Type: role | ||||
Description: The entity object instance is an administrative | ||||
contact for the registration. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: abuse | ||||
Type: role | Value: abuse | |||
Type: role | ||||
Description: The entity object instance handles network abuse issues | ||||
on behalf of the registrant of the registration. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Description: The entity object instance handles network abuse | Value: billing | |||
Type: role | ||||
Description: The entity object instance handles payment and billing | ||||
issues on behalf of the registrant of the registration. | issues on behalf of the registrant of the registration. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: registrar | |||
Type: role | ||||
Registrant Contact Information: iesg@ietf.org | Description: The entity object instance represents the authority | |||
* Value: billing | ||||
Type: role | ||||
Description: The entity object instance handles payment and | ||||
billing issues on behalf of the registrant of the registration. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: registrar | ||||
Type: role | ||||
Description: The entity object instance represents the authority | ||||
responsible for the registration in the registry. | responsible for the registration in the registry. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: reseller | |||
Type: role | ||||
Registrant Contact Information: iesg@ietf.org | Description: The entity object instance represents a third party | |||
through which the registration was conducted (i.e., not the | ||||
* Value: reseller | ||||
Type: role | ||||
Description: The entity object instance represents a third party | ||||
through which the registration was conducted (i.e. not the | ||||
registry or registrar). | registry or registrar). | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: sponsor | |||
Type: role | ||||
Registrant Contact Information: iesg@ietf.org | Description: The entity object instance represents a domain policy | |||
sponsor, such as an ICANN-approved sponsor. | ||||
* Value: sponsor | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | ||||
Type: role | ||||
Description: The entity object instance represents a domain policy | ||||
sponsor, such as an ICANN approved sponsor. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: proxy | ||||
Type: role | ||||
Description: The entity object instance represents a proxy for | Value: proxy | |||
Type: role | ||||
Description: The entity object instance represents a proxy for | ||||
another entity object, such as a registrant. | another entity object, such as a registrant. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: notifications | |||
Type: role | ||||
Registrant Contact Information: iesg@ietf.org | Description: An entity object instance designated to receive | |||
* Value: notifications | ||||
Type: role | ||||
Description: An entity object instance designated to receive | ||||
notifications about association object instances. | notifications about association object instances. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: noc | |||
Type: role | ||||
Registrant Contact Information: iesg@ietf.org | Description: The entity object instance handles communications | |||
* Value: noc | ||||
Type: role | ||||
Description: The entity object instance handles communications | ||||
related to a network operations center (NOC). | related to a network operations center (NOC). | |||
Registrant Name: IESG | ||||
Registrant Name: IESG | Registrant Contact Information: iesg@ietf.org | |||
Registrant Contact Information: iesg@ietf.org | ||||
10.2.5. Variant Relations | 10.2.5. Variant Relations | |||
The following values have been registered in the "RDAP JSON Values" | The following values have been registered in the "RDAP JSON Values" | |||
registry: | registry: | |||
* Value: registered | Value: registered | |||
Type: domain variant relation | ||||
Type: domain variant relation | Description: The variant names are registered in the registry. | |||
Registrant Name: IESG | ||||
Description: The variant names are registered in the registry. | Registrant Contact Information: iesg@ietf.org | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: unregistered | ||||
Type: domain variant relation | ||||
Description: The variant names are not found in the registry. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
* Value: registration restricted | Value: unregistered | |||
Type: domain variant relation | ||||
Description: The variant names are not found in the registry. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Type: domain variant relation | Value: registration restricted | |||
Description: Registration of the variant names is restricted to | Type: domain variant relation | |||
Description: Registration of the variant names is restricted to | ||||
certain parties or within certain rules. | certain parties or within certain rules. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: open registration | |||
Type: domain variant relation | ||||
Registrant Contact Information: iesg@ietf.org | Description: Registration of the variant names is available to | |||
* Value: open registration | ||||
Type: domain variant relation | ||||
Description: Registration of the variant names is available to | ||||
generally qualified registrants. | generally qualified registrants. | |||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
Registrant Name: IESG | Value: conjoined | |||
Type: domain variant relation | ||||
Registrant Contact Information: iesg@ietf.org | Description: Registration of the variant names occurs automatically | |||
with the registration of the containing domain registration. | ||||
* Value: conjoined | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | ||||
Type: domain variant relation | ||||
Description: Registration of the variant names occurs | ||||
automatically with the registration of the containing domain | ||||
registration. | ||||
Registrant Name: IESG | ||||
Registrant Contact Information: iesg@ietf.org | ||||
11. Implementation Status | ||||
NOTE: Please remove this section and the reference to RFC 7942 prior | ||||
to publication as an RFC. | ||||
This section records the status of known implementations of the | ||||
protocol defined by this specification at the time of posting of this | ||||
Internet-Draft, and is based on a proposal described in RFC 7942 | ||||
[RFC7942]. The description of implementations in this section is | ||||
intended to assist the IETF in its decision processes in progressing | ||||
drafts to RFCs. Please note that the listing of any individual | ||||
implementation here does not imply endorsement by the IETF. | ||||
Furthermore, no effort has been spent to verify the information | ||||
presented here that was supplied by IETF contributors. This is not | ||||
intended as, and must not be construed to be, a catalog of available | ||||
implementations or their features. Readers are advised to note that | ||||
other implementations may exist. | ||||
According to RFC 7942, "this will allow reviewers and working groups | ||||
to assign due consideration to documents that have the benefit of | ||||
running code, which may serve as evidence of valuable experimentation | ||||
and feedback that have made the implemented protocols more mature. | ||||
It is up to the individual working groups to use this information as | ||||
they see fit". | ||||
11.1. RedDog | ||||
* Responsible Organization: NIC Mexico | ||||
* Location: https://reddog.mx/ | ||||
* Description: RedDog implements all the functionality of an RDAP | ||||
Server defined in RFCs 7480,7481,7482 and 7483. RedDog is highly | ||||
configurable and extensible to fit the needs of the developers and | ||||
operators. | ||||
* Level of Maturity: Production. | ||||
* Coverage: RedDog supports all lookups, searches and responses for | ||||
all object classes described in RFC 7482 and RFC 7483. | ||||
* Version Compatibility: RFC 7482 and RFC 7483 | ||||
* Licensing: Apache License 2.0 | ||||
* Contact Information: reddog-dev@nic.mx | ||||
* Information last updated: November 22, 2019 | ||||
11.2. Verisign | ||||
* Responsible Organization: Verisign | ||||
* Location: https://rdap.verisign.com/com/v1/, | ||||
https://rdap.verisign.com/net/v1/ | ||||
* Description: Verisign's production RDAP service for the .com and | ||||
.net gTLDs. | ||||
* Level of Maturity: Production. | ||||
* Coverage: Lookup of domain names, name servers, entities; name | ||||
server search by IP address; help. | ||||
* Version Compatibility: RFC 7483 | ||||
* Contact Information: info@verisign-grs.com | ||||
11.3. Verisign Labs | ||||
* Responsible Organization: Verisign Labs | ||||
* Location: https://rdap.verisignlabs.com/rdap/v1/ | ||||
* Description: Verisign's experimental RDAP service for the .cc and | ||||
.tv ccTLDs. | ||||
* Level of Maturity: Experimental. | ||||
* Coverage: Lookup of domain names, name servers, entities; name | ||||
server search by IP address; basic search; regular expression | ||||
search; federated authentication; help. | ||||
* Version Compatibility: RFC 7483 | ||||
* Contact Information: Scott Hollenbeck, shollenbeck@verisign.com | ||||
11.4. Asia-Pacific Network Information Centre (APNIC) | ||||
* Responsible Organization: Asia-Pacific Network Information Centre | ||||
(APNIC) | ||||
* Location: https://rdap.apnic.net/, https://github.com/APNIC-net/ | ||||
rdapd | ||||
* Description: APNIC's production RDAP service for Internet number | ||||
resouces. | ||||
* Level of Maturity: Production. | ||||
* Coverage: Lookup of IP networks, AS numbers, domains, and | ||||
entities. Also domain search by name, entity search by handle or | ||||
full name, and help responses. | ||||
* Version Compatibility: RFC 7483 | ||||
* Contact Information: helpdesk@apnic.net | ||||
12. Security Considerations | 11. Security Considerations | |||
This specification models information serialized in JSON format. As | This specification models information serialized in JSON format. As | |||
JSON is a subset of JavaScript, implementations are advised to follow | JSON is a subset of JavaScript, implementations are advised to follow | |||
the security considerations outlined in Section 12 of [RFC8259] to | the security considerations outlined in Section 12 of [RFC8259] to | |||
prevent code injection. | prevent code injection. | |||
Though not specific to JSON, RDAP implementers should be aware of the | Though not specific to JSON, RDAP implementers should be aware of the | |||
security considerations specified in [RFC7480] and the security | security considerations specified in [RFC7480] and the security | |||
requirements and considerations in [RFC7481]. | requirements and considerations in [RFC7481]. | |||
skipping to change at page 69, line 23 ¶ | skipping to change at line 2893 ¶ | |||
expected to be trusted without additional information. In | expected to be trusted without additional information. In | |||
particular, the HTTPS channel protecting the RDAP connection is not | particular, the HTTPS channel protecting the RDAP connection is not | |||
expected to be authorized to certify the validity of the DNSSEC keys. | expected to be authorized to certify the validity of the DNSSEC keys. | |||
Clients caching data, especially clients using RDAP-specific caches | Clients caching data, especially clients using RDAP-specific caches | |||
(instead of HTTP-layer caches), should have safeguards to prevent | (instead of HTTP-layer caches), should have safeguards to prevent | |||
cache poisoning. See Section 5 for advice on using the self links | cache poisoning. See Section 5 for advice on using the self links | |||
for caching. | for caching. | |||
Finally, service operators should be aware of the privacy mechanisms | Finally, service operators should be aware of the privacy mechanisms | |||
noted in Section 14. | noted in Section 13. | |||
13. Internationalization Considerations | 12. Internationalization Considerations | |||
13.1. Character Encoding | 12.1. Character Encoding | |||
The default text encoding for JSON responses in RDAP is UTF-8 | The default text encoding for JSON responses in RDAP is UTF-8 | |||
[RFC3629], and all servers and clients MUST support UTF-8. | [RFC3629], and all servers and clients MUST support UTF-8. | |||
13.2. URIs and IRIs | 12.2. URIs and IRIs | |||
[RFC7480] defines the use of URIs and IRIs in RDAP. | [RFC7480] defines the use of URIs and IRIs in RDAP. | |||
13.3. Language Tags | 12.3. Language Tags | |||
Section 4.4 defines the use of language tags in the JSON responses | Section 4.4 defines the use of language tags in the JSON responses | |||
defined in this document. | defined in this document. | |||
13.4. Internationalized Domain Names | 12.4. Internationalized Domain Names | |||
IDNs are denoted in this specification by the separation of DNS names | IDNs are denoted in this specification by the separation of DNS names | |||
in LDH form and Unicode form (see Section 3). Representation of IDNs | in LDH form and Unicode form (see Section 3). Representation of IDNs | |||
in registries is described by the "variants" object in Section 5.3 | in registries is described by the "variants" object in Section 5.3 | |||
and the suggested values listed in Section 10.2.5. | and the suggested values listed in Section 10.2.5. | |||
14. Privacy Considerations | 13. Privacy Considerations | |||
This specification suggests status values to denote contact and | This specification suggests status values to denote contact and | |||
registrant information that has been marked as private and/or has | registrant information that has been marked as private and/or has | |||
been removed or obscured. See Section 10.2.2 for the complete list | been removed or obscured. See Section 10.2.2 for the complete list | |||
of status values. A few of the status values indicate that there are | of status values. A few of the status values indicate that there are | |||
privacy concerns associated with the object instance. The following | privacy concerns associated with the object instance. The following | |||
status codes SHOULD be used to describe data elements of a response | status codes SHOULD be used to describe data elements of a response | |||
when appropriate: | when appropriate: | |||
private -- The object is not be shared in query responses, unless | * private -- The object is not be shared in query responses, unless | |||
the user is authorized to view this information. | the user is authorized to view this information. | |||
removed -- Data elements within the object have been collected but | * removed -- Data elements within the object have been collected but | |||
have been omitted from the response. This option can be used to | have been omitted from the response. This option can be used to | |||
prevent unauthorized access to associated object instances without | prevent unauthorized access to associated object instances without | |||
the need to mark them as private. | the need to mark them as private. | |||
obscured -- Data elements within the object have been collected, | * obscured -- Data elements within the object have been collected, | |||
but the response value has been altered so that values are not | but the response value has been altered so that values are not | |||
easily discernible. A value changed from "1212" to "XXXX" is an | easily discernible. A value changed from "1212" to "XXXX" is an | |||
example of obscured data. This option may reveal privacy | example of obscured data. This option may reveal privacy | |||
sensitive information and should only be used when data | sensitive information and should only be used when data | |||
sensitivity does not require a more protective option like | sensitivity does not require a more protective option like | |||
"private" or "removed". | "private" or "removed". | |||
See Appendix A.1 for an example of applying those values to contacts | See Appendix A.1 for an example of applying those values to contacts | |||
and registrants. | and registrants. | |||
15. References | 14. References | |||
15.1. Normative References | ||||
[I-D.ietf-regext-rfc7482bis] | 14.1. Normative References | |||
Hollenbeck, S. and A. Newton, "Registration Data Access | ||||
Protocol (RDAP) Query Format", Work in Progress, Internet- | ||||
Draft, draft-ietf-regext-rfc7482bis-02, 8 September 2020, | ||||
<http://www.ietf.org/internet-drafts/draft-ietf-regext- | ||||
rfc7482bis-02.txt>. | ||||
[ISO.3166.1988] | [ISO.3166.2020] | |||
International Organization for Standardization, "Codes for | International Organization for Standardization, "Codes for | |||
the representation of names of countries, 3rd edition", | the representation of names of countries and their | |||
ISO Standard 3166, August 1988. | subdivisions", Fourth edition, ISO Standard 3166, August | |||
2020. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: | [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: | |||
Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, | Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, | |||
<https://www.rfc-editor.org/info/rfc3339>. | <https://www.rfc-editor.org/info/rfc3339>. | |||
skipping to change at page 72, line 6 ¶ | skipping to change at line 3004 ¶ | |||
[RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 | [RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 | |||
Address Text Representation", RFC 5952, | Address Text Representation", RFC 5952, | |||
DOI 10.17487/RFC5952, August 2010, | DOI 10.17487/RFC5952, August 2010, | |||
<https://www.rfc-editor.org/info/rfc5952>. | <https://www.rfc-editor.org/info/rfc5952>. | |||
[RFC7095] Kewisch, P., "jCard: The JSON Format for vCard", RFC 7095, | [RFC7095] Kewisch, P., "jCard: The JSON Format for vCard", RFC 7095, | |||
DOI 10.17487/RFC7095, January 2014, | DOI 10.17487/RFC7095, January 2014, | |||
<https://www.rfc-editor.org/info/rfc7095>. | <https://www.rfc-editor.org/info/rfc7095>. | |||
[RFC7480] Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the | [RFC7480] Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the | |||
Registration Data Access Protocol (RDAP)", RFC 7480, | Registration Data Access Protocol (RDAP)", STD 95, | |||
DOI 10.17487/RFC7480, March 2015, | RFC 7480, DOI 10.17487/RFC7480, March 2015, | |||
<https://www.rfc-editor.org/info/rfc7480>. | <https://www.rfc-editor.org/info/rfc7480>. | |||
[RFC7481] Hollenbeck, S. and N. Kong, "Security Services for the | [RFC7481] Hollenbeck, S. and N. Kong, "Security Services for the | |||
Registration Data Access Protocol (RDAP)", RFC 7481, | Registration Data Access Protocol (RDAP)", STD 95, | |||
DOI 10.17487/RFC7481, March 2015, | RFC 7481, DOI 10.17487/RFC7481, March 2015, | |||
<https://www.rfc-editor.org/info/rfc7481>. | <https://www.rfc-editor.org/info/rfc7481>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data | [RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data | |||
Interchange Format", STD 90, RFC 8259, | Interchange Format", STD 90, RFC 8259, | |||
DOI 10.17487/RFC8259, December 2017, | DOI 10.17487/RFC8259, December 2017, | |||
<https://www.rfc-editor.org/info/rfc8259>. | <https://www.rfc-editor.org/info/rfc8259>. | |||
[RFC8288] Nottingham, M., "Web Linking", RFC 8288, | [RFC8288] Nottingham, M., "Web Linking", RFC 8288, | |||
DOI 10.17487/RFC8288, October 2017, | DOI 10.17487/RFC8288, October 2017, | |||
<https://www.rfc-editor.org/info/rfc8288>. | <https://www.rfc-editor.org/info/rfc8288>. | |||
15.2. Informative References | [RFC9082] Hollenbeck, S. and A. Newton, "Registration Data Access | |||
Protocol (RDAP) Query Format", STD 95, RFC 9082, | ||||
DOI 10.17487/RFC9082, June 2021, | ||||
<https://www.rfc-editor.org/info/rfc9082>. | ||||
14.2. Informative References | ||||
[IANA_IDNTABLES] | [IANA_IDNTABLES] | |||
IANA, "Repository of IDN Practices", | IANA, "Repository of IDN Practices", | |||
<https://www.iana.org/domains/idn-tables>. | <https://www.iana.org/domains/idn-tables>. | |||
[JSON_ascendancy] | [JSON_ascendancy] | |||
MacVittie, L., "The Stealthy Ascendancy of JSON", April | MacVittie, L., "The Stealthy Ascendancy of JSON", April | |||
2011, <https://devcentral.f5.com/s/articles/the-stealthy- | 2011, <https://devcentral.f5.com/s/articles/the-stealthy- | |||
ascendancy-of-json>. | ascendancy-of-json>. | |||
skipping to change at page 73, line 24 ¶ | skipping to change at line 3076 ¶ | |||
[RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, | [RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, | |||
DOI 10.17487/RFC6350, August 2011, | DOI 10.17487/RFC6350, August 2011, | |||
<https://www.rfc-editor.org/info/rfc6350>. | <https://www.rfc-editor.org/info/rfc6350>. | |||
[RFC6839] Hansen, T. and A. Melnikov, "Additional Media Type | [RFC6839] Hansen, T. and A. Melnikov, "Additional Media Type | |||
Structured Syntax Suffixes", RFC 6839, | Structured Syntax Suffixes", RFC 6839, | |||
DOI 10.17487/RFC6839, January 2013, | DOI 10.17487/RFC6839, January 2013, | |||
<https://www.rfc-editor.org/info/rfc6839>. | <https://www.rfc-editor.org/info/rfc6839>. | |||
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | ||||
Code: The Implementation Status Section", BCP 205, | ||||
RFC 7942, DOI 10.17487/RFC7942, July 2016, | ||||
<https://www.rfc-editor.org/info/rfc7942>. | ||||
Appendix A. Suggested Data Modeling with the Entity Object Class | Appendix A. Suggested Data Modeling with the Entity Object Class | |||
A.1. Registrants and Contacts | A.1. Registrants and Contacts | |||
This document does not provide specific object classes for | This document does not provide specific object classes for | |||
registrants and contacts. Instead, the entity object class may be | registrants and contacts. Instead, the entity object class may be | |||
used to represent a registrant or contact. When the entity object is | used to represent a registrant or contact. When the entity object is | |||
embedded inside a containing object such as a domain name or IP | embedded inside a containing object such as a domain name or IP | |||
network, the "roles" string array can be used to signify the | network, the "roles" string array can be used to signify the | |||
relationship. It is recommended that the values from Section 10.2.4 | relationship. It is recommended that the values from Section 10.2.4 | |||
skipping to change at page 83, line 16 ¶ | skipping to change at line 3531 ¶ | |||
not a universal constant in that industry. And finally, EPP's use of | not a universal constant in that industry. And finally, EPP's use of | |||
XML predates the specification of JSON. If EPP had been defined | XML predates the specification of JSON. If EPP had been defined | |||
today, it may very well have used JSON instead of XML. | today, it may very well have used JSON instead of XML. | |||
Beyond the specific DNR and RIR communities, the trend in the broader | Beyond the specific DNR and RIR communities, the trend in the broader | |||
Internet industry is also switching to JSON over XML, especially in | Internet industry is also switching to JSON over XML, especially in | |||
the area of RESTful web services (see [JSON_ascendancy]). Studies | the area of RESTful web services (see [JSON_ascendancy]). Studies | |||
have also found that JSON is generally less bulky and consequently | have also found that JSON is generally less bulky and consequently | |||
faster to parse (see [JSON_performance_study]). | faster to parse (see [JSON_performance_study]). | |||
Acknowledgments | Appendix F. Changes from RFC 7483 | |||
This document is derived from original work on RIR responses in JSON | ||||
by Byron J. Ellacott, Arturo L. Servin, Kaveh Ranjbar, and Andrew | ||||
L. Newton. Additionally, this document incorporates work on DNR | ||||
responses in JSON by Ning Kong, Linlin Zhou, Jiagui Xie, and Sean | ||||
Shen. | ||||
The components of the DNR object classes are derived from a | ||||
categorization of WHOIS response formats created by Ning Kong, Linlin | ||||
Zhou, Guangqing Deng, Steve Sheng, Francisco Arias, Ray Bellis, and | ||||
Frederico Neves. | ||||
Tom Harrison, Murray Kucherawy, Ed Lewis, Audric Schiltknecht, Naoki | ||||
Kambe, Maarten Bosteels, Mario Loffredo, and Jasdip Singh contributed | ||||
significant review comments and provided clarifying text. James | ||||
Mitchell provided text regarding the processing of unknown JSON | ||||
attributes and identified issues leading to the remodeling of events. | ||||
Ernie Dainow and Francisco Obispo provided concrete suggestions that | ||||
led to a better variant model for domain names. | ||||
Ernie Dainow provided the background information on the secure DNS | ||||
attributes and objects for domains, informative text on DNSSEC, and | ||||
many other attributes that appear throughout the object classes of | ||||
this document. | ||||
The switch to and incorporation of jCard was performed by Simon | * Addressed known errata. | |||
Perreault. | ||||
Olaf Kolkman and Murray Kucherawy chaired the IETF's WEIRDS working | * Updated references to 7482 to RFC 9082. Adjusted case of "xxxx" | |||
group from which this document was originally created. James Galvin | used in examples where "XXXX" was previously used, and removed an | |||
and Antoin Verschuren chaired the REGEXT working group that worked on | "X" from "XXXXX". Changed IPv6 address example using "C00" to | |||
the -bis version. | "c00". Added "a string representing" to the definitions of | |||
startAddress and endAddress. Removed "entity" from "Autonomous | ||||
System Number Entity Object Class". Added "an unsigned 32-bit | ||||
integer" to the definition of startAutnum and endAutnum. Added "a | ||||
string representing" to the definition of name in the IP network | ||||
and ASN object classes. Clarified rdapConformance identifier | ||||
registration expectations in Section 4.1. Changed | ||||
"lunarNic_level_0" to "lunarNIC_level_0". | ||||
Changes from RFC 7483 | * Clarified that the "value", "rel" and "href" JSON values MUST be | |||
specified in the "links" array. | ||||
00: Initial version ported from RFC 7483. Addressed known errata. | * Clarified that the "description" array is required in the Notices | |||
and Remarks data structures and other values are OPTIONAL. | ||||
Added Implementation Status section. | * Noted that all members of the "events" and "Public IDs" arrays are | |||
REQUIRED. | ||||
01: Updated references to 7482 to 7482bis Internet-Draft. Updated | * Fix "self" link values in examples. Changed "http" to "https" | |||
"Change Log" to "Changes from RFC 7483". Added APNIC | ||||
implementation status. Adjusted case of "xxxx" used in examples | ||||
where "XXXX" was previously used, and removed an "X" from "XXXXX". | ||||
Changed IPv6 address example using "C00" to "c00". Added "a | ||||
string representing" to the definitions of startAddress and | ||||
endAddress. Removed "entity" from "Autonomous System Number | ||||
Entity Object Class". Added "an unsigned 32-bit integer" to the | ||||
definition of startAutnum and endAutnum. Added "a string | ||||
representing" to the definition of name in the IP network and ASN | ||||
object classes. Clarified rdapConformance identifier registration | ||||
expectations in Section 4.1. Changed "lunarNic_level_0" to | ||||
"lunarNIC_level_0". Clarified that the "value", "rel" and "href" | ||||
JSON values MUST be specified in the "links" array. Clarified | ||||
that the "description" array is required in the Notices and | ||||
Remarks data structures and other values are OPTIONAL. Noted that | ||||
all members of the "events" and "Public IDs" arrays are REQUIRED. | ||||
Fix "self" link values in examples. Changed "http" to "https" | ||||
link values in examples. Noted that Figure 18 is an example of a | link values in examples. Noted that Figure 18 is an example of a | |||
nameserver object with all "appropriate" values given. In | nameserver object with all "appropriate" values given. In | |||
appendix C, quoted the word "label" in "label attribute". Added | Appendix C, quoted the word "label" in "label attribute". Added | |||
reference to "status" definition in the descriptions for IP | reference to "status" definition in the descriptions for IP | |||
networks and autnums. Fixed a 404 for the informative reference | networks and autnums. Fixed a 404 for the informative reference | |||
to "The Stealthy Ascendancy of JSON". Added "boolean" to the | to "The Stealthy Ascendancy of JSON". Added "boolean" to the | |||
definition of zoneSigned. Clarified REQUIRED and OPTIONAL members | definition of zoneSigned. | |||
of the "events" array. Changed "SHOULD not" to "SHOULD NOT" in | ||||
Section 5. Updated normative references (5226-8126, 5988-8288, | ||||
7159-8259). Changed examples using "ns1.xn--fo-5ja.example" to | ||||
split URLs to avoid long lines. | ||||
00: Initial working group version. Added acknowledgments. | * Clarified REQUIRED and OPTIONAL members of the "events" array. | |||
01: Changed "The "lang" attribute may appear anywhere in an object | * Changed "SHOULD not" to "SHOULD NOT" in Section 5. | |||
* Updated normative references (RFC 5226 to RFC 8126, RFC 5988 to | ||||
RFC 8288, RFC 7159 to RFC 8259). Changed examples using "ns1.xn-- | ||||
fo-5ja.example" to split URLs to avoid long lines. | ||||
* Added acknowledgments. | ||||
* Changed "The "lang" attribute may appear anywhere in an object | ||||
class or data structure except for in jCard objects" to "The | class or data structure except for in jCard objects" to "The | |||
"lang" attribute as defined in this section MAY appear anywhere in | "lang" attribute as defined in this section MAY appear anywhere in | |||
an object class or data structure, except for in jCard objects. | an object class or data structure, except for in jCard objects. | |||
jCard supports similar functionality by way of the LANGUAGE | jCard supports similar functionality by way of the LANGUAGE | |||
property parameter (see Section 5.1 of RFC 6350 [RFC6350]". | property parameter (see Section 5.1 of RFC 6350 [RFC6350]". | |||
Changed "simple data types conveyed in JSON strings" to "simple | ||||
* Changed "simple data types conveyed in JSON strings" to "simple | ||||
data types conveyed in JSON primitive types (strings, numbers, | data types conveyed in JSON primitive types (strings, numbers, | |||
booleans, and null)". Changed "In other words, servers are free | booleans, and null)". Changed "In other words, servers are free | |||
to not include JSON members containing registration data based on | to not include JSON members containing registration data based on | |||
their own policies" to "In other words, servers are free to omit | their own policies" to "In other words, servers are free to omit | |||
unrequired/optional JSON members containing registration data | unrequired/optional JSON members containing registration data | |||
based on their own policies". Changed "This data structure | based on their own policies". | |||
appears only in the topmost JSON object of a response" to "This | ||||
data structure MUST appear in the topmost JSON object of a | * Changed "This data structure appears only in the topmost JSON | |||
response". Changed "Some non-answer responses may return entity | object of a response" to "This data structure MUST appear in the | |||
bodies with information that could be more descriptive" to "Some | topmost JSON object of a response". | |||
non-answer responses MAY return entity bodies with information | ||||
that could be more descriptive". Changed "The basic structure of | * Changed "Some non-answer responses may return entity bodies with | |||
that response is an object class containing an error code number | information that could be more descriptive" to "Some non-answer | |||
(corresponding to the HTTP response code) followed by a string | responses MAY return entity bodies with information that could be | |||
named "title" and an array of strings named "description"" to "The | more descriptive". | |||
basic structure of that response is an object class containing a | ||||
REQUIRED error code number (corresponding to the HTTP response | * Changed "The basic structure of that response is an object class | |||
code) followed by an OPTIONAL string named "title" and an OPTIONAL | containing an error code number (corresponding to the HTTP | |||
array of strings named "description"". Changed the "Autonomous | response code) followed by a string named "title" and an array of | |||
System Number Object Class" section title to "The Autonomous | strings named "description"" to "The basic structure of that | |||
System Number Object Class" for consistency with other section | response is an object class containing a REQUIRED error code | |||
titles. Removed trailing periods in the "Terminology and | number (corresponding to the HTTP response code) followed by an | |||
Definitions" section for consistency. Changed instances of | OPTIONAL string named "title" and an OPTIONAL array of strings | |||
"lunarNic" to "lunarNIC" for consistency. Removed an extraneous | named "description"". | |||
trailing period after the eventDate description. Changed a "." to | ||||
";" in the description of the "network" member of the domain | * Changed the "Autonomous System Number Object Class" section title | |||
object class. Changed "The high-level structure of the autnum | to "The Autonomous System Number Object Class" for consistency | |||
object class consists of information about the network | with other section titles. Removed trailing periods in the | |||
"Terminology and Definitions" section for consistency. Changed | ||||
instances of "lunarNic" to "lunarNIC" for consistency. Removed an | ||||
extraneous trailing period after the eventDate description. | ||||
Changed a "." to ";" in the description of the "network" member of | ||||
the domain object class. Changed "The high-level structure of the | ||||
autnum object class consists of information about the network | ||||
registration" to "The high-level structure of the autnum object | registration" to "The high-level structure of the autnum object | |||
class consists of information about the autonomous system number | class consists of information about the Autonomous System number | |||
registration". Changed "registry unique" to "registry-unique". | registration". Changed "registry unique" to "registry-unique". | |||
02: Changed "registrant" to "registrar" in the description of the | * Changed "registrant" to "registrar" in the description of the | |||
"transfer" event action to address erratum 6158. Added IANA | "transfer" event action to address erratum 6158. Added IANA | |||
instructions to correct the description of the value in the | instructions to correct the description of the value in the | |||
registry. Added text to Section 4.2 to note that "self" and | registry. | |||
"related" "href" URIs MUST NOT be the same. Added text to | ||||
Section 4.2 to describe return of IDNs in LDH name format. | ||||
03: Added text to note that the "fn" member of a contact object MAY | * Added text to Section 4.2 to note that "self" and "related" "href" | |||
be empty in Section 3. | URIs MUST NOT be the same. | |||
04: Added text to clarify rdapConformance requirements in | * Added text to Section 4.2 to describe return of IDNs in LDH name | |||
Section 4.1. | format. | |||
05: Added "obsoletes 7483" to the headers, Abstract, and | * Added text to note that the "fn" member of a contact object MAY be | |||
Introduction. Updated BCP14 template. Updated IANA | empty in Section 3. | |||
Considerations to note that this new RFC (a product of the REGEXT | ||||
working group) replaces 7483. Changed "simple string" to "simple | * Added text to clarify rdapConformance requirements in Section 4.1. | |||
character string" in Sections 3 and 4.7. Clarified requirement | ||||
for the "fn" member in Section 3. Modified the requirement for | * Added "obsoletes 7483" to the headers, Abstract, and Introduction. | |||
rdapConformance placement in Section 4.1. Changed "jCard" to | Updated BCP 14 boilerplate. Updated IANA Considerations to note | |||
"vCard" LANGUAGE property reference in Section 4.4. Changed "no | that this RFC (a product of the REGEXT Working Group) replaces RFC | |||
use" to "little or no use" in Section 5.1. Added example line | 7483. Changed "simple string" to "simple character string" in | |||
wrap note in Section 5.2. Modified the definition of "idnTable" | Sections 3 and 4.7. Clarified requirement for the "fn" member in | |||
in Section 5.3. Modified the dsData and keyData examples in | Section 3. Modified the requirement for rdapConformance placement | |||
Section 5.3. Changed "2001:c00::/23" to "2001:db8::/32" in | in Section 4.1. Changed "jCard" to "vCard" LANGUAGE property | |||
Section 5.4. Expanded the definition of "type" in Sections 5.4 | reference in Section 4.4. Changed "no use" to "little or no use" | |||
and 5.5. Modified example autnums in Section 5.5. Added text to | in Section 5.1. Added example line wrap note in Section 5.2. | |||
the Security Considerations section to note that DNSSEC | Modified the definition of "idnTable" in Section 5.3. Modified | |||
information returned in a response can not be trusted directly. | the dsData and keyData examples in Section 5.3. Changed | |||
"2001:c00::/23" to "2001:db8::/32" in Section 5.4. Expanded the | ||||
definition of "type" in Sections 5.4 and 5.5. Modified example | ||||
autnums in Section 5.5. Added text to the Security Considerations | ||||
section to note that DNSSEC information returned in a response | ||||
cannot be trusted directly. | ||||
Acknowledgments | ||||
This document is derived from original work on RIR responses in JSON | ||||
by Byron J. Ellacott, Arturo L. Servin, Kaveh Ranjbar, and Andrew L. | ||||
Newton. Additionally, this document incorporates work on DNR | ||||
responses in JSON by Ning Kong, Linlin Zhou, Jiagui Xie, and Sean | ||||
Shen. | ||||
The components of the DNR object classes are derived from a | ||||
categorization of WHOIS response formats created by Ning Kong, Linlin | ||||
Zhou, Guangqing Deng, Steve Sheng, Francisco Arias, Ray Bellis, and | ||||
Frederico Neves. | ||||
Tom Harrison, Murray Kucherawy, Ed Lewis, Audric Schiltknecht, Naoki | ||||
Kambe, Maarten Bosteels, Mario Loffredo, and Jasdip Singh contributed | ||||
significant review comments and provided clarifying text. James | ||||
Mitchell provided text regarding the processing of unknown JSON | ||||
attributes and identified issues leading to the remodeling of events. | ||||
Ernie Dainow and Francisco Obispo provided concrete suggestions that | ||||
led to a better variant model for domain names. | ||||
Ernie Dainow provided the background information on the secure DNS | ||||
attributes and objects for domains, informative text on DNSSEC, and | ||||
many other attributes that appear throughout the object classes of | ||||
this document. | ||||
The switch to and incorporation of jCard was performed by Simon | ||||
Perreault. | ||||
Olaf Kolkman and Murray Kucherawy chaired the IETF's WEIRDS Working | ||||
Group from which this document was originally created. James Galvin | ||||
and Antoin Verschuren chaired the REGEXT Working Group that worked on | ||||
this document. | ||||
Authors' Addresses | Authors' Addresses | |||
Scott Hollenbeck | Scott Hollenbeck | |||
Verisign Labs | Verisign Labs | |||
12061 Bluemont Way | 12061 Bluemont Way | |||
Reston, VA 20190 | Reston, VA 20190 | |||
United States | United States of America | |||
Email: shollenbeck@verisign.com | Email: shollenbeck@verisign.com | |||
URI: https://www.verisignlabs.com/ | URI: https://www.verisignlabs.com/ | |||
Andy Newton | Andy Newton | |||
Amazon Web Services, Inc. | Amazon Web Services, Inc. | |||
13200 Woodland Park Road | 13200 Woodland Park Road | |||
Herndon, VA 20171 | Herndon, VA 20171 | |||
United States of America | United States of America | |||
End of changes. 160 change blocks. | ||||
864 lines changed or deleted | 567 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |