From 599cb9f6be76335e087dd4654ab5fb9065c0fc39 Mon Sep 17 00:00:00 2001 From: wuwen5 Date: Wed, 26 Feb 2025 14:59:39 +0800 Subject: [PATCH] Fix `DefaultSerializeClassChecker` verification, when the mode is `WARN`. --- .../dubbo/common/utils/DefaultSerializeClassChecker.java | 4 ---- .../common/utils/DefaultSerializeClassCheckerTest.java | 6 ++++++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/DefaultSerializeClassChecker.java b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/DefaultSerializeClassChecker.java index 7155a1eaa9c3..1cde157ee4e0 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/DefaultSerializeClassChecker.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/DefaultSerializeClassChecker.java @@ -164,8 +164,6 @@ private Class loadClass0(ClassLoader classLoader, String className) throws Cl if (serializeSecurityManager.getWarnedClasses().add(className)) { logger.warn(PROTOCOL_UNTRUSTED_SERIALIZE_CLASS, "", "", msg); } - - throw new IllegalArgumentException(msg); } } @@ -185,8 +183,6 @@ private Class loadClass0(ClassLoader classLoader, String className) throws Cl if (serializeSecurityManager.getWarnedClasses().add(className)) { logger.warn(PROTOCOL_UNTRUSTED_SERIALIZE_CLASS, "", "", msg); } - - throw new IllegalArgumentException(msg); } } diff --git a/dubbo-common/src/test/java/org/apache/dubbo/common/utils/DefaultSerializeClassCheckerTest.java b/dubbo-common/src/test/java/org/apache/dubbo/common/utils/DefaultSerializeClassCheckerTest.java index 29d116b7d61d..54033e0831af 100644 --- a/dubbo-common/src/test/java/org/apache/dubbo/common/utils/DefaultSerializeClassCheckerTest.java +++ b/dubbo-common/src/test/java/org/apache/dubbo/common/utils/DefaultSerializeClassCheckerTest.java @@ -22,6 +22,7 @@ import java.net.Socket; import java.util.LinkedList; import java.util.concurrent.locks.ReentrantReadWriteLock; +import java.util.logging.Level; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; @@ -170,6 +171,11 @@ void testStatus() throws ClassNotFoundException { defaultSerializeClassChecker.loadClass( Thread.currentThread().getContextClassLoader(), ReentrantReadWriteLock.class.getName())); + Assertions.assertEquals( + Level.class, + defaultSerializeClassChecker.loadClass( + Thread.currentThread().getContextClassLoader(), Level.class.getName())); + ssm.setCheckStatus(SerializeCheckStatus.DISABLE); Assertions.assertEquals( ReentrantReadWriteLock.class,