@@ -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
3333type 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
7576func (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