Mercurial > hg > nginx-quic
comparison src/event/ngx_event_quic_protection.c @ 7779:c625bde6cb77 quic
Fixed computing nonce again, by properly shifting packet number.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 03 Apr 2020 13:49:40 +0300 |
parents | 7ac890c18f5e |
children | fdda518d10ba |
comparison
equal
deleted
inserted
replaced
7778:053fa468b044 | 7779:c625bde6cb77 |
---|---|
785 | 785 |
786 | 786 |
787 static void | 787 static void |
788 ngx_quic_compute_nonce(u_char *nonce, size_t len, uint64_t pn) | 788 ngx_quic_compute_nonce(u_char *nonce, size_t len, uint64_t pn) |
789 { | 789 { |
790 nonce[len - 4] ^= pn & 0xff000000; | 790 nonce[len - 4] ^= (pn & 0xff000000) >> 24; |
791 nonce[len - 3] ^= pn & 0x00ff0000; | 791 nonce[len - 3] ^= (pn & 0x00ff0000) >> 16; |
792 nonce[len - 2] ^= pn & 0x0000ff00; | 792 nonce[len - 2] ^= (pn & 0x0000ff00) >> 8; |
793 nonce[len - 1] ^= pn & 0x000000ff; | 793 nonce[len - 1] ^= (pn & 0x000000ff); |
794 } | 794 } |
795 | 795 |
796 | 796 |
797 ssize_t | 797 ssize_t |
798 ngx_quic_encrypt(ngx_quic_header_t *pkt, ngx_ssl_conn_t *ssl_conn, | 798 ngx_quic_encrypt(ngx_quic_header_t *pkt, ngx_ssl_conn_t *ssl_conn, |