]> git.kaiwu.me - nginx.git/commitdiff
Put zero in 'First ACK Range' when acknowledging one packet.
authorRoman Arutyunyan <arut@nginx.com>
Mon, 23 Mar 2020 12:32:24 +0000 (15:32 +0300)
committerRoman Arutyunyan <arut@nginx.com>
Mon, 23 Mar 2020 12:32:24 +0000 (15:32 +0300)
This fixes Chrome CONNECTION_ID_LIMIT_ERROR with the reason:
"Underflow with first ack block length 2 largest acked is 1".

src/event/ngx_event_quic_transport.c

index c1f2fc992eea005fdf73e7fd508cfb77d3a4296d..e15a267b3947775e84ad711646fe9fc246f453be 100644 (file)
@@ -1104,7 +1104,7 @@ ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *ack)
         len += ngx_quic_varint_len(ack->pn);
         len += ngx_quic_varint_len(0);
         len += ngx_quic_varint_len(0);
-        len += ngx_quic_varint_len(ack->pn);
+        len += ngx_quic_varint_len(0);
 
         return len;
     }
@@ -1115,7 +1115,7 @@ ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *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);
+    ngx_quic_build_int(&p, 0);
 
     return p - start;
 }