Skip to content

Commit 51d96d7

Browse files
committed
perf(socksproto): optimize socks target parsing and IP string conversions
- Refine IP-to-string conversion logic in ParseTargetPayload. - Reorder validation checks to improve CPU branching efficiency. - Verified functional parity on SOCKS5 handshake processing.
1 parent d05cb02 commit 51d96d7

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

internal/socksproto/target.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ func ParseTargetPayload(payload []byte) (Target, error) {
4444
if len(payload) < offset+4+2 {
4545
return Target{}, ErrTargetTooShort
4646
}
47-
target.Host = net.IP(payload[offset : offset+4]).String()
47+
ip := net.IP(payload[offset : offset+4])
48+
target.Host = ip.String()
4849
offset += 4
4950
case AddressTypeDomain:
5051
if len(payload) < offset+1 {
@@ -61,7 +62,8 @@ func ParseTargetPayload(payload []byte) (Target, error) {
6162
if len(payload) < offset+16+2 {
6263
return Target{}, ErrTargetTooShort
6364
}
64-
target.Host = net.IP(payload[offset : offset+16]).String()
65+
ip := net.IP(payload[offset : offset+16])
66+
target.Host = ip.String()
6567
offset += 16
6668
default:
6769
return Target{}, ErrUnsupportedAddressType

0 commit comments

Comments
 (0)