summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-01-18 10:12:16 +0100
committerDaniel Stenberg <daniel@haxx.se>2019-01-18 10:12:16 +0100
commitbfc3d65f4c5738ddd57047743222b3279c7a8bda (patch)
tree2e0cd3cae8eef3a699d54c964fe588ecf13774c3
parent53359b2bee47b70a05bc16eb672ea4433d7e52fe (diff)
downloadcurl-ngtcp2.tar.gz
fixup provide get_new_connection_id callbackngtcp2
-rw-r--r--lib/quic.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/lib/quic.c b/lib/quic.c
index 58e6a7cc9..46906fb27 100644
--- a/lib/quic.c
+++ b/lib/quic.c
@@ -906,6 +906,24 @@ static int cb_extend_max_streams_bidi(ngtcp2_conn *tconn, uint64_t max_streams,
return 0;
}
+static int cb_get_new_connection_id(ngtcp2_conn *tconn, ngtcp2_cid *cid,
+ uint8_t *token, size_t cidlen,
+ void *user_data)
+{
+ struct connectdata *conn = (struct connectdata *)user_data;
+ CURLcode result;
+ (void)tconn;
+
+ result = Curl_rand(conn->data, cid->data, cidlen);
+ if(result)
+ return 1;
+
+ result = Curl_rand(conn->data, token, NGTCP2_STATELESS_RESET_TOKENLEN);
+ if(result)
+ return 1;
+
+ return 0;
+}
static void quic_callbacks(ngtcp2_conn_callbacks *c)
{
@@ -931,9 +949,8 @@ static void quic_callbacks(ngtcp2_conn_callbacks *c)
c->extend_max_streams_bidi = cb_extend_max_streams_bidi;
/* extend_max_streams_uni = NULL */
/* rand = NULL */
- /* ADD: get_new_connection_id */
- /* ADD: remove_connection_id */
-
+ c->get_new_connection_id = cb_get_new_connection_id;
+ /* remove_connection_id = NULL */
}