@ -48,12 +48,18 @@ public class SubTypeValidator
// [databind#1737]; 3rd party
//s.add("org.springframework.aop.support.AbstractBeanFactoryPointcutAdvisor"); // deprecated by [databind#1855]
s . add ( "org.springframework.beans.factory.config.PropertyPathFactoryBean" ) ;
// [databind#2680]
s . add ( "org.springframework.aop.config.MethodLocatingFactoryBean" ) ;
s . add ( "org.springframework.beans.factory.config.BeanReferenceFactoryBean" ) ;
// s.add("com.mchange.v2.c3p0.JndiRefForwardingDataSource"); // deprecated by [databind#1931]
// s.add("com.mchange.v2.c3p0.WrapperConnectionPoolDataSource"); // - "" -
// [databind#1855]: more 3rd party
s . add ( "org.apache.tomcat.dbcp.dbcp2.BasicDataSource" ) ;
s . add ( "com.sun.org.apache.bcel.internal.util.ClassLoader" ) ;
// [databind#1899]: more 3rd party
s . add ( "org.hibernate.jmx.StatisticsService" ) ;
s . add ( "org.apache.ibatis.datasource.jndi.JndiDataSourceFactory" ) ;
// [databind#2032]: more 3rd party; data exfiltration via xml parsed ext entities
s . add ( "org.apache.ibatis.parsing.XPathParser" ) ;
@ -64,8 +70,8 @@ public class SubTypeValidator
s . add ( "oracle.jdbc.connector.OracleManagedConnectionFactory" ) ;
s . add ( "oracle.jdbc.rowset.OracleJDBCRowSet" ) ;
// [databind#1899]: more 3rd party
s . add ( "org.hibernate.jmx.StatisticsService" ) ;
s . add ( "org.apache.ibatis.datasource.jndi.JndiDataSourceFactory" ) ;
// s.add("org.hibernate.jmx.StatisticsService");
// s.add( "org.apache.ibatis.datasource.jndi.JndiDataSourceFactory");
// [databind#2097]: some 3rd party, one JDK-bundled
s . add ( "org.slf4j.ext.EventData" ) ;
@ -77,6 +83,7 @@ public class SubTypeValidator
s . add ( "org.jboss.util.propertyeditor.DocumentEditor" ) ;
s . add ( "org.apache.openjpa.ee.RegistryManagedRuntime" ) ;
s . add ( "org.apache.openjpa.ee.JNDIManagedRuntime" ) ;
s . add ( "org.apache.openjpa.ee.WASRegistryManagedRuntime" ) ; // [#2670] addition
s . add ( "org.apache.axis2.transport.jms.JMSOutTransportInfo" ) ;
// [databind#2326] (2.9.9)
@ -108,8 +115,10 @@ public class SubTypeValidator
s . add ( "org.apache.commons.configuration.JNDIConfiguration" ) ;
s . add ( "org.apache.commons.configuration2.JNDIConfiguration" ) ;
// [databind#2469]: xalan2
// [databind#2469]: xalan
s . add ( "org.apache.xalan.lib.sql.JNDIConnectionPool" ) ;
// [databind#2469]: xalan2
s . add ( "com.sun.org.apache.xalan.internal.lib.sql.JNDIConnectionPool" ) ;
// [databind#2478]: comons-dbcp, p6spy
s . add ( "org.apache.commons.dbcp.datasources.PerUserPoolDataSource" ) ;
@ -137,6 +146,62 @@ public class SubTypeValidator
// [databind#2642]: javax.swing (jdk)
s . add ( "javax.swing.JEditorPane" ) ;
// [databind#2648], [databind#2653]: shire-core
s . add ( "org.apache.shiro.realm.jndi.JndiRealmFactory" ) ;
s . add ( "org.apache.shiro.jndi.JndiObjectFactory" ) ;
// [databind#2658]: ignite-jta (, quartz-core)
s . add ( "org.apache.ignite.cache.jta.jndi.CacheJndiTmLookup" ) ;
s . add ( "org.apache.ignite.cache.jta.jndi.CacheJndiTmFactory" ) ;
s . add ( "org.quartz.utils.JNDIConnectionProvider" ) ;
// [databind#2659]: aries.transaction.jms
s . add ( "org.apache.aries.transaction.jms.internal.XaPooledConnectionFactory" ) ;
s . add ( "org.apache.aries.transaction.jms.RecoverablePooledConnectionFactory" ) ;
// [databind#2660]: caucho-quercus
s . add ( "com.caucho.config.types.ResourceRef" ) ;
// [databind#2662]: aoju/bus-proxy
s . add ( "org.aoju.bus.proxy.provider.RmiProvider" ) ;
s . add ( "org.aoju.bus.proxy.provider.remoting.RmiProvider" ) ;
// [databind#2664]: activemq-core, activemq-pool, activemq-pool-jms
s . add ( "org.apache.activemq.ActiveMQConnectionFactory" ) ; // core
s . add ( "org.apache.activemq.ActiveMQXAConnectionFactory" ) ;
s . add ( "org.apache.activemq.spring.ActiveMQConnectionFactory" ) ;
s . add ( "org.apache.activemq.spring.ActiveMQXAConnectionFactory" ) ;
s . add ( "org.apache.activemq.pool.JcaPooledConnectionFactory" ) ; // pool
s . add ( "org.apache.activemq.pool.PooledConnectionFactory" ) ;
s . add ( "org.apache.activemq.pool.XaPooledConnectionFactory" ) ;
s . add ( "org.apache.activemq.jms.pool.XaPooledConnectionFactory" ) ; // pool-jms
s . add ( "org.apache.activemq.jms.pool.JcaPooledConnectionFactory" ) ;
// [databind#2666]: apache/commons-jms
s . add ( "org.apache.commons.proxy.provider.remoting.RmiProvider" ) ;
// [databind#2682]: commons-jelly
s . add ( "org.apache.commons.jelly.impl.Embedded" ) ;
// [databind#2688]: apache/drill
s . add ( "oadd.org.apache.xalan.lib.sql.JNDIConnectionPool" ) ;
// [databind#2698]: weblogic w/ oracle/aq-jms
// (note: dependency not available via Maven Central, but as part of
// weblogic installation, possibly fairly old version(s))
s . add ( "oracle.jms.AQjmsQueueConnectionFactory" ) ;
s . add ( "oracle.jms.AQjmsXATopicConnectionFactory" ) ;
s . add ( "oracle.jms.AQjmsTopicConnectionFactory" ) ;
s . add ( "oracle.jms.AQjmsXAQueueConnectionFactory" ) ;
s . add ( "oracle.jms.AQjmsXAConnectionFactory" ) ;
// [databind#2764]: org.jsecurity:
s . add ( "org.jsecurity.realm.jndi.JndiRealmFactory" ) ;
// [databind#2798]: com.pastdev.httpcomponents:
s . add ( "com.pastdev.httpcomponents.configuration.JndiConfiguration" ) ;
DEFAULT_NO_DESER_CLASS_NAMES = Collections . unmodifiableSet ( s ) ;
}