mirror of
https://github.com/refraction-networking/utls.git
synced 2025-04-04 04:27:36 +03:00
The root cause of races is that global variables supportedSignatureAlgorithms and cipherSuites are used both to form handshake and to check whether or not peer responded with supported algorithm. In this patch I create separate variables for this purpose. Updated tests for kicks. Finally, go fmt.
96 lines
7.1 KiB
Text
96 lines
7.1 KiB
Text
>>> Flow 1 (client to server)
|
|
00000000 16 03 01 00 ac 01 00 00 a8 03 03 00 00 00 00 00 |................|
|
|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
|
|
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 1e c0 2b |...............+|
|
|
00000030 c0 2f cc a9 cc a8 c0 2c c0 30 c0 0a c0 09 c0 13 |./.....,.0......|
|
|
00000040 c0 14 00 33 00 39 00 2f 00 35 00 0a 01 00 00 61 |...3.9./.5.....a|
|
|
00000050 00 00 00 05 00 03 00 00 00 00 17 00 00 ff 01 00 |................|
|
|
00000060 01 00 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 |................|
|
|
00000070 00 0b 00 02 01 00 00 23 00 00 00 10 00 0e 00 0c |.......#........|
|
|
00000080 02 68 32 08 68 74 74 70 2f 31 2e 31 00 05 00 05 |.h2.http/1.1....|
|
|
00000090 01 00 00 00 00 00 0d 00 18 00 16 04 03 05 03 06 |................|
|
|
000000a0 03 08 04 08 05 08 06 04 01 05 01 06 01 02 03 02 |................|
|
|
000000b0 01 |.|
|
|
>>> Flow 2 (server to client)
|
|
00000000 16 03 03 00 41 02 00 00 3d 03 03 85 f5 1f 0b 53 |....A...=......S|
|
|
00000010 af 67 2f 82 ef 9e fe 05 cd 06 f3 0f bd 72 58 9d |.g/..........rX.|
|
|
00000020 78 6d 48 e7 ee 26 53 25 d4 f9 8d 00 cc a8 00 00 |xmH..&S%........|
|
|
00000030 15 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 23 |...............#|
|
|
00000040 00 00 00 17 00 00 16 03 03 02 59 0b 00 02 55 00 |..........Y...U.|
|
|
00000050 02 52 00 02 4f 30 82 02 4b 30 82 01 b4 a0 03 02 |.R..O0..K0......|
|
|
00000060 01 02 02 09 00 e8 f0 9d 3f e2 5b ea a6 30 0d 06 |........?.[..0..|
|
|
00000070 09 2a 86 48 86 f7 0d 01 01 0b 05 00 30 1f 31 0b |.*.H........0.1.|
|
|
00000080 30 09 06 03 55 04 0a 13 02 47 6f 31 10 30 0e 06 |0...U....Go1.0..|
|
|
00000090 03 55 04 03 13 07 47 6f 20 52 6f 6f 74 30 1e 17 |.U....Go Root0..|
|
|
000000a0 0d 31 36 30 31 30 31 30 30 30 30 30 30 5a 17 0d |.160101000000Z..|
|
|
000000b0 32 35 30 31 30 31 30 30 30 30 30 30 5a 30 1a 31 |250101000000Z0.1|
|
|
000000c0 0b 30 09 06 03 55 04 0a 13 02 47 6f 31 0b 30 09 |.0...U....Go1.0.|
|
|
000000d0 06 03 55 04 03 13 02 47 6f 30 81 9f 30 0d 06 09 |..U....Go0..0...|
|
|
000000e0 2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00 30 |*.H............0|
|
|
000000f0 81 89 02 81 81 00 db 46 7d 93 2e 12 27 06 48 bc |.......F}...'.H.|
|
|
00000100 06 28 21 ab 7e c4 b6 a2 5d fe 1e 52 45 88 7a 36 |.(!.~...]..RE.z6|
|
|
00000110 47 a5 08 0d 92 42 5b c2 81 c0 be 97 79 98 40 fb |G....B[.....y.@.|
|
|
00000120 4f 6d 14 fd 2b 13 8b c2 a5 2e 67 d8 d4 09 9e d6 |Om..+.....g.....|
|
|
00000130 22 38 b7 4a 0b 74 73 2b c2 34 f1 d1 93 e5 96 d9 |"8.J.ts+.4......|
|
|
00000140 74 7b f3 58 9f 6c 61 3c c0 b0 41 d4 d9 2b 2b 24 |t{.X.la<..A..++$|
|
|
00000150 23 77 5b 1c 3b bd 75 5d ce 20 54 cf a1 63 87 1d |#w[.;.u]. T..c..|
|
|
00000160 1e 24 c4 f3 1d 1a 50 8b aa b6 14 43 ed 97 a7 75 |.$....P....C...u|
|
|
00000170 62 f4 14 c8 52 d7 02 03 01 00 01 a3 81 93 30 81 |b...R.........0.|
|
|
00000180 90 30 0e 06 03 55 1d 0f 01 01 ff 04 04 03 02 05 |.0...U..........|
|
|
00000190 a0 30 1d 06 03 55 1d 25 04 16 30 14 06 08 2b 06 |.0...U.%..0...+.|
|
|
000001a0 01 05 05 07 03 01 06 08 2b 06 01 05 05 07 03 02 |........+.......|
|
|
000001b0 30 0c 06 03 55 1d 13 01 01 ff 04 02 30 00 30 19 |0...U.......0.0.|
|
|
000001c0 06 03 55 1d 0e 04 12 04 10 9f 91 16 1f 43 43 3e |..U..........CC>|
|
|
000001d0 49 a6 de 6d b6 80 d7 9f 60 30 1b 06 03 55 1d 23 |I..m....`0...U.#|
|
|
000001e0 04 14 30 12 80 10 48 13 49 4d 13 7e 16 31 bb a3 |..0...H.IM.~.1..|
|
|
000001f0 01 d5 ac ab 6e 7b 30 19 06 03 55 1d 11 04 12 30 |....n{0...U....0|
|
|
00000200 10 82 0e 65 78 61 6d 70 6c 65 2e 67 6f 6c 61 6e |...example.golan|
|
|
00000210 67 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 |g0...*.H........|
|
|
00000220 03 81 81 00 9d 30 cc 40 2b 5b 50 a0 61 cb ba e5 |.....0.@+[P.a...|
|
|
00000230 53 58 e1 ed 83 28 a9 58 1a a9 38 a4 95 a1 ac 31 |SX...(.X..8....1|
|
|
00000240 5a 1a 84 66 3d 43 d3 2d d9 0b f2 97 df d3 20 64 |Z..f=C.-...... d|
|
|
00000250 38 92 24 3a 00 bc cf 9c 7d b7 40 20 01 5f aa d3 |8.$:....}.@ ._..|
|
|
00000260 16 61 09 a2 76 fd 13 c3 cc e1 0c 5c ee b1 87 82 |.a..v......\....|
|
|
00000270 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 |.l..s..Cw.......|
|
|
00000280 40 83 61 c9 4c 72 2b 9d ae db 46 06 06 4d f4 c1 |@.a.Lr+...F..M..|
|
|
00000290 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 |.>...B...=.`.\!.|
|
|
000002a0 3b e9 fa e7 16 03 03 00 ac 0c 00 00 a8 03 00 1d |;...............|
|
|
000002b0 20 d3 83 73 6c a1 ac ff 0e 05 b0 d7 c3 84 44 e0 | ..sl.........D.|
|
|
000002c0 61 87 68 06 68 51 d9 b1 c1 6d f1 3b 93 58 2e 78 |a.h.hQ...m.;.X.x|
|
|
000002d0 08 04 01 00 80 a9 40 98 18 6a 5c 70 88 17 68 d1 |......@..j\p..h.|
|
|
000002e0 dd cb ed 6b 1c d4 b5 61 b1 6d f4 80 94 e5 e3 74 |...k...a.m.....t|
|
|
000002f0 c9 5f 6b 8b af 0a 0f b5 8d 06 30 70 77 30 1e eb |._k.......0pw0..|
|
|
00000300 c7 7e 16 fe bf be 4a 00 cd 01 1c f9 ec 33 92 10 |.~....J......3..|
|
|
00000310 e7 aa 5c 19 ef 1c ff 54 3a 7f 7d 8a c9 ef 97 63 |..\....T:.}....c|
|
|
00000320 e0 f4 d5 2d f0 61 5a f8 73 60 95 23 ad a1 89 dc |...-.aZ.s`.#....|
|
|
00000330 f0 0d 76 d5 37 de 7d 11 6c 72 89 f1 28 fd 1a b5 |..v.7.}.lr..(...|
|
|
00000340 c5 d7 03 04 a8 08 66 9d 3c 27 45 54 32 3d 6b 69 |......f.<'ET2=ki|
|
|
00000350 c0 b3 8e 47 ae 16 03 03 00 04 0e 00 00 00 |...G..........|
|
|
>>> Flow 3 (client to server)
|
|
00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.|
|
|
00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....|
|
|
00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......|
|
|
00000030 16 03 03 00 20 c1 16 85 92 1d c7 64 80 a4 2c e0 |.... ......d..,.|
|
|
00000040 81 68 4c da af 7a 7b aa cd 66 a0 f3 38 17 f5 d2 |.hL..z{..f..8...|
|
|
00000050 30 b8 f4 47 de |0..G.|
|
|
>>> Flow 4 (server to client)
|
|
00000000 16 03 03 00 ba 04 00 00 b6 00 00 1c 20 00 b0 6b |............ ..k|
|
|
00000010 ef 78 75 f9 61 1d a8 e3 be 99 5c 65 a4 fc 79 ef |.xu.a.....\e..y.|
|
|
00000020 93 f2 e8 d2 ec 03 2a 0b 61 5a fc 13 fc 58 80 0f |......*.aZ...X..|
|
|
00000030 c8 b5 d1 2d 45 ad 5e be fc 46 aa 62 d2 c2 c9 e6 |...-E.^..F.b....|
|
|
00000040 ba ec c6 7f 59 20 c6 2a a9 0d d2 bd be a9 d8 58 |....Y .*.......X|
|
|
00000050 6c ec d5 17 01 01 76 10 fc 66 3a 07 e1 22 a8 9c |l.....v..f:.."..|
|
|
00000060 ee c5 55 11 ec 63 b2 b6 0e 74 61 e1 f4 84 78 76 |..U..c...ta...xv|
|
|
00000070 6f ea 9c 22 3f 1d 57 59 d8 99 e0 33 35 14 63 af |o.."?.WY...35.c.|
|
|
00000080 67 e3 52 21 03 f9 c3 b1 05 e5 19 e7 c5 0a 77 81 |g.R!..........w.|
|
|
00000090 3e 54 a0 74 be 8e 2f 52 7c 26 74 f0 e7 27 15 25 |>T.t../R|&t..'.%|
|
|
000000a0 a2 7d 61 3e 4a 4a 0c 47 01 41 1c 88 7c f0 51 f2 |.}a>JJ.G.A..|.Q.|
|
|
000000b0 df b2 2b a2 b8 79 1a d1 80 b4 4e d7 80 a5 50 14 |..+..y....N...P.|
|
|
000000c0 03 03 00 01 01 16 03 03 00 20 b2 d0 be ac ab 55 |......... .....U|
|
|
000000d0 a6 26 22 56 1b ec e2 83 7c 44 09 88 7e 60 77 37 |.&"V....|D..~`w7|
|
|
000000e0 91 9d 9e 33 34 52 00 3d 3e d7 |...34R.=>.|
|
|
>>> Flow 5 (client to server)
|
|
00000000 17 03 03 00 16 d8 15 29 89 24 bb f7 a7 1a c7 f9 |.......).$......|
|
|
00000010 60 e7 ce c4 e0 12 8a c7 a4 d1 72 15 03 03 00 12 |`.........r.....|
|
|
00000020 f7 0a 41 1c 87 97 3f bf 27 16 12 40 1f e2 b0 5e |..A...?.'..@...^|
|
|
00000030 53 3e |S>|
|