changeset 8344:e0abe17a2878 quic

Removed source/destination swap from the function creating header. The function now creates a header according to fileds provided in the "pkt" argument without applying any logic regarding sending side.
author Vladimir Homutov <vl@nginx.com>
date Mon, 20 Apr 2020 12:12:17 +0300
parents de715cdd4257
children 6481427ca3fc
files src/event/ngx_event_quic.c src/event/ngx_event_quic_transport.c
diffstat 2 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/event/ngx_event_quic.c
+++ b/src/event/ngx_event_quic.c
@@ -2233,8 +2233,8 @@ ngx_quic_send_frames(ngx_connection_t *c
 
     pkt.log = c->log;
     pkt.level = start->level;
-    pkt.dcid = qc->dcid;
-    pkt.scid = qc->scid;
+    pkt.dcid = qc->scid;
+    pkt.scid = qc->dcid;
     pkt.payload = out;
 
     res.data = dst;
--- a/src/event/ngx_event_quic_transport.c
+++ b/src/event/ngx_event_quic_transport.c
@@ -365,12 +365,12 @@ ngx_quic_create_long_header(ngx_quic_hea
 
     p = ngx_quic_write_uint32(p, NGX_QUIC_VERSION);
 
+    *p++ = pkt->dcid.len;
+    p = ngx_cpymem(p, pkt->dcid.data, pkt->dcid.len);
+
     *p++ = pkt->scid.len;
     p = ngx_cpymem(p, pkt->scid.data, pkt->scid.len);
 
-    *p++ = pkt->dcid.len;
-    p = ngx_cpymem(p, pkt->dcid.data, pkt->dcid.len);
-
     if (pkt->level == ssl_encryption_initial) {
         ngx_quic_build_int(&p, pkt->token.len);
     }
@@ -408,7 +408,7 @@ ngx_quic_create_short_header(ngx_quic_he
 
     *p++ = pkt->flags;
 
-    p = ngx_cpymem(p, pkt->scid.data, pkt->scid.len);
+    p = ngx_cpymem(p, pkt->dcid.data, pkt->dcid.len);
 
     *pnp = p;