Author: struberg
Date: Wed Dec 26 13:20:05 2012
New Revision: 1425899
URL: http://svn.apache.org/viewvc?rev=1425899&view=rev
Log:
fix AccessLevel reporting and check
Modified:
commons/sandbox/privilizer/trunk/example/pom.xml
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java
Modified: commons/sandbox/privilizer/trunk/example/pom.xml
URL:
http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/example/pom.xml?rev=1425899&r1=1425898&r2=1425899&view=diff
==============================================================================
--- commons/sandbox/privilizer/trunk/example/pom.xml (original)
+++ commons/sandbox/privilizer/trunk/example/pom.xml Wed Dec 26 13:20:05 2012
@@ -43,7 +43,7 @@
<version>${project.version}</version>
<configuration>
<weaverConfig>
- <privilizer.accessLevel>PRIVATE</privilizer.accessLevel>
+ <privilizer.accessLevel>PACKAGE</privilizer.accessLevel>
<privilizer.policy>ON_INIT</privilizer.policy>
</weaverConfig>
</configuration>
@@ -83,7 +83,7 @@
<pluginExecutionFilter>
<groupId>org.apache.commons</groupId>
<artifactId>commons-privilizer-maven-plugin</artifactId>
- <versionRange>[1.0-SNAPSHOT,)</versionRange>
+ <versionRange>[0.1-SNAPSHOT,)</versionRange>
<goals>
<goal>prepare</goal>
<goal>weave</goal>
Modified:
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java?rev=1425899&r1=1425898&r2=1425899&view=diff
==============================================================================
---
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java
(original)
+++
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/FilesystemPrivilizer.java
Wed Dec 26 13:20:05 2012
@@ -34,6 +34,8 @@ import org.apache.commons.lang3.Validate
* Handles weaving of methods annotated with {@link Privileged}.
*/
public class FilesystemPrivilizer extends Privilizer<FilesystemPrivilizer> {
+
+
private static ClassPool createClassPool(ClassLoader classpath, File
target) {
final ClassPool result = new ClassPool();
try {
Modified:
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java?rev=1425899&r1=1425898&r2=1425899&view=diff
==============================================================================
---
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
(original)
+++
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
Wed Dec 26 13:20:05 2012
@@ -234,6 +234,10 @@ public abstract class Privilizer<SELF ex
log.info(String.format(message, args));
}
+ protected AccessLevel getTargetAccessLevel() {
+ return AccessLevel.PRIVATE;
+ }
+
protected boolean permitMethodWeaving(AccessLevel accessLevel) {
return true;
}
@@ -346,8 +350,8 @@ public abstract class Privilizer<SELF ex
final AccessLevel accessLevel = AccessLevel.of(method.getModifiers());
if (!permitMethodWeaving(accessLevel)) {
throw new IllegalAccessException("Method " + type.getName() + "#"
+ toString(method)
- + " must have maximum access
level " + accessLevel
- + " but is defined wider");
+ + " must have maximum access
level '" + getTargetAccessLevel()
+ + "' but is defined wider ('" +
accessLevel + "')");
}
if (AccessLevel.PACKAGE.compareTo(accessLevel) > 0) {
warn("Possible security leak: granting privileges to %s method
%s.%s", accessLevel, type.getName(),
Modified:
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java?rev=1425899&r1=1425898&r2=1425899&view=diff
==============================================================================
---
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java
(original)
+++
commons/sandbox/privilizer/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java
Wed Dec 26 13:20:05 2012
@@ -36,6 +36,7 @@ public class PrivilizerWeaver implements
private AccessLevel targetAccessLevel;
+
@Override
public void configure(List<String> classPath, File target, Properties
config)
{
@@ -58,6 +59,12 @@ public class PrivilizerWeaver implements
protected boolean permitMethodWeaving(final AccessLevel
accessLevel) {
return targetAccessLevel.compareTo(accessLevel) <= 0;
}
+
+ @Override
+ protected AccessLevel getTargetAccessLevel()
+ {
+ return targetAccessLevel;
+ }
};
}