gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 145/220: ngtcp2: move the h3 initing to immediately


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 145/220: ngtcp2: move the h3 initing to immediately after the rx key
Date: Thu, 12 Sep 2019 17:28:25 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit 349c3f5a0820948eacd12b1b9b93a1aadcdd3ada
Author: Daniel Stenberg <address@hidden>
AuthorDate: Tue Aug 20 08:49:56 2019 +0200

    ngtcp2: move the h3 initing to immediately after the rx key
    
    To fix a segfault and to better deal with 0-RTT
    
    Assisted-by: Tatsuhiro Tsujikawa
---
 lib/vquic/ngtcp2.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/lib/vquic/ngtcp2.c b/lib/vquic/ngtcp2.c
index 8ecc67045..bd24df35d 100644
--- a/lib/vquic/ngtcp2.c
+++ b/lib/vquic/ngtcp2.c
@@ -315,6 +315,7 @@ static void set_tls_alert(struct quicsocket *qs, uint8_t 
alert)
 {
   qs->tls_alert = alert;
 }
+static int init_ngh3_conn(struct quicsocket *qs);
 
 static int ssl_on_key(struct quicsocket *qs,
                       int name, const uint8_t *secret, size_t secretlen)
@@ -395,6 +396,10 @@ static int ssl_on_key(struct quicsocket *qs,
     ngtcp2_conn_install_rx_keys(qs->qconn, key, keylen, iv, ivlen,
                                 hp, hplen);
     qs->rx_crypto_level = NGTCP2_CRYPTO_LEVEL_APP;
+    if(init_ngh3_conn(qs) != CURLE_OK) {
+      return NGTCP2_ERR_CALLBACK_FAILURE;
+    }
+
     break;
   }
   return 0;
@@ -746,8 +751,6 @@ cb_recv_crypto_data(ngtcp2_conn *tconn, ngtcp2_crypto_level 
crypto_level,
   return quic_read_tls(qs);
 }
 
-static int init_ngh3_conn(struct quicsocket *qs);
-
 static int cb_handshake_completed(ngtcp2_conn *tconn, void *user_data)
 {
   struct quicsocket *qs = (struct quicsocket *)user_data;
@@ -755,10 +758,6 @@ static int cb_handshake_completed(ngtcp2_conn *tconn, void 
*user_data)
   qs->tx_crypto_level = NGTCP2_CRYPTO_LEVEL_APP;
   infof(qs->conn->data, "QUIC handshake is completed\n");
 
-  if(init_ngh3_conn(qs) != CURLE_OK) {
-    return NGTCP2_ERR_CALLBACK_FAILURE;
-  }
-
   return 0;
 }
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]