Mercurial > hg > nginx-quic
comparison src/event/ngx_event_quic_protection.c @ 7773:dc7ac778aafe quic
Introduced packet namespace in QUIC connection.
The structure contains all data that is related to the namespace:
packet number and output queue (next patch).
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Wed, 01 Apr 2020 14:31:08 +0300 |
parents | 058a5af7ddfc |
children | 7ac890c18f5e |
comparison
equal
deleted
inserted
replaced
7772:058a5af7ddfc | 7773:dc7ac778aafe |
---|---|
671 if (ngx_quic_ciphers(ssl_conn, &ciphers, pkt->level) == NGX_ERROR) { | 671 if (ngx_quic_ciphers(ssl_conn, &ciphers, pkt->level) == NGX_ERROR) { |
672 return NGX_ERROR; | 672 return NGX_ERROR; |
673 } | 673 } |
674 | 674 |
675 ngx_memcpy(nonce, pkt->secret->iv.data, pkt->secret->iv.len); | 675 ngx_memcpy(nonce, pkt->secret->iv.data, pkt->secret->iv.len); |
676 pn = *pkt->number; | 676 pn = pkt->number; |
677 nonce[11] ^= pn; | 677 nonce[11] ^= pn; |
678 | 678 |
679 ngx_quic_hexdump0(pkt->log, "server_iv", pkt->secret->iv.data, 12); | 679 ngx_quic_hexdump0(pkt->log, "server_iv", pkt->secret->iv.data, 12); |
680 ngx_quic_hexdump0(pkt->log, "nonce", nonce, 12); | 680 ngx_quic_hexdump0(pkt->log, "nonce", nonce, 12); |
681 | 681 |
729 | 729 |
730 ngx_memcpy(nonce, pkt->secret->iv.data, pkt->secret->iv.len); | 730 ngx_memcpy(nonce, pkt->secret->iv.data, pkt->secret->iv.len); |
731 if (pkt->level == ssl_encryption_handshake | 731 if (pkt->level == ssl_encryption_handshake |
732 || pkt->level == ssl_encryption_application) | 732 || pkt->level == ssl_encryption_application) |
733 { | 733 { |
734 nonce[11] ^= *pkt->number; | 734 nonce[11] ^= pkt->number; |
735 } | 735 } |
736 | 736 |
737 ngx_quic_hexdump0(pkt->log, "server_iv", pkt->secret->iv.data, 12); | 737 ngx_quic_hexdump0(pkt->log, "server_iv", pkt->secret->iv.data, 12); |
738 ngx_quic_hexdump0(pkt->log, "nonce", nonce, 12); | 738 ngx_quic_hexdump0(pkt->log, "nonce", nonce, 12); |
739 | 739 |