QUIC: fixed padding of initial packets in case of limited path.
Previously, non-padded initial packet could be sent as a result of the following situation: - initial queue is not empty (so padding to 1200 is required) - handshake queue is not empty (so padding is to be added after h/s packet) - path is limited If serializing handshake packet would violate path limit, such packet was omitted, and the non-padded initial packet was sent. The fix is to avoid sending the packet at all in such case. This follows the original intention introduced in c5155a0cb12f.
This commit is contained in:
parent
afe8ad39f0
commit
144c6f6aa7
|
@ -158,7 +158,14 @@ ngx_quic_create_datagrams(ngx_connection_t *c)
|
|||
? NGX_QUIC_MIN_INITIAL_SIZE - (p - dst) : 0;
|
||||
|
||||
if (min > len) {
|
||||
continue;
|
||||
/* padding can't be applied - avoid sending the packet */
|
||||
|
||||
for (i = 0; i < NGX_QUIC_SEND_CTX_LAST; i++) {
|
||||
ctx = &qc->send_ctx[i];
|
||||
ngx_quic_revert_send(c, ctx, preserved_pnum[i]);
|
||||
}
|
||||
|
||||
return NGX_OK;
|
||||
}
|
||||
|
||||
n = ngx_quic_output_packet(c, ctx, p, len, min);
|
||||
|
|
Loading…
Reference in New Issue