comparison src/event/ngx_event_quic_protection.c @ 8307: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
8306:058a5af7ddfc 8307: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