fix key pair checking bug
This commit is contained in:
@ -11,7 +11,7 @@ import (
|
||||
type Client struct {
|
||||
Conn *net.Conn
|
||||
Auth Auth
|
||||
KeyPair user.KeyPairResp
|
||||
KeyPair *user.KeyPairResp
|
||||
|
||||
Name string
|
||||
UUID uuid.UUID
|
||||
|
@ -47,7 +47,7 @@ func handleEncryptionRequest(c *Client, p pk.Packet) error {
|
||||
|
||||
// 响应加密请求
|
||||
// Write Encryption Key Response
|
||||
p, err = genEncryptionKeyResponse(key, er.PublicKey, er.VerifyToken, &c.KeyPair)
|
||||
p, err = genEncryptionKeyResponse(key, er.PublicKey, er.VerifyToken, c.KeyPair)
|
||||
if err != nil {
|
||||
return fmt.Errorf("gen encryption key response fail: %v", err)
|
||||
}
|
||||
|
@ -75,10 +75,13 @@ func (c *Client) join(ctx context.Context, d *mcnet.Dialer, addr string) error {
|
||||
return LoginErr{"handshake", err}
|
||||
}
|
||||
// Login Start
|
||||
c.KeyPair, err = user.GetOrFetchKeyPair(c.Auth.AsTk)
|
||||
KeyPair := pk.OptionEncoder[user.KeyPairResp]{
|
||||
KeyPairResp, err := user.GetOrFetchKeyPair(c.Auth.AsTk)
|
||||
if err == nil {
|
||||
c.KeyPair = &KeyPairResp
|
||||
}
|
||||
KeyPair := pk.OptionEncoder[*user.KeyPairResp]{
|
||||
Has: err == nil,
|
||||
Val: c.KeyPair,
|
||||
Val: &KeyPairResp,
|
||||
}
|
||||
c.UUID, err = uuid.Parse(c.Auth.UUID)
|
||||
PlayerUUID := pk.Option[pk.UUID, *pk.UUID]{
|
||||
|
Reference in New Issue
Block a user