From 66d42d50fe06dbd69ab067ef19db9fe87915aee5 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> Date: Wed, 5 Aug 2020 19:55:26 +0900 Subject: [PATCH] Remove conn and user_data from ngtcp2_rand Remove conn and user_data from ngtcp2_rand in order to use it before conn is initialized. --- examples/client.cc | 3 +-- examples/server.cc | 3 +-- lib/includes/ngtcp2/ngtcp2.h | 3 +-- lib/ngtcp2_conn.c | 4 ++-- tests/ngtcp2_conn_test.c | 5 +---- 5 files changed, 6 insertions(+), 12 deletions(-) diff --git a/examples/client.cc b/examples/client.cc index bb912393..b674180d 100644 --- a/examples/client.cc +++ b/examples/client.cc @@ -621,8 +621,7 @@ int extend_max_streams_bidi(ngtcp2_conn *conn, uint64_t max_streams, } // namespace namespace { -int rand(ngtcp2_conn *conn, uint8_t *dest, size_t destlen, ngtcp2_rand_ctx ctx, - void *user_data) { +int rand(uint8_t *dest, size_t destlen, ngtcp2_rand_ctx ctx) { auto dis = std::uniform_int_distribution<uint8_t>(0, 255); std::generate(dest, dest + destlen, [&dis]() { return dis(randgen); }); return 0; diff --git a/examples/server.cc b/examples/server.cc index ecc11023..55059079 100644 --- a/examples/server.cc +++ b/examples/server.cc @@ -1057,8 +1057,7 @@ int Handler::on_stream_reset(int64_t stream_id) { } namespace { -int rand(ngtcp2_conn *conn, uint8_t *dest, size_t destlen, ngtcp2_rand_ctx ctx, - void *user_data) { +int rand(uint8_t *dest, size_t destlen, ngtcp2_rand_ctx ctx) { auto dis = std::uniform_int_distribution<uint8_t>(0, 255); std::generate(dest, dest + destlen, [&dis]() { return dis(randgen); }); return 0; diff --git a/lib/includes/ngtcp2/ngtcp2.h b/lib/includes/ngtcp2/ngtcp2.h index d5e3fde7..abef3855 100644 --- a/lib/includes/ngtcp2/ngtcp2.h +++ b/lib/includes/ngtcp2/ngtcp2.h @@ -1525,8 +1525,7 @@ typedef int (*ngtcp2_extend_max_stream_data)(ngtcp2_conn *conn, * :enum:`NGTCP2_ERR_CALLBACK_FAILURE` makes the library call return * immediately. */ -typedef int (*ngtcp2_rand)(ngtcp2_conn *conn, uint8_t *dest, size_t destlen, - ngtcp2_rand_ctx ctx, void *user_data); +typedef int (*ngtcp2_rand)(uint8_t *dest, size_t destlen, ngtcp2_rand_ctx ctx); /** * @functypedef diff --git a/lib/ngtcp2_conn.c b/lib/ngtcp2_conn.c index 2e532150..12c0b9db 100644 --- a/lib/ngtcp2_conn.c +++ b/lib/ngtcp2_conn.c @@ -3609,9 +3609,9 @@ static ngtcp2_ssize conn_write_path_challenge(ngtcp2_conn *conn, } assert(conn->callbacks.rand); - rv = conn->callbacks.rand(conn, lfr.path_challenge.data, + rv = conn->callbacks.rand(lfr.path_challenge.data, sizeof(lfr.path_challenge.data), - NGTCP2_RAND_CTX_PATH_CHALLENGE, conn->user_data); + NGTCP2_RAND_CTX_PATH_CHALLENGE); if (rv != 0) { return NGTCP2_ERR_CALLBACK_FAILURE; } diff --git a/tests/ngtcp2_conn_test.c b/tests/ngtcp2_conn_test.c index 2239cfe3..d1b313d1 100644 --- a/tests/ngtcp2_conn_test.c +++ b/tests/ngtcp2_conn_test.c @@ -341,11 +341,8 @@ static int recv_retry(ngtcp2_conn *conn, const ngtcp2_pkt_hd *hd, return 0; } -static int genrand(ngtcp2_conn *conn, uint8_t *dest, size_t destlen, - ngtcp2_rand_ctx ctx, void *user_data) { - (void)conn; +static int genrand(uint8_t *dest, size_t destlen, ngtcp2_rand_ctx ctx) { (void)ctx; - (void)user_data; memset(dest, 0, destlen); -- GitLab