use a dedicated exception class for throwing exceptions on decrypt failure

This commit is contained in:
Dylan K. Taylor
2020-04-22 09:40:26 +01:00
parent 5a33dbd4c6
commit dd37d286f0
3 changed files with 33 additions and 4 deletions

View File

@@ -36,6 +36,7 @@ use pocketmine\math\Vector3;
use pocketmine\network\BadPacketException;
use pocketmine\network\mcpe\compression\CompressBatchPromise;
use pocketmine\network\mcpe\compression\Zlib;
use pocketmine\network\mcpe\encryption\DecryptionException;
use pocketmine\network\mcpe\encryption\NetworkCipher;
use pocketmine\network\mcpe\encryption\PrepareEncryptionTask;
use pocketmine\network\mcpe\handler\DeathPacketHandler;
@@ -261,7 +262,7 @@ class NetworkSession{
Timings::$playerNetworkReceiveDecryptTimer->startTiming();
try{
$payload = $this->cipher->decrypt($payload);
}catch(\UnexpectedValueException $e){
}catch(DecryptionException $e){
$this->logger->debug("Encrypted packet: " . base64_encode($payload));
throw BadPacketException::wrap($e, "Packet decryption error");
}finally{