diff src/event/ngx_event_quic_transport.c @ 8558:0f37b4ef3cd9 quic

QUIC: keep the entire packet size in pkt->len. Previously pkt->len kept the length of the packet remainder starting from pkt->raw->pos.
author Roman Arutyunyan <arut@nginx.com>
date Fri, 25 Sep 2020 21:46:55 +0300
parents d3489d225f8f
children a89a58c642ef
line wrap: on
line diff
--- a/src/event/ngx_event_quic_transport.c
+++ b/src/event/ngx_event_quic_transport.c
@@ -511,7 +511,6 @@ ngx_quic_parse_short_header(ngx_quic_hea
     }
 
     pkt->raw->pos = p;
-    pkt->len = end - p;
 
     return NGX_OK;
 }
@@ -561,7 +560,7 @@ ngx_quic_parse_initial_header(ngx_quic_h
     }
 
     pkt->raw->pos = p;
-    pkt->len = varint;
+    pkt->len = p + varint - pkt->data;
 
 #ifdef NGX_QUIC_DEBUG_PACKETS
     ngx_quic_hexdump(pkt->log, "quic DCID", pkt->dcid.data, pkt->dcid.len);
@@ -600,7 +599,7 @@ ngx_quic_parse_handshake_header(ngx_quic
     }
 
     pkt->raw->pos = p;
-    pkt->len = plen;
+    pkt->len = p + plen - pkt->data;
 
     return NGX_OK;
 }