comparison src/event/ngx_event_quic_transport.c @ 7710: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
comparison
equal deleted inserted replaced
7709:59e639379c7c 7710:d60205f37f5a
829 829
830 830
831 static size_t 831 static size_t
832 ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *ack) 832 ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *ack)
833 { 833 {
834 size_t len; 834 size_t len;
835 u_char *start;
835 836
836 /* minimal ACK packet */ 837 /* minimal ACK packet */
837 838
838 if (p == NULL) { 839 if (p == NULL) {
839 len = ngx_quic_varint_len(NGX_QUIC_FT_ACK); 840 len = ngx_quic_varint_len(NGX_QUIC_FT_ACK);
843 len += ngx_quic_varint_len(ack->pn); 844 len += ngx_quic_varint_len(ack->pn);
844 845
845 return len; 846 return len;
846 } 847 }
847 848
849 start = p;
850
848 ngx_quic_build_int(&p, NGX_QUIC_FT_ACK); 851 ngx_quic_build_int(&p, NGX_QUIC_FT_ACK);
849 ngx_quic_build_int(&p, ack->pn); 852 ngx_quic_build_int(&p, ack->pn);
850 ngx_quic_build_int(&p, 0); 853 ngx_quic_build_int(&p, 0);
851 ngx_quic_build_int(&p, 0); 854 ngx_quic_build_int(&p, 0);
852 ngx_quic_build_int(&p, ack->pn); 855 ngx_quic_build_int(&p, ack->pn);
853 856
854 return 5; 857 return p - start;
855 } 858 }
856 859
857 860
858 static size_t 861 static size_t
859 ngx_quic_create_crypto(u_char *p, ngx_quic_crypto_frame_t *crypto) 862 ngx_quic_create_crypto(u_char *p, ngx_quic_crypto_frame_t *crypto)