Hi Mahesh,

  Does this new version look good for you?


The IETF datatracker status page for this Internet-Draft is:
https://datatracker.ietf.org/doc/draft-ietf-regext-epp-quic/

There is also an HTMLized version available at:
https://datatracker.ietf.org/doc/html/draft-ietf-regext-epp-quic-12

A diff from the previous version is available at:
https://author-tools.ietf.org/iddiff?url2=draft-ietf-regext-epp-quic-12



Thanks a lot!
Jiankng Yao

> 2026年7月4日 20:28,Jiankang Yao <[email protected]> 写道:
> 
> Hello Mahesh,
> 
>      Thanks for your kind review and nice suggestions.
>      Some comments inline below.
> 
> 
> 
>> 2026年6月28日 04:42,Mahesh Jethanandani via Datatracker <[email protected]> 写道:
>> 
>> Mahesh Jethanandani has entered the following ballot position for
>> draft-ietf-regext-epp-quic-10: Discuss
>> 
>> When responding, please keep the subject line intact and reply to all
>> email addresses included in the To and CC lines. (Feel free to cut this
>> introductory paragraph, however.)
>> 
>> 
>> Please refer to 
>> https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ 
>> for more information about how to handle DISCUSS and COMMENT positions.
>> 
>> 
>> The document, along with other ballot positions, can be found here:
>> https://datatracker.ietf.org/doc/draft-ietf-regext-epp-quic/
>> 
>> 
>> 
>> ----------------------------------------------------------------------
>> DISCUSS:
>> ----------------------------------------------------------------------
>> 
>> Section 8.8, 0-RTT and Session Resumption:
>> 
>> 472 >    Using 0-RTT for EoQ allows clients to establish connections and
>> 473 >    initiate EPP transactions without round-trip delay, enabling servers
>> 474 >    to use shorter idle timers and reduce connection overhead.  Session
>> 475 >    resumption and 0-RTT introduce privacy and replay risks.  EoQ
>> 476 >    implementations SHOULD follow [RFC8446] and [RFC9001] guidance to
>> 477 >    balance performance and risk mitigation.  Failure to do so increases
>> 478 >    privacy exposure and replay attack risks.
>> 
>> RFC 9001 Section 5.6 states: "An application protocol that uses QUIC
>> MUST include a profile that defines acceptable use of 0-RTT; otherwise,
>> 0-RTT can only be used to carry QUIC frames that do not carry
>> application data."  EoQ defines no such profile.  Directing
>> implementers to "SHOULD follow [RFC8446] and [RFC9001] guidance" is
>> not a substitute for defining that profile, and this document therefore
>> does not satisfy the MUST from RFC 9001.
>> 
>> The absence is made more serious by the text above asserting that 0-RTT
>> allows clients to "initiate EPP transactions."  If EoQ defines no
>> profile permitting EPP application data in 0-RTT, RFC 9001 prohibits
>> exactly that use.  The text and the RFC 9001 requirement are directly
>> contradictory. EPP commands, including <login> itself, are
>> not safe to replay without application-layer protections that this
>> document does not specify.
>> 
>> In my view, this section must be revised.  
>> At a minimum, the document
>> should either:
>> 
>> (a) explicitly prohibit EPP application data (including <login>) from
>> being carried in 0-RTT data, specifying only the EoQ Connection Start
>> Packet as a candidate for 0-RTT, or
>> 
>> (b) define a specific 0-RTT profile — including which EPP messages
>> may be included, what replay mitigations are required, and how session 
>> authentication
>> state interacts with resumed sessions — thereby satisfying the RFC 9001
>> MUST.
>> 
>> 
> 
> 
> Yaojk:
> 
> Thanks. I think that (b) is fine.
> 
> How about?
> 
> Old:
> “
> Using 0-RTT for EoQ allows clients to establish connections and initiate EPP 
> transactions without round-trip delay, 
> enabling servers to use shorter idle timers and reduce connection overhead. 
> Session resumption and 0-RTT introduce privacy and replay risks. 
> EoQ implementations SHOULD follow [RFC8446] and [RFC9001] guidance to balance 
> performance and risk mitigation.
>  Failure to do so increases privacy exposure and replay attack risks.
> "
> 
> 
> 
> New:
> “
> Using 0-RTT for EoQ allows clients to establish connections and initiate EPP 
> transactions without round-trip delay, 
> enabling servers to use shorter idle timers and reduce connection overhead. 
> Session resumption and 0-RTT introduce privacy and replay risks. 
> 
> 
> EPP commands fall into three categories: session management, queries and 
> transform commands. 
> EPP query commands perform read-only object information retrieval operations.
> Only read-only EPP query commands MAY be carried in 0-RTT STREAM frames; all 
> other EPP commands MUST NOT use 0-RTT. 
> 
> Clients SHOULD use resumption tickets only once specified in [RFC8446]. 
> Servers SHOULD issue session resumption tickets with a sufficiently long 
> lifetime (e.g., 6 hours).
>  Servers SHOULD implement the anti-replay mechanisms specified in Section 8 
> of [RFC8446].
> 
> EoQ implementations SHOULD follow [RFC8446] and [RFC9001] guidance to balance 
> performance and risk mitigation.
>  Failure to do so increases privacy exposure and replay attack risks.
> 
> 
> "
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>> ----------------------------------------------------------------------
>> COMMENT:
>> ----------------------------------------------------------------------
>> 
>> Section 5, Data Unit Format:
>> 
>> 305 >    The EPP data unit contains two fields: a 32-bit header that 
>> describes
>> 306 >    the total length of the data unit, and the EPP XML instance.  The
>> 307 >    length of the EPP XML instance is determined by subtracting four
>> 308 >    octets from the total length of the data unit.  A receiver must
>> 309 >    successfully read that many octets to retrieve the complete EPP XML
>> 310 >    instance before processing the EPP message.
>> 
>> The 32-bit Total Length field permits a declared length of up to
>> approximately 4 GB.  The SECDIR review (thanks, Mike) against -09 raised 
>> this concern.
>> RFC 5734 is equally silent on length-field bounds checking for the
>> identical framing it defines.  In my opinion, the Security
>> Considerations section should recommend that
>> implementations validate the declared length against a locally
>> configured maximum before allocating memory or attempting to read the
>> declared number of octets.  Without such guidance, a single crafted
>> packet with an oversized length field can exhaust a receiver's memory.
>> I would suggest adding a sentence to Section 11 to this effect.
>> 
>> ---
> 
> Yaojk:
> 
> Agree.
> 
> The following text will be added to the section 11.
> 
> “
> The 32-bit total length field defined in Section 5 allows a declared payload 
> size up to approximately 4 gigabytes.
>  Implementations MUST validate the advertised total length against a locally 
> configured maximum frame size limit 
> before allocating memory or attempting to read the full frame. Without this 
> check, an attacker could send a crafted
>  frame with an excessively large length value to exhaust receiver memory and 
> trigger a denial-of-service condition.
> "
> 
> 
> 
>> 
>> Section 6, EoQ Connection Start Packet, error handling:
>> 
>> 337 >    Absent processing errors or local policy, the server accepts the
>> 338 >    QUIC stream, reads the EoQ Connection Start Packet, and returns
>> 339 >    the EPP <greeting> to the client on same QUIC stream.
>> 
>> The document specifies that a valid EoQ Connection Start Packet MUST be
>> exactly 24 octets containing the literal string "EoQ Connection Start"
>> (Section 6).  However, it does not specify what the server MUST or
>> SHOULD do if it receives a stream-opening packet that does not conform
>> to this format — for example, if the Total Length field is not 24, or
>> if the payload does not match the expected constant.  Section 7
>> addresses error handling for malformed EPP commands, but not for a
>> malformed EoQ Connection Start Packet.  In my opinion, the document
>> should specify the required server behavior in this case (e.g., close
>> the QUIC stream, with or without returning an error).
>> 
>> ---
> 
> Yaojk:
> 
> Agree.
> 
> The following text will be added to the section 6.
> 
> "
> If the EoQ Connection Start Packet the server receives is not valid — such as 
> when the total length is not exactly 24 octets,
>  the server MUST close that QUIC stream. The server MAY return an error 
> indication prior to closing the stream.
> "
> 
> 
> 
>> 
>> Section 4, Message Exchange, stream limiting:
>> 
>> 229 >    A server SHOULD limit a client to a maximum number of QUIC
>> 230 >    streams per QUIC connection based on server capabilities and
>> 231 >    operational load.  Absent such limit, a server may be subject to
>> 232 >    overload and resource exhaustion.
>> 
>> RFC 9000 Section 4.6 defines the normative QUIC mechanism for this:
>> servers use the max_streams transport parameter and MAX_STREAMS frames
>> to limit the number of streams a peer may open, and endpoints MUST NOT
>> exceed the limit set by their peer.  In my opinion, this section should
>> reference that mechanism explicitly, so that implementers understand
>> both how to enforce the limit and the QUIC-level error (STREAM_LIMIT_ERROR)
>> that results from a client exceeding it.  The TSV-ART review against
>> -09 also noted this gap.
>> 
>> ---
> 
> 
> Agree.
> 
> 
> 
> Old:
> “
> A server SHOULD limit a client to a maximum number of QUIC streams per QUIC 
> connection based on server capabilities 
> and operational load. Absent such limit, a server may be subject to overload 
> and resource exhaustion.
> "
> 
> New:
> “
> A server SHOULD limit a client to a maximum number of QUIC streams per QUIC 
> connection based on server capabilities 
> and operational load. Absent such limit, a server may be subject to overload 
> and resource exhaustion.
>  Section 4.6 of [RFC9000] specifies this situation.
> "
> 
> 
> 
> 
>> 
>> Section 3, Session Management, max_idle_timeout:
>> 
>> 207 >    The max_idle_timeout transport parameter defined in
>> 208 >    Section 18.2 of [RFC9000] MUST NOT be set to a non-zero value by the
>> 209 >    client or server.  Once the last QUIC stream for a QUIC connection 
>> is
>> 210 >    closed, the server MAY end the QUIC connection immediately.
>> 
>> I understand the intent. However, a consequence of setting max_idle_timeout 
>> to 0 is that a
>> QUIC connection with no open streams can remain open indefinitely.
>> The server is permitted but not required to close the connection when
>> the last stream closes.  In my opinion, the document should say
>> something about the expected behavior in this state, perhaps elevating
>> the "MAY end the QUIC connection immediately" to SHOULD, to help
>> operators avoid accumulating zombie connections.
>> 
>> ---
> 
> 
> Agree.
> 
> Old:
> “
> 
> The max_idle_timeout transport parameter defined in 
> Section 18.2 of [RFC9000] MUST NOT be set to a non-zero value by the 
> client or server. Once the last QUIC stream for a QUIC connection is 
> closed, the server MAY end the QUIC connection immediately.
> "
> 
> New:
> "
> The max_idle_timeout transport parameter defined in
> Section 18.2 of [RFC9000] MUST NOT be set to a non-zero value by the
> client or server. Once the last QUIC stream for a QUIC connection is
> closed, the server MAY either immediately end the QUIC connection
> or retain the connection open in accordance with local configuration and
> operational policy.
> 
> "
> 
> 
> 
> 
>> 
>> Section 9.2, Registration of Port Number:
>> 
>> 511 >    This document requests IANA to update that entry so that it is
>> 512 >    reassigned to EPP and add a reference to this document.
>> 
>> The phrase "reassigned to EPP" is confusing because port 700/UDP is
>> already assigned to the EPP service (service name "epp").  What the
>> document is requesting is an update to the Description field (from the
>> current generic EPP text to "EPP run over QUIC") and the addition of
>> this RFC as an additional reference alongside [RFC5734].
>> The IANA request should be stated precisely: for example,
>> "This document requests IANA to update the Description field of the
>> EPP UDP/700 entry to 'EPP run over QUIC' and to add this document as
>> an additional Reference alongside [RFC5734]."
>> 
>> 
>> 
> 
> Agree.
> 
> Old:
> “
> This document requests IANA to update that entry so that it is reassigned to 
> EPP and add a reference to this document.
> "
> 
> New:
> "
> This document requests IANA to update the description field of the EPP 
> UDP/700 entry 
> to "EPP run over QUIC" and add this document as an additional Reference 
> alongside [RFC5734].
> "
> 
> 
> Thanks a lot.
> Jiankang Yao
> 
>> _______________________________________________
>> regext mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
> 

_______________________________________________
regext mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to