idnits 2.17.00 (12 Aug 2021) /tmp/idnits17909/draft-gould-carney-regext-registry-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 22, 2018) is 1300 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '1' on line 3086 ** Downref: Normative reference to an Unknown state RFC: RFC 952 ** Downref: Normative reference to an Informational RFC: RFC 7451 Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Gould 3 Internet-Draft L. Jia 4 Intended status: Standards Track VeriSign, Inc. 5 Expires: April 25, 2019 R. Carney 6 J. Kolker 7 GoDaddy Inc. 8 October 22, 2018 10 Registry Mapping for the Extensible Provisioning Protocol (EPP) 11 draft-gould-carney-regext-registry-04 13 Abstract 15 This document describes an Extensible Provisioning Protocol (EPP) 16 mapping for provisioning registry zones (e.g. top-level domains) in a 17 Domain Name Registry. The attributes of a registry zone include the 18 features and policies of the registry zone. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on April 25, 2019. 37 Copyright Notice 39 Copyright (c) 2018 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 55 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 56 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 57 2.1. Zone Name . . . . . . . . . . . . . . . . . . . . . . . . 4 58 2.2. Dates and Times . . . . . . . . . . . . . . . . . . . . . 4 59 2.3. Schedule . . . . . . . . . . . . . . . . . . . . . . . . 4 60 2.4. Regular Expressions . . . . . . . . . . . . . . . . . . . 5 61 2.5. Zone Object . . . . . . . . . . . . . . . . . . . . . . . 6 62 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 27 63 3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 27 64 3.1.1. EPP Command . . . . . . . . . . . . . . . . . 27 65 3.1.2. EPP Command . . . . . . . . . . . . . . . . . 29 66 3.1.3. EPP Query Command . . . . . . . . . . . . 35 67 3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 35 68 3.2.1. EPP Command . . . . . . . . . . . . . . . . 36 69 3.2.2. EPP Command . . . . . . . . . . . . . . . . 37 70 3.2.3. EPP Command . . . . . . . . . . . . . . . . . 38 71 3.2.4. EPP Command . . . . . . . . . . . . . . . 38 72 3.2.5. EPP Command . . . . . . . . . . . . . . . . 39 73 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 40 74 4.1. Registry Mapping Schema . . . . . . . . . . . . . . . . . 40 75 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 64 76 5.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 64 77 5.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 64 78 6. Implementation Status . . . . . . . . . . . . . . . . . . . . 64 79 6.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 65 80 7. Security Considerations . . . . . . . . . . . . . . . . . . . 65 81 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 66 82 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 66 83 9.1. Normative References . . . . . . . . . . . . . . . . . . 66 84 9.2. Informative References . . . . . . . . . . . . . . . . . 67 85 9.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 67 86 Appendix A. Change History . . . . . . . . . . . . . . . . . . . 67 87 A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 67 88 A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 68 89 A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 68 90 A.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 68 91 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 70 93 1. Introduction 95 This document describes an extension mapping for version 1.0 of the 96 Extensible Provisioning Protocol (EPP) [RFC5730]. This document 97 describes a Domain Name Registry Mapping, referred to as Registry 98 Mapping, for the Extensible Provisioning Protocol (EPP) [RFC5730]. A 99 Domain Name Registry can service one or more registry zones (e.g. 100 top-level domains) with a variety of supported services and policies. 101 A registry zone, also referred to as a "zone" in this document, is a 102 domain name that the Domain Name Registry supports provisioning 103 operations to manage. The registry zone and the associated DNS zone 104 has an overlapping data set, where the registry zone is the source 105 for the generation of a DNS zone. A registry zone is typically a 106 top-level domain name, but it can be a domain name at any domain name 107 level. A registry zone can be the source for multiple resolution 108 services like DNS and WHOIS. 110 This mapping enables the provisioning of the features and policies of 111 the registry zones in the Domain Name Registry. A Domain Name 112 Registry MAY support a subset of all of the commands defined in this 113 mapping and can authorize different clients to execute specific 114 commands. For example, all clients may be capable of executing the 115 EPP Query Commands (Section 3.1), while internal clients or pre- 116 defined external clients may be capable of executing the EPP 117 Transform Commands (Section 3.2) for a specific set of zones. It is 118 up to server policy what commands are supported and to define the 119 clients that are authorized to execute the commands for the registry 120 zones. The server MUST return a 2101 error response for an 121 unimplemented command and MUST return a 2201 error response for an 122 unauthorized command. The server policy can be defined out-of-band 123 or in a seperate EPP extension. 125 1.1. Conventions Used in This Document 127 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 128 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 129 document are to be interpreted as described in RFC 2119 [RFC2119]. 131 XML is case sensitive. Unless stated otherwise, XML specifications 132 and examples provided in this document MUST be interpreted in the 133 character case presented in order to develop a conforming 134 implementation. 136 In examples, "C:" represents lines sent by a protocol client and "S:" 137 represents lines returned by a protocol server. Indentation and 138 white space in examples are provided only to illustrate element 139 relationships and are not a REQUIRED feature of this protocol. 141 The XML namespace prefix "registry" is used for the namespace 142 "urn:ietf:params:xml:ns:epp:registry-0.2", but implementations MUST 143 NOT depend on it and instead employ a proper namespace-aware XML 144 parser and serializer to interpret and output the XML documents. 146 2. Object Attributes 148 An EPP registry object has attributes and associated values that may 149 be viewed and modified by the sponsoring client or the server. This 150 section describes each attribute type in detail. The formal syntax 151 for the attribute values described here can be found in the "Formal 152 Syntax" section of this document and in the appropriate normative 153 references. 155 2.1. Zone Name 157 The zone name is an element that includes an OPTIONAL "form" 158 attribute that defines the form of the zone name as either "aLabel" 159 or "uLabel", with the default value of "aLabel". The "aLabel" form 160 of a zone name contains all ASCII name labels that conform to 161 [RFC0952] and [RFC1123]. The "uLabel" form of a zone name that 162 includes one or more non-ASCII name labels that can be represented as 163 ASCII labels using [RFC5890]. 165 At the time of this writing, [RFC5890] describes a standard to use 166 certain ASCII name labels to represent non-ASCII name labels. These 167 conformance requirements might change in the future as a result of 168 progressing work in developing standards for internationalized names. 170 2.2. Dates and Times 172 Date and time attribute values MUST be represented in Universal 173 Coordinated Time (UTC) using the Gregorian calendar. The extended 174 date-time form using upper case "T" and "Z" characters defined in XML 175 Schema Part 2 [1] MUST be used to represent date-time values, as XML 176 Schema does not support truncated date-time forms or lower case "T" 177 and "Z" characters. 179 2.3. Schedule 181 A schedule is defined using the element, with the 182 required "frequency" attribute that defines the frequency of 183 execution. The "frequency" attribute has the possible values of 184 "daily", "weekly", and "monthy". The time zone is defined using the 185 XML schema "time" type conventions of UTC and offsets from UTC, or 186 using the OPTIONAL "tz" attribute that defines the named time zone. 187 For example, the named Eastern time zone can be specified using the 188 setting "tz=EST5EDT". 190 When the "frequency" attribute is set to "weekly", the "dayOfWeek" 191 attribute MUST be set with a value between 0 (Sunday) to 6 192 (Saturday), to define the day of week of execution. 194 When the "frequency" attribute is set to "monthy", the "dayOfMonth" 195 attribute MUST be set with a value between 1 and 31, to define the 196 day of month of execution. Execution will not occur in the current 197 month if the "dayOfMonth" value is out-of-range for the current month 198 (e.g, 29 - 31). 200 The following are examples of different element 201 definitions: 203 Example daily schedule at 2 PM in the Eastern time zone: 205 206 14:00:00 207 209 Example daily schedule at 5 PM EST (5 UTC offset): 211 212 07:00:00-05:00 213 215 Example weekly schedule at midnight UTC on Sunday: 217 218 00:00:00Z 219 221 Example monthly schedule at 5 PM UTC on the 15th of the month: 223 224 17:00:00Z 225 227 2.4. Regular Expressions 229 A regular expression element contains a child 230 element that defines the regular expression to apply with an OPTIONAL 231 child element that describes the regular 232 expression with an OPTIONAL "lang" attribute that defines the 233 language of the description, with a default value of "en" (English). 234 The element MUST conform to the Perl-compatible 235 Regular Expression (PCRE) [pcre] syntax. Programming languages 236 support different sets of PCRE features, so the server SHOULD define 237 a PCRE that leverages features that are supported by a broad set of 238 client programming languages. 240 2.5. Zone Object 242 The Zone object, represented by the element, is the 243 primary object managed by this mapping. The Zone object can apply to 244 any zone level (top level, second level, third level, etc.). The 245 element contains the following child elements: 247 : The zone name that can be at any level (top level, 248 second level, third level, etc.), as described in Section 2.1. 249 : An OPTIONAL server defined grouping of zones where 250 the zones belong to the same deployable unit. 251 : The OPTIONAL EPP namespace URIs of the objects 252 and object extensions supported by the server based on [RFC5730]. 253 The element contains the following child 254 elements: 256 : One or more elements that 257 contain namespace URIs representing the objects that the 258 server is capable of managing for the zone with the required 259 "required" attribute that defines whether the server requires 260 the use of object represented by the URI. 261 : An OPTIONAL element that contains one 262 or more elements that contain namespace 263 URIs representing object extensions support by the server for 264 the zone with the required "required" attribute that defines 265 whether the server requires the use of the object extension 266 represented by the URI. 267 : The OPTIONAL identifier of the client that created 268 the zone. 269 : The OPTIONAL date and time of zone object 270 creation. The element MUST be set if the zone 271 object has already been created. 272 : The OPTIONAL identifier of the client that last 273 updated the zone object. This element MUST NOT be present if the 274 zone has never been modified. 275 : The OPTIONAL date and time of the most recent 276 zone object modification. This element MUST NOT be present if 277 the domain object has never been modified. 278 : The OPTIONAL policy associated with 279 receipt of unsupported data sent by the client to the server. 280 The unsupported data may be an unsupported element or extension. 281 The server SHOULD be consistent in the handling of unsupported 282 data. The possible values for the 283 element include: 285 "fail": The server will fail the command that includes 286 unsupported data. 287 "ignore": The server will ignore the unsupported data and 288 execute the command. 289 : The OPTIONAL list of batch jobs. The 290 element contains the following child elements: 292 : One or more elements 293 containing the batch job information. The 294 element contains the following child 295 elements: 297 : Name of the batch job, like "autoRenew" or 298 "pendingDelete". 299 : OPTIONAL free-form description of 300 the batch job, like "Auto Renew Batch" or "Pending Delete 301 Batch". 302 : One or more 303 elements, as defined in Section 2.3, that specifies when 304 the batch job executes. 305 : The OPTIONAL list of zones that makeup the system 306 when the "perSystem" share policy is used for the internal hosts, 307 external hosts, or contacts. The list of zones are listed 308 independent of the client's privileges to provision domains in 309 the zone. The element contains the following 310 child elements: 312 : One or more elements, as 313 described in Section 2.1, containing the name of the zone 314 that is a member of the system. 315 : The domain name object policy information per 316 [RFC5731]. The element contains the following 317 child elements: 319 : One or more that 320 define the policies for a domain name label for a specific 321 level, defined with the "level" attribute, with a minimum 322 value of "2" for the second level domain name label level. 323 The element contains the following 324 child elements: 326 : An OPTIONAL minimum length of the 327 domain name label. 329 : An OPTIONAL maximum length of the 330 domain name label. 331 : An OPTIONAL flag indicating 332 whether the label must start with an alphanumeric 333 character, with a default of "false". 334 : An OPTIONAL flag indicating whether 335 the label must end with an alphanumeric character, with a 336 default value of "false". 337 : An OPTIONAL flag indicating 338 whether ASCII domain names are supported with a default 339 value of "true". 340 : An OPTIONAL flag indicating 341 whether non-ASCII domain names are supported with a 342 default value of "false". 343 : The OPTIONAL regular expression, as 344 defined in Section 2.4, used to validate the domain name 345 label. 346 : An OPTIONAL element that defines 347 the set of reserved domain names starting from that label 348 level. The reserved names can refer to values with more 349 than one level which is relative to the level of the 350 parent element. The 351 element contains the following 352 child elements: 354 : Zero or more 355 elements containing a 356 reserved domain name relative to the level of the 357 parent element. 358 : An OPTIONAL URI to an 359 externally defined list of reserved domain names 360 relative to the level of the parent 361 element. 362 : The OPTIONAL Internationalized Domain Name (IDN) 363 policy information. The element contains the 364 following child elements: 366 : The OPTIONAL server unique version of 367 the IDN language rules. 368 : An Internationalizing Domain Names 369 in Applications (IDNA) version supported by the server. 370 IDNA represents a collection of documents that describe 371 the protocol and usage for Internationalized Domain for 372 Applications like IDNA 2003, with value of 2003, or IDNA 373 2008, with value of 2008. 375 : The Unicode version supported by 376 the server like the value of "6.0" for Unicode 6.0. 377 : The OPTIONAL encoding for transforming 378 Unicode characters uniquely and reversibly into DNS 379 compatible characters, with a default value of 380 "Punycode". 381 : An OPTIONAL value that 382 indicates whether commingling of scripts is allowed, with 383 a default value of "false". 384 : Zero or more 385 elements that defines the supported language codes and 386 character code point policy. The required "code" 387 attribute defines the language code for the supported 388 language. The language code SHOULD be an ISO 639 (ISO 389 639-1 or ISO 639-2) value. The 390 element contains the following child elements: 392 : The OPTIONAL language table URI that 393 contains the set of code points for the language. 394 : An OPTIONAL strategy for the 395 handling of variants for the language. If no 396 element is specified then 397 variants are not supported by the language. The 398 possible values for the 399 element include: 401 "blocked": Variant registrations are blocked for all 402 clients. 403 "restricted": Variant registrations are allowed for 404 client of the original IDN registration. 405 "open": Variant registrations are open to all 406 clients. 407 : The OPTIONAL boolean value that 408 indicates whether the server supports premium domain names, 409 with a default value of "false". 410 : The OPTIONAL boolean value that 411 indicates whether contacts are supported, with a default 412 value of "true". 413 : Zero or more elements 414 that defines the minimum and maximum number of contacts by 415 contact type. The contact type is defined with the required 416 "type" attribute with the possible values of "admin", "tech", 417 and "billing", and "custom". The OPTIONAL "name" attribute 418 is an identifier, represented in the 7-bit US-ASCII character 419 set, that is used to define the name of the "custom" type. 420 If "custom" is the contact "type" value, then the "name" 421 attribute MUST be set. The OPTIONAL "description" attribute 422 can be set with a description of the contact type. The 423 element contains the following child 424 elements: 426 : The minimum number of contacts for the 427 contact type. 428 : The OPTIONAL maximum number of contacts for 429 the contact type. If the element is not 430 defined the maximum number is unbounded. The 431 element MUST NOT be less than the 432 element. 433 : Defines the minimum and maximum number of 434 delegated host objects (name servers) that can be associated 435 with a domain object. The element contains the 436 following child elements: 438 : The minimum number of name servers 439 associated with a domain object. 440 : The OPTIONAL maximum number of name servers 441 associated with a domain object. If the 442 element is not defined the maximum number is unbounded. 443 The element MUST NOT be less than the 444 element. 445 : Defines the OPTIONAL minimum and maximum 446 number of subordinate host objects (child hosts) for a domain 447 object. This element is only applicable when using the host 448 object model in [RFC5731]. The element 449 contains the following child elements: 451 : The minimum number of child hosts for a 452 domain object. 453 : The OPTIONAL maximum number of child hosts 454 for a domain object. If the element is 455 not defined the maximum number is unbounded. The 456 element MUST NOT be less than the 457 element. 458 : Zero or more elements that 459 defines the supported registration periods and default 460 periods by command type. The required "command" attribute 461 defines the command type with sample values of "create", 462 "renew", and "transfer". The element 463 contains one of the following elements: 465 : The default, minimum, and maximum period 466 length for the command type. The 467 element contains the following child elements, where all 468 of the child elements require the "unit" attribute with 469 possible values of "y" for year and "m" for month: 471 : The minimum supported period length. 472 : The maximum supported period length. 473 The element MUST NOT be less than the 474 element. 475 : The default period length if not 476 defined by the client. 477 or : The registration period is 478 decided by the server based on the relationship to a 479 related object that MUST have the same expiration date. 480 : Zero or more 481 elements that defines the action 482 taken by the server when executing commands that will result 483 in an expiration date that exceeds the maximum expiration 484 date. The required "command" attribute is used to define the 485 command with a renewal feature, such as "renew" or 486 "transfer". New commands can be defined that include a 487 renewal feature, such as "sync". The possible values for the 488 element include: 490 "fail": The server will fail the renewal command when the 491 expiration date exceeds the maximum expiration date. An 492 example is if the maximum expiration date is 10 years, 493 and a client renews a domain name to 10.5 years, the 494 server will fail the renew. 495 "clip": The server will clip the fractional period when the 496 expiration date exceeds the maximum expiration date by a 497 fraction of a period and will fail the renewal command 498 when the expiration date exceeds the maximum expiration 499 date by a whole period and above. An example is if the 500 maximum expiration date is 10 years, and the client 501 renews a domain to 10.5 years, the server will clip the 502 .5 fractional year so that the domain name will expire 503 exactly in 10 years. 504 "disableRenewal": The server will execute the command with 505 the renewal feature disabled when the expiration date 506 exceeds the maximum expiration date. This may be the 507 case for a command like "transfer" that includes a 508 renewal feature in [RFC5731]. 509 : The period of time a domain 510 object is in the pending transfer before the transfer is auto 511 approved by the server. The 512 element MUST have the "unit" attribute with the possible 513 values of "y" for year, "m" for month, and "d" for day. 514 : Zero or more 515 elements that defines the grace periods by operation type. 516 The required "command" attribute defines the operation type 517 with the sample values of "create", "renew", "transfer", and 518 "autoRenew". The element requires the 519 "unit" attribute with the possible values of "d" for day, "h" 520 for hour, and "m" for minute. 521 : The OPTIONAL Registry Grace Period (RGP) status 522 periods. The element contains the following 523 child elements, where each child element supports the "unit" 524 attribute with the possible values of "y" for year, "m" for 525 month, "d" for day, and "h" for hour: 527 : The length of time that a 528 domain object will remain in the redemptionPeriod status 529 unless the restore request command is received. 530 : The length of time that the 531 domain object will remain in the pendingRestore status 532 unless the restore report command is received. 533 : The length of time that the domain 534 object will remain in the pendingDelete status prior to 535 being purged. 536 : The OPTIONAL DNS Security Extensions (DNSSEC) 537 policies for the server. The element 538 contains the following child elements: 540 : Defines the DS Data Interface, 541 as defined in [RFC5910], policies. The 542 element contains the following 543 child elements: 545 : The minimum number of DS associated with 546 the domain object. 547 : The maximum number of DS associated with 548 the domain object. The element MUST 549 NOT be less than the element. 550 : Zero or more elements 551 that define the supported algorithms as described in 552 section 5.1.2 of [RFC4034]. 553 : Zero or more 554 elements that define the 555 supported digest types as described in section 5.1.3 556 of [RFC4034]. 557 : Defines the Key Data Interface, 558 as defined in [RFC5910], policies. The 559 element contains the 560 following child elements: 562 : The minimum number of keys associated 563 with the domain object. 564 : The maximum number of keys associated 565 with the domain object. The element 566 MUST NOT be less than the element. 567 : Zero or more elements 568 that define the supported flags field values, as 569 described in section 2.1.1 of [RFC4034]. 570 : Zero or more 571 elements that define the supported protocols, as 572 described in section 2.1.2 of [RFC4034]. 573 : Zero or more elements 574 that define the supported algorithms, as described in 575 section 2.1.3 of [RFC4034]. 576 : Defines the maximum signature 577 lifetime policies. The element 578 contains the following child elements: 580 : An OPTIONAL boolean flag 581 indicating whether the client can set the maximum 582 signature lifetime, with a default value of "false". 583 : The OPTIONAL default maximum 584 signature lifetime set by the server. 585 : An OPTIONAL minimum signature lifetime 586 supported. The element MUST NOT be 587 defined if the element value 588 is "false". 589 : An OPTIONAL maximum signature lifetime 590 supported. The element MUST NOT be 591 defined if the element value 592 is "false". The element MUST NOT be 593 less than the element. 594 : An OPTIONAL flag that of whether the 595 client can specify the urgent attribute for DNSSEC 596 updates, with a default value of "false". 597 : The maximum number of domain names 598 ( elements) that can be included in a domain 599 check command defined in [RFC5731]. 601 : The OPTIONAL set of supported domain 602 statuses that SHOULD match the statuses defined in [RFC5731]. 603 : The OPTIONAL regular expression, as 604 defined in Section 2.4, used to validate the domain object 605 authorization information value. 606 : The OPTIONAL expiry policy used to 607 define what happens when the domain object expires, with a 608 default value of "autoRenew". The possible values for the 609 element include: 611 "autoRenew": The domain object will auto-renew at expiry. 612 The client can receive a credit for the auto-renew if the 613 domain object is deleted or transferred within the auto- 614 renew grace period. 615 "autoDelete": The domain object will auto-delete at expiry. 616 The client needs to explicitly renew the domain object 617 prior to its expiry to ensure that it does not get 618 deleted. 619 "autoExpire": The domain object will auto-expire at expiry 620 that may include the server placing the domain object on 621 serverHold. 622 "autoParked": The domain object will be auto-parked at 623 expiry that results in the resolution of the domain 624 object going to a parked page. 625 : An OPTIONAL flag indicating 626 whether the element in [RFC5731] is supported 627 to remove the authorization information, with a default value 628 of "false". 629 : The OPTIONAL definition of which 630 [RFC5731] host model is used by the server. The possible 631 values include "hostObj" for the host object model and 632 "hostAttr" for the host attribute model, with the default 633 value of "hostObj". 634 : The host object policy information per [RFC5732]. 635 The element contains the following child 636 elements: 638 : Defines the minimum and maximum number of 639 IP addresses supported for an internal host. The 640 elements contains the following child 641 elements: 643 : Minimum number of IP addresses supported 644 for an internal host. 646 : Maximum number of IP addresses supported 647 for an internal host. The element MUST 648 NOT be less than the element. 649 : The OPTIONAL policy for the sharing 650 of internal hosts in the server. The possible shared 651 policy values include: 653 "perZone": The internal hosts are shared across all 654 domains of the zone. There is a single pool of 655 internal hosts defined for the zone. 656 "perSystem": The internal hosts are shared across all 657 zones of the system. There is a single pool of 658 internal hosts across all of the zones supported by 659 the system. The system MUST be defined using the 660 element. 661 : The OPTIONAL boolean 662 value that indicates that all of the IP addresses for the 663 host object must be unique, with a default value of 664 "false". 665 : Defines the policies for external hosts. 666 The elements contains the following child 667 elements: 669 : Minimum number of IP addresses supported 670 for an external host. 671 : Maximum number of IP addresses supported 672 for an external host. The element MUST 673 NOT be less than the element. 674 : The OPTIONAL policy for the sharing 675 of external hosts in the server. The possible shared 676 policy values include: 678 "perRegistrar": The external hosts are shared across all 679 domains of the registrar. There is a single pool of 680 external hosts defined per registrar. 681 "perZone": The external hosts are shared across all 682 domains of the zone. There is a single pool of 683 external hosts defined for the zone. 684 "perSystem": The external hosts are shared across all 685 zones of the system. There is a single pool of 686 external hosts across all of the zones supported by 687 the system. The system MUST be defined using the 688 element. 689 : The OPTIONAL boolean 690 value that indicates that all of the IP addresses for the 691 host object must be unique, with a default value of 692 "false". 693 : The OPTIONAL regular expression, as 694 defined in Section 2.4, used to validate the host name value. 695 : The OPTIONAL maximum number of host 696 names ( elements) that can be included in a host 697 check command defined in [RFC5732]. This element is only 698 applicable when using the host object model in [RFC5731] and 699 supporting host objects in [RFC5732]. 700 : The OPTIONAL set of supported host 701 statuses that SHOULD match the statuses defined in [RFC5732]. 702 : Zero or more elements 703 that defines the URI of an externally defined list of invalid 704 IP addresses. The IP addresses referenced by the list of 705 elements should be combined and 706 normalized by the client to define the complete set of 707 invalid IP addresses. 708 : The OPTIONAL contact object policy information 709 per [RFC5733]. The element contains the 710 following child elements: 712 : The OPTIONAL regular expression, as 713 defined in Section 2.4, used to validate the 714 element defined in [RFC5733]. 715 : The OPTIONAL client-specific prefix 716 that must be used for the element defined in 717 [RFC5733]. For example, if the client is assigned the 718 client-specific prefix "EX", every contact created by the 719 client must have a element value prefixed with 720 "EX", as in "EX123". 721 : The OPTIONAL policy for the sharing of 722 contacts in the server. The possible shared policy values 723 include: 725 "perZone": The contacts are shared across all objects of the 726 zone. There is a single pool of contacts defined for the 727 zone. 728 "perSystem": The contacts are shared across all zones of the 729 system. There is a single pool of contacts across all of 730 the zones supported by the system. The system MUST be 731 defined using the element. 732 : The policy associated with the 733 postal-address information, represented by the 734 element in [RFC5733], supported with the 735 following possible values: 737 "loc": Indicates that a single element 738 is supported with the type "loc". 739 "int": Indicates that a single element 740 is supported with the type "int". 741 "locOrInt": Indicates that a single 742 element is supported with the type "loc" or "int". 743 "locAndInt": Indicates that up to two 744 elements is supported for defining both the "loc" and the 745 "int" type. This policy does not indicate that both must 746 be provided. 747 "intOptLoc": Indicates that the element 748 with type "int" is required and a second 749 element with the type "loc" is 750 optional. 751 "locOptInt": Indicates that the element 752 with type "loc" is required and a second 753 element with the type "int" is 754 optional. 755 : The postal-address information policy 756 information. The element contains the 757 following child elements: 759 : The OPTIONAL regular expression , 760 as defined in Section 2.4, that represents the character 761 set that can be used for the 762 localized form (type="loc") element content. The regular 763 expression MUST be applicable to all 764 element content. 765 : The minimum and maximum length of 766 element defined [RFC5733] using the 767 and child 768 elements, respectively. 769 : The minimum and maximum length of the 770 element defined in [RFC5733] using the 771 and child 772 elements, respectively. 773 : The address information policy 774 information. The element contains the 775 following child elements: 777 : The minimum and maximum length and 778 the minimum and maximum number of the 779 elements defined in [RFC5733]. The 780 element contains the following 781 child elements: 783 : The minimum length of the 784 elements. 785 : The maximum length of the 786 elements. The 787 element MUST NOT be less 788 than the element. 789 : The minimum number of 790 elements. 791 : The maximum number of 792 elements. The 793 element MUST NOT be less than 794 the element. 795 : The minimum and maximum length of the 796 element defined in [RFC5733] using the 797 and child 798 elements, respectively. 799 : The minimum and maximum length of the 800 element defined in [RFC5733] using the 801 and child 802 elements, respectively. 803 : The minimum and maximum length of the 804 element defined in [RFC5733] using the 805 and child 806 elements, respectively. 807 : An OPTIONAL boolean flag 808 indicating whether the server requires the 809 element to be defined, with a default 810 value of "false". 811 : The OPTIONAL minimum and maximum length 812 of the extension "x" attribute defined in 813 [RFC5733] using the and 814 child elements, respectively. 815 : An OPTIONAL 816 element that defines the regular expression, as defined 817 in Section 2.4, used to validate the in 818 [RFC5733]. 819 : The maximum number of contact 820 identifiers ( elements) that can be included in a 821 contact check command defined in [RFC5733]. 822 : The OPTIONAL regular expression, as 823 defined in Section 2.4, used to validate the contact object 824 authorization information value. 825 : The OPTIONAL flag that 826 indicates whether the server supports the client to identify 827 elements that require exception server-operator handling to 828 allow or restrict disclosure to third parties defined in 829 [RFC5733] with a default of "false". 831 : The OPTIONAL set of supported 832 contact statuses that SHOULD match the statuses defined in 833 [RFC5733]. 834 : The OPTIONAL period of time a 835 contact object is in the pending transfer before the transfer 836 is auto approved by the server. The 837 element MUST have the "unit" 838 attribute with the possible values of "y" for year, "m" for 839 month, and "d" for day. 840 : An OPTIONAL boolean value 841 that indicates whether a privacy contact is supported, with a 842 default value of "true". 843 : An OPTIONAL boolean value that 844 indicates whether a proxy contact is supported, with a 845 default value of "true". 847 Example of a element: 849 850 EXAMPLE 851 STANDARD 852 853 854 urn:ietf:params:xml:ns:domain-1.0 855 856 857 urn:ietf:params:xml:ns:host-1.0 858 859 860 urn:ietf:params:xml:ns:contact-1.0 861 862 863 864 urn:ietf:params:xml:ns:rgp-1.0 865 866 867 urn:ietf:params:xml:ns:secDNS-1.1 868 869 870 http://www.verisign-grs.com/epp/namestoreExt-1.1 871 872 873 http://www.verisign.com/epp/idnLang-1.0 874 875 876 877 clientX 878 2012-10-01T00:00:00.0Z 879 880 clientY 881 2012-10-15T00:00:00.0Z 882 883 fail 884 885 886 887 localTzBatch 888 889 Batch with multiple local time schedules (name and offset) 890 891 892 04:00:00 893 894 895 07:00:00-05:00 896 897 898 899 multiBatchSchedule 900 901 Batch with multiple UTC schedules 902 903 904 12:00:00Z 905 906 907 00:00:00Z 908 909 910 17:00:00Z 911 912 913 914 915 EXAMPLE 916 917 EXAMPLE2 918 919 920 921 922 5 923 924 50 925 926 true 927 928 false 929 930 true 931 932 false 933 934 935 936 ^[a-zA-Z\d][a-zA-Z\d\-]{4,49}$ 937 938 939 5 to 50 DNS characters starting with alphanumeric 940 941 942 943 reserved1 944 945 946 947 948 4.1 949 950 2008 951 952 6.0 953 954 Punycode 955 956 false 957 958 959 960 http://www.iana.org/idn-tables/test_tab1_1.1.txt 961 962 blocked 963 964 965 966 false 967 968 969 1 970 1 971 972 973 1 974 1 976 977 978 0 979 0 980 981 986 0 987 1 988 989 990 0 991 13 992 993 994 0 995 996 997 998 1 999 10 1000 1 1001 1002 1003 1004 fail 1005 1006 1007 clip 1008 1009 5 1010 1011 5 1015 1016 5 1020 1021 5 1026 1027 45 1031 1032 1033 30 1034 1035 7 1036 1037 5 1038 1039 1040 1041 1042 0 1043 13 1044 3 1045 1 1046 1047 1048 false 1049 1050 1051 1052 5 1053 1054 1055 ok 1056 1057 clientDeleteProhibited 1058 1059 serverDeleteProhibited 1060 1061 clientHold 1062 1063 serverHold 1064 1065 clientRenewProhibited 1066 1067 serverRenewProhibited 1068 1069 clientTransferProhibited 1070 1071 serverTransferProhibited 1072 1073 clientUpdateProhibited 1074 1075 serverUpdateProhibited 1076 1077 inactive 1078 1079 pendingDelete 1080 1081 pendingTransfer 1082 1083 1084 1085 ^.*$ 1086 1087 autoRenew 1088 1089 false 1090 1091 hostObj 1092 1093 1094 1095 1096 1 1097 13 1098 perSystem 1099 1100 false 1101 1102 1103 1104 0 1105 0 1106 perSystem 1107 1108 1109 1110 ^.*$ 1111 1112 1113 5 1114 1115 1116 ok 1117 clientDeleteProhibited 1118 1119 serverDeleteProhibited 1120 1121 clientUpdateProhibited 1122 1123 serverUpdateProhibited 1124 1125 linked 1126 1127 pendingDelete 1128 1129 pendingTransfer 1130 1131 1132 http://www.example.com/invalidip-1.txt 1133 1134 http://www.example.com/invalidip-2.txt 1135 1136 1137 1138 1139 ^.*$ 1140 1141 1142 EX 1143 1144 perZone 1145 1146 locOrInt 1147 1148 1149 1150 ^.*$ 1151 1152 1153 1154 5 1155 15 1156 1157 1158 2 1159 40 1160 1161 1162 1163 1 1164 40 1165 1 1166 3 1167 1168 1169 1 1170 40 1171 1172 1173 1 1174 40 1175 1176 1177 1 1178 40 1179 1180 1181 false 1182 1183 1184 1 1185 40 1186 1187 1188 1 1189 40 1190 1191 1192 ^.+\..+$ 1193 1194 1195 1196 5 1197 1198 ^.*$ 1199 1200 false 1201 1202 1203 ok 1204 1205 clientDeleteProhibited 1206 1207 serverDeleteProhibited 1208 1209 clientTransferProhibited 1210 1211 serverTransferProhibited 1212 1213 clientUpdateProhibited 1214 1215 serverUpdateProhibited 1216 1217 linked 1218 1219 pendingDelete 1220 1221 pendingTransfer 1222 1223 1224 5 1225 1226 true 1227 1228 true 1229 1230 1231 1233 3. EPP Command Mapping 1235 A detailed description of the EPP syntax and semantics can be found 1236 in the EPP core protocol specification [RFC5730]. The command 1237 mappings described here are specifically for use in provisioning and 1238 managing TLD names via EPP. 1240 3.1. EPP Query Commands 1242 EPP [RFC5730] provides three commands to retrieve object information: 1243 to determine if an object is known to the server, to 1244 retrieve detailed information associated with an object, and 1245 to retrieve object transfer status information. 1247 3.1.1. EPP Command 1249 The EPP command is used to determine if the server currently 1250 supports a zone. If the response indicates that the zone is not 1251 available, then it is currently supported; otherwise it MAY be 1252 available to be created by an authorized client. 1254 In addition to the standard EPP command elements, the command 1255 MUST contain a element that identifies the registry 1256 namespace. The element contains the following child 1257 elements: 1259 : One or more elements, as described 1260 in Section 2.1, that contain the fully qualified names of the 1261 zone objects to be queried. 1263 Example command: 1265 C: 1266 C: 1267 C: 1268 C: 1269 C: 1271 C: EXAMPLE1 1272 C: EXAMPLE2 1273 C: EXAMPLE3 1274 C: 1275 C: 1276 C: ABC-12345 1277 C: 1278 C: 1280 When a command has been processed successfully, the EPP 1281 element MUST contain a child element 1282 that identifies the registry namespace. The 1283 element contains one or more elements that contain the 1284 following child elements: 1286 : element that contains the fully qualified name of 1287 the queried zone object, as described in Section 2.1. This 1288 element MUST contain an "avail" attribute whose value indicates 1289 zone is currently supported or availability at the moment the 1290 command was completed for an authorized client. A value 1291 of "1" or "true" means that the zone object is available for an 1292 authorized client. A value of "0" or "false" means that the zone 1293 object is currently supported by the server. 1294 : The OPTIONAL element that MAY be provided when a 1295 zone object is not available for provisioning. If present, this 1296 element contains server-specific text to help explain why the 1297 zone object is unavailable. This text MUST be represented in the 1298 response language previously negotiated with the client; an 1299 OPTIONAL "lang" attribute MAY be present to identify the language 1300 if the negotiated value is something other than a default value 1301 of "en" (English). 1303 Example response: 1305 S: 1306 S: 1307 S: 1308 S: 1309 S: Command completed successfully 1310 S: 1311 S: 1312 S: 1315 S: 1316 S: EXAMPLE1 1317 S: Client not authorized 1318 S: 1319 S: 1320 S: 1321 S: EXAMPLE2 1322 S: 1323 S: Already supported 1324 S: 1325 S: 1326 S: 1327 S: EXAMPLE3 1328 S: 1329 S: 1330 S: 1331 S: 1332 S: 1333 S: ABC-12345 1334 S: 54322-XYZ 1335 S: 1336 S: 1337 S: 1339 An EPP error response MUST be returned if a command cannot be 1340 processed for any reason. 1342 3.1.2. EPP Command 1344 The EPP command is used to retrieve information associated 1345 with a zone object. The response to this command MAY vary depending 1346 on the identity of the querying client, use of authorization 1347 information, and server policy towards unauthorized clients. Server 1348 policy determines which OPTIONAL elements are returned. 1350 In addition to the standard EPP command elements, the command 1351 MUST contain a element that identifies the registry 1352 namespace. The element contains one of the following 1353 three child elements: 1355 : Element that is empty and that indicates to return 1356 the client accessible and/or available zone objects with a 1357 summary set of attributes per zone object. The scope of the 1358 zones to return is defined by the "scope" attribute, with the 1359 possible values of "accessible" to indicate the zones that are 1360 assessible to the client, "available" to indicate the zones that 1361 are not accessible to the client but available on the server, and 1362 "both" to indicate both accessible and available zones. The 1363 default value for the "scope" attribute is "accessible". It is 1364 up to server policy what available zones the client is authorized 1365 to get information for. 1366 : Element that contains the fully qualified name of 1367 the zone object, as described in Section 2.1, to be queried for a 1368 full set of attributes for the zone object. 1369 : Element that is empty and that indicates that the 1370 registry system attributes, like maximum connections and 1371 timeouts, are queried. 1373 Example command to query for a summary set of attributes for 1374 all of the accessible and available zone objects: 1376 C: 1377 C: 1378 C: 1379 C: 1380 C: 1382 C: 1383 C: 1384 C: 1385 C: ABC-12345 1386 C: 1387 C: 1388 Example command to query for the full set of "EXAMPLE" zone 1389 object attributes: 1391 C: 1392 C: 1393 C: 1394 C: 1395 C: 1397 C: EXAMPLE 1398 C: 1399 C: 1400 C: ABC-12345 1401 C: 1402 C: 1404 Example command to query for registry system attributes: 1406 C: 1407 C: 1408 C: 1409 C: 1410 C: 1412 C: 1413 C: 1414 C: 1415 C: ABC-12345 1416 C: 1417 C: 1419 When an command has been processed successfully, the EPP 1420 element MUST contain a child element 1421 that identifies the registry namespace. The 1422 element contains one of the three following child elements: 1424 : Element that contains the list of 1425 elements representing the zones accessible or 1426 available to the client with a set of summary attributes per 1427 zone. It is up to server policy what available zones the client 1428 is authorized to get information for. The 1429 element includes the boolean "accessible" attribute that 1430 indicates whether the zone is accessible to the client, with a 1431 default value of "true". If the "accessible" attribute value is 1432 "false", the client does not have access to the zone, but the 1433 zone is available on the server. The element 1434 contains the following child elements: 1436 : Element that contains the fully qualified name 1437 of the queried zone object, as described in Section 2.1. 1438 : The date and time of zone object creation. 1439 : The OPTIONAL date and time of the most recent 1440 zone object modification. This element MUST NOT be present 1441 if the zone object has never been modified. 1442 : Element that contains the full set of attributes 1443 for the zone name as defined in Section 2.5. The 1444 element includes the boolean "accessible" attribute that 1445 indicates whether the zone is accessible to the client, with a 1446 default value of "true". If the "accessible" attribute value is 1447 "false", the client does not have access to the zone, but the 1448 zone is available on the server. 1449 : Element that contains registry system attributes. 1450 The element contains the following child 1451 elements: 1453 : The OPTIONAL element that contains 1454 the maximum number of connections that the client can 1455 establish with the registry system. 1456 : The OPTIONAL element that contains the 1457 idle timeout for a connection in milliseconds. If a 1458 connection does not receive a command within 1459 milliseconds, the server will close 1460 the connection. 1461 : The OPTIONAL element that contains 1462 the absolute timeout for a connection in milliseconds. The 1463 absolute timeout represents the maximum duration in 1464 milliseconds that a connection can be established. The 1465 server will close a connection that has been established for 1466 more than milliseconds. 1467 : The OPTIONAL element that contains 1468 the command timeout for a connection in milliseconds. The 1469 server will close a connection that has an active command 1470 that exceeds milliseconds. 1471 : The OPTIONAL element that contains the 1472 maximum number of transactions that can be submitted on the 1473 connection per the "perMs" attribute milliseconds. It is up 1474 to server policy what to do with the connection when the 1475 client exceeds the . 1477 Example response to a query for a summary of all of the 1478 supported zone objects: 1480 S: 1481 S: 1482 S: 1483 S: 1484 S: Command completed successfully 1485 S: 1486 S: 1487 S: 1489 S: 1490 S: 1491 S: EXAMPLE1 1492 S: 2012-10-01T00:00:00.0Z 1493 S: 1494 S: 2012-10-15T00:00:00.0Z 1495 S: 1496 S: 1497 S: 1498 S: EXAMPLE2 1499 S: 2012-09-01T00:00:00.0Z 1500 S: 1501 S: 2012-09-19T00:00:00.0Z 1502 S: 1503 S: 1504 S: 1505 S: 1506 S: 1507 S: 1508 S: ABC-12345 1509 S: 54322-XYZ 1510 S: 1511 S: 1512 S: 1513 Example response to query for the full set of "EXAMPLE" zone 1514 object attributes: 1516 S: 1517 S: 1518 S: 1519 S: 1520 S: Command completed successfully 1521 S: 1522 S: 1523 S: 1525 S: 1526 S: EXAMPLE 1527 S: ... 1528 S: 1529 S: 1530 S: 1531 S: 1532 S: ABC-12345 1533 S: 54322-XYZ 1534 S: 1535 S: 1536 S: 1537 Example response to query for the registry system attributes: 1539 S: 1540 S: 1541 S: 1542 S: 1543 S: Command completed successfully 1544 S: 1545 S: 1546 S: 1548 S: 1549 S: 200 1550 S: 1551 S: 600000 1552 S: 1553 S: 86400000 1554 S: 1555 S: 10000 1556 S: 1557 S: 10 1558 S: 1559 S: 1560 S: 1561 S: 1562 S: 1563 S: ABC-12345 1564 S: 54322-XYZ 1565 S: 1566 S: 1567 S: 1569 An EPP error response MUST be returned if an command cannot be 1570 processed for any reason. 1572 3.1.3. EPP Query Command 1574 Transfer semantics do not directly apply to zone objects, so there is 1575 no mapping defined for the EPP query command. 1577 3.2. EPP Transform Commands 1579 EPP provides five commands to transform objects: to create 1580 an instance of an object, to delete an instance of an 1581 object, to extend the validity period of an object, 1582 to manage object sponsorship changes, and to 1583 change information associated with an object. 1585 3.2.1. EPP Command 1587 The EPP command provides a transform operation that allows a 1588 client to create a zone object. In addition to the standard EPP 1589 command elements, the command MUST contain a 1590 element that identifies the registry namespace. 1591 The element contains the following child elements: 1593 : Element that contains the full set of attributes 1594 for the zone to create, as defined in Section 2.5. 1596 Example command: 1598 C: 1599 C: 1601 C: 1602 C: 1603 C: 1605 C: 1606 C: EXAMPLE 1607 C: ... 1608 C: 1609 C: 1610 C: 1611 C: ABC-12345 1612 C: 1613 C: 1615 When a command has been processed successfully, the EPP 1616 element MUST contain a child element 1617 that identifies the registry namespace. The 1618 element contains the following child elements: 1620 : element that contains the fully qualified name of 1621 the zone object, as described in Section 2.1. 1622 : element that contains the date and time of zone 1623 object creation. 1625 Example response: 1627 S: 1628 S: 1629 S: 1630 S: 1631 S: Command completed successfully 1632 S: 1633 S: 1634 S: 1636 S: EXAMPLE 1637 S: 2012-10-30T22:00:00.0Z 1638 S: 1639 S: 1640 S: 1641 S: 1642 S: ABC-12345 1643 S: 54321-XYZ 1644 S: 1645 S: 1646 S: 1648 An EPP error response MUST be returned if a command can not 1649 be processed for any reason. 1651 3.2.2. EPP Command 1653 The EPP command provides a transform operation that allows a 1654 client to delete a zone object. In addition to the standard EPP 1655 command elements, the command MUST contain a 1656 element that identifies the registry namespace. 1657 The element contains the following child elements: 1659 : element that contains the fully qualified name of 1660 the zone object to be deleted, as described in Section 2.1. 1662 Example command: 1664 C: 1665 C: 1666 C: 1667 C: 1668 C: 1670 C: EXAMPLE 1671 C: 1672 C: 1673 C: ABC-12345 1674 C: 1675 C: 1677 When a zone has been processed successfully, a server MUST 1678 respond with an EPP response with no element. 1680 Example response: 1682 S: 1683 S: 1684 S: 1685 S: 1686 S: Command completed successfully 1687 S: 1688 S: 1689 S: ABC-12345 1690 S: 54321-XYZ 1691 S: 1692 S: 1693 S: 1695 An EPP error response MUST be returned if a command can not 1696 be processed for any reason. 1698 3.2.3. EPP Command 1700 Renew semantics do not directly apply to zone objects, so there is no 1701 mapping defined for the EPP command. 1703 3.2.4. EPP Command 1705 Transfer semantics do not directly apply to zone objects, so there is 1706 no mapping defined for the EPP command. 1708 3.2.5. EPP Command 1710 The EPP command provides a transform operation that allows a 1711 client to modify the attributes of a zone object. In addition to the 1712 standard EPP command elements, the command MUST contain a 1713 element that identifies the registry namespace. 1714 The element contains the following child elements: 1716 : One or more elements that contain the full set of 1717 attributes for the zones as defined in Section 2.5. The update 1718 completely replaces the prior version of the zone. 1720 Example command: 1722 C: 1723 C: 1724 C: 1725 C: 1726 C: 1728 C: 1729 C: EXAMPLE 1730 C: ... 1731 C: 1732 C: 1733 C: 1734 C: ABC-12345 1735 C: 1736 C: 1738 When an command has been processed successfully, a server 1739 MUST respond with an EPP response with no element. 1741 Example command: 1743 S: 1744 S: 1745 S: 1746 S: 1747 S: Command completed successfully 1748 S: 1749 S: 1750 S: ABC-12345 1751 S: 54321-XYZ 1752 S: 1753 S: 1754 S: 1755 An EPP error response MUST be returned if an command can not 1756 be processed for any reason. 1758 4. Formal Syntax 1760 One schema is presented here that is the EPP Registry Mapping Schema. 1762 The formal syntax presented here is a complete schema representation 1763 of the object mapping suitable for automated validation of EPP XML 1764 instances. The BEGIN and END tags are not part of the schema; they 1765 are used to note the beginning and ending of the schema for URI 1766 registration purposes. 1768 4.1. Registry Mapping Schema 1770 BEGIN 1771 1772 1780 1783 1784 1786 1787 1788 Extensible Provisioning Protocol v1.0 1789 Registry 1790 Mapping Schema. 1791 1792 1793 1796 1799 1802 1805 1808 1811 1814 1815 1816 1820 1821 1822 1825 1826 1827 1830 1831 1832 1835 1836 1837 1840 1841 1842 1843 1844 1847 1848 1849 1853 1854 1855 1856 1857 1858 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1874 1875 1876 1877 1878 1879 1881 1884 1887 1890 1894 1897 1898 1899 1902 1905 1906 1907 1910 1911 1912 1916 1917 1918 1919 1920 1923 1927 1928 1929 1930 1931 1932 1936 1937 1938 1939 1942 1943 1944 1947 1950 1953 1954 1955 1956 1957 1962 1963 1964 1965 1966 1969 1972 1976 1977 1981 1982 1983 1984 1987 1991 1995 1999 2003 2007 2011 2015 2019 2023 2026 2029 2033 2034 2035 2036 2037 2038 2042 2043 2045 2046 2047 2048 2052 2053 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2071 2075 2076 2077 2078 2079 2084 2085 2086 2087 2088 2089 2094 2095 2096 2097 2098 2099 2104 2108 2109 2110 2111 2112 2116 2120 2125 2130 2135 2140 2144 2148 2149 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2165 2169 2170 2171 2172 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2211 2215 2216 2220 2221 2222 2223 2227 2230 2233 2239 2244 2249 2250 2251 2252 2253 2254 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2270 2273 2274 2275 2276 2277 2278 2281 2285 2286 2287 2288 2289 2292 2295 2298 2299 2300 2301 2302 2305 2306 2307 2308 2309 2313 2314 2315 2316 2317 2321 2322 2323 2324 2325 2326 2327 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2356 2357 2358 2359 2360 2361 2364 2367 2370 2371 2372 2373 2374 2377 2380 2385 2390 2395 2396 2397 2398 2399 2402 2405 2410 2415 2416 2417 2418 2419 2424 2428 2432 2436 2437 2438 2439 2440 2441 2444 2447 2448 2451 2456 2457 2458 2459 2460 2465 2466 2467 2468 2469 2470 2474 2475 2476 2477 2478 2480 2481 2482 2483 2486 2487 2488 2489 2490 2491 2492 2493 2496 2497 2498 2499 2500 2501 2502 2503 2506 2507 2508 2509 2510 2511 2514 2518 2519 2523 2524 2525 2526 2527 2528 2533 2534 2535 2539 2540 2541 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2562 2566 2571 2577 2582 2585 2589 2594 2599 2602 2607 2611 2615 2618 2622 2626 2631 2636 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2677 2680 2684 2689 2690 2691 2692 2693 2696 2699 2703 2708 2709 2710 2711 2712 2715 2718 2722 2726 2730 2735 2736 2737 2738 2739 2742 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2760 2763 2764 2765 2766 2767 2768 2769 2772 2775 2778 2781 2782 2783 2784 2785 2789 2792 2795 2798 2803 2807 2811 2815 2816 2817 2818 2819 2823 2827 2831 2834 2837 2840 2844 2849 2853 2857 2862 2867 2868 2869 2870 2871 2872 2876 2877 2878 2879 2880 2881 2885 2889 2893 2897 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 END 2912 5. IANA Considerations 2914 5.1. XML Namespace 2916 This document uses URNs to describe XML namespaces and XML schemas 2917 conforming to a registry mechanism described in [RFC3688]. 2919 Registration request for the registry namespace: 2921 URI: urn:ietf:params:xml:ns:epp:registry-0.2 2922 Registrant Contact: IESG 2923 XML: None. Namespace URIs do not represent an XML specification. 2925 Registration request for the registry XML schema: 2927 URI: urn:ietf:params:xml:schema:epp:registry-0.2 2928 Registrant Contact: IESG 2929 XML: See the "Formal Syntax" section of this document. 2931 5.2. EPP Extension Registry 2933 The EPP extension described in this document should be registered by 2934 the IANA in the EPP Extension Registry described in [RFC7451]. The 2935 details of the registration are as follows: 2937 Name of Extension: "Registry Mapping for the Extensible Provisioning 2938 Protocol (EPP)" 2940 Document status: Standards Track 2942 Reference: (insert reference to RFC version of this document) 2944 Registrant Name and Email Address: IESG, 2946 TLDs: Any 2948 IPR Disclosure: TBD 2950 Status: Active 2952 Notes: None 2954 6. Implementation Status 2956 Note to RFC Editor: Please remove this section and the reference to 2957 RFC 7942 [RFC7942] before publication. 2959 This section records the status of known implementations of the 2960 protocol defined by this specification at the time of posting of this 2961 Internet-Draft, and is based on a proposal described in RFC 7942 2962 [RFC7942]. The description of implementations in this section is 2963 intended to assist the IETF in its decision processes in progressing 2964 drafts to RFCs. Please note that the listing of any individual 2965 implementation here does not imply endorsement by the IETF. 2966 Furthermore, no effort has been spent to verify the information 2967 presented here that was supplied by IETF contributors. This is not 2968 intended as, and must not be construed to be, a catalog of available 2969 implementations or their features. Readers are advised to note that 2970 other implementations may exist. 2972 According to RFC 7942 [RFC7942], "this will allow reviewers and 2973 working groups to assign due consideration to documents that have the 2974 benefit of running code, which may serve as evidence of valuable 2975 experimentation and feedback that have made the implemented protocols 2976 more mature. It is up to the individual working groups to use this 2977 information as they see fit". 2979 6.1. Verisign EPP SDK 2981 Organization: Verisign Inc. 2983 Name: Verisign EPP SDK 2985 Description: The Verisign EPP SDK includes both a full client 2986 implementation and a full server stub implementation of draft-gould- 2987 carney-regext-registry. 2989 Level of maturity: Development 2991 Coverage: All aspects of the protocol are implemented. 2993 Licensing: GNU Lesser General Public License 2995 Contact: jgould@verisign.com 2997 URL: https://www.verisign.com/en_US/channel-resources/domain- 2998 registry-products/epp-sdks 3000 7. Security Considerations 3002 The mapping extensions described in this document do not provide any 3003 security services beyond those described by EPP [RFC5730] and 3004 protocol layers used by EPP. The security considerations described 3005 in these other specifications apply to this specification as well. 3007 8. Acknowledgements 3009 The authors wish to thank the following persons for their feedback 3010 and suggestions: 3012 o Mario Loffredo, Patrick Mevzek 3014 9. References 3016 9.1. Normative References 3018 [RFC0952] Harrenstien, K., Stahl, M., and E. Feinler, "DoD Internet 3019 host table specification", RFC 952, DOI 10.17487/RFC0952, 3020 October 1985, . 3022 [RFC1123] Braden, R., Ed., "Requirements for Internet Hosts - 3023 Application and Support", STD 3, RFC 1123, 3024 DOI 10.17487/RFC1123, October 1989, . 3027 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 3028 Requirement Levels", BCP 14, RFC 2119, 3029 DOI 10.17487/RFC2119, March 1997, . 3032 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 3033 DOI 10.17487/RFC3688, January 2004, . 3036 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. 3037 Rose, "Resource Records for the DNS Security Extensions", 3038 RFC 4034, DOI 10.17487/RFC4034, March 2005, 3039 . 3041 [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", 3042 STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, 3043 . 3045 [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) 3046 Domain Name Mapping", STD 69, RFC 5731, 3047 DOI 10.17487/RFC5731, August 2009, . 3050 [RFC5732] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) 3051 Host Mapping", STD 69, RFC 5732, DOI 10.17487/RFC5732, 3052 August 2009, . 3054 [RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) 3055 Contact Mapping", STD 69, RFC 5733, DOI 10.17487/RFC5733, 3056 August 2009, . 3058 [RFC5890] Klensin, J., "Internationalized Domain Names for 3059 Applications (IDNA): Definitions and Document Framework", 3060 RFC 5890, DOI 10.17487/RFC5890, August 2010, 3061 . 3063 [RFC5910] Gould, J. and S. Hollenbeck, "Domain Name System (DNS) 3064 Security Extensions Mapping for the Extensible 3065 Provisioning Protocol (EPP)", RFC 5910, 3066 DOI 10.17487/RFC5910, May 2010, . 3069 [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible 3070 Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, 3071 February 2015, . 3073 [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running 3074 Code: The Implementation Status Section", BCP 205, 3075 RFC 7942, DOI 10.17487/RFC7942, July 2016, 3076 . 3078 9.2. Informative References 3080 [pcre] Hazel, P., "Perl-compatible Regular Expressions (PCRE)", 3081 October 2016, . 3084 9.3. URIs 3086 [1] http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/ 3088 Appendix A. Change History 3090 A.1. Change from 00 to 01 3092 1. Added missing description of the "perRegistrar" value for the 3093 element. 3094 2. Revised the description of to be a single 3095 optional element instead of an optional list of elements to match 3096 the definition in the XML schema. 3098 A.2. Change from 01 to 02 3100 1. Removed the unneeded zoneMemberType from the XML schema. 3101 2. Added reference to the Zone Name section for the 3102 elements, since they use the XML schema zoneFormType that 3103 supports the "form" attribute with the default value of "aLabel". 3104 3. Made the zoneType crDate element optional to support sending the 3105 zone on a create command without the crDate being set by the 3106 client. 3107 4. Updated the Implementation Status section to include the leading 3108 paragraphs and to include the "Verisign EPP SDK" sub-section. 3110 A.3. Change from 02 to 03 3112 1. Changed the XML namespace from urn:ietf:params:xml:ns:registry- 3113 0.1 to urn:ietf:params:xml:ns:epp:registry-0.1, and changed the 3114 XML schema registration from urn:ietf:params:xml:ns:registry-0.1 3115 to urn:ietf:params:xml:schema:epp:registry-0.1 based on a request 3116 from IANA with draft-ietf-regext-allocation-token. 3118 A.4. Change from 03 to 04 3120 1. Added the optional element to support 3121 a client-specific prefix for the elements in 3122 [RFC5733], based on feedback from Patrick Mevzek. 3123 2. Added the optional element to define 3124 what the server does when unsupported data is sent by the 3125 client, based on feedback from Patrick Mevzek. 3126 3. Added the element to indicate 3127 whether the element of [RFC5731] is supported, 3128 based on feedback from Patrick Mevzek. 3129 4. Added support for the and the 3130 elements under the 3131 element to define the supported set 3132 of key data interface flags and protocols, based on feedback 3133 from Patrick Mevzek. 3134 5. Updated the Introduction sentence "It is up to server policy to 3135 define what clients are authorized to execute which commands on 3136 which registry zones" to "It is up to server policy what 3137 commands are supported and to define the clients that are 3138 authorized to execute the commands for the registry zones. The 3139 server MUST return a 2101 error response for an unimplemented 3140 command and MUST return a 2201 error response for an 3141 unauthorized command.", based on feedback from Mario Loffredo. 3142 6. Added two additional element 3143 values, which include "intOptLoc" and "locOptInt", based on 3144 feedback from Patrick Mevzek. 3146 7. Added "that SHOULD match the statuses" to the descriptions of 3147 the elements under the 3148 element, the element, and the 3149 element, based on feedback from Mario 3150 Loffredo. 3151 8. Added "or transferred" to the description of the 3152 element "autoRenew" value, based on 3153 feedback from Mario Laffredo. 3154 9. Added support for an optional list of 3155 elements, under the element, to reference a list 3156 of externally defined invalid IP addresses URIs, based on 3157 feedback from Patrick Mevzek. 3158 10. Changed all references of urn:ietf:params:xml:ns:epp:registry- 3159 0.1 to urn:ietf:params:xml:ns:epp:registry-0.2 in the draft. 3160 11. Added a "Regular Expressions" section that describes the regular 3161 expression syntax used in the draft, which is Perl-compatible 3162 Regular Expression (PCRE). The elements that use regular 3163 expression values reference the new "Regular Expressions" 3164 section. Referencing the expected regular expression syntax to 3165 use is based on feedback from Patrick Mevzek. 3166 12. Added support for the element to define 3167 the acceptable set of characters for the "loc" postal 3168 information elements, based on feedback from Patrick Mevzek. 3169 13. Updated to make the regular expression elements follow a 3170 consistent naming convention and cardinality. Changed 3171 to under the 3172 element, and changed to a single element. 3173 Changed the under the 3174 element to a single element. 3175 14. Added support for the host attribute model in RFC 5731 by adding 3176 the element under the 3177 element, making the 3178 element optional, and making the element 3179 optional, based on feedback from Mario Loffredo. 3180 15. Added the element under the 3181 element to support returning the server policy 3182 when the client exceeds the maximum expiration date on a per 3183 renewal command basis, based on feedback from Patrick Mevzek. 3184 16. Re-defined the element to use a simplified 3185 XML definition in place of a crontab definition, and added 3186 support for one or more elements per batch 3187 job. The element supports multiple 3188 frequencies (daily, weekly, monthly), both local and UTC time 3189 zones, and a time using the XML schema "time" type. This change 3190 is based on feedback from Patrick Mevzek. 3191 17. Made the zone names more consistent by using EXAMPLE and 3192 EXAMPLE#. 3194 18. Added support for the element "scope" attribute 3195 and the element "accessible" boolean attribute, 3196 to enable the client to explicitly specify which zones are of 3197 interest (accessible, available, or both) in the info command 3198 and to enable the server to indicate in the info response 3199 whether a zone is accessible or not. 3201 Authors' Addresses 3203 James Gould 3204 VeriSign, Inc. 3205 12061 Bluemont Way 3206 Reston, VA 20190 3207 US 3209 Email: jgould@verisign.com 3210 URI: http://www.verisigninc.com 3212 Lin Jia 3213 VeriSign, Inc. 3214 12061 Bluemont Way 3215 Reston, VA 20190 3216 US 3218 Email: ljia@verisign.com 3219 URI: http://www.verisigninc.com 3221 Roger Carney 3222 GoDaddy Inc. 3223 14455 N. Hayden Rd. #219 3224 Scottsdale, AZ 85260 3225 US 3227 Email: rcarney@godaddy.com 3228 URI: http://www.godaddy.com 3230 Jody Kolker 3231 GoDaddy Inc. 3232 14455 N. Hayden Rd. #219 3233 Scottsdale, AZ 85260 3234 US 3236 Email: jkolker@godaddy.com 3237 URI: http://www.godaddy.com