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() {