# HG changeset patch # User Vladimir Homutov # Date 1600433617 -10800 # Node ID 2727d402e5a5e6f0fd5431182dd5f75f361902c6 # Parent b383120afca3be162551b884e88f889375b734ee QUIC: switched to using fixed-length server connection IDs. diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -910,24 +910,17 @@ ngx_quic_negotiate_version(ngx_connectio static ngx_int_t ngx_quic_new_dcid(ngx_connection_t *c, ngx_str_t *odcid) { - uint8_t len; ngx_quic_connection_t *qc; qc = c->quic; - if (RAND_bytes(&len, sizeof(len)) != 1) { - return NGX_ERROR; - } - - len = len % 10 + 10; - - qc->dcid.len = len; - qc->dcid.data = ngx_pnalloc(c->pool, len); + qc->dcid.len = NGX_QUIC_SERVER_CID_LEN; + qc->dcid.data = ngx_pnalloc(c->pool, NGX_QUIC_SERVER_CID_LEN); if (qc->dcid.data == NULL) { 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; } diff --git a/src/event/ngx_event_quic.h b/src/event/ngx_event_quic.h --- a/src/event/ngx_event_quic.h +++ b/src/event/ngx_event_quic.h @@ -54,6 +54,8 @@ #define NGX_QUIC_STREAM_BUFSIZE 65536 +#define NGX_QUIC_SERVER_CID_LEN 20 + typedef struct { /* configurable */