deps: update ngtcp2 to 1.25.0 · nodejs/node@f0fc82d · GitHub
Skip to content

Commit f0fc82d

Browse files
nodejs-github-botaduh95
authored andcommitted
deps: update ngtcp2 to 1.25.0
PR-URL: #64944 Reviewed-By: Tim Perry <pimterry@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
1 parent 8a00872 commit f0fc82d

35 files changed

Lines changed: 899 additions & 679 deletions

deps/ngtcp2/ngtcp2/crypto/boringssl/boringssl.c

Lines changed: 23 additions & 12 deletions

deps/ngtcp2/ngtcp2/crypto/ossl/ossl.c

Lines changed: 42 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -730,8 +730,8 @@ int ngtcp2_crypto_hkdf_extract(uint8_t *dest, const ngtcp2_crypto_md *md,
730730
const uint8_t *secret, size_t secretlen,
731731
const uint8_t *salt, size_t saltlen) {
732732
const EVP_MD *prf = md->native_handle;
733-
EVP_KDF *kdf = crypto_kdf_hkdf();
734-
EVP_KDF_CTX *kctx = EVP_KDF_CTX_new(kdf);
733+
EVP_KDF *kdf;
734+
EVP_KDF_CTX *kctx;
735735
int mode = EVP_KDF_HKDF_MODE_EXTRACT_ONLY;
736736
OSSL_PARAM params[] = {
737737
OSSL_PARAM_construct_int(OSSL_KDF_PARAM_MODE, &mode),
@@ -745,13 +745,24 @@ int ngtcp2_crypto_hkdf_extract(uint8_t *dest, const ngtcp2_crypto_md *md,
745745
};
746746
int rv = 0;
747747

748-
crypto_kdf_hkdf_free(kdf);
748+
kdf = crypto_kdf_hkdf();
749+
if (!kdf) {
750+
return -1;
751+
}
752+
753+
kctx = EVP_KDF_CTX_new(kdf);
754+
if (!kctx) {
755+
rv = -1;
756+
goto fail_kdf_ctx_new;
757+
}
749758

750759
if (EVP_KDF_derive(kctx, dest, (size_t)EVP_MD_size(prf), params) <= 0) {
751760
rv = -1;
752761
}
753762

754763
EVP_KDF_CTX_free(kctx);
764+
fail_kdf_ctx_new:
765+
crypto_kdf_hkdf_free(kdf);
755766

756767
return rv;
757768
}
@@ -761,8 +772,8 @@ int ngtcp2_crypto_hkdf_expand(uint8_t *dest, size_t destlen,
761772
size_t secretlen, const uint8_t *info,
762773
size_t infolen) {
763774
const EVP_MD *prf = md->native_handle;
764-
EVP_KDF *kdf = crypto_kdf_hkdf();
765-
EVP_KDF_CTX *kctx = EVP_KDF_CTX_new(kdf);
775+
EVP_KDF *kdf;
776+
EVP_KDF_CTX *kctx;
766777
int mode = EVP_KDF_HKDF_MODE_EXPAND_ONLY;
767778
OSSL_PARAM params[] = {
768779
OSSL_PARAM_construct_int(OSSL_KDF_PARAM_MODE, &mode),
@@ -776,13 +787,24 @@ int ngtcp2_crypto_hkdf_expand(uint8_t *dest, size_t destlen,
776787
};
777788
int rv = 0;
778789

779-
crypto_kdf_hkdf_free(kdf);
790+
kdf = crypto_kdf_hkdf();
791+
if (!kdf) {
792+
return -1;
793+
}
794+
795+
kctx = EVP_KDF_CTX_new(kdf);
796+
if (!kctx) {
797+
rv = -1;
798+
goto fail_kdf_ctx_new;
799+
}
780800

781801
if (EVP_KDF_derive(kctx, dest, destlen, params) <= 0) {
782802
rv = -1;
783803
}
784804

785805
EVP_KDF_CTX_free(kctx);
806+
fail_kdf_ctx_new:
807+
crypto_kdf_hkdf_free(kdf);
786808

787809
return rv;
788810
}
@@ -792,8 +814,8 @@ int ngtcp2_crypto_hkdf(uint8_t *dest, size_t destlen,
792814
size_t secretlen, const uint8_t *salt, size_t saltlen,
793815
const uint8_t *info, size_t infolen) {
794816
const EVP_MD *prf = md->native_handle;
795-
EVP_KDF *kdf = crypto_kdf_hkdf();
796-
EVP_KDF_CTX *kctx = EVP_KDF_CTX_new(kdf);
817+
EVP_KDF *kdf;
818+
EVP_KDF_CTX *kctx;
797819
OSSL_PARAM params[] = {
798820
OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST,
799821
(char *)EVP_MD_get0_name(prf), 0),
@@ -807,13 +829,24 @@ int ngtcp2_crypto_hkdf(uint8_t *dest, size_t destlen,
807829
};
808830
int rv = 0;
809831

810-
crypto_kdf_hkdf_free(kdf);
832+
kdf = crypto_kdf_hkdf();
833+
if (!kdf) {
834+
return -1;
835+
}
836+
837+
kctx = EVP_KDF_CTX_new(kdf);
838+
if (!kctx) {
839+
rv = -1;
840+
goto fail_kdf_ctx_new;
841+
}
811842

812843
if (EVP_KDF_derive(kctx, dest, destlen, params) <= 0) {
813844
rv = -1;
814845
}
815846

816847
EVP_KDF_CTX_free(kctx);
848+
fail_kdf_ctx_new:
849+
crypto_kdf_hkdf_free(kdf);
817850

818851
return rv;
819852
}

deps/ngtcp2/ngtcp2/crypto/quictls/quictls.c

Lines changed: 48 additions & 54 deletions

0 commit comments

Comments
 (0)