]> git.kaiwu.me - nginx.git/commitdiff
QUIC: hide header creation internals in ngx_event_quic_transport.c.
authorSergey Kandaurov <pluknet@nginx.com>
Tue, 17 Nov 2020 21:32:06 +0000 (21:32 +0000)
committerSergey Kandaurov <pluknet@nginx.com>
Tue, 17 Nov 2020 21:32:06 +0000 (21:32 +0000)
It doesn't make sense to expose the header type in a public function.

src/event/ngx_event_quic.c
src/event/ngx_event_quic_protection.c
src/event/ngx_event_quic_transport.c
src/event/ngx_event_quic_transport.h

index a11300407d79c0342a7ae3e3357030811d1027af..2d19ebea44835e8c6796921c713f29dced80233c 100644 (file)
@@ -4858,7 +4858,7 @@ ngx_quic_send_frames(ngx_connection_t *c, ngx_quic_send_ctx_t *ctx,
 
     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 {
index a5c73f3a64d83d7b65952b8311c164f8bd81e7dc..0b491d9761cbe85c5b5fe3f0f4c692757780a947 100644 (file)
@@ -837,7 +837,7 @@ ngx_quic_create_long_packet(ngx_quic_header_t *pkt, ngx_str_t *res)
     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 @@ ngx_quic_create_short_packet(ngx_quic_header_t *pkt, ngx_str_t *res)
     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;
 
index 50ec26f09c03cadfa9db823df16c4225d7d4bae0..9f0485d54bbd7d65bcb5ca0f52875642af93277d 100644 (file)
@@ -80,6 +80,11 @@ static ngx_int_t ngx_quic_parse_long_header(ngx_quic_header_t *pkt);
 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 @@ ngx_quic_create_version_negotiation(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)
+{
+    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 @@ ngx_quic_create_long_header(ngx_quic_header_t *pkt, u_char *out,
 }
 
 
-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)
 {
index bd41842adb5f4f585e1ddeebbf15e55d28bd5470..ee89855bdb251a2d9be3c3e0178676df9a6fa8cf 100644 (file)
@@ -335,10 +335,7 @@ ngx_int_t ngx_quic_parse_packet(ngx_quic_header_t *pkt);
 
 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,