]> git.kaiwu.me - nginx.git/commit
QUIC: added ALPN checks.
authorVladimir Homutov <vl@nginx.com>
Thu, 18 Jun 2020 10:58:46 +0000 (13:58 +0300)
committerVladimir Homutov <vl@nginx.com>
Thu, 18 Jun 2020 10:58:46 +0000 (13:58 +0300)
commit28f1acdb6f6404cfffc7158d109e1c460dac8d94
treea57b373263e70d9b4ea35cdf7666aa19d2ab1135
parenta213258b5beb8d83a0907eed00fe402d67610303
QUIC: added ALPN checks.

quic-transport draft 29:

    section 7:

    *  authenticated negotiation of an application protocol (TLS uses
       ALPN [RFC7301] for this purpose)

    ...

    Endpoints MUST explicitly negotiate an application protocol.  This
    avoids situations where there is a disagreement about the protocol
    that is in use.

    section 8.1:

    When using ALPN, endpoints MUST immediately close a connection (see
    Section 10.3 of [QUIC-TRANSPORT]) with a no_application_protocol TLS
    alert (QUIC error code 0x178; see Section 4.10) if an application
    protocol is not negotiated.

Changes in ngx_quic_close_quic() function are required to avoid attempts
to generated and send packets without proper keys, what happens in case
of failed ALPN check.
src/event/ngx_event_quic.c
src/event/ngx_event_quic.h