Browse Source

fix an offset issue in OTA

v2ray 9 years ago
parent
commit
fc69c77369
2 changed files with 4 additions and 1 deletions
  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)
 		log.Debug("AuthenticationReader: Unexpected auth: ", authBytes)
 		return nil, transport.ErrCorruptedPacket
 		return nil, transport.ErrCorruptedPacket
 	}
 	}
-	buffer.Value = payload
+	buffer.SliceFrom(AuthSize)
 
 
 	return buffer, nil
 	return buffer, nil
 }
 }

+ 3 - 0
proxy/shadowsocks/ota_test.go

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