Skip to content

Commit 46dccf2

Browse files
committed
chore: sync vless encryption code
1 parent 854c6a1 commit 46dccf2

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

transport/vless/encryption/doc.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
// https://github.com/XTLS/Xray-core/commit/7ffb555fc8ec51bd1e3e60f26f1d6957984dba80
55
// https://github.com/XTLS/Xray-core/commit/ec1cc35188c1a5f38a2ff75e88b5d043ffdc59da
66
// https://github.com/XTLS/Xray-core/commit/5c611420487a92f931faefc01d4bf03869f477f6
7+
// https://github.com/XTLS/Xray-core/commit/23d7aad461d232bc5bed52dd6aaa731ecd88ad35
78
package encryption

transport/vless/encryption/server.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ type ServerInstance struct {
2727
xor uint32
2828
minutes time.Duration
2929
sessions map[[21]byte]*ServerSession
30-
stop bool
30+
closed bool
3131
}
3232

3333
type ServerConn struct {
@@ -57,7 +57,8 @@ func (i *ServerInstance) Init(nfsDKeySeed []byte, xor uint32, minutes time.Durat
5757
time.Sleep(time.Minute)
5858
now := time.Now()
5959
i.Lock()
60-
if i.stop {
60+
if i.closed {
61+
i.Unlock()
6162
return
6263
}
6364
for ticket, session := range i.sessions {
@@ -74,8 +75,8 @@ func (i *ServerInstance) Init(nfsDKeySeed []byte, xor uint32, minutes time.Durat
7475

7576
func (i *ServerInstance) Close() (err error) {
7677
i.Lock()
77-
defer i.Unlock()
78-
i.stop = true
78+
i.closed = true
79+
i.Unlock()
7980
return
8081
}
8182

@@ -225,7 +226,7 @@ func (c *ServerConn) Read(b []byte) (int, error) {
225226
}
226227
var peerAead cipher.AEAD
227228
if bytes.Equal(c.peerNonce, MaxNonce) {
228-
peerAead = NewAead(ClientCipher, c.baseKey, peerData, peerHeader)
229+
peerAead = NewAead(c.cipher, c.baseKey, peerData, peerHeader)
229230
}
230231
_, err = c.peerAead.Open(dst[:0], c.peerNonce, peerData, peerHeader)
231232
if peerAead != nil {
@@ -268,7 +269,7 @@ func (c *ServerConn) Write(b []byte) (int, error) {
268269
EncodeHeader(data, len(b)+16)
269270
c.aead.Seal(data[:5], c.nonce, b, data[:5])
270271
if bytes.Equal(c.nonce, MaxNonce) {
271-
c.aead = NewAead(ClientCipher, c.baseKey, data[5:], data[:5])
272+
c.aead = NewAead(c.cipher, c.baseKey, data[5:], data[:5])
272273
}
273274
}
274275
IncreaseNonce(c.nonce)

0 commit comments

Comments
 (0)