QUIC: switched to using fixed-length server connection IDs.

This commit is contained in:
Vladimir Homutov 2020-09-18 15:53:37 +03:00
parent 469f69bf2c
commit 6c0be4b4cf
2 changed files with 5 additions and 10 deletions

View File

@ -910,24 +910,17 @@ ngx_quic_negotiate_version(ngx_connection_t *c, ngx_quic_header_t *inpkt)
static ngx_int_t static ngx_int_t
ngx_quic_new_dcid(ngx_connection_t *c, ngx_str_t *odcid) ngx_quic_new_dcid(ngx_connection_t *c, ngx_str_t *odcid)
{ {
uint8_t len;
ngx_quic_connection_t *qc; ngx_quic_connection_t *qc;
qc = c->quic; qc = c->quic;
if (RAND_bytes(&len, sizeof(len)) != 1) { qc->dcid.len = NGX_QUIC_SERVER_CID_LEN;
return NGX_ERROR; qc->dcid.data = ngx_pnalloc(c->pool, NGX_QUIC_SERVER_CID_LEN);
}
len = len % 10 + 10;
qc->dcid.len = len;
qc->dcid.data = ngx_pnalloc(c->pool, len);
if (qc->dcid.data == NULL) { if (qc->dcid.data == NULL) {
return NGX_ERROR; return NGX_ERROR;
} }
if (RAND_bytes(qc->dcid.data, len) != 1) { if (RAND_bytes(qc->dcid.data, NGX_QUIC_SERVER_CID_LEN) != 1) {
return NGX_ERROR; return NGX_ERROR;
} }

View File

@ -54,6 +54,8 @@
#define NGX_QUIC_STREAM_BUFSIZE 65536 #define NGX_QUIC_STREAM_BUFSIZE 65536
#define NGX_QUIC_SERVER_CID_LEN 20
typedef struct { typedef struct {
/* configurable */ /* configurable */