This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.2 by this push:
     new 2e1fcef156 Support set default serialize check status (#12333)
2e1fcef156 is described below

commit 2e1fcef156994888994a070918ac81027fcb8230
Author: Albumen Kevin <[email protected]>
AuthorDate: Wed May 17 10:46:08 2023 +0800

    Support set default serialize check status (#12333)
---
 .../dubbo/common/utils/SerializeSecurityManager.java     | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git 
a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/SerializeSecurityManager.java
 
b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/SerializeSecurityManager.java
index 13f5769df2..66158ca0c2 100644
--- 
a/dubbo-common/src/main/java/org/apache/dubbo/common/utils/SerializeSecurityManager.java
+++ 
b/dubbo-common/src/main/java/org/apache/dubbo/common/utils/SerializeSecurityManager.java
@@ -16,13 +16,13 @@
  */
 package org.apache.dubbo.common.utils;
 
+import org.apache.dubbo.common.logger.ErrorTypeAwareLogger;
+import org.apache.dubbo.common.logger.LoggerFactory;
+
 import java.util.Locale;
 import java.util.Objects;
 import java.util.Set;
 
-import org.apache.dubbo.common.logger.ErrorTypeAwareLogger;
-import org.apache.dubbo.common.logger.LoggerFactory;
-
 public class SerializeSecurityManager {
     private static final ErrorTypeAwareLogger logger = 
LoggerFactory.getErrorTypeAwareLogger(SerializeSecurityManager.class);
 
@@ -38,6 +38,8 @@ public class SerializeSecurityManager {
 
     private volatile SerializeCheckStatus checkStatus = null;
 
+    private volatile SerializeCheckStatus defaultCheckStatus = 
AllowClassNotifyListener.DEFAULT_STATUS;
+
     private volatile Boolean checkSerializable = null;
 
     public void addToAlwaysAllowed(String className) {
@@ -92,6 +94,12 @@ public class SerializeSecurityManager {
         notifyCheckStatus();
     }
 
+    public void setDefaultCheckStatus(SerializeCheckStatus checkStatus) {
+        this.defaultCheckStatus = checkStatus;
+        logger.info("Serialize check default level: " + checkStatus.name());
+        notifyCheckStatus();
+    }
+
     public void setCheckSerializable(boolean checkSerializable) {
         if (this.checkSerializable == null || 
(Boolean.TRUE.equals(this.checkSerializable) && !checkSerializable)) {
             this.checkSerializable = checkSerializable;
@@ -126,7 +134,7 @@ public class SerializeSecurityManager {
     }
 
     protected SerializeCheckStatus getCheckStatus() {
-        return checkStatus == null ? AllowClassNotifyListener.DEFAULT_STATUS : 
checkStatus;
+        return checkStatus == null ? defaultCheckStatus : checkStatus;
     }
 
     protected Set<String> getAllowedPrefix() {

Reply via email to