mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-01-02 23:47:07 -05:00
First step to reduce number of bytes for response validation
This commit is contained in:
parent
0921470341
commit
350b31cad9
@ -40,7 +40,10 @@ func (this *VMessOutboundHandler) Dispatch(firstPacket v2net.Packet, ray ray.Out
|
|||||||
|
|
||||||
buffer := alloc.NewSmallBuffer()
|
buffer := alloc.NewSmallBuffer()
|
||||||
defer buffer.Release() // Buffer is released after communication finishes.
|
defer buffer.Release() // Buffer is released after communication finishes.
|
||||||
v2net.ReadAllBytes(rand.Reader, buffer.Value[:36]) // 16 + 16 + 4
|
v2net.ReadAllBytes(rand.Reader, buffer.Value[:33]) // 16 + 16 + 1
|
||||||
|
buffer.Value[33] = 0
|
||||||
|
buffer.Value[34] = 0
|
||||||
|
buffer.Value[35] = 0
|
||||||
request.RequestIV = buffer.Value[:16]
|
request.RequestIV = buffer.Value[:16]
|
||||||
request.RequestKey = buffer.Value[16:32]
|
request.RequestKey = buffer.Value[16:32]
|
||||||
request.ResponseHeader = buffer.Value[32:36]
|
request.ResponseHeader = buffer.Value[32:36]
|
||||||
@ -137,8 +140,7 @@ func handleRequest(conn net.Conn, request *protocol.VMessRequest, firstPacket v2
|
|||||||
}
|
}
|
||||||
|
|
||||||
func headerMatch(request *protocol.VMessRequest, responseHeader []byte) bool {
|
func headerMatch(request *protocol.VMessRequest, responseHeader []byte) bool {
|
||||||
return ((request.ResponseHeader[0] ^ request.ResponseHeader[1]) == responseHeader[0]) &&
|
return (request.ResponseHeader[0] == responseHeader[0])
|
||||||
((request.ResponseHeader[2] ^ request.ResponseHeader[3]) == responseHeader[1])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleResponse(conn net.Conn, request *protocol.VMessRequest, output chan<- *alloc.Buffer, finish *sync.Mutex, isUDP bool) {
|
func handleResponse(conn net.Conn, request *protocol.VMessRequest, output chan<- *alloc.Buffer, finish *sync.Mutex, isUDP bool) {
|
||||||
|
Loading…
Reference in New Issue
Block a user