epp-client-base 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1627 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+ Network Working Group S. Hollenbeck
8
+ Request for Comments: 5732 VeriSign, Inc.
9
+ STD: 69 August 2009
10
+ Obsoletes: 4932
11
+ Category: Standards Track
12
+
13
+
14
+ Extensible Provisioning Protocol (EPP) Host Mapping
15
+
16
+ Abstract
17
+
18
+ This document describes an Extensible Provisioning Protocol (EPP)
19
+ mapping for the provisioning and management of Internet host names
20
+ stored in a shared central repository. Specified in XML, the mapping
21
+ defines EPP command syntax and semantics as applied to host names.
22
+ This document obsoletes RFC 4932.
23
+
24
+ Status of This Memo
25
+
26
+ This document specifies an Internet standards track protocol for the
27
+ Internet community, and requests discussion and suggestions for
28
+ improvements. Please refer to the current edition of the "Internet
29
+ Official Protocol Standards" (STD 1) for the standardization state
30
+ and status of this protocol. Distribution of this memo is unlimited.
31
+
32
+ Copyright Notice
33
+
34
+ Copyright (c) 2009 IETF Trust and the persons identified as the
35
+ document authors. All rights reserved.
36
+
37
+ This document is subject to BCP 78 and the IETF Trust's Legal
38
+ Provisions Relating to IETF Documents in effect on the date of
39
+ publication of this document (http://trustee.ietf.org/license-info).
40
+ Please review these documents carefully, as they describe your rights
41
+ and restrictions with respect to this document.
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+ Hollenbeck Standards Track [Page 1]
59
+
60
+ RFC 5732 EPP Host Mapping August 2009
61
+
62
+
63
+ Table of Contents
64
+
65
+ 1. Introduction ....................................................3
66
+ 1.1. Relationship of Host Objects and Domain Objects ............3
67
+ 1.2. Conventions Used in This Document ..........................4
68
+ 2. Object Attributes ...............................................4
69
+ 2.1. Host Names .................................................4
70
+ 2.2. Client Identifiers .........................................4
71
+ 2.3. Status Values ..............................................4
72
+ 2.4. Dates and Times ............................................6
73
+ 2.5. IP Addresses ...............................................6
74
+ 3. EPP Command Mapping .............................................6
75
+ 3.1. EPP Query Commands .........................................7
76
+ 3.1.1. EPP <check> Command .................................7
77
+ 3.1.2. EPP <info> Command ..................................9
78
+ 3.1.3. EPP <transfer> Query Command .......................11
79
+ 3.2. EPP Transform Commands ....................................11
80
+ 3.2.1. EPP <create> Command ...............................12
81
+ 3.2.2. EPP <delete> Command ...............................13
82
+ 3.2.3. EPP <renew> Command ................................15
83
+ 3.2.4. EPP <transfer> Command .............................15
84
+ 3.2.5. EPP <update> Command ...............................15
85
+ 3.3. Offline Review of Requested Actions .......................17
86
+ 4. Formal Syntax ..................................................19
87
+ 5. Internationalization Considerations ............................25
88
+ 6. IANA Considerations ............................................25
89
+ 7. Security Considerations ........................................26
90
+ 8. Acknowledgements ...............................................26
91
+ 9. References .....................................................26
92
+ 9.1. Normative References ......................................26
93
+ 9.2. Informative References ....................................27
94
+ Appendix A. Changes from RFC 4932 ................................29
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+ Hollenbeck Standards Track [Page 2]
115
+
116
+ RFC 5732 EPP Host Mapping August 2009
117
+
118
+
119
+ 1. Introduction
120
+
121
+ This document describes an Internet host name mapping for version 1.0
122
+ of the Extensible Provisioning Protocol (EPP). This mapping is
123
+ specified using the Extensible Markup Language (XML) 1.0 as described
124
+ in [W3C.REC-xml-20040204] and XML Schema notation as described in
125
+ [W3C.REC-xmlschema-1-20041028] and [W3C.REC-xmlschema-2-20041028].
126
+ This document obsoletes RFC 4932 [RFC4932].
127
+
128
+ [RFC5730] provides a complete description of EPP command and response
129
+ structures. A thorough understanding of the base protocol
130
+ specification is necessary to understand the mapping described in
131
+ this document.
132
+
133
+ XML is case sensitive. Unless stated otherwise, XML specifications
134
+ and examples provided in this document MUST be interpreted in the
135
+ character case presented to develop a conforming implementation.
136
+
137
+ 1.1. Relationship of Host Objects and Domain Objects
138
+
139
+ This document assumes that host name objects have a subordinate
140
+ relationship to a superordinate domain name object. For example,
141
+ host name "ns1.example.com" has a subordinate relationship to domain
142
+ name "example.com". EPP actions (such as object transfers) that do
143
+ not preserve this relationship MUST be explicitly disallowed.
144
+
145
+ A host name object can be created in a repository for which no
146
+ superordinate domain name object exists. For example, host name
147
+ "ns1.example.com" can be created in the ".example" repository so that
148
+ DNS domains in ".example" can be delegated to the host. Such hosts
149
+ are described as "external" hosts in this specification since the
150
+ name of the host does not belong to the namespace of the repository
151
+ in which the host is being used for delegation purposes.
152
+
153
+ Whether a host is external or internal relates to the repository in
154
+ which the host is being used for delegation purposes. An internal
155
+ host is subordinate if the name of the host belongs to the domain
156
+ within the repository in which the host is being used for delegation
157
+ purposes. For example, host ns1.example1.com is a subordinate host
158
+ of domain example1.com, but it is not a subordinate host of domain
159
+ example2.com. ns1.example1.com can be used as a name server for
160
+ example2.com. In this case, ns1.example1.com MUST be treated as an
161
+ internal host, subject to the rules governing operations on
162
+ subordinate hosts within the same repository.
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ Hollenbeck Standards Track [Page 3]
171
+
172
+ RFC 5732 EPP Host Mapping August 2009
173
+
174
+
175
+ 1.2. Conventions Used in This Document
176
+
177
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
178
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
179
+ document are to be interpreted as described in [RFC2119].
180
+
181
+ In examples, "C:" represents lines sent by a protocol client and "S:"
182
+ represents lines returned by a protocol server. Indentation and
183
+ white space in examples are provided only to illustrate element
184
+ relationships and are not a REQUIRED feature of this protocol.
185
+
186
+ 2. Object Attributes
187
+
188
+ An EPP host object has attributes and associated values that can be
189
+ viewed and modified by the sponsoring client or the server. This
190
+ section describes each attribute type in detail. The formal syntax
191
+ for the attribute values described here can be found in the "Formal
192
+ Syntax" section of this document and in the appropriate normative
193
+ references.
194
+
195
+ 2.1. Host Names
196
+
197
+ The syntax for host names described in this document MUST conform to
198
+ [RFC0952] as updated by [RFC1123]. At the time of this writing, RFC
199
+ 3490 [RFC3490] describes a standard to use certain ASCII name labels
200
+ to represent non-ASCII name labels. These conformance requirements
201
+ might change in the future as a result of progressing work in
202
+ developing standards for internationalized host names.
203
+
204
+ 2.2. Client Identifiers
205
+
206
+ All EPP clients are identified by a server-unique identifier. Client
207
+ identifiers conform to the "clIDType" syntax described in [RFC5730].
208
+
209
+ 2.3. Status Values
210
+
211
+ A host object MUST always have at least one associated status value.
212
+ Status values MAY be set only by the client that sponsors a host
213
+ object and by the server on which the object resides. A client can
214
+ change the status of a host object using the EPP <update> command.
215
+ Each status value MAY be accompanied by a string of human-readable
216
+ text that describes the rationale for the status applied to the
217
+ object.
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+ Hollenbeck Standards Track [Page 4]
227
+
228
+ RFC 5732 EPP Host Mapping August 2009
229
+
230
+
231
+ A client MUST NOT alter status values set by the server. A server
232
+ MAY alter or override status values set by a client, subject to local
233
+ server policies. The status of an object MAY change as a result of
234
+ either a client-initiated transform command or an action performed by
235
+ a server operator.
236
+
237
+ Status values that can be added or removed by a client are prefixed
238
+ with "client". Corresponding status values that can be added or
239
+ removed by a server are prefixed with "server". Status values that
240
+ do not begin with either "client" or "server" are server-managed.
241
+
242
+ Status Value Descriptions:
243
+
244
+ - clientDeleteProhibited, serverDeleteProhibited
245
+
246
+ Requests to delete the object MUST be rejected.
247
+
248
+ - clientUpdateProhibited, serverUpdateProhibited
249
+
250
+ Requests to update the object (other than to remove this status)
251
+ MUST be rejected.
252
+
253
+ - linked
254
+
255
+ The host object has at least one active association with another
256
+ object, such as a domain object. Servers SHOULD provide services
257
+ to determine existing object associations.
258
+
259
+ - ok
260
+
261
+ This is the normal status value for an object that has no pending
262
+ operations or prohibitions. This value is set and removed by the
263
+ server as other status values are added or removed.
264
+
265
+ - pendingCreate, pendingDelete, pendingTransfer, pendingUpdate
266
+
267
+ A transform command has been processed for the object (or in the
268
+ case of a <transfer> command, for the host object's superordinate
269
+ domain object), but the action has not been completed by the
270
+ server. Server operators can delay action completion for a
271
+ variety of reasons, such as to allow for human review or third-
272
+ party action. A transform command that is processed, but whose
273
+ requested action is pending, is noted with response code 1001.
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+ Hollenbeck Standards Track [Page 5]
283
+
284
+ RFC 5732 EPP Host Mapping August 2009
285
+
286
+
287
+ When the requested action has been completed, the pendingCreate,
288
+ pendingDelete, pendingTransfer, or pendingUpdate status value MUST be
289
+ removed. All clients involved in the transaction MUST be notified
290
+ using a service message that the action has been completed and that
291
+ the status of the object has changed.
292
+
293
+ "ok" status MAY only be combined with "linked" status.
294
+
295
+ "linked" status MAY be combined with any status.
296
+
297
+ "pendingDelete" status MUST NOT be combined with either
298
+ "clientDeleteProhibited" or "serverDeleteProhibited" status.
299
+
300
+ "pendingUpdate" status MUST NOT be combined with either
301
+ "clientUpdateProhibited" or "serverUpdateProhibited" status.
302
+
303
+ The pendingCreate, pendingDelete, pendingTransfer, and pendingUpdate
304
+ status values MUST NOT be combined with each other.
305
+
306
+ Other status combinations not expressly prohibited MAY be used.
307
+
308
+ 2.4. Dates and Times
309
+
310
+ Date and time attribute values MUST be represented in Universal
311
+ Coordinated Time (UTC) using the Gregorian calendar. The extended
312
+ date-time form using upper case "T" and "Z" characters defined in
313
+ [W3C.REC-xmlschema-2-20041028] MUST be used to represent date-time
314
+ values, as XML Schema does not support truncated date-time forms or
315
+ lower case "T" and "Z" characters.
316
+
317
+ 2.5. IP Addresses
318
+
319
+ The syntax for IPv4 addresses described in this document MUST conform
320
+ to [RFC0791]. The syntax for IPv6 addresses described in this
321
+ document MUST conform to [RFC4291]. Practical considerations for
322
+ publishing IPv6 address information in zone files are documented in
323
+ [RFC2874] and [RFC3596]. A server MAY reject IP addresses that have
324
+ not been allocated for public use by IANA. When a host object is
325
+ provisioned for use as a DNS name server, IP addresses SHOULD be
326
+ required only as needed to generate DNS glue records.
327
+
328
+ 3. EPP Command Mapping
329
+
330
+ A detailed description of the EPP syntax and semantics can be found
331
+ in [RFC5730]. The command mappings described here are specifically
332
+ for use in provisioning and managing Internet host names via EPP.
333
+
334
+
335
+
336
+
337
+
338
+ Hollenbeck Standards Track [Page 6]
339
+
340
+ RFC 5732 EPP Host Mapping August 2009
341
+
342
+
343
+ 3.1. EPP Query Commands
344
+
345
+ EPP provides two commands to retrieve host information: <check> to
346
+ determine if a host object can be provisioned within a repository,
347
+ and <info> to retrieve detailed information associated with a host
348
+ object.
349
+
350
+ 3.1.1. EPP <check> Command
351
+
352
+ The EPP <check> command is used to determine if an object can be
353
+ provisioned within a repository. It provides a hint that allows a
354
+ client to anticipate the success or failure of provisioning an object
355
+ using the <create> command, as object-provisioning requirements are
356
+ ultimately a matter of server policy.
357
+
358
+ In addition to the standard EPP command elements, the <check> command
359
+ MUST contain a <host:check> element that identifies the host
360
+ namespace. The <host:check> element contains the following child
361
+ elements:
362
+
363
+ - One or more <host:name> elements that contain the fully qualified
364
+ names of the host objects to be queried.
365
+
366
+ Example <check> command:
367
+
368
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
369
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
370
+ C: <command>
371
+ C: <check>
372
+ C: <host:check
373
+ C: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
374
+ C: <host:name>ns1.example.com</host:name>
375
+ C: <host:name>ns2.example.com</host:name>
376
+ C: <host:name>ns3.example.com</host:name>
377
+ C: </host:check>
378
+ C: </check>
379
+ C: <clTRID>ABC-12345</clTRID>
380
+ C: </command>
381
+ C:</epp>
382
+
383
+ When a <check> command has been processed successfully, the EPP
384
+ <resData> element MUST contain a child <host:chkData> element that
385
+ identifies the host namespace. The <host:chkData> element contains
386
+ one or more <host:cd> elements that contain the following child
387
+ elements:
388
+
389
+
390
+
391
+
392
+
393
+
394
+ Hollenbeck Standards Track [Page 7]
395
+
396
+ RFC 5732 EPP Host Mapping August 2009
397
+
398
+
399
+ - A <host:name> element that contains the fully qualified name of
400
+ the queried host object. This element MUST contain an "avail"
401
+ attribute whose value indicates object availability (can it be
402
+ provisioned or not) at the moment the <check> command was
403
+ completed. A value of "1" or "true" means that the object can be
404
+ provisioned. A value of "0" or "false" means that the object
405
+ cannot be provisioned.
406
+
407
+ - An OPTIONAL <host:reason> element that MAY be provided when an
408
+ object cannot be provisioned. If present, this element contains
409
+ server-specific text to help explain why the object cannot be
410
+ provisioned. This text MUST be represented in the response
411
+ language previously negotiated with the client; an OPTIONAL "lang"
412
+ attribute MAY be present to identify the language if the
413
+ negotiated value is something other than the default value of "en"
414
+ (English).
415
+
416
+ Example <check> response:
417
+
418
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
419
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
420
+ S: <response>
421
+ S: <result code="1000">
422
+ S: <msg>Command completed successfully</msg>
423
+ S: </result>
424
+ S: <resData>
425
+ S: <host:chkData
426
+ S: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
427
+ S: <host:cd>
428
+ S: <host:name avail="1">ns1.example.com</host:name>
429
+ S: </host:cd>
430
+ S: <host:cd>
431
+ S: <host:name avail="0">ns2.example2.com</host:name>
432
+ S: <host:reason>In use</host:reason>
433
+ S: </host:cd>
434
+ S: <host:cd>
435
+ S: <host:name avail="1">ns3.example3.com</host:name>
436
+ S: </host:cd>
437
+ S: </host:chkData>
438
+ S: </resData>
439
+ S: <trID>
440
+ S: <clTRID>ABC-12345</clTRID>
441
+ S: <svTRID>54322-XYZ</svTRID>
442
+ S: </trID>
443
+ S: </response>
444
+ S:</epp>
445
+
446
+
447
+
448
+
449
+
450
+ Hollenbeck Standards Track [Page 8]
451
+
452
+ RFC 5732 EPP Host Mapping August 2009
453
+
454
+
455
+ An EPP error response MUST be returned if a <check> command cannot be
456
+ processed for any reason.
457
+
458
+ 3.1.2. EPP <info> Command
459
+
460
+ The EPP <info> command is used to retrieve information associated
461
+ with a host object. In addition to the standard EPP command
462
+ elements, the <info> command MUST contain a <host:info> element that
463
+ identifies the host namespace. The <host:info> element contains the
464
+ following child elements:
465
+
466
+ - A <host:name> element that contains the fully qualified name of
467
+ the host object for which information is requested.
468
+
469
+ Example <info> command:
470
+
471
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
472
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
473
+ C: <command>
474
+ C: <info>
475
+ C: <host:info
476
+ C: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
477
+ C: <host:name>ns1.example.com</host:name>
478
+ C: </host:info>
479
+ C: </info>
480
+ C: <clTRID>ABC-12345</clTRID>
481
+ C: </command>
482
+ C:</epp>
483
+
484
+ When an <info> command has been processed successfully, the EPP
485
+ <resData> element MUST contain a child <host:infData> element that
486
+ identifies the host namespace. The <host:infData> element contains
487
+ the following child elements:
488
+
489
+ - A <host:name> element that contains the fully qualified name of
490
+ the host object.
491
+
492
+ - A <host:roid> element that contains the Repository Object
493
+ IDentifier assigned to the host object when the object was
494
+ created.
495
+
496
+ - One or more <host:status> elements that describe the status of the
497
+ host object.
498
+
499
+ - Zero or more <host:addr> elements that contain the IP addresses
500
+ associated with the host object.
501
+
502
+
503
+
504
+
505
+
506
+ Hollenbeck Standards Track [Page 9]
507
+
508
+ RFC 5732 EPP Host Mapping August 2009
509
+
510
+
511
+ - A <host:clID> element that contains the identifier of the
512
+ sponsoring client.
513
+
514
+ - A <host:crID> element that contains the identifier of the client
515
+ that created the host object.
516
+
517
+ - A <host:crDate> element that contains the date and time of host-
518
+ object creation.
519
+
520
+ - A <host:upID> element that contains the identifier of the client
521
+ that last updated the host object. This element MUST NOT be
522
+ present if the host object has never been modified.
523
+
524
+ - A <host:upDate> element that contains the date and time of the
525
+ most recent host-object modification. This element MUST NOT be
526
+ present if the host object has never been modified.
527
+
528
+ - A <host:trDate> element that contains the date and time of the
529
+ most recent successful host-object transfer. This element MUST
530
+ NOT be provided if the host object has never been transferred.
531
+ Note that host objects MUST NOT be transferred directly; host
532
+ objects MUST be transferred implicitly when the host object's
533
+ superordinate domain object is transferred. Host objects that are
534
+ subject to transfer when transferring a domain object are listed
535
+ in the response to an EPP <info> command performed on the domain
536
+ object.
537
+
538
+ Example <info> response:
539
+
540
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
541
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
542
+ S: <response>
543
+ S: <result code="1000">
544
+ S: <msg>Command completed successfully</msg>
545
+ S: </result>
546
+ S: <resData>
547
+ S: <host:infData
548
+ S: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
549
+ S: <host:name>ns1.example.com</host:name>
550
+ S: <host:roid>NS1_EXAMPLE1-REP</host:roid>
551
+ S: <host:status s="linked"/>
552
+ S: <host:status s="clientUpdateProhibited"/>
553
+ S: <host:addr ip="v4">192.0.2.2</host:addr>
554
+ S: <host:addr ip="v4">192.0.2.29</host:addr>
555
+ S: <host:addr ip="v6">1080:0:0:0:8:800:200C:417A</host:addr>
556
+ S: <host:clID>ClientY</host:clID>
557
+ S: <host:crID>ClientX</host:crID>
558
+ S: <host:crDate>1999-04-03T22:00:00.0Z</host:crDate>
559
+
560
+
561
+
562
+ Hollenbeck Standards Track [Page 10]
563
+
564
+ RFC 5732 EPP Host Mapping August 2009
565
+
566
+
567
+ S: <host:upID>ClientX</host:upID>
568
+ S: <host:upDate>1999-12-03T09:00:00.0Z</host:upDate>
569
+ S: <host:trDate>2000-04-08T09:00:00.0Z</host:trDate>
570
+ S: </host:infData>
571
+ S: </resData>
572
+ S: <trID>
573
+ S: <clTRID>ABC-12345</clTRID>
574
+ S: <svTRID>54322-XYZ</svTRID>
575
+ S: </trID>
576
+ S: </response>
577
+ S:</epp>
578
+
579
+ An EPP error response MUST be returned if an <info> command cannot be
580
+ processed for any reason.
581
+
582
+ 3.1.3. EPP <transfer> Query Command
583
+
584
+ Transfer semantics do not directly apply to host objects, so there is
585
+ no mapping defined for the EPP <transfer> query command.
586
+
587
+ 3.2. EPP Transform Commands
588
+
589
+ EPP provides three commands to transform host objects: <create> to
590
+ create an instance of a host object, <delete> to delete an instance
591
+ of a host object, and <update> to change information associated with
592
+ a host object. This document does not define host-object mappings
593
+ for the EPP <renew> and <transfer> commands.
594
+
595
+ Transform commands are typically processed and completed in real
596
+ time. Server operators MAY receive and process transform commands
597
+ but defer completing the requested action if human or third-party
598
+ review is required before the requested action can be completed. In
599
+ such situations, the server MUST return a 1001 response code to the
600
+ client to note that the command has been received and processed but
601
+ that the requested action is pending. The server MUST also manage
602
+ the status of the object that is the subject of the command to
603
+ reflect the initiation and completion of the requested action. Once
604
+ the action has been completed, all clients involved in the
605
+ transaction MUST be notified using a service message that the action
606
+ has been completed and that the status of the object has changed.
607
+ Other notification methods MAY be used in addition to the required
608
+ service message.
609
+
610
+ Server operators SHOULD confirm that a client is authorized to
611
+ perform a transform command on a given object. Any attempt to
612
+ transform an object by an unauthorized client MUST be rejected, and
613
+ the server MUST return a 2201 response code to the client to note
614
+ that the client lacks privileges to execute the requested command.
615
+
616
+
617
+
618
+ Hollenbeck Standards Track [Page 11]
619
+
620
+ RFC 5732 EPP Host Mapping August 2009
621
+
622
+
623
+ 3.2.1. EPP <create> Command
624
+
625
+ The EPP <create> command provides a transform operation that allows a
626
+ client to create a host object. In addition to the standard EPP
627
+ command elements, the <create> command MUST contain a <host:create>
628
+ element that identifies the host namespace. The <host:create>
629
+ element contains the following child elements:
630
+
631
+ - A <host:name> element that contains the fully qualified name of
632
+ the host object to be created.
633
+
634
+ - Zero or more <host:addr> elements that contain the IP addresses to
635
+ be associated with the host. Each element MAY contain an "ip"
636
+ attribute to identify the IP address format. Attribute value "v4"
637
+ is used to note IPv4 address format. Attribute value "v6" is used
638
+ to note IPv6 address format. If the "ip" attribute is not
639
+ specified, "v4" is the default attribute value.
640
+
641
+ Hosts can be provisioned for use as name servers in the Domain Name
642
+ System (DNS), described in [RFC1034] and [RFC1035]. Hosts
643
+ provisioned as name servers might be subject to server-operator
644
+ policies that require or prohibit specification of IP addresses,
645
+ depending on the name of the host and the namespace in which the
646
+ server will be used as a name server. When provisioned for use as a
647
+ name server, IP addresses are REQUIRED only as needed to produce DNS
648
+ glue records. For example, if the server is authoritative for the
649
+ "com" namespace and the name of the server is "ns1.example.net", the
650
+ server is not required to produce DNS glue records for the name
651
+ server, and IP addresses for the server are not required by the DNS.
652
+
653
+ If the host name exists in a namespace for which the server is
654
+ authoritative, then the superordinate domain of the host MUST be
655
+ known to the server before the host object can be created.
656
+
657
+ Example <create> command:
658
+
659
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
660
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
661
+ C: <command>
662
+ C: <create>
663
+ C: <host:create
664
+ C: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
665
+ C: <host:name>ns1.example.com</host:name>
666
+ C: <host:addr ip="v4">192.0.2.2</host:addr>
667
+ C: <host:addr ip="v4">192.0.2.29</host:addr>
668
+ C: <host:addr ip="v6">1080:0:0:0:8:800:200C:417A</host:addr>
669
+ C: </host:create>
670
+ C: </create>
671
+
672
+
673
+
674
+ Hollenbeck Standards Track [Page 12]
675
+
676
+ RFC 5732 EPP Host Mapping August 2009
677
+
678
+
679
+ C: <clTRID>ABC-12345</clTRID>
680
+ C: </command>
681
+ C:</epp>
682
+
683
+ When a <create> command has been processed successfully, the EPP
684
+ <resData> element MUST contain a child <host:creData> element that
685
+ identifies the host namespace. The <host:creData> element contains
686
+ the following child elements:
687
+
688
+ - A <host:name> element that contains the fully qualified name of
689
+ the host object.
690
+
691
+ - A <host:crDate> element that contains the date and time of host-
692
+ object creation.
693
+
694
+ Example <create> response:
695
+
696
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
697
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
698
+ S: <response>
699
+ S: <result code="1000">
700
+ S: <msg>Command completed successfully</msg>
701
+ S: </result>
702
+ S: <resData>
703
+ S: <host:creData
704
+ S: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
705
+ S: <host:name>ns1.example.com</host:name>
706
+ S: <host:crDate>1999-04-03T22:00:00.0Z</host:crDate>
707
+ S: </host:creData>
708
+ S: </resData>
709
+ S: <trID>
710
+ S: <clTRID>ABC-12345</clTRID>
711
+ S: <svTRID>54322-XYZ</svTRID>
712
+ S: </trID>
713
+ S: </response>
714
+ S:</epp>
715
+
716
+ An EPP error response MUST be returned if a <create> command cannot
717
+ be processed for any reason.
718
+
719
+ 3.2.2. EPP <delete> Command
720
+
721
+ The EPP <delete> command provides a transform operation that allows a
722
+ client to delete a host object. In addition to the standard EPP
723
+ command elements, the <delete> command MUST contain a <host:delete>
724
+ element that identifies the host namespace. The <host:delete>
725
+ element contains the following child elements:
726
+
727
+
728
+
729
+
730
+ Hollenbeck Standards Track [Page 13]
731
+
732
+ RFC 5732 EPP Host Mapping August 2009
733
+
734
+
735
+ - A <host:name> element that contains the fully qualified name of
736
+ the host object to be deleted.
737
+
738
+ A host name object SHOULD NOT be deleted if the host object is
739
+ associated with any other object. For example, if the host object is
740
+ associated with a domain object, the host object SHOULD NOT be
741
+ deleted until the existing association has been broken. Deleting a
742
+ host object without first breaking existing associations can cause
743
+ DNS resolution failure for domain objects that refer to the deleted
744
+ host object.
745
+
746
+ Example <delete> command:
747
+
748
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
749
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
750
+ C: <command>
751
+ C: <delete>
752
+ C: <host:delete
753
+ C: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
754
+ C: <host:name>ns1.example.com</host:name>
755
+ C: </host:delete>
756
+ C: </delete>
757
+ C: <clTRID>ABC-12345</clTRID>
758
+ C: </command>
759
+ C:</epp>
760
+
761
+ When a <delete> command has been processed successfully, a server
762
+ MUST respond with an EPP response with no <resData> element.
763
+
764
+ Example <delete> response:
765
+
766
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
767
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
768
+ S: <response>
769
+ S: <result code="1000">
770
+ S: <msg>Command completed successfully</msg>
771
+ S: </result>
772
+ S: <trID>
773
+ S: <clTRID>ABC-12345</clTRID>
774
+ S: <svTRID>54321-XYZ</svTRID>
775
+ S: </trID>
776
+ S: </response>
777
+ S:</epp>
778
+
779
+ An EPP error response MUST be returned if a <delete> command cannot
780
+ be processed for any reason.
781
+
782
+
783
+
784
+
785
+
786
+ Hollenbeck Standards Track [Page 14]
787
+
788
+ RFC 5732 EPP Host Mapping August 2009
789
+
790
+
791
+ 3.2.3. EPP <renew> Command
792
+
793
+ Renewal semantics do not apply to host objects, so there is no
794
+ mapping defined for the EPP <renew> command.
795
+
796
+ 3.2.4. EPP <transfer> Command
797
+
798
+ Transfer semantics do not directly apply to host objects, so there is
799
+ no mapping defined for the EPP <transfer> command. Host objects are
800
+ subordinate to an existing superordinate domain object and, as such,
801
+ they are subject to transfer when a domain object is transferred.
802
+
803
+ 3.2.5. EPP <update> Command
804
+
805
+ The EPP <update> command provides a transform operation that allows a
806
+ client to modify the attributes of a host object. In addition to the
807
+ standard EPP command elements, the <update> command MUST contain a
808
+ <host:update> element that identifies the host namespace. The <host:
809
+ update> element contains the following child elements:
810
+
811
+ - A <host:name> element that contains the fully qualified name of
812
+ the host object to be updated.
813
+
814
+ - An OPTIONAL <host:add> element that contains attribute values to
815
+ be added to the object.
816
+
817
+ - An OPTIONAL <host:rem> element that contains attribute values to
818
+ be removed from the object.
819
+
820
+ - An OPTIONAL <host:chg> element that contains object attribute
821
+ values to be changed.
822
+
823
+ At least one <host:add>, <host:rem>, or <host:chg> element MUST be
824
+ provided if the command is not being extended. All of these elements
825
+ MAY be omitted if an <update> extension is present. The <host:add>
826
+ and <host:rem> elements contain the following child elements:
827
+
828
+ - One or more <host:addr> elements that contain IP addresses to be
829
+ associated with or removed from the host object. IP address
830
+ restrictions described in the <create> command mapping apply here
831
+ as well.
832
+
833
+ - One or more <host:status> elements that contain status values to
834
+ be associated with or removed from the object. When specifying a
835
+ value to be removed, only the attribute value is significant;
836
+ element text is not required to match a value for removal.
837
+
838
+
839
+
840
+
841
+
842
+ Hollenbeck Standards Track [Page 15]
843
+
844
+ RFC 5732 EPP Host Mapping August 2009
845
+
846
+
847
+ A <host:chg> element contains the following child elements:
848
+
849
+ - A <host:name> element that contains a new fully qualified host
850
+ name by which the host object will be known.
851
+
852
+ Host name changes MAY require the addition or removal of IP addresses
853
+ to be accepted by the server. IP address association MAY be subject
854
+ to server policies for provisioning hosts as name servers.
855
+
856
+ Host name changes can have an impact on associated objects that refer
857
+ to the host object. A host name change SHOULD NOT require additional
858
+ updates of associated objects to preserve existing associations, with
859
+ one exception: changing an external host object that has associations
860
+ with objects that are sponsored by a different client. Attempts to
861
+ update such hosts directly MUST fail with EPP error code 2305. The
862
+ change can be provisioned by creating a new external host with a new
863
+ name and any needed new attributes, and subsequently updating the
864
+ other objects sponsored by the client.
865
+
866
+ Example <update> command:
867
+
868
+ C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
869
+ C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
870
+ C: <command>
871
+ C: <update>
872
+ C: <host:update
873
+ C: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
874
+ C: <host:name>ns1.example.com</host:name>
875
+ C: <host:add>
876
+ C: <host:addr ip="v4">192.0.2.22</host:addr>
877
+ C: <host:status s="clientUpdateProhibited"/>
878
+ C: </host:add>
879
+ C: <host:rem>
880
+ C: <host:addr ip="v6">1080:0:0:0:8:800:200C:417A</host:addr>
881
+ C: </host:rem>
882
+ C: <host:chg>
883
+ C: <host:name>ns2.example.com</host:name>
884
+ C: </host:chg>
885
+ C: </host:update>
886
+ C: </update>
887
+ C: <clTRID>ABC-12345</clTRID>
888
+ C: </command>
889
+ C:</epp>
890
+
891
+ When an <update> command has been processed successfully, a server
892
+ MUST respond with an EPP response with no <resData> element.
893
+
894
+
895
+
896
+
897
+
898
+ Hollenbeck Standards Track [Page 16]
899
+
900
+ RFC 5732 EPP Host Mapping August 2009
901
+
902
+
903
+ Example <update> response:
904
+
905
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
906
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
907
+ S: <response>
908
+ S: <result code="1000">
909
+ S: <msg>Command completed successfully</msg>
910
+ S: </result>
911
+ S: <trID>
912
+ S: <clTRID>ABC-12345</clTRID>
913
+ S: <svTRID>54321-XYZ</svTRID>
914
+ S: </trID>
915
+ S: </response>
916
+ S:</epp>
917
+
918
+ An EPP error response MUST be returned if an <update> command could
919
+ not be processed for any reason.
920
+
921
+ 3.3. Offline Review of Requested Actions
922
+
923
+ Commands are processed by a server in the order they are received
924
+ from a client. Though an immediate response confirming receipt and
925
+ processing of the command is produced by the server, a server
926
+ operator MAY perform an offline review of requested transform
927
+ commands before completing the requested action. In such situations,
928
+ the response from the server MUST clearly note that the transform
929
+ command has been received and processed, but the requested action is
930
+ pending. The status of the corresponding object MUST clearly reflect
931
+ processing of the pending action. The server MUST notify the client
932
+ when offline processing of the action has been completed.
933
+
934
+ Examples describing a <create> command that requires offline review
935
+ are included here. Note the result code and message returned in
936
+ response to the <create> command.
937
+
938
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
939
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
940
+ S: <response>
941
+ S: <result code="1001">
942
+ S: <msg>Command completed successfully; action pending</msg>
943
+ S: </result>
944
+ S: <resData>
945
+ S: <host:creData
946
+ S: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
947
+ S: <host:name>ns1.example.com</host:name>
948
+ S: <host:crDate>1999-04-03T22:00:00.0Z</host:crDate>
949
+ S: </host:creData>
950
+ S: </resData>
951
+
952
+
953
+
954
+ Hollenbeck Standards Track [Page 17]
955
+
956
+ RFC 5732 EPP Host Mapping August 2009
957
+
958
+
959
+ S: <trID>
960
+ S: <clTRID>ABC-12345</clTRID>
961
+ S: <svTRID>54322-XYZ</svTRID>
962
+ S: </trID>
963
+ S: </response>
964
+ S:</epp>
965
+
966
+ The status of the host object after returning this response MUST
967
+ include "pendingCreate". The server operator reviews the request
968
+ offline and informs the client of the outcome of the review either by
969
+ queuing a service message for retrieval via the <poll> command or by
970
+ using an out-of-band mechanism to inform the client of the request.
971
+
972
+ The service message MUST contain text that describes the notification
973
+ in the child <msg> element of the response <msgQ> element. In
974
+ addition, the EPP <resData> element MUST contain a child <host:
975
+ panData> element that identifies the host namespace. The <host:
976
+ panData> element contains the following child elements:
977
+
978
+ - A <host:name> element that contains the fully qualified name of
979
+ the host object. The <host:name> element contains a REQUIRED
980
+ "paResult" attribute. A positive boolean value indicates that the
981
+ request has been approved and completed. A negative boolean value
982
+ indicates that the request has been denied and the requested
983
+ action has not been taken.
984
+
985
+ - A <host:paTRID> element that contains the client transaction
986
+ identifier and server transaction identifier returned with the
987
+ original response to process the command. The client transaction
988
+ identifier is OPTIONAL and will only be returned if the client
989
+ provided an identifier with the original <create> command.
990
+
991
+ - A <host:paDate> element that contains the date and time describing
992
+ when review of the requested action was completed.
993
+
994
+ Example "review completed" service message:
995
+
996
+ S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
997
+ S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
998
+ S: <response>
999
+ S: <result code="1301">
1000
+ S: <msg>Command completed successfully; ack to dequeue</msg>
1001
+ S: </result>
1002
+ S: <msgQ count="5" id="12345">
1003
+ S: <qDate>1999-04-04T22:01:00.0Z</qDate>
1004
+ S: <msg>Pending action completed successfully.</msg>
1005
+ S: </msgQ>
1006
+ S: <resData>
1007
+
1008
+
1009
+
1010
+ Hollenbeck Standards Track [Page 18]
1011
+
1012
+ RFC 5732 EPP Host Mapping August 2009
1013
+
1014
+
1015
+ S: <host:panData
1016
+ S: xmlns:host="urn:ietf:params:xml:ns:host-1.0">
1017
+ S: <host:name paResult="1">ns1.example.com</host:name>
1018
+ S: <host:paTRID>
1019
+ S: <clTRID>ABC-12345</clTRID>
1020
+ S: <svTRID>54322-XYZ</svTRID>
1021
+ S: </host:paTRID>
1022
+ S: <host:paDate>1999-04-04T22:00:00.0Z</host:paDate>
1023
+ S: </host:panData>
1024
+ S: </resData>
1025
+ S: <trID>
1026
+ S: <clTRID>BCD-23456</clTRID>
1027
+ S: <svTRID>65432-WXY</svTRID>
1028
+ S: </trID>
1029
+ S: </response>
1030
+ S:</epp>
1031
+
1032
+ 4. Formal Syntax
1033
+
1034
+ An EPP object mapping is specified in XML Schema notation. The
1035
+ formal syntax presented here is a complete schema representation of
1036
+ the object mapping suitable for automated validation of EPP XML
1037
+ instances. The BEGIN and END tags are not part of the schema; they
1038
+ are used to note the beginning and ending of the schema for URI
1039
+ registration purposes.
1040
+
1041
+ Copyright (c) 2009 IETF Trust and the persons identified as authors
1042
+ of the code. All rights reserved.
1043
+
1044
+ Redistribution and use in source and binary forms, with or without
1045
+ modification, are permitted provided that the following conditions
1046
+ are met:
1047
+
1048
+ o Redistributions of source code must retain the above copyright
1049
+ notice, this list of conditions and the following disclaimer.
1050
+
1051
+ o Redistributions in binary form must reproduce the above copyright
1052
+ notice, this list of conditions and the following disclaimer in
1053
+ the documentation and/or other materials provided with the
1054
+ distribution.
1055
+
1056
+ o Neither the name of Internet Society, IETF or IETF Trust, nor the
1057
+ names of specific contributors, may be used to endorse or promote
1058
+ products derived from this software without specific prior written
1059
+ permission.
1060
+
1061
+
1062
+
1063
+
1064
+
1065
+
1066
+ Hollenbeck Standards Track [Page 19]
1067
+
1068
+ RFC 5732 EPP Host Mapping August 2009
1069
+
1070
+
1071
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1072
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1073
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1074
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1075
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1076
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1077
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1078
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1079
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1080
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1081
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1082
+
1083
+ BEGIN
1084
+ <?xml version="1.0" encoding="UTF-8"?>
1085
+
1086
+ <schema targetNamespace="urn:ietf:params:xml:ns:host-1.0"
1087
+ xmlns:host="urn:ietf:params:xml:ns:host-1.0"
1088
+ xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
1089
+ xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
1090
+ xmlns="http://www.w3.org/2001/XMLSchema"
1091
+ elementFormDefault="qualified">
1092
+
1093
+ <!--
1094
+ Import common element types.
1095
+ -->
1096
+ <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
1097
+ <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
1098
+
1099
+ <annotation>
1100
+ <documentation>
1101
+ Extensible Provisioning Protocol v1.0
1102
+ host provisioning schema.
1103
+ </documentation>
1104
+ </annotation>
1105
+
1106
+ <!--
1107
+ Child elements found in EPP commands.
1108
+ -->
1109
+ <element name="check" type="host:mNameType"/>
1110
+ <element name="create" type="host:createType"/>
1111
+ <element name="delete" type="host:sNameType"/>
1112
+ <element name="info" type="host:sNameType"/>
1113
+ <element name="update" type="host:updateType"/>
1114
+
1115
+ <!--
1116
+ Child elements of the <create> command.
1117
+ -->
1118
+ <complexType name="createType">
1119
+
1120
+
1121
+
1122
+ Hollenbeck Standards Track [Page 20]
1123
+
1124
+ RFC 5732 EPP Host Mapping August 2009
1125
+
1126
+
1127
+ <sequence>
1128
+ <element name="name" type="eppcom:labelType"/>
1129
+ <element name="addr" type="host:addrType"
1130
+ minOccurs="0" maxOccurs="unbounded"/>
1131
+ </sequence>
1132
+ </complexType>
1133
+
1134
+ <complexType name="addrType">
1135
+ <simpleContent>
1136
+ <extension base="host:addrStringType">
1137
+ <attribute name="ip" type="host:ipType"
1138
+ default="v4"/>
1139
+ </extension>
1140
+ </simpleContent>
1141
+ </complexType>
1142
+
1143
+ <simpleType name="addrStringType">
1144
+ <restriction base="token">
1145
+ <minLength value="3"/>
1146
+ <maxLength value="45"/>
1147
+ </restriction>
1148
+ </simpleType>
1149
+
1150
+ <simpleType name="ipType">
1151
+ <restriction base="token">
1152
+ <enumeration value="v4"/>
1153
+ <enumeration value="v6"/>
1154
+ </restriction>
1155
+ </simpleType>
1156
+
1157
+ <!--
1158
+ Child elements of the <delete> and <info> commands.
1159
+ -->
1160
+ <complexType name="sNameType">
1161
+ <sequence>
1162
+ <element name="name" type="eppcom:labelType"/>
1163
+ </sequence>
1164
+ </complexType>
1165
+
1166
+ <!--
1167
+ Child element of commands that accept multiple names.
1168
+ -->
1169
+ <complexType name="mNameType">
1170
+ <sequence>
1171
+ <element name="name" type="eppcom:labelType"
1172
+ maxOccurs="unbounded"/>
1173
+ </sequence>
1174
+ </complexType>
1175
+
1176
+
1177
+
1178
+ Hollenbeck Standards Track [Page 21]
1179
+
1180
+ RFC 5732 EPP Host Mapping August 2009
1181
+
1182
+
1183
+ <!--
1184
+ Child elements of the <update> command.
1185
+ -->
1186
+ <complexType name="updateType">
1187
+ <sequence>
1188
+ <element name="name" type="eppcom:labelType"/>
1189
+ <element name="add" type="host:addRemType"
1190
+ minOccurs="0"/>
1191
+ <element name="rem" type="host:addRemType"
1192
+ minOccurs="0"/>
1193
+ <element name="chg" type="host:chgType"
1194
+ minOccurs="0"/>
1195
+ </sequence>
1196
+ </complexType>
1197
+
1198
+ <!--
1199
+ Data elements that can be added or removed.
1200
+ -->
1201
+ <complexType name="addRemType">
1202
+ <sequence>
1203
+ <element name="addr" type="host:addrType"
1204
+ minOccurs="0" maxOccurs="unbounded"/>
1205
+ <element name="status" type="host:statusType"
1206
+ minOccurs="0" maxOccurs="7"/>
1207
+ </sequence>
1208
+ </complexType>
1209
+
1210
+ <!--
1211
+ Data elements that can be changed.
1212
+ -->
1213
+ <complexType name="chgType">
1214
+ <sequence>
1215
+ <element name="name" type="eppcom:labelType"/>
1216
+ </sequence>
1217
+ </complexType>
1218
+
1219
+ <!--
1220
+ Child response elements.
1221
+ -->
1222
+ <element name="chkData" type="host:chkDataType"/>
1223
+ <element name="creData" type="host:creDataType"/>
1224
+ <element name="infData" type="host:infDataType"/>
1225
+ <element name="panData" type="host:panDataType"/>
1226
+
1227
+ <!--
1228
+ <check> response elements.
1229
+ -->
1230
+ <complexType name="chkDataType">
1231
+
1232
+
1233
+
1234
+ Hollenbeck Standards Track [Page 22]
1235
+
1236
+ RFC 5732 EPP Host Mapping August 2009
1237
+
1238
+
1239
+ <sequence>
1240
+ <element name="cd" type="host:checkType"
1241
+ maxOccurs="unbounded"/>
1242
+ </sequence>
1243
+ </complexType>
1244
+
1245
+ <complexType name="checkType">
1246
+ <sequence>
1247
+ <element name="name" type="host:checkNameType"/>
1248
+ <element name="reason" type="eppcom:reasonType"
1249
+ minOccurs="0"/>
1250
+ </sequence>
1251
+ </complexType>
1252
+
1253
+ <complexType name="checkNameType">
1254
+ <simpleContent>
1255
+ <extension base="eppcom:labelType">
1256
+ <attribute name="avail" type="boolean"
1257
+ use="required"/>
1258
+ </extension>
1259
+ </simpleContent>
1260
+ </complexType>
1261
+
1262
+ <!--
1263
+ <create> response elements.
1264
+ -->
1265
+ <complexType name="creDataType">
1266
+ <sequence>
1267
+ <element name="name" type="eppcom:labelType"/>
1268
+ <element name="crDate" type="dateTime"/>
1269
+ </sequence>
1270
+ </complexType>
1271
+
1272
+ <!--
1273
+ <info> response elements.
1274
+ -->
1275
+ <complexType name="infDataType">
1276
+ <sequence>
1277
+ <element name="name" type="eppcom:labelType"/>
1278
+ <element name="roid" type="eppcom:roidType"/>
1279
+ <element name="status" type="host:statusType"
1280
+ maxOccurs="7"/>
1281
+ <element name="addr" type="host:addrType"
1282
+ minOccurs="0" maxOccurs="unbounded"/>
1283
+ <element name="clID" type="eppcom:clIDType"/>
1284
+ <element name="crID" type="eppcom:clIDType"/>
1285
+ <element name="crDate" type="dateTime"/>
1286
+ <element name="upID" type="eppcom:clIDType"
1287
+
1288
+
1289
+
1290
+ Hollenbeck Standards Track [Page 23]
1291
+
1292
+ RFC 5732 EPP Host Mapping August 2009
1293
+
1294
+
1295
+ minOccurs="0"/>
1296
+ <element name="upDate" type="dateTime"
1297
+ minOccurs="0"/>
1298
+ <element name="trDate" type="dateTime"
1299
+ minOccurs="0"/>
1300
+ </sequence>
1301
+ </complexType>
1302
+
1303
+ <!--
1304
+ Status is a combination of attributes and an optional human-readable
1305
+ message that may be expressed in languages other than English.
1306
+ -->
1307
+ <complexType name="statusType">
1308
+ <simpleContent>
1309
+ <extension base="normalizedString">
1310
+ <attribute name="s" type="host:statusValueType"
1311
+ use="required"/>
1312
+ <attribute name="lang" type="language"
1313
+ default="en"/>
1314
+ </extension>
1315
+ </simpleContent>
1316
+ </complexType>
1317
+
1318
+ <simpleType name="statusValueType">
1319
+ <restriction base="token">
1320
+ <enumeration value="clientDeleteProhibited"/>
1321
+ <enumeration value="clientUpdateProhibited"/>
1322
+ <enumeration value="linked"/>
1323
+ <enumeration value="ok"/>
1324
+ <enumeration value="pendingCreate"/>
1325
+ <enumeration value="pendingDelete"/>
1326
+ <enumeration value="pendingTransfer"/>
1327
+ <enumeration value="pendingUpdate"/>
1328
+ <enumeration value="serverDeleteProhibited"/>
1329
+ <enumeration value="serverUpdateProhibited"/>
1330
+ </restriction>
1331
+ </simpleType>
1332
+
1333
+ <!--
1334
+ Pending action notification response elements.
1335
+ -->
1336
+ <complexType name="panDataType">
1337
+ <sequence>
1338
+ <element name="name" type="host:paNameType"/>
1339
+ <element name="paTRID" type="epp:trIDType"/>
1340
+ <element name="paDate" type="dateTime"/>
1341
+ </sequence>
1342
+ </complexType>
1343
+
1344
+
1345
+
1346
+ Hollenbeck Standards Track [Page 24]
1347
+
1348
+ RFC 5732 EPP Host Mapping August 2009
1349
+
1350
+
1351
+ <complexType name="paNameType">
1352
+ <simpleContent>
1353
+ <extension base="eppcom:labelType">
1354
+ <attribute name="paResult" type="boolean"
1355
+ use="required"/>
1356
+ </extension>
1357
+ </simpleContent>
1358
+ </complexType>
1359
+
1360
+ <!--
1361
+ End of schema.
1362
+ -->
1363
+ </schema>
1364
+ END
1365
+
1366
+ 5. Internationalization Considerations
1367
+
1368
+ EPP is represented in XML, which provides native support for encoding
1369
+ information using the Unicode character set and its more compact
1370
+ representations including UTF-8. Conformant XML processors recognize
1371
+ both UTF-8 and UTF-16 [RFC2781]. Though XML includes provisions to
1372
+ identify and use other character encodings through use of an
1373
+ "encoding" attribute in an <?xml?> declaration, use of UTF-8 is
1374
+ RECOMMENDED in environments where parser encoding support
1375
+ incompatibility exists.
1376
+
1377
+ All date-time values presented via EPP MUST be expressed in Universal
1378
+ Coordinated Time using the Gregorian calendar. XML Schema allows use
1379
+ of time zone identifiers to indicate offsets from the zero meridian,
1380
+ but this option MUST NOT be used with EPP. The extended date-time
1381
+ form using upper case "T" and "Z" characters defined in
1382
+ [W3C.REC-xmlschema-2-20041028] MUST be used to represent date-time
1383
+ values, as XML Schema does not support truncated date-time forms or
1384
+ lower case "T" and "Z" characters.
1385
+
1386
+ The syntax for domain and host names described in this document MUST
1387
+ conform to [RFC0952] and [RFC1123]. At the time of this writing, RFC
1388
+ 3490 [RFC3490] describes a standard to use certain ASCII name labels
1389
+ to represent non-ASCII name labels. These conformance requirements
1390
+ might change as a result of progressing work in developing standards
1391
+ for internationalized host names.
1392
+
1393
+ 6. IANA Considerations
1394
+
1395
+ This document uses URNs to describe XML namespaces and XML schemas
1396
+ conforming to a registry mechanism described in [RFC3688]. Two URI
1397
+ assignments have been registered by the IANA.
1398
+
1399
+
1400
+
1401
+
1402
+ Hollenbeck Standards Track [Page 25]
1403
+
1404
+ RFC 5732 EPP Host Mapping August 2009
1405
+
1406
+
1407
+ Registration request for the host namespace:
1408
+
1409
+ URI: urn:ietf:params:xml:ns:host-1.0
1410
+
1411
+ Registrant Contact: See the "Author's Address" section of this
1412
+ document.
1413
+
1414
+ XML: None. Namespace URIs do not represent an XML specification.
1415
+
1416
+ Registration request for the host XML schema:
1417
+
1418
+ URI: urn:ietf:params:xml:schema:host-1.0
1419
+
1420
+ Registrant Contact: See the "Author's Address" section of this
1421
+ document.
1422
+
1423
+ XML: See the "Formal Syntax" section of this document.
1424
+
1425
+ 7. Security Considerations
1426
+
1427
+ The object mapping described in this document does not provide any
1428
+ security services or introduce any additional considerations beyond
1429
+ those described by [RFC5730] or those caused by the protocol layers
1430
+ used by EPP.
1431
+
1432
+ 8. Acknowledgements
1433
+
1434
+ RFC 3732 is a product of the PROVREG working group, which suggested
1435
+ improvements and provided many invaluable comments. The author
1436
+ wishes to acknowledge the efforts of WG chairs Edward Lewis and Jaap
1437
+ Akkerhuis for their process and editorial contributions. RFC 4932
1438
+ and this document are individual submissions, based on the work done
1439
+ in RFC 3732.
1440
+
1441
+ Specific suggestions that have been incorporated into this document
1442
+ were provided by Chris Bason, Jordyn Buchanan, Dave Crocker, Anthony
1443
+ Eden, Sheer El-Showk, Klaus Malorny, Dan Manley, Michael Mealling,
1444
+ Patrick Mevzek, and Rick Wesson.
1445
+
1446
+ 9. References
1447
+
1448
+ 9.1. Normative References
1449
+
1450
+ [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
1451
+ September 1981.
1452
+
1453
+ [RFC0952] Harrenstien, K., Stahl, M., and E. Feinler, "DoD Internet
1454
+ host table specification", RFC 952, October 1985.
1455
+
1456
+
1457
+
1458
+ Hollenbeck Standards Track [Page 26]
1459
+
1460
+ RFC 5732 EPP Host Mapping August 2009
1461
+
1462
+
1463
+ [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
1464
+ STD 13, RFC 1034, November 1987.
1465
+
1466
+ [RFC1035] Mockapetris, P., "Domain names - implementation and
1467
+ specification", STD 13, RFC 1035, November 1987.
1468
+
1469
+ [RFC1123] Braden, R., "Requirements for Internet Hosts - Application
1470
+ and Support", STD 3, RFC 1123, October 1989.
1471
+
1472
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
1473
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
1474
+
1475
+ [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
1476
+ January 2004.
1477
+
1478
+ [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
1479
+ Architecture", RFC 4291, February 2006.
1480
+
1481
+ [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)",
1482
+ STD 69, RFC 5730, August 2009.
1483
+
1484
+ [W3C.REC-xml-20040204]
1485
+ Sperberg-McQueen, C., Maler, E., Yergeau, F., Paoli, J.,
1486
+ and T. Bray, "Extensible Markup Language (XML) 1.0 (Third
1487
+ Edition)", World Wide Web Consortium FirstEdition REC-xml-
1488
+ 20040204, February 2004,
1489
+ <http://www.w3.org/TR/2004/REC-xml-20040204>.
1490
+
1491
+ [W3C.REC-xmlschema-1-20041028]
1492
+ Maloney, M., Thompson, H., Mendelsohn, N., and D. Beech,
1493
+ "XML Schema Part 1: Structures Second Edition", World Wide
1494
+ Web Consortium Recommendation REC-xmlschema-1-20041028,
1495
+ October 2004,
1496
+ <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>.
1497
+
1498
+ [W3C.REC-xmlschema-2-20041028]
1499
+ Malhotra, A. and P. Biron, "XML Schema Part 2: Datatypes
1500
+ Second Edition", World Wide Web Consortium
1501
+ Recommendation REC-xmlschema-2-20041028, October 2004,
1502
+ <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>.
1503
+
1504
+ 9.2. Informative References
1505
+
1506
+ [RFC2781] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO
1507
+ 10646", RFC 2781, February 2000.
1508
+
1509
+
1510
+
1511
+
1512
+
1513
+
1514
+ Hollenbeck Standards Track [Page 27]
1515
+
1516
+ RFC 5732 EPP Host Mapping August 2009
1517
+
1518
+
1519
+ [RFC2874] Crawford, M. and C. Huitema, "DNS Extensions to Support
1520
+ IPv6 Address Aggregation and Renumbering", RFC 2874,
1521
+ July 2000.
1522
+
1523
+ [RFC3490] Faltstrom, P., Hoffman, P., and A. Costello,
1524
+ "Internationalizing Domain Names in Applications (IDNA)",
1525
+ RFC 3490, March 2003.
1526
+
1527
+ [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi,
1528
+ "DNS Extensions to Support IP Version 6", RFC 3596,
1529
+ October 2003.
1530
+
1531
+ [RFC4932] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)
1532
+ Host Mapping", RFC 4932, May 2007.
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+ Hollenbeck Standards Track [Page 28]
1571
+
1572
+ RFC 5732 EPP Host Mapping August 2009
1573
+
1574
+
1575
+ Appendix A. Changes from RFC 4932
1576
+
1577
+ 1. Changed "This document obsoletes RFC 3732" to "This document
1578
+ obsoletes RFC 4932".
1579
+
1580
+ 2. Replaced references to RFC 1886 with references to 3596.
1581
+
1582
+ 3. Removed references to RFC 3152 since both it and 1886 have been
1583
+ obsoleted by 3596.
1584
+
1585
+ 4. Replaced references to RFC 3732 with references to 4932.
1586
+
1587
+ 5. Replaced references to RFC 4930 with references to 5730.
1588
+
1589
+ 6. Added "Other notification methods MAY be used in addition to the
1590
+ required service message" in Section 3.2.
1591
+
1592
+ 7. Added 2201 response code text in Section 3.2.
1593
+
1594
+ 8. Added BSD license text to XML schema section.
1595
+
1596
+
1597
+ Author's Address
1598
+
1599
+ Scott Hollenbeck
1600
+ VeriSign, Inc.
1601
+ 21345 Ridgetop Circle
1602
+ Dulles, VA 20166-6503
1603
+ US
1604
+
1605
+ EMail: shollenbeck@verisign.com
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+
1622
+
1623
+
1624
+
1625
+
1626
+ Hollenbeck Standards Track [Page 29]
1627
+