]> git.kaiwu.me - nginx.git/commitdiff
Fixed ACKs to packet numbers greater than 63.
authorRoman Arutyunyan <arut@nginx.com>
Fri, 20 Mar 2020 06:23:31 +0000 (09:23 +0300)
committerRoman Arutyunyan <arut@nginx.com>
Fri, 20 Mar 2020 06:23:31 +0000 (09:23 +0300)
src/event/ngx_event_quic_transport.c

index 91fe882afef0429b45ec9961c0e9be26027a2f19..7b8b93b5cff9927e1d0fdacb1d1309877a473c70 100644 (file)
@@ -831,7 +831,8 @@ ngx_quic_create_frame(u_char *p, u_char *end, ngx_quic_frame_t *f)
 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_ack_frame_t *ack)
         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;
 }