comparison src/event/ngx_event_quic.c @ 7916:c206233d9c29 quic

Fixed transport parameters on a new connection with a valid token. Previously, the retry transport parameter was sent regardless.
author Sergey Kandaurov <pluknet@nginx.com>
date Mon, 01 Jun 2020 19:16:44 +0300
parents 6633f17044eb
children 90b02ff6b003
comparison
equal deleted inserted replaced
7915:2bf17a829ddc 7916:c206233d9c29
650 650
651 if (ngx_quic_new_dcid(c, &pkt->dcid) != NGX_OK) { 651 if (ngx_quic_new_dcid(c, &pkt->dcid) != NGX_OK) {
652 return NGX_ERROR; 652 return NGX_ERROR;
653 } 653 }
654 654
655 #if (NGX_QUIC_DRAFT_VERSION >= 28)
655 qc->tp.original_dcid = c->quic->odcid; 656 qc->tp.original_dcid = c->quic->odcid;
657 #endif
656 qc->tp.initial_scid = c->quic->dcid; 658 qc->tp.initial_scid = c->quic->dcid;
657 659
658 qc->scid.len = pkt->scid.len; 660 qc->scid.len = pkt->scid.len;
659 qc->scid.data = ngx_pnalloc(c->pool, qc->scid.len); 661 qc->scid.data = ngx_pnalloc(c->pool, qc->scid.len);
660 if (qc->scid.data == NULL) { 662 if (qc->scid.data == NULL) {
794 if (len == NGX_ERROR || (size_t) len != res.len) { 796 if (len == NGX_ERROR || (size_t) len != res.len) {
795 return NGX_ERROR; 797 return NGX_ERROR;
796 } 798 }
797 799
798 c->quic->token = token; 800 c->quic->token = token;
801 #if (NGX_QUIC_DRAFT_VERSION < 28)
802 c->quic->tp.original_dcid = c->quic->odcid;
803 #endif
799 c->quic->tp.retry_scid = c->quic->dcid; 804 c->quic->tp.retry_scid = c->quic->dcid;
800 c->quic->in_retry = 1; 805 c->quic->in_retry = 1;
801 806
802 return NGX_OK; 807 return NGX_OK;
803 } 808 }