| 12345678910111213141516171819202122232425262728293031323334353637 |
- package protocol
- import (
- "bytes"
- "testing"
- "github.com/v2ray/v2ray-core/testing/unit"
- )
- func TestSocks4AuthenticationRequestRead(t *testing.T) {
- assert := unit.Assert(t)
- rawRequest := []byte{
- 0x04, // version
- 0x01, // command
- 0x00, 0x35,
- 0x72, 0x72, 0x72, 0x72,
- }
- _, request4, err := ReadAuthentication(bytes.NewReader(rawRequest))
- assert.Error(err).HasCode(1000)
- assert.Byte(request4.Version).Named("Version").Equals(0x04)
- assert.Byte(request4.Command).Named("Command").Equals(0x01)
- assert.Uint16(request4.Port).Named("Port").Equals(53)
- assert.Bytes(request4.IP[:]).Named("IP").Equals([]byte{0x72, 0x72, 0x72, 0x72})
- }
- func TestSocks4AuthenticationResponseToBytes(t *testing.T) {
- assert := unit.Assert(t)
- response := &Socks4AuthenticationResponse{
- result: byte(0x10),
- port: 443,
- ip: []byte{1, 2, 3, 4},
- }
- responseBytes := response.ToBytes(nil)
- assert.Bytes(responseBytes).Equals([]byte{0x00, 0x10, 0x01, 0xBB, 0x01, 0x02, 0x03, 0x04})
- }
|