From 05620a369eddd93b95d96ce47eaf3fd69dab5e1d Mon Sep 17 00:00:00 2001 From: Hellojack <106379370+H1JK@users.noreply.github.com> Date: Mon, 16 Jan 2023 16:23:06 +0800 Subject: [PATCH] Fix gRPC lite header Manually set the first byte to 0x00 (No Compression) since we can not ensure that the buffer is not polluted before. --- transport/v2raygrpclite/conn.go | 1 + 1 file changed, 1 insertion(+) diff --git a/transport/v2raygrpclite/conn.go b/transport/v2raygrpclite/conn.go index 0cb7b810..7906fcdb 100644 --- a/transport/v2raygrpclite/conn.go +++ b/transport/v2raygrpclite/conn.go @@ -117,6 +117,7 @@ func (c *GunConn) WriteBuffer(buffer *buf.Buffer) error { dataLen := buffer.Len() varLen := rw.UVariantLen(uint64(dataLen)) header := buffer.ExtendHeader(6 + varLen) + header[0] = 0x00 binary.BigEndian.PutUint32(header[1:5], uint32(1+varLen+dataLen)) header[5] = 0x0A binary.PutUvarint(header[6:], uint64(dataLen))