浏览代码

fix an offset issue in OTA

v2ray 9 年之前
父节点
当前提交
fc69c77369
共有 2 个文件被更改,包括 4 次插入1 次删除
  1. 1 1
      proxy/shadowsocks/ota.go
  2. 3 0
      proxy/shadowsocks/ota_test.go

+ 1 - 1
proxy/shadowsocks/ota.go

@@ -96,7 +96,7 @@ func (this *ChunkReader) Read() (*alloc.Buffer, error) {
 		log.Debug("AuthenticationReader: Unexpected auth: ", authBytes)
 		return nil, transport.ErrCorruptedPacket
 	}
-	buffer.Value = payload
+	buffer.SliceFrom(AuthSize)
 
 	return buffer, nil
 }

+ 3 - 0
proxy/shadowsocks/ota_test.go

@@ -18,4 +18,7 @@ func TestNormalChunkReading(t *testing.T) {
 	payload, err := reader.Read()
 	assert.Error(err).IsNil()
 	assert.Bytes(payload.Value).Equals([]byte{11, 12, 13, 14, 15, 16, 17, 18})
+
+	payload.PrependBytes(3, 4)
+	assert.Bytes(payload.Value).Equals([]byte{3, 4, 11, 12, 13, 14, 15, 16, 17, 18})
 }