aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/event/ngx_event_quic.c1
-rw-r--r--src/event/ngx_event_quic_transport.c28
2 files changed, 3 insertions, 26 deletions
diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c
index f79ec408f..04fe56deb 100644
--- a/src/event/ngx_event_quic.c
+++ b/src/event/ngx_event_quic.c
@@ -1623,6 +1623,7 @@ ngx_quic_input(ngx_connection_t *c, ngx_buf_t *b)
pkt.len = b->last - p;
pkt.log = c->log;
pkt.flags = p[0];
+ pkt.raw->pos++;
if (c->quic->in_retry) {
rc = ngx_quic_retry_input(c, &pkt);
diff --git a/src/event/ngx_event_quic_transport.c b/src/event/ngx_event_quic_transport.c
index be0aed78d..182b93f61 100644
--- a/src/event/ngx_event_quic_transport.c
+++ b/src/event/ngx_event_quic_transport.c
@@ -250,21 +250,9 @@ ngx_quic_parse_long_header(ngx_quic_header_t *pkt)
u_char *p, *end;
uint8_t idlen;
- p = pkt->data;
+ p = pkt->raw->pos;
end = pkt->data + pkt->len;
- p = ngx_quic_read_uint8(p, end, &pkt->flags);
- if (p == NULL) {
- ngx_log_error(NGX_LOG_INFO, pkt->log, 0,
- "quic packet is too small to read flags");
- return NGX_ERROR;
- }
-
- if (!ngx_quic_long_pkt(pkt->flags)) {
- ngx_log_error(NGX_LOG_INFO, pkt->log, 0, "quic not a long packet");
- return NGX_ERROR;
- }
-
p = ngx_quic_read_uint32(p, end, &pkt->version);
if (p == NULL) {
ngx_log_error(NGX_LOG_INFO, pkt->log, 0,
@@ -473,21 +461,9 @@ ngx_quic_parse_short_header(ngx_quic_header_t *pkt, ngx_str_t *dcid)
{
u_char *p, *end;
- p = pkt->data;
+ p = pkt->raw->pos;
end = pkt->data + pkt->len;
- p = ngx_quic_read_uint8(p, end, &pkt->flags);
- if (p == NULL) {
- ngx_log_error(NGX_LOG_INFO, pkt->log, 0,
- "quic packet is too small to read flags");
- return NGX_ERROR;
- }
-
- if (!ngx_quic_short_pkt(pkt->flags)) {
- ngx_log_error(NGX_LOG_INFO, pkt->log, 0, "quic not a short packet");
- return NGX_ERROR;
- }
-
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, pkt->log, 0,
"quic short packet flags:%xd", pkt->flags);