]> git.kaiwu.me - nginx.git/commitdiff
Fixed computing nonce again, by properly shifting packet number.
authorSergey Kandaurov <pluknet@nginx.com>
Fri, 3 Apr 2020 10:49:40 +0000 (13:49 +0300)
committerSergey Kandaurov <pluknet@nginx.com>
Fri, 3 Apr 2020 10:49:40 +0000 (13:49 +0300)
src/event/ngx_event_quic_protection.c

index cdab7fcd4d2b9bc27fb1678de50e0cc7ac6133a1..b4c6ef3f3a91eceec13a957f64e7abb77b3e6a05 100644 (file)
@@ -787,10 +787,10 @@ ngx_quic_parse_pn(u_char **pos, ngx_int_t len, u_char *mask)
 static void
 ngx_quic_compute_nonce(u_char *nonce, size_t len, uint64_t pn)
 {
-    nonce[len - 4] ^= pn & 0xff000000;
-    nonce[len - 3] ^= pn & 0x00ff0000;
-    nonce[len - 2] ^= pn & 0x0000ff00;
-    nonce[len - 1] ^= pn & 0x000000ff;
+    nonce[len - 4] ^= (pn & 0xff000000) >> 24;
+    nonce[len - 3] ^= (pn & 0x00ff0000) >> 16;
+    nonce[len - 2] ^= (pn & 0x0000ff00) >> 8;
+    nonce[len - 1] ^= (pn & 0x000000ff);
 }