Skip to content

immediate closing during handshake (RFC 9000 10.2.3) #940

Open
@Sashan

Description

@Sashan

I've noticed this while investigating #897 The RFC 9000 10.2.3 comes with this note:

   *  A client will always know whether the server has Handshake keys
      (see Section 17.2.2.1), but it is possible that a server does not
      know whether the client has Handshake keys.  Under these
      circumstances, a server SHOULD send a CONNECTION_CLOSE frame in
      both Handshake and Initial packets to ensure that at least one of
      them is processable by the client.

If I understand things right the scenario goes like this:

  • client connects to server
  • server accepts connection (call to SSL_accept() returns QSSC (connection object) to server application, keep in mind this may happen before handshake completes
  • handshake continues, and eventually server completes handshake and switches from handshake to 1-RTT level
  • the packet which confirms server finished handshake sent to client gets lost
  • application closes the connection
  • in this case server should send CONNECTION_CLOSE notification at handshake as well as on 1-RTT level

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Pre-Refinement

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions