On 19/01/2012 11:28, Tomcat Mailing List wrote:
Hi,
I added the feature to sign a war file, sothat the war file containing
classes can run in a security manager.
As already explained I can.t put my signed code in a jar in the lib file but
have to have it under /classes.
Now I.d like to commit this change back to the community.
My changes are for Tomcat 7.0.23
Suggestion for Patch:
java/org/apache/catalina/loader/WebappClassLoader.java
Please create a bugzilla entry for this and attach your suggested patch
in diff -u format.
Cheers,
Mark
change
if (jarEntry != null) {
entry.certificates = jarEntry.getCertificates();
}
to
if (jarEntry != null) {
entry.certificates = jarEntry.getCertificates();
}
else {
JarEntry jEntry=null;
JarFile wFile=null;
try {
wFile = new
JarFile(org.apache.naming.resources.WARDirContext.getCurrentPath());
} catch (Exception e) {
}
if (wFile != null) {
try {
jEntry =
wFile.getJarEntry(current_full_path.substring(1));
InputStream is =
wFile.getInputStream(jEntry);
int n;
byte[] buffer = new byte[8192];
while ((n = is.read(buffer, 0,
buffer.length)) != -1) {
}
if (jEntry != null) {
entry.certificates=jEntry.getCertificates();
}
} catch (Exception exc) {
log.info(Could not read certificates
from war.);
}
}
}
./java/org/apache/naming/resources/WARDirContext.java
change
protected ZipFile base = null;
to
protected static ZipFile base = null;
and add the following function:
public static String getCurrentPath() {
if (base != null)
return base.getName();
else
return null;
}
Perhaps there is a much better way for getting the filename of the war file .
any suggestions? The change to a static variable is only required to get the
name of the war file that the class file is read from.
Thanks,
Thomas
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org