diff options
Diffstat (limited to 'src/event/ngx_event_quic_transport.c')
| -rw-r--r-- | src/event/ngx_event_quic_transport.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/event/ngx_event_quic_transport.c b/src/event/ngx_event_quic_transport.c index b391f6b79..467a41157 100644 --- a/src/event/ngx_event_quic_transport.c +++ b/src/event/ngx_event_quic_transport.c @@ -341,12 +341,12 @@ ngx_quic_parse_long_header(ngx_quic_header_t *pkt) size_t -ngx_quic_create_long_header(ngx_quic_header_t *pkt, ngx_str_t *out, +ngx_quic_create_long_header(ngx_quic_header_t *pkt, u_char *out, size_t pkt_len, u_char **pnp) { - u_char *p, *start; + u_char *p, *start; - p = start = out->data; + p = start = out; *p++ = pkt->flags; @@ -372,6 +372,26 @@ ngx_quic_create_long_header(ngx_quic_header_t *pkt, ngx_str_t *out, } +size_t +ngx_quic_create_short_header(ngx_quic_header_t *pkt, u_char *out, + size_t pkt_len, u_char **pnp) +{ + u_char *p, *start; + + p = start = out; + + *p++ = 0x40; + + p = ngx_cpymem(p, pkt->scid.data, pkt->scid.len); + + *pnp = p; + + *p++ = (*pkt->number); + + return p - start; +} + + ngx_int_t ngx_quic_parse_short_header(ngx_quic_header_t *pkt, ngx_str_t *dcid) { |
