comparison src/event/ngx_event_quic.c @ 8151:f948945c1a1c quic

QUIC: avoided excessive initialization in ngx_quic_send_frames(). A zero-length token was used to initialize a prezeroed packet header.
author Sergey Kandaurov <pluknet@nginx.com>
date Wed, 21 Oct 2020 12:03:22 +0100
parents ffa14521990e
children 96798101c3aa
comparison
equal deleted inserted replaced
8150:ffa14521990e 8151:f948945c1a1c
3855 ngx_ssl_conn_t *ssl_conn; 3855 ngx_ssl_conn_t *ssl_conn;
3856 ngx_quic_frame_t *f, *start; 3856 ngx_quic_frame_t *f, *start;
3857 ngx_quic_header_t pkt; 3857 ngx_quic_header_t pkt;
3858 ngx_quic_secrets_t *keys; 3858 ngx_quic_secrets_t *keys;
3859 ngx_quic_connection_t *qc; 3859 ngx_quic_connection_t *qc;
3860 static ngx_str_t initial_token = ngx_null_string;
3861 static u_char src[NGX_QUIC_MAX_UDP_PAYLOAD_SIZE]; 3860 static u_char src[NGX_QUIC_MAX_UDP_PAYLOAD_SIZE];
3862 static u_char dst[NGX_QUIC_MAX_UDP_PAYLOAD_SIZE]; 3861 static u_char dst[NGX_QUIC_MAX_UDP_PAYLOAD_SIZE];
3863 3862
3864 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, 3863 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0,
3865 "quic ngx_quic_send_frames"); 3864 "quic ngx_quic_send_frames");
3916 3915
3917 pkt.flags = NGX_QUIC_PKT_FIXED_BIT; 3916 pkt.flags = NGX_QUIC_PKT_FIXED_BIT;
3918 3917
3919 if (start->level == ssl_encryption_initial) { 3918 if (start->level == ssl_encryption_initial) {
3920 pkt.flags |= NGX_QUIC_PKT_LONG | NGX_QUIC_PKT_INITIAL; 3919 pkt.flags |= NGX_QUIC_PKT_LONG | NGX_QUIC_PKT_INITIAL;
3921 pkt.token = initial_token;
3922 3920
3923 } else if (start->level == ssl_encryption_handshake) { 3921 } else if (start->level == ssl_encryption_handshake) {
3924 pkt.flags |= NGX_QUIC_PKT_LONG | NGX_QUIC_PKT_HANDSHAKE; 3922 pkt.flags |= NGX_QUIC_PKT_LONG | NGX_QUIC_PKT_HANDSHAKE;
3925 3923
3926 } else { 3924 } else {