fix lint warnings

pull/700/head
Darien Raymond 2017-11-07 14:40:51 +01:00
parent 251d6f6fcb
commit f5d76c8eb0
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
3 changed files with 20 additions and 10 deletions

View File

@ -93,7 +93,12 @@ func (r *AuthenticationReader) readSize() error {
sizeBytes := r.sizeParser.SizeBytes() sizeBytes := r.sizeParser.SizeBytes()
if r.buffer.Len() < sizeBytes { if r.buffer.Len() < sizeBytes {
common.Must(r.buffer.Reset(buf.ReadFrom(r.buffer))) if r.buffer.IsEmpty() {
r.buffer.Clear()
} else {
common.Must(r.buffer.Reset(buf.ReadFrom(r.buffer)))
}
delta := sizeBytes - r.buffer.Len() delta := sizeBytes - r.buffer.Len()
if err := r.buffer.AppendSupplier(buf.ReadAtLeastFrom(r.reader, delta)); err != nil { if err := r.buffer.AppendSupplier(buf.ReadAtLeastFrom(r.reader, delta)); err != nil {
return err return err

View File

@ -3,6 +3,7 @@ package crypto
import ( import (
"io" "io"
"v2ray.com/core/common"
"v2ray.com/core/common/buf" "v2ray.com/core/common/buf"
"v2ray.com/core/common/serial" "v2ray.com/core/common/serial"
) )
@ -70,7 +71,7 @@ func (r *ChunkStreamReader) readSize() (uint16, error) {
return 0, err return 0, err
} }
} }
r.leftOver.Read(r.buffer) common.Must2(r.leftOver.Read(r.buffer))
return r.sizeDecoder.Decode(r.buffer) return r.sizeDecoder.Decode(r.buffer)
} }
@ -93,21 +94,23 @@ func (r *ChunkStreamReader) Read() (buf.MultiBuffer, error) {
} }
} }
if size >= r.leftOver.Len() { leftOverLen := r.leftOver.Len()
if size >= leftOverLen {
mb := r.leftOver mb := r.leftOver
r.leftOverSize = size - r.leftOver.Len() r.leftOverSize = size - leftOverLen
r.leftOver = nil r.leftOver = nil
return mb, nil return mb, nil
} }
mb := r.leftOver.SliceBySize(size) mb := r.leftOver.SliceBySize(size)
if mb.Len() != size { mbLen := mb.Len()
if mbLen != size {
b := buf.New() b := buf.New()
b.AppendSupplier(buf.ReadFullFrom(&r.leftOver, size-mb.Len())) common.Must(b.Reset(buf.ReadFullFrom(&r.leftOver, size-mbLen)))
mb.Append(b) mb.Append(b)
} }
r.leftOverSize = 0 r.leftOverSize = 0
return mb, nil return mb, nil
} }
@ -131,10 +134,10 @@ func (w *ChunkStreamWriter) Write(mb buf.MultiBuffer) error {
slice := mb.SliceBySize(sliceSize) slice := mb.SliceBySize(sliceSize)
b := buf.New() b := buf.New()
b.AppendSupplier(func(buffer []byte) (int, error) { common.Must(b.AppendSupplier(func(buffer []byte) (int, error) {
w.sizeEncoder.Encode(uint16(slice.Len()), buffer[:0]) w.sizeEncoder.Encode(uint16(slice.Len()), buffer[:0])
return w.sizeEncoder.SizeBytes(), nil return w.sizeEncoder.SizeBytes(), nil
}) }))
mb2Write.Append(b) mb2Write.Append(b)
mb2Write.AppendMulti(slice) mb2Write.AppendMulti(slice)

View File

@ -637,6 +637,8 @@ func TestVMessNone(t *testing.T) {
wg.Add(10) wg.Add(10)
for i := 0; i < 10; i++ { for i := 0; i < 10; i++ {
go func() { go func() {
defer wg.Done()
conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{ conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{
IP: []byte{127, 0, 0, 1}, IP: []byte{127, 0, 0, 1},
Port: int(clientPort), Port: int(clientPort),
@ -651,9 +653,9 @@ func TestVMessNone(t *testing.T) {
assert(nBytes, Equals, len(payload)) assert(nBytes, Equals, len(payload))
response := readFrom(conn, time.Second*20, 1024*1024) response := readFrom(conn, time.Second*20, 1024*1024)
assert(response, Equals, xor(payload)) assert(response, Equals, xor(payload))
assert(conn.Close(), IsNil) assert(conn.Close(), IsNil)
wg.Done()
}() }()
} }
wg.Wait() wg.Wait()