Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 335d54e

Browse files
committed
chore: sync vless encryption code
1 parent d11f9c8 commit 335d54e

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

transport/vless/encryption/client.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,18 +114,18 @@ func (i *ClientInstance) Handshake(conn net.Conn) (net.Conn, error) {
114114
return nil, err
115115
}
116116
if t != 1 {
117-
return nil, fmt.Errorf("unexpected type %v, expect server hello", t)
117+
return nil, fmt.Errorf("unexpected type %v, expect random hello", t)
118118
}
119119

120-
peerServerHello := make([]byte, 1088+21)
121-
if l != len(peerServerHello) {
122-
return nil, fmt.Errorf("unexpected length %v for server hello", l)
120+
peerRandomHello := make([]byte, 1088+21)
121+
if l != len(peerRandomHello) {
122+
return nil, fmt.Errorf("unexpected length %v for random hello", l)
123123
}
124-
if _, err := io.ReadFull(c.Conn, peerServerHello); err != nil {
124+
if _, err := io.ReadFull(c.Conn, peerRandomHello); err != nil {
125125
return nil, err
126126
}
127-
encapsulatedPfsKey := peerServerHello[:1088]
128-
c.ticket = peerServerHello[1088:]
127+
encapsulatedPfsKey := peerRandomHello[:1088]
128+
c.ticket = peerRandomHello[1088:]
129129

130130
pfsKey, err := pfsDKey.Decapsulate(encapsulatedPfsKey)
131131
if err != nil {

transport/vless/encryption/doc.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77
// https://github.com/XTLS/Xray-core/commit/23d7aad461d232bc5bed52dd6aaa731ecd88ad35
88
// https://github.com/XTLS/Xray-core/commit/3c20bddfcfd8999be5f9a2ac180dc959950e4c61
99
// https://github.com/XTLS/Xray-core/commit/1720be168fa069332c418503d30341fc6e01df7f
10+
// https://github.com/XTLS/Xray-core/commit/0fd7691d6b28e05922d7a5a9313d97745a51ea63
1011
package encryption

transport/vless/encryption/server.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -203,20 +203,17 @@ func (c *ServerConn) Read(b []byte) (int, error) {
203203
if t != 0 {
204204
return 0, fmt.Errorf("unexpected type %v, expect ticket hello", t)
205205
}
206-
peerTicket := make([]byte, 21)
207-
if l != len(peerTicket) {
206+
peerTicketHello := make([]byte, 21+32)
207+
if l != len(peerTicketHello) {
208208
return 0, fmt.Errorf("unexpected length %v for ticket hello", l)
209209
}
210-
if _, err := io.ReadFull(c.Conn, peerTicket); err != nil {
210+
if _, err := io.ReadFull(c.Conn, peerTicketHello); err != nil {
211211
return 0, err
212212
}
213-
if !bytes.Equal(peerTicket, c.ticket) {
213+
if !bytes.Equal(peerTicketHello[:21], c.ticket) {
214214
return 0, errors.New("naughty boy")
215215
}
216-
c.peerRandom = make([]byte, 32)
217-
if _, err := io.ReadFull(c.Conn, c.peerRandom); err != nil {
218-
return 0, err
219-
}
216+
c.peerRandom = peerTicketHello[21:]
220217
}
221218
c.peerAead = NewAead(c.cipher, c.baseKey, c.peerRandom, c.ticket)
222219
c.peerNonce = make([]byte, 12)

0 commit comments

Comments
 (0)