From 00ba735b875be08adbf1bb388cbce8155a1ed978 Mon Sep 17 00:00:00 2001
From: Todd Short <tshort@akamai.com>
Date: Tue, 7 Sep 2021 12:26:10 -0400
Subject: [PATCH 37/43] QUIC: Update RFC references

---
 doc/man3/SSL_CTX_set_quic_method.pod | 11 +++++------
 include/openssl/tls1.h               |  2 +-
 ssl/statem/extensions_clnt.c         |  2 +-
 ssl/statem/extensions_srvr.c         |  2 +-
 ssl/statem/statem_clnt.c             |  2 +-
 5 files changed, 9 insertions(+), 10 deletions(-)

--- a/doc/man3/SSL_CTX_set_quic_method.pod
+++ b/doc/man3/SSL_CTX_set_quic_method.pod
@@ -74,7 +74,7 @@ SSL_quic_max_handshake_flight_len() retu
 that may be received at the given encryption level. This function should be
 used to limit buffering in the QUIC implementation.
 
-See https://tools.ietf.org/html/draft-ietf-quic-transport-27#section-4.
+See L<https://tools.ietf.org/html/RFC9000#section-4>.
 
 SSL_quic_read_level() returns the current read encryption level.
 
@@ -120,7 +120,7 @@ These APIs are implementations of Boring
 
 QUIC acts as an underlying transport for the TLS 1.3 handshake. The following
 functions allow a QUIC implementation to serve as the underlying transport as
-described in draft-ietf-quic-tls.
+described in RFC9001.
 
 When configured for QUIC, SSL_do_handshake() will drive the handshake as
 before, but it will not use the configured B<BIO>. It will call functions from
@@ -139,18 +139,17 @@ pass the active write level to add_hands
 can use SSL_quic_write_level() to query the active write level when
 generating their own errors.
 
-See https://tools.ietf.org/html/draft-ietf-quic-tls-27#section-4.1 for more
-details.
+See L<https://tools.ietf.org/html/RFC9001#section-4.1> for more details.
 
 To avoid DoS attacks, the QUIC implementation must limit the amount of data
 being queued up. The implementation can call
 SSL_quic_max_handshake_flight_len() to get the maximum buffer length at each
 encryption level.
 
-draft-ietf-quic-tls defines a new TLS extension "quic_transport_parameters"
+RFC9001 defines a new TLS extension "quic_transport_parameters"
 used by QUIC for each endpoint to unilaterally declare its supported
 transport parameters. The contents of the extension are specified in
-https://tools.ietf.org/html/draft-ietf-quic-transport-27#section-18 (as
+L<https://tools.ietf.org/html/RFC9000#section-18> (as
 a sequence of tag/length/value parameters) along with the interpretation of the
 various parameters and the rules for their processing.
 
--- a/include/openssl/tls1.h
+++ b/include/openssl/tls1.h
@@ -151,7 +151,7 @@ extern "C" {
 /* Temporary extension type */
 # define TLSEXT_TYPE_renegotiate                 0xff01
 
-/* ExtensionType value from draft-ietf-quic-tls-27 */
+    /* ExtensionType value from RFC9001 */
 # define TLSEXT_TYPE_quic_transport_parameters_draft   0xffa5
 # define TLSEXT_TYPE_quic_transport_parameters         0x0039
 
--- a/ssl/statem/extensions_clnt.c
+++ b/ssl/statem/extensions_clnt.c
@@ -1967,7 +1967,7 @@ int tls_parse_stoc_early_data(SSL *s, PA
 #ifndef OPENSSL_NO_QUIC
         /*
          * QUIC server must send 0xFFFFFFFF or it's a PROTOCOL_VIOLATION
-         * per draft-ietf-quic-tls-27 S4.5
+         * per RFC9001 S4.6.1
          */
         if (s->quic_method != NULL && max_early_data != 0xFFFFFFFF) {
             SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_INVALID_MAX_EARLY_DATA);
--- a/ssl/statem/extensions_srvr.c
+++ b/ssl/statem/extensions_srvr.c
@@ -1929,7 +1929,7 @@ EXT_RETURN tls_construct_stoc_early_data
             return EXT_RETURN_NOT_SENT;
 
 #ifndef OPENSSL_NO_QUIC
-        /* QUIC server must always send 0xFFFFFFFF, per draft-ietf-quic-tls-27 S4.5 */
+        /* QUIC server must always send 0xFFFFFFFF, per RFC9001 S4.6.1 */
         if (SSL_IS_QUIC(s))
             max_early_data = 0xFFFFFFFF;
 #endif
--- a/ssl/statem/statem_clnt.c
+++ b/ssl/statem/statem_clnt.c
@@ -905,7 +905,7 @@ int ossl_statem_client_construct_message
 
     case TLS_ST_CW_END_OF_EARLY_DATA:
 #ifndef OPENSSL_NO_QUIC
-        /* QUIC does not send EndOfEarlyData, draft-ietf-quic-tls-24 S8.3 */
+        /* QUIC does not send EndOfEarlyData, RFC9001 S8.3 */
         if (s->quic_method != NULL) {
             *confunc = NULL;
             *mt = SSL3_MT_DUMMY;
