static ngx_int_t
ngx_quic_initial_secret(ngx_connection_t *c)
{
- ngx_quic_connection_t *qc = c->quic;
+ size_t is_len;
+ uint8_t is[SHA256_DIGEST_LENGTH];
+ ngx_uint_t i;
+ const EVP_MD *digest;
+ const EVP_CIPHER *cipher;
+ ngx_quic_connection_t *qc;
- size_t is_len;
- uint8_t is[SHA256_DIGEST_LENGTH];
- ngx_uint_t i;
- const EVP_MD *digest;
- const EVP_CIPHER *cipher;
static const uint8_t salt[20] =
"\xc3\xee\xf7\x12\xc7\x2e\xbb\x5a\x11\xa7"
"\xd2\x43\x2b\xb4\x63\x65\xbe\xf9\xf5\x02";
cipher = EVP_aes_128_gcm();
digest = EVP_sha256();
+ qc = c->quic;
+
if (ngx_hkdf_extract(is, &is_len, digest, qc->dcid.data, qc->dcid.len,
salt, sizeof(salt))
!= NGX_OK)
out = pkt.payload;
- if (out.data[0] != 0x06) {
+ if (out.data[0] != NGX_QUIC_FT_CRYPTO) {
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"unexpected frame in initial packet");
return NGX_ERROR;
out = pkt.payload;
- if (out.data[0] != 0x06) {
+ if (out.data[0] != NGX_QUIC_FT_CRYPTO) {
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"non-CRYPTO frame in HS packet, skipping");
return NGX_OK;