mirror of
https://github.com/MetaCubeX/mihomo.git
synced 2026-02-26 16:57:08 +00:00
chore: sync vless encryption code
This commit is contained in:
@@ -104,7 +104,7 @@ func (i *ClientInstance) Handshake(conn net.Conn) (net.Conn, error) {
|
||||
EncodeHeader(clientHello[5+1+1184+1088:], 23, int(paddingLen))
|
||||
rand.Read(clientHello[5+1+1184+1088+5:])
|
||||
|
||||
if n, err := c.Conn.Write(clientHello); n != len(clientHello) || err != nil {
|
||||
if _, err := c.Conn.Write(clientHello); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// client can send more padding / NFS AEAD messages if needed
|
||||
@@ -181,7 +181,7 @@ func (c *ClientConn) Write(b []byte) (int, error) {
|
||||
}
|
||||
}
|
||||
IncreaseNonce(c.nonce)
|
||||
if n, err := c.Conn.Write(data); n != len(data) || err != nil {
|
||||
if _, err := c.Conn.Write(data); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
}
|
||||
@@ -196,7 +196,7 @@ func (c *ClientConn) Read(b []byte) (int, error) {
|
||||
var t byte
|
||||
var l int
|
||||
var err error
|
||||
if c.instance == nil { // 1-RTT
|
||||
if c.instance == nil { // from 1-RTT
|
||||
for {
|
||||
if _, t, l, err = ReadAndDecodeHeader(c.Conn); err != nil {
|
||||
return 0, err
|
||||
|
||||
@@ -8,4 +8,5 @@
|
||||
// https://github.com/XTLS/Xray-core/commit/3c20bddfcfd8999be5f9a2ac180dc959950e4c61
|
||||
// https://github.com/XTLS/Xray-core/commit/1720be168fa069332c418503d30341fc6e01df7f
|
||||
// https://github.com/XTLS/Xray-core/commit/0fd7691d6b28e05922d7a5a9313d97745a51ea63
|
||||
// https://github.com/XTLS/Xray-core/commit/09cc92c61d9067e0d65c1cae9124664ecfc78f43
|
||||
package encryption
|
||||
|
||||
@@ -162,7 +162,7 @@ func (i *ServerInstance) Handshake(conn net.Conn) (net.Conn, error) {
|
||||
EncodeHeader(serverHello[5+1088+21:], 23, int(paddingLen))
|
||||
rand.Read(serverHello[5+1088+21+5:])
|
||||
|
||||
if n, err := c.Conn.Write(serverHello); n != len(serverHello) || err != nil {
|
||||
if _, err := c.Conn.Write(serverHello); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// server can send more padding / PFS AEAD messages if needed
|
||||
@@ -185,7 +185,7 @@ func (c *ServerConn) Read(b []byte) (int, error) {
|
||||
return 0, nil
|
||||
}
|
||||
if c.peerAead == nil {
|
||||
if c.peerRandom == nil { // 1-RTT
|
||||
if c.peerRandom == nil { // from 1-RTT
|
||||
var t byte
|
||||
var l int
|
||||
var err error
|
||||
@@ -288,7 +288,7 @@ func (c *ServerConn) Write(b []byte) (int, error) {
|
||||
}
|
||||
}
|
||||
IncreaseNonce(c.nonce)
|
||||
if n, err := c.Conn.Write(data); n != len(data) || err != nil {
|
||||
if _, err := c.Conn.Write(data); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user