changeset 8244:d60205f37f5a quic

Fixed ACKs to packet numbers greater than 63.
author Roman Arutyunyan <arut@nginx.com>
date Fri, 20 Mar 2020 09:23:31 +0300
parents 59e639379c7c
children a14afe21e692
files src/event/ngx_event_quic_transport.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/event/ngx_event_quic_transport.c
+++ b/src/event/ngx_event_quic_transport.c
@@ -831,7 +831,8 @@ ngx_quic_create_frame(u_char *p, u_char 
 static size_t
 ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *ack)
 {
-    size_t  len;
+    size_t   len;
+    u_char  *start;
 
     /* minimal ACK packet */
 
@@ -845,13 +846,15 @@ ngx_quic_create_ack(u_char *p, ngx_quic_
         return len;
     }
 
+    start = p;
+
     ngx_quic_build_int(&p, NGX_QUIC_FT_ACK);
     ngx_quic_build_int(&p, ack->pn);
     ngx_quic_build_int(&p, 0);
     ngx_quic_build_int(&p, 0);
     ngx_quic_build_int(&p, ack->pn);
 
-    return 5;
+    return p - start;
 }