Commit 212635ee authored by Tatsuhiro Tsujikawa's avatar Tatsuhiro Tsujikawa

Follow ngtcp2 API update

parent 2d80acfd
......@@ -467,7 +467,8 @@ struct Client {
int quic_stream_close(int64_t stream_id, uint64_t app_error_code);
int quic_stream_reset(int64_t stream_id, uint64_t app_error_code);
int quic_extend_max_local_streams();
int quic_update_key();
int quic_update_key(uint8_t *rx_key, uint8_t *rx_iv, uint8_t *tx_key,
uint8_t *tx_iv);
int quic_on_key(ngtcp2_crypto_level level, const uint8_t *rx_secret,
const uint8_t *tx_secret, size_t secretlen);
......
......@@ -223,10 +223,11 @@ int get_new_connection_id(ngtcp2_conn *conn, ngtcp2_cid *cid, uint8_t *token,
} // namespace
namespace {
int update_key(ngtcp2_conn *conn, void *user_data) {
int update_key(ngtcp2_conn *conn, uint8_t *rx_key, uint8_t *rx_iv,
uint8_t *tx_key, uint8_t *tx_iv, void *user_data) {
auto c = static_cast<Client *>(user_data);
if (c->quic_update_key() != 0) {
if (c->quic_update_key(rx_key, rx_iv, tx_key, tx_iv) != 0) {
return NGTCP2_ERR_CALLBACK_FAILURE;
}
......@@ -234,13 +235,14 @@ int update_key(ngtcp2_conn *conn, void *user_data) {
}
} // namespace
int Client::quic_update_key() {
int Client::quic_update_key(uint8_t *rx_key, uint8_t *rx_iv, uint8_t *tx_key,
uint8_t *tx_iv) {
std::array<uint8_t, 64> rx_secret, tx_secret;
if (ngtcp2_crypto_update_and_install_key(
quic.conn, rx_secret.data(), tx_secret.data(), nullptr, nullptr,
nullptr, nullptr, quic.rx_secret.data(), quic.tx_secret.data(),
quic.rx_secret.size()) != 0) {
if (ngtcp2_crypto_update_key(quic.conn, rx_secret.data(), tx_secret.data(),
rx_key, rx_iv, tx_key, tx_iv,
quic.rx_secret.data(), quic.tx_secret.data(),
quic.rx_secret.size()) != 0) {
return -1;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment