static void ngx_quic_build_int(u_char **pos, uint64_t value);
static u_char *ngx_quic_read_uint8(u_char *pos, u_char *end, uint8_t *value);
-/*static*/ u_char *ngx_quic_read_uint16(u_char *pos, u_char *end, uint16_t *value); // usage depends on quic_version
+/*static*/ u_char *ngx_quic_read_uint16(u_char *pos, u_char *end, uint16_t *value); // usage depends on NGX_QUIC_VERSION
static u_char *ngx_quic_read_uint32(u_char *pos, u_char *end, uint32_t *value);
static u_char *ngx_quic_read_bytes(u_char *pos, u_char *end, size_t len,
u_char **out);
ngx_log_debug2(NGX_LOG_DEBUG_EVENT, pkt->log, 0,
"quic flags:%xi version:%xD", pkt->flags, pkt->version);
- if (pkt->version != quic_version) {
+ if (pkt->version != NGX_QUIC_VERSION) {
ngx_log_error(NGX_LOG_ERR, pkt->log, 0,
"unsupported quic version: 0x%xi", pkt->version);
return NGX_ERROR;
*p++ = pkt->flags;
- p = ngx_quic_write_uint32(p, quic_version);
+ p = ngx_quic_write_uint32(p, NGX_QUIC_VERSION);
*p++ = pkt->scid.len;
p = ngx_cpymem(p, pkt->scid.data, pkt->scid.len);
{
ngx_int_t rc;
-#if (quic_version < 0xff00001b)
+#if (NGX_QUIC_DRAFT_VERSION < 27)
uint16_t id, len, tp_len;
u_char *p;
size_t len;
-#if (quic_version < 0xff00001b)
+#if (NGX_QUIC_DRAFT_VERSION < 27)
/* older drafts with static transport parameters encoding */
tp->initial_max_stream_data_uni);
if (pos == NULL) {
-#if (quic_version < 0xff00001b)
+#if (NGX_QUIC_DRAFT_VERSION < 27)
len += 2;
#endif
return len;
}
-#if (quic_version < 0xff00001b)
+#if (NGX_QUIC_DRAFT_VERSION < 27)
/* TLS extension length */
p = ngx_quic_write_uint16(p, len);
#endif
#if (NGX_DEBUG)
unsigned int i;
#endif
-#if (NGX_HTTP_V2)
+#if (NGX_HTTP_V2 || NGX_HTTP_V3)
ngx_http_connection_t *hc;
#endif
#if (NGX_HTTP_V2 || NGX_DEBUG)
}
#endif
-#if (NGX_HTTP_V2)
+#if (NGX_HTTP_V2 || NGX_HTTP_V3)
hc = c->data;
+#endif
+#if (NGX_HTTP_V2)
if (hc->addr_conf->http2) {
srv =
(unsigned char *) NGX_HTTP_V2_ALPN_ADVERTISE NGX_HTTP_NPN_ADVERTISE;
srvlen = sizeof(NGX_HTTP_V2_ALPN_ADVERTISE NGX_HTTP_NPN_ADVERTISE) - 1;
} else
+#endif
+#if (NGX_HTTP_V3)
+ if (hc->addr_conf->http3) {
+ srv = (unsigned char *) NGX_HTTP_V3_ALPN_ADVERTISE;
+ srvlen = sizeof(NGX_HTTP_V3_ALPN_ADVERTISE) - 1;
+ } else
#endif
{
srv = (unsigned char *) NGX_HTTP_NPN_ADVERTISE;