From db665fefdbec044f155625f3fbc5c9d17c28e1bd Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 23 Feb 2024 14:10:24 +0000 Subject: [PATCH] Harden JsonMapper defaults in general --- .../bedrock/block/upgrade/BlockStateUpgradeSchemaUtils.php | 3 +++ src/data/bedrock/item/upgrade/ItemIdMetaUpgradeSchemaUtils.php | 3 +++ src/resourcepacks/ZippedResourcePack.php | 1 + src/updater/UpdateCheckTask.php | 1 + 4 files changed, 8 insertions(+) diff --git a/src/data/bedrock/block/upgrade/BlockStateUpgradeSchemaUtils.php b/src/data/bedrock/block/upgrade/BlockStateUpgradeSchemaUtils.php index 82e777134..9c63d51f0 100644 --- a/src/data/bedrock/block/upgrade/BlockStateUpgradeSchemaUtils.php +++ b/src/data/bedrock/block/upgrade/BlockStateUpgradeSchemaUtils.php @@ -389,6 +389,9 @@ final class BlockStateUpgradeSchemaUtils{ } $jsonMapper = new \JsonMapper(); + $jsonMapper->bExceptionOnMissingData = true; + $jsonMapper->bExceptionOnUndefinedProperty = true; + $jsonMapper->bStrictObjectTypeChecking = true; try{ $model = $jsonMapper->map($json, new BlockStateUpgradeSchemaModel()); }catch(\JsonMapper_Exception $e){ diff --git a/src/data/bedrock/item/upgrade/ItemIdMetaUpgradeSchemaUtils.php b/src/data/bedrock/item/upgrade/ItemIdMetaUpgradeSchemaUtils.php index ef1543a80..0fa10803a 100644 --- a/src/data/bedrock/item/upgrade/ItemIdMetaUpgradeSchemaUtils.php +++ b/src/data/bedrock/item/upgrade/ItemIdMetaUpgradeSchemaUtils.php @@ -88,6 +88,9 @@ final class ItemIdMetaUpgradeSchemaUtils{ } $jsonMapper = new \JsonMapper(); + $jsonMapper->bExceptionOnMissingData = true; + $jsonMapper->bExceptionOnUndefinedProperty = true; + $jsonMapper->bStrictObjectTypeChecking = true; try{ $model = $jsonMapper->map($json, new ItemIdMetaUpgradeSchemaModel()); }catch(\JsonMapper_Exception $e){ diff --git a/src/resourcepacks/ZippedResourcePack.php b/src/resourcepacks/ZippedResourcePack.php index 7ba5c467d..da7db1db7 100644 --- a/src/resourcepacks/ZippedResourcePack.php +++ b/src/resourcepacks/ZippedResourcePack.php @@ -108,6 +108,7 @@ class ZippedResourcePack implements ResourcePack{ $mapper = new \JsonMapper(); $mapper->bExceptionOnMissingData = true; + $mapper->bStrictObjectTypeChecking = true; try{ /** @var Manifest $manifest */ diff --git a/src/updater/UpdateCheckTask.php b/src/updater/UpdateCheckTask.php index ae56682f3..af73f05af 100644 --- a/src/updater/UpdateCheckTask.php +++ b/src/updater/UpdateCheckTask.php @@ -55,6 +55,7 @@ class UpdateCheckTask extends AsyncTask{ }else{ $mapper = new \JsonMapper(); $mapper->bExceptionOnMissingData = true; + $mapper->bStrictObjectTypeChecking = true; $mapper->bEnforceMapType = false; try{ /** @var UpdateInfo $responseObj */