1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-10 09:50:43 +00:00

change ReadFullFrom to take int32 size

This commit is contained in:
Darien Raymond 2018-04-02 00:44:47 +02:00
parent 03512a6a9b
commit 4de3f1adc1
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
11 changed files with 20 additions and 20 deletions

View File

@ -20,7 +20,7 @@ func ReadMetadata(reader io.Reader) (*FrameMetadata, error) {
b := buf.NewSize(uint32(metaLen))
defer b.Release()
if err := b.Reset(buf.ReadFullFrom(reader, int(metaLen))); err != nil {
if err := b.Reset(buf.ReadFullFrom(reader, int32(metaLen))); err != nil {
return nil, err
}
return ReadFrameFrom(b)
@ -52,7 +52,7 @@ func (r *PacketReader) ReadMultiBuffer() (buf.MultiBuffer, error) {
}
b := buf.NewSize(uint32(size))
if err := b.AppendSupplier(buf.ReadFullFrom(r.reader, int(size))); err != nil {
if err := b.Reset(buf.ReadFullFrom(r.reader, int32(size))); err != nil {
b.Release()
return nil, err
}

View File

@ -33,7 +33,7 @@ func ReadFrom(reader io.Reader) Supplier {
}
// ReadFullFrom creates a Supplier to read full buffer from a given io.Reader.
func ReadFullFrom(reader io.Reader, size int) Supplier {
func ReadFullFrom(reader io.Reader, size int32) Supplier {
return func(b []byte) (int, error) {
return io.ReadFull(reader, b[:size])
}

View File

@ -40,7 +40,7 @@ func ReadSizeToMultiBuffer(reader io.Reader, size int32) (MultiBuffer, error) {
bSize = Size
}
b := NewSize(uint32(bSize))
if err := b.Reset(ReadFullFrom(reader, int(bSize))); err != nil {
if err := b.Reset(ReadFullFrom(reader, bSize)); err != nil {
mb.Release()
return nil, err
}
@ -174,12 +174,12 @@ func (mb MultiBuffer) ToNetBuffers() net.Buffers {
}
// SliceBySize splits the beginning of this MultiBuffer into another one, for at most size bytes.
func (mb *MultiBuffer) SliceBySize(size int) MultiBuffer {
func (mb *MultiBuffer) SliceBySize(size int32) MultiBuffer {
slice := NewMultiBufferCap(10)
sliceSize := 0
endIndex := len(*mb)
for i, b := range *mb {
if b.Len()+sliceSize > size {
if int32(b.Len()+sliceSize) > size {
endIndex = i
break
}

View File

@ -158,7 +158,7 @@ func (r *BufferedReader) ReadAtMost(size int) (MultiBuffer, error) {
r.leftOver = mb
}
mb := r.leftOver.SliceBySize(size)
mb := r.leftOver.SliceBySize(int32(size))
if r.leftOver.IsEmpty() {
r.leftOver = nil
}

View File

@ -144,7 +144,7 @@ func (r *AuthenticationReader) readInternal(soft bool) (*buf.Buffer, error) {
}
b := buf.NewSize(uint32(size))
if err := b.Reset(buf.ReadFullFrom(r.reader, int(size))); err != nil {
if err := b.Reset(buf.ReadFullFrom(r.reader, size)); err != nil {
b.Release()
return nil, err
}

View File

@ -99,7 +99,7 @@ func (p *AddressParser) readAddress(b *buf.Buffer, reader io.Reader) (net.Addres
return nil, err
}
domainLength := int(b.Byte(b.Len() - 1))
if err := b.AppendSupplier(buf.ReadFullFrom(reader, domainLength)); err != nil {
if err := b.AppendSupplier(buf.ReadFullFrom(reader, int32(domainLength))); err != nil {
return nil, err
}
domain := string(b.BytesFrom(-domainLength))

View File

@ -77,7 +77,7 @@ func (v *ChunkReader) ReadMultiBuffer() (buf.MultiBuffer, error) {
size += AuthSize
buffer := buf.NewSize(uint32(size))
if err := buffer.AppendSupplier(buf.ReadFullFrom(v.reader, int(size))); err != nil {
if err := buffer.AppendSupplier(buf.ReadFullFrom(v.reader, int32(size))); err != nil {
buffer.Release()
return nil, err
}

View File

@ -41,7 +41,7 @@ func ReadTCPSession(user *protocol.User, reader io.Reader) (*protocol.RequestHea
ivLen := account.Cipher.IVSize()
var iv []byte
if ivLen > 0 {
if err := buffer.AppendSupplier(buf.ReadFullFrom(reader, ivLen)); err != nil {
if err := buffer.AppendSupplier(buf.ReadFullFrom(reader, int32(ivLen))); err != nil {
return nil, nil, newError("failed to read IV").Base(err)
}
@ -70,7 +70,7 @@ func ReadTCPSession(user *protocol.User, reader io.Reader) (*protocol.RequestHea
// Invalid address. Continue to read some bytes to confuse client.
nBytes := dice.Roll(32) + 1
buffer.Clear()
buffer.AppendSupplier(buf.ReadFullFrom(br, nBytes))
buffer.AppendSupplier(buf.ReadFullFrom(br, int32(nBytes)))
return nil, nil, newError("failed to read address").Base(err)
}
@ -227,7 +227,7 @@ func EncodeUDPPacket(request *protocol.RequestHeader, payload []byte) (*buf.Buff
buffer := buf.New()
ivLen := account.Cipher.IVSize()
if ivLen > 0 {
common.Must(buffer.Reset(buf.ReadFullFrom(rand.Reader, ivLen)))
common.Must(buffer.Reset(buf.ReadFullFrom(rand.Reader, int32(ivLen))))
}
iv := buffer.Bytes()

View File

@ -97,7 +97,7 @@ func (s *ServerSession) Handshake(reader io.Reader, writer io.Writer) (*protocol
if version == socks5Version {
nMethod := int(buffer.Byte(1))
if err := buffer.AppendSupplier(buf.ReadFullFrom(reader, nMethod)); err != nil {
if err := buffer.AppendSupplier(buf.ReadFullFrom(reader, int32(nMethod))); err != nil {
return nil, newError("failed to read auth methods").Base(err)
}
@ -190,7 +190,7 @@ func readUsernamePassword(reader io.Reader) (string, string, error) {
if err := buffer.Reset(buf.ReadFullFrom(reader, 2)); err != nil {
return "", "", err
}
nUsername := int(buffer.Byte(1))
nUsername := int32(buffer.Byte(1))
if err := buffer.Reset(buf.ReadFullFrom(reader, nUsername)); err != nil {
return "", "", err
@ -200,7 +200,7 @@ func readUsernamePassword(reader io.Reader) (string, string, error) {
if err := buffer.Reset(buf.ReadFullFrom(reader, 1)); err != nil {
return "", "", err
}
nPassword := int(buffer.Byte(0))
nPassword := int32(buffer.Byte(0))
if err := buffer.Reset(buf.ReadFullFrom(reader, nPassword)); err != nil {
return "", "", err
}

View File

@ -87,7 +87,7 @@ func (c *ClientSession) EncodeRequestHeader(header *protocol.RequestHeader, writ
}
if padingLen > 0 {
common.Must(buffer.AppendSupplier(buf.ReadFullFrom(rand.Reader, padingLen)))
common.Must(buffer.AppendSupplier(buf.ReadFullFrom(rand.Reader, int32(padingLen))))
}
fnv1a := fnv.New32a()
@ -191,7 +191,7 @@ func (c *ClientSession) DecodeResponseHeader(reader io.Reader) (*protocol.Respon
if buffer.Byte(2) != 0 {
cmdID := buffer.Byte(2)
dataLen := int(buffer.Byte(3))
dataLen := int32(buffer.Byte(3))
if err := buffer.Reset(buf.ReadFullFrom(c.responseReader, dataLen)); err != nil {
return nil, newError("failed to read response command").Base(err)

View File

@ -168,7 +168,7 @@ func (s *ServerSession) DecodeRequestHeader(reader io.Reader) (*protocol.Request
if invalidRequestErr != nil {
randomLen := dice.Roll(64) + 1
// Read random number of bytes for prevent detection.
buffer.AppendSupplier(buf.ReadFullFrom(decryptor, randomLen))
buffer.AppendSupplier(buf.ReadFullFrom(decryptor, int32(randomLen)))
}
}()
@ -195,7 +195,7 @@ func (s *ServerSession) DecodeRequestHeader(reader io.Reader) (*protocol.Request
}
if padingLen > 0 {
if err := buffer.AppendSupplier(buf.ReadFullFrom(decryptor, padingLen)); err != nil {
if err := buffer.AppendSupplier(buf.ReadFullFrom(decryptor, int32(padingLen))); err != nil {
return nil, newError("failed to read padding").Base(err)
}
}