LoginPacket: fix corruption false-positives in offline mode

This commit is contained in:
Dylan K. Taylor 2019-01-11 17:55:58 +00:00
parent 19614ed25e
commit e9f023fe69

View File

@ -133,7 +133,7 @@ class LoginPacket extends DataPacket{
$vd = new Validator();
$vd->required('chain')->isArray()->callback(function(array $data) : bool{
return count($data) === 3 and count(array_filter($data, '\is_string')) === count($data);
return count($data) <= 3 and count(array_filter($data, '\is_string')) === count($data);
});
self::validate($vd, "chainData", $chainData);
@ -155,7 +155,7 @@ class LoginPacket extends DataPacket{
$extraV = new Validator();
$extraV->required('displayName')->string();
$extraV->required('identity')->uuid();
$extraV->required('XUID')->string()->digits();
$extraV->required('XUID')->string()->digits()->allowEmpty(true);
self::validate($extraV, "chain.$k.extraData", $claims['extraData']);
$this->username = $claims["extraData"]["displayName"];