# HG changeset patch # User Sergey Kandaurov # Date 1605648726 0 # Node ID 05b1ee4643503c98031ad28bf8c9a18b579fe24a # Parent fe53def49945fbf6bceffbe168226003e9fd734b QUIC: hide header creation internals in ngx_event_quic_transport.c. It doesn't make sense to expose the header type in a public function. diff -r fe53def49945 -r 05b1ee464350 src/event/ngx_event_quic.c --- a/src/event/ngx_event_quic.c Tue Nov 17 21:32:04 2020 +0000 +++ b/src/event/ngx_event_quic.c Tue Nov 17 21:32:06 2020 +0000 @@ -4858,7 +4858,7 @@ if (start->level == ssl_encryption_initial && pkt.need_ack) { pad_len = NGX_QUIC_MIN_INITIAL_SIZE - EVP_GCM_TLS_TAG_LEN - - ngx_quic_create_long_header(&pkt, NULL, out.len, NULL); + - ngx_quic_create_header(&pkt, NULL, out.len, NULL); pad_len = ngx_min(pad_len, NGX_QUIC_MIN_INITIAL_SIZE); } else { diff -r fe53def49945 -r 05b1ee464350 src/event/ngx_event_quic_protection.c --- a/src/event/ngx_event_quic_protection.c Tue Nov 17 21:32:04 2020 +0000 +++ b/src/event/ngx_event_quic_protection.c Tue Nov 17 21:32:06 2020 +0000 @@ -837,7 +837,7 @@ out.len = pkt->payload.len + EVP_GCM_TLS_TAG_LEN; ad.data = res->data; - ad.len = ngx_quic_create_long_header(pkt, ad.data, out.len, &pnp); + ad.len = ngx_quic_create_header(pkt, ad.data, out.len, &pnp); out.data = res->data + ad.len; @@ -895,7 +895,7 @@ out.len = pkt->payload.len + EVP_GCM_TLS_TAG_LEN; ad.data = res->data; - ad.len = ngx_quic_create_short_header(pkt, ad.data, out.len, &pnp); + ad.len = ngx_quic_create_header(pkt, ad.data, out.len, &pnp); out.data = res->data + ad.len; diff -r fe53def49945 -r 05b1ee464350 src/event/ngx_event_quic_transport.c --- a/src/event/ngx_event_quic_transport.c Tue Nov 17 21:32:04 2020 +0000 +++ b/src/event/ngx_event_quic_transport.c Tue Nov 17 21:32:06 2020 +0000 @@ -80,6 +80,11 @@ static ngx_int_t ngx_quic_supported_version(uint32_t version); static ngx_int_t ngx_quic_parse_long_header_v1(ngx_quic_header_t *pkt); +static size_t ngx_quic_create_long_header(ngx_quic_header_t *pkt, u_char *out, + size_t pkt_len, u_char **pnp); +static size_t ngx_quic_create_short_header(ngx_quic_header_t *pkt, u_char *out, + size_t pkt_len, u_char **pnp); + static ngx_int_t ngx_quic_frame_allowed(ngx_quic_header_t *pkt, ngx_uint_t frame_type); static size_t ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *ack); @@ -562,6 +567,16 @@ size_t +ngx_quic_create_header(ngx_quic_header_t *pkt, u_char *out, size_t pkt_len, + u_char **pnp) +{ + return ngx_quic_short_pkt(pkt->flags) + ? ngx_quic_create_short_header(pkt, out, pkt_len, pnp) + : ngx_quic_create_long_header(pkt, out, pkt_len, pnp); +} + + +static size_t ngx_quic_create_long_header(ngx_quic_header_t *pkt, u_char *out, size_t pkt_len, u_char **pnp) { @@ -612,7 +627,7 @@ } -size_t +static size_t ngx_quic_create_short_header(ngx_quic_header_t *pkt, u_char *out, size_t pkt_len, u_char **pnp) { diff -r fe53def49945 -r 05b1ee464350 src/event/ngx_event_quic_transport.h --- a/src/event/ngx_event_quic_transport.h Tue Nov 17 21:32:04 2020 +0000 +++ b/src/event/ngx_event_quic_transport.h Tue Nov 17 21:32:06 2020 +0000 @@ -335,10 +335,7 @@ size_t ngx_quic_create_version_negotiation(ngx_quic_header_t *pkt, u_char *out); -size_t ngx_quic_create_long_header(ngx_quic_header_t *pkt, u_char *out, - size_t pkt_len, u_char **pnp); - -size_t ngx_quic_create_short_header(ngx_quic_header_t *pkt, u_char *out, +size_t ngx_quic_create_header(ngx_quic_header_t *pkt, u_char *out, size_t pkt_len, u_char **pnp); size_t ngx_quic_create_retry_itag(ngx_quic_header_t *pkt, u_char *out,