Mercurial > hg > nginx-quic
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 } |