idnits 2.17.1 draft-carney-regext-validate-01.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 18, 2016) is 2740 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) ** Downref: Normative reference to an Informational RFC: RFC 7451 Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Registration Protocols Extensions R. Carney 3 Internet-Draft J. Snitker 4 Intended status: Standards Track GoDaddy Inc. 5 Expires: April 21, 2017 October 18, 2016 7 Validate Extension for the Extensible Provisioning Protocol (EPP) 8 draft-carney-regext-validate-01 10 Abstract 12 This document describes an Extensible Provisioning Protocol (EPP) 13 extension mapping for the validation of contact and eligibility data. 15 Status of This Memo 17 This Internet-Draft is submitted in full conformance with the 18 provisions of BCP 78 and BCP 79. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF). Note that other groups may also distribute 22 working documents as Internet-Drafts. The list of current Internet- 23 Drafts is at http://datatracker.ietf.org/drafts/current/. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 This Internet-Draft will expire on April 21, 2017. 32 Copyright Notice 34 Copyright (c) 2016 IETF Trust and the persons identified as the 35 document authors. All rights reserved. 37 This document is subject to BCP 78 and the IETF Trust's Legal 38 Provisions Relating to IETF Documents 39 (http://trustee.ietf.org/license-info) in effect on the date of 40 publication of this document. Please review these documents 41 carefully, as they describe your rights and restrictions with respect 42 to this document. Code Components extracted from this document must 43 include Simplified BSD License text as described in Section 4.e of 44 the Trust Legal Provisions and are provided without warranty as 45 described in the Simplified BSD License. 47 Table of Contents 49 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 50 1.1. Conventions Used in This Document . . . . . . . . . . . . 2 51 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 3 52 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 3 53 3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 3 54 3.1.1. EPP Command . . . . . . . . . . . . . . . . . 3 55 3.1.2. EPP Command . . . . . . . . . . . . . . . . . 7 56 3.1.3. EPP Command . . . . . . . . . . . . . . . . . 7 57 3.1.4. EPP Command . . . . . . . . . . . . . . . 8 58 3.2. EPP Query Commands . . . . . . . . . . . . . . . . . . . 8 59 3.2.1. EPP Command . . . . . . . . . . . . . . . . 8 60 3.2.2. EPP Command . . . . . . . . . . . . . . . . 8 61 3.2.3. EPP Command . . . . . . . . . . . . . . . . . 8 62 3.2.4. EPP Command . . . . . . . . . . . . . . . 8 63 3.2.5. EPP Command . . . . . . . . . . . . . . . . 8 64 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 8 65 4.1. Validate Extension Schema . . . . . . . . . . . . . . . . 9 66 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 67 5.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 11 68 5.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 12 69 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 70 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 71 8. Change History . . . . . . . . . . . . . . . . . . . . . . . 12 72 8.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 12 73 9. Normative References . . . . . . . . . . . . . . . . . . . . 13 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 76 1. Introduction 78 This document describes an extension mapping for version 1.0 of the 79 Extensible Provisioning Protocol (EPP) [RFC5730]. This EPP mapping 80 specifies a flexible schema by which EPP clients and servers can 81 reliably validate contact and eligibility data. 83 With the increased number of restrictions on contacts and required 84 data points (license, ids, etc.) to register a domain name, a way to 85 validate the data points prior to issuing a transform command is 86 becoming more important. 88 1.1. Conventions Used in This Document 90 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 91 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 92 document are to be interpreted as described in RFC 2119 [RFC2119]. 94 XML is case sensitive. Unless stated otherwise, XML specifications 95 and examples provided in this document MUST be interpreted in the 96 character case presented in order to develop a conforming 97 implementation. 99 In examples, "C:" represents lines sent by a protocol client and "S:" 100 represents lines returned by a protocol server. Indentation and 101 white space in examples are provided only to illustrate element 102 relationships and are not a REQUIRED feature of this protocol. 104 2. Object Attributes 106 This extension adds additional elements to EPP object mappings like 107 the EPP domain name mapping [RFC5733]. Only those new elements are 108 described here. 110 Key Value provides a flexible mechanism to share data between the 111 client and the server. The element defines the data, 112 with two required simple attributes, key and value, and an optional 113 contactType attribute for specificity in the response, more details 114 below. 116 o An example . 117 o An example . 120 3. EPP Command Mapping 122 A detailed description of the EPP syntax and semantics can be found 123 in [RFC5730]. The command mappings described here are specifically 124 for the Validate Extension 126 3.1. EPP Query Commands 128 EPP provides four commands to retrieve object information: to 129 determine if an object is known to the server, to retrieve 130 detailed information associated with an object, to discover 131 and retrieve service messages queued by the server, and to 132 retrieve object transfer status information. 134 3.1.1. EPP Command 136 This extension defines additional elements for the EPP 137 command. 139 The command frame MAY contain an element which MAY 140 contain one child element with the following child 141 element(s): 143 o one or more element(s) for each contact that is 144 to be validated that contains the contact type of the contact to 145 be validated. 147 The element MUST contain the following child 148 elements: 150 o one element. 151 o zero or more elements. 153 The element MUST contain the following child elements: 155 o one element. 156 o an OPTIONAL element. 157 o an OPTIONAL element. 158 o an OPTIONAL element. 159 o an OPTIONAL element. 160 o an OPTIONAL element. 161 o an OPTIONAL element. 163 The following is an example of the command using the 164 extension. 166 C: 167 C: 170 C: 171 C: 172 C: 173 C: 174 C: 175 C: sh8013 176 C: 177 C: John Doe 178 C: Example Inc. 179 C: 180 C: 123 Example Dr. 181 C: Suite 100 182 C: Dulles 183 C: VA 184 C: 20166-6503 185 C: US 186 C: 187 C: 188 C: +1.7035555555 189 C: +1.7035555556 190 C: jdoe@example.com 191 C: 192 C: 2fooBAR 193 C: 194 C: 195 C: 196 C: 197 C: 198 C: 199 C: 200 C: 201 C: 202 C: 203 C: sh8013 204 C: 205 C: 206 C: 207 C: 208 C: sh8014 209 C: 210 C: John Doe 211 C: Example Inc. 212 C: 213 C: 123 Example Dr. 214 C: Suite 100 215 C: Dulles 216 C: VA 217 C: 20166-6503 218 C: US 219 C: 220 C: 221 C: +1.7035555555 222 C: +1.7035555556 223 C: jdoe@example.com 224 C: 225 C: 2fooBAR 226 C: 227 C: 228 C: 229 C: 230 C: 231 C: 232 C: 233 C: 234 C: 235 C: sh8014 236 C: 237 C: 238 C: 239 C: 240 C: ABC-12345 241 C: 242 C: 244 When the server receives a command that includes the 245 extension elements described above, its response MUST contain an 246 element, which MUST contain a child 247 element. The element MUST contain a 248 element for each element contained in the 249 command. The element MUST contain the following child 250 elements: 252 o one element. 253 o one element. 254 o zero or more elements. 256 The following is an example of the response using the 257 extension. 259 S: 260 S: 261 S: 262 S: 263 S: Command completed successfully 264 S: 265 S: 266 S: 268 S: 269 S: sh8013 270 S: 1000 271 S: 272 S: 273 S: sh8014 274 S: 2306 275 S: 277 S: 279 S: 281 S: 282 S: 283 S: 284 S: 285 S: ABC-12345 286 S: 54321-ZYX 287 S: 288 S: 289 S: 291 3.1.2. EPP Command 293 This extension does not add any elements to the EPP command or 294 response. 296 3.1.3. EPP Command 298 This extension does not add any elements to the EPP command or 299 response. 301 3.1.4. EPP Command 303 This extension does not add any elements to the EPP 304 command or response. 306 3.2. EPP Query Commands 308 EPP provides five commands to transform objects: to create 309 an instance of an object with a server, to remove an 310 instance of an object from a server, to extend the validity 311 period of an object, to manage changes in client 312 sponsorship of an object, and to change information. 314 3.2.1. EPP Command 316 This extension does not add any elements to the EPP command 317 or response. 319 3.2.2. EPP Command 321 This extension does not add any elements to the EPP command 322 or response. 324 3.2.3. EPP Command 326 This extension does not add any elements to the EPP command 327 or response. 329 3.2.4. EPP Command 331 This extension does not add any elements to the EPP 332 command or response. 334 3.2.5. EPP Command 336 This extension does not add any elements to the EPP command 337 or response. 339 4. Formal Syntax 341 One schema is presented here that is the EPP Validate Extension 342 schema. 344 The formal syntax presented here is a complete schema representation 345 of the object mapping suitable for automated validation of EPP XML 346 instances. The BEGIN and END tags are not part of the schema; they 347 are used to note the beginning and ending of the schema for URI 348 registration purposes. 350 4.1. Validate Extension Schema 352 BEGIN 353 354 363 364 365 Extensible Provisioning Protocol v1.0 366 Validate Object Extension 367 368 370 371 373 375 378 381 383 384 385 388 389 391 392 393 395 399 400 402 404 406 407 408 410 413 415 417 419 422 425 426 428 429 431 433 435 437 438 439 440 441 443 444 445 446 448 450 453 455 456 457 459 460 462 463 464 466 468 471 472 474 475 END 477 5. IANA Considerations 479 5.1. XML Namespace 481 This document uses URNs to describe XML namespaces and XML schemas 482 conforming to a registry mechanism described in [RFC3688]. The 483 following URI assignment is requested of IANA: 485 URI: ietf:params:xml:ns:validate-1.0 487 Registrant Contact: See the "Author's Address" section of this 488 document. 490 XML: See the "Formal Syntax" section of this document. 492 5.2. EPP Extension Registry 494 The EPP extension described in this document should be registered by 495 the IANA in the EPP Extension Registry described in [RFC7451]. The 496 details of the registration are as follows: 498 Name of Extension: "Validate Extension for the Extensible 499 Provisioning Protocol (EPP)" 501 Document status: Standards Track 503 Reference: (insert reference to RFC version of this document) 505 Registrant Name and Email Address: IESG, 507 TLDs: Any 509 IPR Disclosure: None 511 Status: Active 513 Notes: None 515 6. Security Considerations 517 The mapping extensions described in this document do not provide any 518 security services beyond those described by EPP [RFC5730] and 519 protocol layers used by EPP. The security considerations described 520 in these other specifications apply to this specification as well. 522 7. Acknowledgements 524 The authors wish to thank the following persons for their feedback 525 and suggestions: 527 o Kevin Allendorf of GoDaddy Inc. 528 o Jody Kolker of GoDaddy Inc. 529 o James Gould of Verisign Inc 531 8. Change History 533 8.1. Change from 00 to 01 535 After review and broad feedback, extensive changes have been made 536 transforming the original document from a standalone extension 537 command to an extension using the command and response 538 framework. 540 9. Normative References 542 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 543 Requirement Levels", BCP 14, RFC 2119, 544 DOI 10.17487/RFC2119, March 1997, 545 . 547 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 548 DOI 10.17487/RFC3688, January 2004, 549 . 551 [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", 552 STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, 553 . 555 [RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) 556 Contact Mapping", STD 69, RFC 5733, DOI 10.17487/RFC5733, 557 August 2009, . 559 [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible 560 Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, 561 February 2015, . 563 Authors' Addresses 565 Roger Carney 566 GoDaddy Inc. 567 14455 N. Hayden Rd. #219 568 Scottsdale, AZ 85260 569 US 571 Email: rcarney@godaddy.com 572 URI: http://www.godaddy.com 574 Joseph Snitker 575 GoDaddy Inc. 576 14455 N. Hayden Rd. #219 577 Scottsdale, AZ 85260 578 US 580 Email: jsnitker@godaddy.com 581 URI: http://www.godaddy.com