Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
tomcat.683
tomcat-7.0-bnc931442.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File tomcat-7.0-bnc931442.patch of Package tomcat.683
Index: apache-tomcat-7.0.55-src/java/javax/el/BeanELResolver.java =================================================================== --- apache-tomcat-7.0.55-src.orig/java/javax/el/BeanELResolver.java +++ apache-tomcat-7.0.55-src/java/javax/el/BeanELResolver.java @@ -251,15 +251,39 @@ public class BeanELResolver extends ELRe try { BeanInfo info = Introspector.getBeanInfo(this.type); PropertyDescriptor[] pds = info.getPropertyDescriptors(); - for (int i = 0; i < pds.length; i++) { - this.properties.put(pds[i].getName(), new BeanProperty( - type, pds[i])); + for (PropertyDescriptor pd: pds) { + this.properties.put(pd.getName(), new BeanProperty(type, pd)); + } + if (System.getSecurityManager() != null) { + // When running with SecurityManager, some classes may be + // not accessible, but have accessible interfaces. + populateFromInterfaces(type); } } catch (IntrospectionException ie) { throw new ELException(ie); } } + private void populateFromInterfaces(Class<?> aClass) throws IntrospectionException { + Class<?> interfaces[] = aClass.getInterfaces(); + if (interfaces.length > 0) { + for (Class<?> ifs : interfaces) { + BeanInfo info = Introspector.getBeanInfo(ifs); + PropertyDescriptor[] pds = info.getPropertyDescriptors(); + for (PropertyDescriptor pd : pds) { + if (!this.properties.containsKey(pd.getName())) { + this.properties.put(pd.getName(), new BeanProperty( + this.type, pd)); + } + } + } + } + Class<?> superclass = aClass.getSuperclass(); + if (superclass != null) { + populateFromInterfaces(superclass); + } + } + private BeanProperty get(ELContext ctx, String name) { BeanProperty property = this.properties.get(name); if (property == null) { Index: apache-tomcat-7.0.55-src/java/org/apache/jasper/runtime/PageContextImpl.java =================================================================== --- apache-tomcat-7.0.55-src.orig/java/org/apache/jasper/runtime/PageContextImpl.java +++ apache-tomcat-7.0.55-src/java/org/apache/jasper/runtime/PageContextImpl.java @@ -937,37 +937,11 @@ public class PageContextImpl extends Pag final Class<?> expectedType, final PageContext pageContext, final ProtectedFunctionMapper functionMap, final boolean escape) throws ELException { - Object retValue; final ExpressionFactory exprFactory = jspf.getJspApplicationContext(pageContext.getServletContext()).getExpressionFactory(); - if (SecurityUtil.isPackageProtectionEnabled()) { - try { - retValue = AccessController - .doPrivileged(new PrivilegedExceptionAction<Object>() { - - @Override - public Object run() throws Exception { - ELContextImpl ctx = (ELContextImpl) pageContext.getELContext(); - ctx.setFunctionMapper(new FunctionMapperImpl(functionMap)); - ValueExpression ve = exprFactory.createValueExpression(ctx, expression, expectedType); - return ve.getValue(ctx); - } - }); - } catch (PrivilegedActionException ex) { - Exception realEx = ex.getException(); - if (realEx instanceof ELException) { - throw (ELException) realEx; - } else { - throw new ELException(realEx); - } - } - } else { - ELContextImpl ctx = (ELContextImpl) pageContext.getELContext(); - ctx.setFunctionMapper(new FunctionMapperImpl(functionMap)); - ValueExpression ve = exprFactory.createValueExpression(ctx, expression, expectedType); - retValue = ve.getValue(ctx); - } - - return retValue; + ELContextImpl ctx = (ELContextImpl) pageContext.getELContext(); + ctx.setFunctionMapper(new FunctionMapperImpl(functionMap)); + ValueExpression ve = exprFactory.createValueExpression(ctx, expression, expectedType); + return ve.getValue(ctx); } @Override Index: apache-tomcat-7.0.55-src/java/org/apache/jasper/security/SecurityClassLoad.java =================================================================== --- apache-tomcat-7.0.55-src.orig/java/org/apache/jasper/security/SecurityClassLoad.java +++ apache-tomcat-7.0.55-src/java/org/apache/jasper/security/SecurityClassLoad.java @@ -93,8 +93,6 @@ public final class SecurityClassLoad { "runtime.PageContextImpl$11"); loader.loadClass( basePackage + "runtime.PageContextImpl$12"); - loader.loadClass( basePackage + - "runtime.PageContextImpl$13"); loader.loadClass( basePackage + "runtime.JspContextWrapper");
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor