Mercurial > hg > nginx
comparison src/event/ngx_event_quic.c @ 8194:817c82af127f quic
Style.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Thu, 05 Mar 2020 17:24:04 +0300 |
parents | 4355efde26d8 |
children | 2d7202fc05d1 |
comparison
equal
deleted
inserted
replaced
8193:4355efde26d8 | 8194:817c82af127f |
---|---|
992 | 992 |
993 | 993 |
994 static ngx_int_t | 994 static ngx_int_t |
995 ngx_quic_initial_secret(ngx_connection_t *c) | 995 ngx_quic_initial_secret(ngx_connection_t *c) |
996 { | 996 { |
997 ngx_quic_connection_t *qc = c->quic; | 997 size_t is_len; |
998 | 998 uint8_t is[SHA256_DIGEST_LENGTH]; |
999 size_t is_len; | 999 ngx_uint_t i; |
1000 uint8_t is[SHA256_DIGEST_LENGTH]; | 1000 const EVP_MD *digest; |
1001 ngx_uint_t i; | 1001 const EVP_CIPHER *cipher; |
1002 const EVP_MD *digest; | 1002 ngx_quic_connection_t *qc; |
1003 const EVP_CIPHER *cipher; | 1003 |
1004 static const uint8_t salt[20] = | 1004 static const uint8_t salt[20] = |
1005 "\xc3\xee\xf7\x12\xc7\x2e\xbb\x5a\x11\xa7" | 1005 "\xc3\xee\xf7\x12\xc7\x2e\xbb\x5a\x11\xa7" |
1006 "\xd2\x43\x2b\xb4\x63\x65\xbe\xf9\xf5\x02"; | 1006 "\xd2\x43\x2b\xb4\x63\x65\xbe\xf9\xf5\x02"; |
1007 | 1007 |
1008 /* AEAD_AES_128_GCM prior to handshake, quic-tls-23#section-5.3 */ | 1008 /* AEAD_AES_128_GCM prior to handshake, quic-tls-23#section-5.3 */ |
1009 | 1009 |
1010 cipher = EVP_aes_128_gcm(); | 1010 cipher = EVP_aes_128_gcm(); |
1011 digest = EVP_sha256(); | 1011 digest = EVP_sha256(); |
1012 | |
1013 qc = c->quic; | |
1012 | 1014 |
1013 if (ngx_hkdf_extract(is, &is_len, digest, qc->dcid.data, qc->dcid.len, | 1015 if (ngx_hkdf_extract(is, &is_len, digest, qc->dcid.data, qc->dcid.len, |
1014 salt, sizeof(salt)) | 1016 salt, sizeof(salt)) |
1015 != NGX_OK) | 1017 != NGX_OK) |
1016 { | 1018 { |
1262 return NGX_ERROR; | 1264 return NGX_ERROR; |
1263 } | 1265 } |
1264 | 1266 |
1265 out = pkt.payload; | 1267 out = pkt.payload; |
1266 | 1268 |
1267 if (out.data[0] != 0x06) { | 1269 if (out.data[0] != NGX_QUIC_FT_CRYPTO) { |
1268 ngx_log_error(NGX_LOG_INFO, c->log, 0, | 1270 ngx_log_error(NGX_LOG_INFO, c->log, 0, |
1269 "unexpected frame in initial packet"); | 1271 "unexpected frame in initial packet"); |
1270 return NGX_ERROR; | 1272 return NGX_ERROR; |
1271 } | 1273 } |
1272 | 1274 |
1405 return NGX_ERROR; | 1407 return NGX_ERROR; |
1406 } | 1408 } |
1407 | 1409 |
1408 out = pkt.payload; | 1410 out = pkt.payload; |
1409 | 1411 |
1410 if (out.data[0] != 0x06) { | 1412 if (out.data[0] != NGX_QUIC_FT_CRYPTO) { |
1411 ngx_log_error(NGX_LOG_INFO, c->log, 0, | 1413 ngx_log_error(NGX_LOG_INFO, c->log, 0, |
1412 "non-CRYPTO frame in HS packet, skipping"); | 1414 "non-CRYPTO frame in HS packet, skipping"); |
1413 return NGX_OK; | 1415 return NGX_OK; |
1414 } | 1416 } |
1415 | 1417 |