RFC 3632

VeriSign Registry Registrar Protocol (RRP) Version 2.0.0

πŸ“… published December 2003, from ietf

VeriSign Registry Registrar Protocol (RRP) Version 2.0.0 πŸ’–

okay so this is RFC 3632 πŸŽ€ It came out of the Network Working Group in November 2003. It's Informational, so it's just info for the Internet community, not a standard πŸ¦‹ The authors are Scott Hollenbeck, Srikanth Veeramachaneni, and Suresh Yalamanchilli, all from VeriSign, Inc. πŸ’… It updates RFC 2832, and it doesn't list anything it obsoletes. So basically this is a patch on top of the NSI RRP 1.1.0 spec 🧚


Status of this Memo πŸ“œ

this memo is giving "info only" energy ✨ It provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited 🌸

Copyright (C) The Internet Society (2003). All Rights Reserved. 🫢

Abstract πŸ”₯

so this doc updates version 1.1.0 of the Network Solutions Inc. (NSI) Registry Registrar Protocol (RRP), which is specified in RFC 2832. The changes in here, combined with the base spec from RFC 2832, are what make up version 2.0.0 of the VeriSign Registry Registrar Protocol. Two sides of the same glow-up πŸ’œ

Table of Contents πŸ“š

1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
2.  Protocol Updates . . . . . . . . . . . . . . . . . . . . . . .  2
    2.1.  Response Codes . . . . . . . . . . . . . . . . . . . . .  2
    2.2.  TRANSFER Command Update  . . . . . . . . . . . . . . . .  3
    2.3.  IPv6 Name Server Addresses . . . . . . . . . . . . . . .  4
3.  Internationalization Considerations  . . . . . . . . . . . . .  6
4.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  6
5.  Security Considerations  . . . . . . . . . . . . . . . . . . .  6
6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  6
7.  Normative References . . . . . . . . . . . . . . . . . . . . .  6
8.  Authors' Addresses . . . . . . . . . . . . . . . . . . . . . .  7
9.  Full Copyright Statement . . . . . . . . . . . . . . . . . . .  8

1. Introduction 🌈

okay bestie, so the Network Solutions, Inc. (NSI) Registry Registrar Protocol (RRP) was built by NSI back in 1998 and 1999. Its whole job was letting multiple registrars offer second level Internet domain name registration in the top level domains (TLDs) that the NSI TLD registry runs ✨ Version 1.1.0 of the NSI RRP got published as Informational RFC 2832 [2] in May 2000. This document is the changelog that turns it into version 2.0.0 πŸ’…

Conventions Used In This Document πŸ“

here's the deal with the wording πŸŽ€ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [1].

in the examples, "C:" means lines sent by a protocol client, and "S:" means lines sent back by a protocol server 🫢

2. Protocol Updates πŸ”₯

this spec makes a few changes to RFC 2832 [2] πŸ’– Two new response codes got added. Domain TRANSFER command processing got an update so a client can cancel a requested domain transfer. And IPv6 name server addresses are now supported. iconic glow-up πŸ‘‘

2.1. Response Codes ✨

Section 5.1 of RFC 2832 [2] got updated with two extra error response codes 🧚

510 Invalid encoding 🌸

so this one happens when the value of a domain name or name server entity has invalid ASCII compatible encoding, which is what gets used to represent an internationalized domain or host name. The encoding gets checked and verified in two situations: when you're registering an internationalized domain name or name server name, and when you're changing the name of a name server and the new name is internationalized πŸ™ˆ

Section 5.2 of RFC 2832 [2] got updated so response code 510 can come back as a possible error from the ADD command πŸ’…

Command: ADD
Success: 200, 220
Failure: 420, 421, 500, 502, 503, 504, 505, 507, 508, 510, 520, 531,
535, 540, 541, 545, 546, 547, 549, 550, 554

557 Name server locked πŸ”’

this one's about trying to modify or delete a name server that's hosting a TLD in the root zone. Changes to the root zone can only happen with approval from the U.S. Department of Commerce and IANA. So if a registrar absolutely needs to modify or delete a name server like that, the action has to be coordinated through the registry operator over an out-of-band communications channel 😭

Section 5.2 of RFC 2832 [2] got updated so response code 557 can come back as a possible error from the DEL and MOD commands πŸ“

Command: DEL
Success: 200, 220
Failure: 420, 421, 500, 502, 503, 504, 505, 507, 508, 520, 531, 532,
533, 541, 544, 545, 547, 549, 551, 552, 553, 557
Command: MOD
Success: 200, 220
Failure: 420, 421, 500, 502, 503, 504, 505, 507, 508, 510, 520, 531,
535, 540, 541, 542, 543, 544, 545, 547, 549, 550, 551, 552, 553, 557

2.2. TRANSFER Command Update πŸ¦‹

Section 4.3.10 of RFC 2832 [2] got an extra TRANSFER command processing option πŸ’œ Here's the old wording first, then the new wording πŸ‘€

Old text:

Authorized User: All registrars MAY use the TRANSFER command to
request the transfer of registration service authority to the
requesting registrar.  Only the current sponsoring registrar of a
domain name may explicitly approve or reject a requested transfer.
The registry MAY implicitly approve or reject requested transfers
after a fixed amount of time.

New text:

Authorized User: All registrars MAY use the TRANSFER command to
request transfer of registration service authority to the requesting
registrar.  Only the current sponsoring registrar of a domain name
may explicitly approve a requested transfer.  The current sponsoring
registrar MAY explicitly reject a requested transfer.  The registry
MAY implicitly approve or reject requested transfers after a fixed
amount of time.  The requesting registrar MAY cancel a pending
request, but the request to cancel the transfer MUST be sent before
it has been explicitly approved or rejected by the current sponsoring
registrar or it has been implicitly approved or rejected by the
registry.

Example time πŸŽ€ A registrar cancels a domain transfer it asked for earlier:

C:transfer<crlf>
C:-Approve:No<crlf>
C:EntityName:Domain<crlf>
C:DomainName:example.com<crlf>
C:.<crlf>
S:200 Command completed successfully<crlf>
S:.<crlf>

2.3. IPv6 Name Server Addresses 🌸

Section 7 of RFC 2832 [2] got updated so name servers can use IPv6 addresses 🧚 The IPv6 addressing architecture is described in RFC 3513 [3]. This ABNF [4] grammar adds on to the grammar defined in RFC 2832, so you'll want both open at once πŸ’–

; Lexical Tokens

hexdigit = digit / %X41-46 / %x61-66   ; 0-9 / A-F / a-f

doubleoctet = 1*4hexdigit

docolon = doubleoctet colon

colondo = colon doubleoctet

ip-address =  ip-address-v4 / ip-address-v6

; ipv4 addresses
ip-address-v4 = 1*3digit dot 1*3digit dot 1*3digit dot 1*3digit
ip-address-v6 =  ip-address-v6-standard / ip-address-v6-compressed
; Standard form of IPv6 addresses
; 8 hexdigit strings of length 1-4 separated by colons
;
; Eg: 10AA:0:0:00:8:800:200C:417A

ip-address-v6-standard = doubleoctet 7colondo

; Compressed form of IPv6 addresses
; Runs of zero-value octets are represented by '::'
;
; Examples:
;       ::                        ==> 0:0:0:0:0:0:0:0
;
;       1::                       ==> 1:0:0:0:0:0:0:0
;       2:2::                     ==> 2:2:0:0:0:0:0:0
;       7:7:7:7:7:7:7::           ==> 7:7:7:7:7:7:7:0
;
;       ::1                       ==> 0:0:0:0:0:0:0:1
;       ::2:2                     ==> 0:0:0:0:0:0:2:2
;       ::7:7:7:7:7:7:7           ==> 0:7:7:7:7:7:7:7
;
;       E::1                      ==> E:0:0:0:0:0:0:1
;       E::2:2                    ==> E:0:0:0:0:0:2:2
;       E::6:6:6:6:6:6            ==> E:0:6:6:6:6:6:6
;
;       E:E::1                    ==> E:E:0:0:0:0:0:1
;       E:E::2:2                  ==> E:E:0:0:0:0:2:2
;       E:E::5:5:5:5:5            ==> E:E:0:5:5:5:5:5
;
;       E:E:E::1                  ==> E:E:E:0:0:0:0:1
;       E:E:E::2:2                ==> E:E:E:0:0:0:2:2
;       E:E:E::4:4:4:4            ==> E:E:E:0:4:4:4:4
;
;       E:E:E:E::1                ==> E:E:E:E:0:0:0:1
;       E:E:E:E::2:2              ==> E:E:E:E:0:0:2:2
;       E:E:E:E::3:3:3            ==> E:E:E:E:0:3:3:3
;
;       E:E:E:E:E::1              ==> E:E:E:E:E:0:0:1
;       E:E:E:E:E::2:2            ==> E:E:E:E:E:0:2:2
;
;       E:E:E:E:E:E::1            ==> E:E:E:E:E:E:0:1

ip-address-v6-compressed =  colon colon
ip-address-v6-compressed =/ 1*7docolon colon
ip-address-v6-compressed =/ colon 1*7colondo
ip-address-v6-compressed =/ docolon 1*6colondo
ip-address-v6-compressed =/ 2docolon 1*5colondo
ip-address-v6-compressed =/ 3docolon 1*4colondo
ip-address-v6-compressed =/ 4docolon 1*3colondo
ip-address-v6-compressed =/ 5docolon 1*2colondo
ip-address-v6-compressed =/ 6docolon colondo

okay bestie, let's talk legal stuff πŸ’… The notice is literally Copyright (C) The Internet Society (2003). All Rights Reserved. πŸ¦‹

Anyone can copy and share this document, and translations too. You can also write derivative works that comment on it or explain it, or help people actually implement it 🫢 You can publish and distribute those, in whole or in part, with no restrictions at all. The one catch is that the copyright notice and this paragraph have to stay on every copy and every derivative work πŸŽ€

The document itself can't be modified in any way. You can't remove the copyright notice or the references to the Internet Society or other Internet organizations πŸ™…β€β™€οΈ The only exceptions are developing Internet standards, where you have to follow the copyright procedures in the Internet Standards process, and translating it into languages other than English 🌈

The permissions above are perpetual. The Internet Society and its successors or assignees will never take them back πŸ’œ

Last but not least, this document and everything in it is provided "AS IS" πŸ’€ THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Basically, no guarantees, no cap 😭

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society πŸ“πŸ«Ά

πŸ“¦ where this page comes from