don't accept the player in offline mode
This commit is contained in:
@ -75,7 +75,7 @@ func (m *MessageBody) WriteTo(w io.Writer) (n int64, err error) {
|
|||||||
pk.Boolean(m.DecoratedMsg != nil),
|
pk.Boolean(m.DecoratedMsg != nil),
|
||||||
pk.Opt{
|
pk.Opt{
|
||||||
Has: m.DecoratedMsg != nil,
|
Has: m.DecoratedMsg != nil,
|
||||||
Field: m.DecoratedMsg,
|
Field: pk.ByteArray(m.DecoratedMsg),
|
||||||
},
|
},
|
||||||
pk.Long(m.Timestamp.UnixMilli()),
|
pk.Long(m.Timestamp.UnixMilli()),
|
||||||
pk.Long(m.Salt),
|
pk.Long(m.Salt),
|
||||||
@ -209,7 +209,7 @@ func (p *HistoryMessage) ReadFrom(r io.Reader) (n int64, err error) {
|
|||||||
return n + n2, err
|
return n + n2, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *HistoryMessage) WriteTo(w io.Writer) (n int64, err error) {
|
func (p HistoryMessage) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
n, err = pk.UUID(p.Sender).WriteTo(w)
|
n, err = pk.UUID(p.Sender).WriteTo(w)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
address = flag.String("address", "127.0.0.1", "The server address")
|
address = flag.String("address", "127.0.0.1:25566", "The server address")
|
||||||
name = flag.String("name", "Daze", "The player's name")
|
name = flag.String("name", "Daze", "The player's name")
|
||||||
playerID = flag.String("uuid", "", "The player's UUID")
|
playerID = flag.String("uuid", "", "The player's UUID")
|
||||||
accessToken = flag.String("token", "", "AccessToken")
|
accessToken = flag.String("token", "", "AccessToken")
|
||||||
|
@ -84,19 +84,19 @@ func (d *MojangLoginHandler) AcceptLogin(conn *net.Conn, protocol int32) (name s
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if hasPubKey {
|
|
||||||
if !pubKey.Verify() {
|
|
||||||
err = LoginFailErr{reason: chat.TranslateMsg("multiplayer.disconnect.invalid_public_key_signature")}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
profilePubKey = &pubKey
|
|
||||||
} else if d.EnforceSecureProfile {
|
|
||||||
err = LoginFailErr{reason: chat.TranslateMsg("multiplayer.disconnect.missing_public_key")}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// auth
|
// auth
|
||||||
if d.OnlineMode {
|
if d.OnlineMode {
|
||||||
|
if hasPubKey {
|
||||||
|
if !pubKey.Verify() {
|
||||||
|
err = LoginFailErr{reason: chat.TranslateMsg("multiplayer.disconnect.invalid_public_key_signature")}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
profilePubKey = &pubKey
|
||||||
|
} else if d.EnforceSecureProfile {
|
||||||
|
err = LoginFailErr{reason: chat.TranslateMsg("multiplayer.disconnect.missing_public_key")}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
var resp *auth.Resp
|
var resp *auth.Resp
|
||||||
// Auth, Encrypt
|
// Auth, Encrypt
|
||||||
resp, err = auth.Encrypt(conn, name, pubKey.PubKey)
|
resp, err = auth.Encrypt(conn, name, pubKey.PubKey)
|
||||||
|
Reference in New Issue
Block a user