提交 678b1eff 编写于 作者: D dsamersoff

8008589: Better MBean permission validation

Summary: Better MBean permission validation
Reviewed-by: skoivu, dfuchs, mchung, sjiang
上级 5731e875
......@@ -26,6 +26,9 @@
package javax.management;
import java.security.BasicPermission;
import java.io.IOException;
import java.io.InvalidObjectException;
import java.io.ObjectInputStream;
/**
* This permission represents "trust" in a signer or codebase.
......@@ -75,15 +78,31 @@ public class MBeanTrustPermission extends BasicPermission {
*/
public MBeanTrustPermission(String name, String actions) {
super(name, actions);
validate(name,actions);
}
private static void validate(String name, String actions) {
/* Check that actions is a null empty string */
if (actions != null && actions.length() > 0)
throw new IllegalArgumentException("MBeanTrustPermission " +
"actions must be null: " +
if (actions != null && actions.length() > 0) {
throw new IllegalArgumentException("MBeanTrustPermission actions must be null: " +
actions);
}
if (!name.equals("register") && !name.equals("*"))
throw new IllegalArgumentException("MBeanTrustPermission: " +
"Unknown target name " +
if (!name.equals("register") && !name.equals("*")) {
throw new IllegalArgumentException("MBeanTrustPermission: Unknown target name " +
"[" + name + "]");
}
}
private void readObject(ObjectInputStream in)
throws IOException, ClassNotFoundException {
// Reading private fields of base class
in.defaultReadObject();
try {
validate(super.getName(),super.getActions());
} catch (IllegalArgumentException e) {
throw new InvalidObjectException(e.getMessage());
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册