mirror of
https://github.com/nginx/nginx.git
synced 2024-12-04 22:09:01 +08:00
Fixed transport parameters on a new connection with a valid token.
Previously, the retry transport parameter was sent regardless.
This commit is contained in:
parent
22297afd79
commit
5978225722
@ -652,7 +652,9 @@ ngx_quic_new_connection(ngx_connection_t *c, ngx_ssl_t *ssl, ngx_quic_tp_t *tp,
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
#if (NGX_QUIC_DRAFT_VERSION >= 28)
|
||||
qc->tp.original_dcid = c->quic->odcid;
|
||||
#endif
|
||||
qc->tp.initial_scid = c->quic->dcid;
|
||||
|
||||
qc->scid.len = pkt->scid.len;
|
||||
@ -796,6 +798,9 @@ ngx_quic_retry(ngx_connection_t *c)
|
||||
}
|
||||
|
||||
c->quic->token = token;
|
||||
#if (NGX_QUIC_DRAFT_VERSION < 28)
|
||||
c->quic->tp.original_dcid = c->quic->odcid;
|
||||
#endif
|
||||
c->quic->tp.retry_scid = c->quic->dcid;
|
||||
c->quic->in_retry = 1;
|
||||
|
||||
|
@ -1673,15 +1673,15 @@ ngx_quic_create_transport_params(u_char *pos, u_char *end, ngx_quic_tp_t *tp)
|
||||
#if (NGX_QUIC_DRAFT_VERSION >= 28)
|
||||
len += ngx_quic_tp_strlen(NGX_QUIC_TP_ORIGINAL_DCID, tp->original_dcid);
|
||||
len += ngx_quic_tp_strlen(NGX_QUIC_TP_INITIAL_SCID, tp->initial_scid);
|
||||
#endif
|
||||
|
||||
if (tp->retry) {
|
||||
#if (NGX_QUIC_DRAFT_VERSION >= 28)
|
||||
if (tp->retry_scid.len) {
|
||||
len += ngx_quic_tp_strlen(NGX_QUIC_TP_RETRY_SCID, tp->retry_scid);
|
||||
#else
|
||||
len += ngx_quic_tp_strlen(NGX_QUIC_TP_ORIGINAL_DCID, tp->original_dcid);
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
if (tp->original_dcid.len) {
|
||||
len += ngx_quic_tp_strlen(NGX_QUIC_TP_ORIGINAL_DCID, tp->original_dcid);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (pos == NULL) {
|
||||
return len;
|
||||
@ -1714,15 +1714,15 @@ ngx_quic_create_transport_params(u_char *pos, u_char *end, ngx_quic_tp_t *tp)
|
||||
#if (NGX_QUIC_DRAFT_VERSION >= 28)
|
||||
ngx_quic_tp_str(NGX_QUIC_TP_ORIGINAL_DCID, tp->original_dcid);
|
||||
ngx_quic_tp_str(NGX_QUIC_TP_INITIAL_SCID, tp->initial_scid);
|
||||
#endif
|
||||
|
||||
if (tp->retry) {
|
||||
#if (NGX_QUIC_DRAFT_VERSION >= 28)
|
||||
if (tp->retry_scid.len) {
|
||||
ngx_quic_tp_str(NGX_QUIC_TP_RETRY_SCID, tp->retry_scid);
|
||||
#else
|
||||
ngx_quic_tp_str(NGX_QUIC_TP_ORIGINAL_DCID, tp->original_dcid);
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
if (tp->original_dcid.len) {
|
||||
ngx_quic_tp_str(NGX_QUIC_TP_ORIGINAL_DCID, tp->original_dcid);
|
||||
}
|
||||
#endif
|
||||
|
||||
return p - pos;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user