From c3ea7f7263da5a49b384281b431dbbb1bb0589f4 Mon Sep 17 00:00:00 2001 From: Andy Wang Date: Sun, 13 Sep 2020 11:32:07 +0100 Subject: [PATCH] Fix test GREASE comparison --- internal/client/chrome_test.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/client/chrome_test.go b/internal/client/chrome_test.go index e08540e..8ddb6f8 100644 --- a/internal/client/chrome_test.go +++ b/internal/client/chrome_test.go @@ -34,15 +34,15 @@ func TestComposeExtension(t *testing.T) { result := (&Chrome{}).composeExtensions(sni, keyShare) target, _ := hex.DecodeString("8a8a00000000000f000d00000a6769746875622e636f6d00170000ff01000100000a000a00088a8a001d00170018000b00020100002300000010000e000c02683208687474702f312e31000500050100000000000d0012001004030804040105030805050108060601001200000033002b00298a8a000100001d0020690f074f5c01756982269b66d58c90c47dc0f281d654c7b2c16f63c9033f5604002d00020101002b000b0a3a3a0304030303020301001b00030200024a4a000100001500d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") - for p := 0; p < len(result); { - // skip GREASEs - if result[p]&0x0F == 0xA && result[p] == result[p+1] { - p += 2 - continue - } + for p := 0; p < len(result); p++ { if result[p] != target[p] { + if result[p]&0x0F == 0xA && target[p]&0x0F == 0xA && + ((p > 0 && result[p-1] == result[p] && target[p-1] == target[p]) || + (p < len(result)-1 && result[p+1] == result[p] && target[p+1] == target[p])) { + continue + } t.Errorf("inequality at %v", p) } - p += 1 } + }