Actual WCC Tomcat server is 8.5.37. We require to upgrade the Tomcat server to minimum version 8.5.50 to address some vulnerabilities that are fixed in this version.
Release : 11.4
Component : WORKLOAD CONTROL CENTER
These steps are for Linux only.
Please follow below steps for custom upgrade of WCC Tomcat and Tomcat_32 server.
mv $CA_WCC_INSTALL_LOCATION/tomcat $CA_WCC_INSTALL_LOCATION/tomcat.old
3. Take a backup of $CA_WCC_INSTALL_LOCATION/tomcat_32
mv $CA_WCC_INSTALL_LOCATION/tomcat_32 $CA_WCC_INSTALL_LOCATION/tomcat_32.old
4. Download newer (for example 8.5.50) tomcat tar file and extract it at $CA_WCC_INSTALL_LOCATION
Repeat same step for Tomcat_32
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/bin/CA-wcc $CA_WCC_INSTALL_LOCATION/tomcat/bin/
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/bin/wrapper $CA_WCC_INSTALL_LOCATION/tomcat/bin/
Repeat this step again from tomcat_32.old to tomcat_32
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/conf/log4j.properties $CA_WCC_INSTALL_LOCATION/tomcat/conf/
Repeat this step again from tomcat_32.old to tomcat_32
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/conf/wrapper.conf $CA_WCC_INSTALL_LOCATION/tomcat/conf/
Repeat this step again from tomcat_32.old to tomcat_32
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/conf/catalina.properties $CA_WCC_INSTALL_LOCATION/tomcat/conf/
Repeat this step again from tomcat_32.old to tomcat_32
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/conf/context.xml $CA_WCC_INSTALL_LOCATION/tomcat/conf/
Repeat this step again from tomcat_32.old to tomcat_32
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/access*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/apache-mime4j-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/asm-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/bc-fips-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/commons-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/db-resources-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/derbyclient-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/eclipselink-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/eem-safex-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/flow-model-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/hazelcast-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/httpclient-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/httpcore-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/httpmime-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/jcip-annotations-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/jpa-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/json-smart-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/log4j-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/mssql-jdbc-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/nimbus-jose-jwt-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/not-yet-commons-ssl-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/ojdbc7-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/security-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/snakeyaml-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/ujccapi-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/libwrapper-linux-*.so $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/wrapper.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/xercesImpl-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/xml-apis-*.jar $CA_WCC_INSTALL_LOCATION/tomcat/lib
cp $CA_WCC_INSTALL_LOCATION/tomcat.old/lib/wrapper $CA_WCC_INSTALL_LOCATION/tomcat/lib/
Repeat this step again to copy all the jars from tomcat_32.old to tomcat_32
Example: cp $CA_WCC_INSTALL_LOCATION/tomcat_32.old/lib/wrapper $CA_WCC_INSTALL_LOCATION/tomcat_32/lib/
rm -rf $CA_WCC_INSTALL_LOCATION/tomcat/webapps/*
Repeat this step again with tomcat_32
cp -a $CA_WCC_INSTALL_LOCATION/tomcat.old/webapps/. $CA_WCC_INSTALL_LOCATION/tomcat/webapps/
Repeat this step again from tomcat_32.old to tomcat_32
Tomcat changes
<!--
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<async-supported>true</async-supported>
</filter>
-->
With
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<init-param>
<param-name>hstsEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>hstsMaxAgeSeconds</param-name>
<param-value>31536000</param-value>
</init-param>
<init-param>
<param-name>antiClickJackingEnabled</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>blockContentTypeSniffingEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>xssProtectionEnabled</param-name>
<param-value>true</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>
<!--
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
-->
With
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<mime-mapping>
<extension>otf</extension>
<mime-type>font/otf</mime-type>
</mime-mapping>
With
<mime-mapping>
<extension>otf</extension>
<mime-type>application/x-font-otf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ttc</extension>
<mime-type>font/collection</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ttf</extension>
<mime-type>font/ttf</mime-type>
</mime-mapping>
With
<mime-mapping>
<extension>ttc</extension>
<mime-type>application/x-font-ttf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ttf</extension>
<mime-type>application/x-font-ttf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>woff</extension>
<mime-type>font/woff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>woff2</extension>
<mime-type>font/woff2</mime-type>
</mime-mapping>
With
<mime-mapping>
<extension>woff</extension>
<mime-type>application/x-font-woff</mime-type>
</mime-mapping>
<Server port="8005" shutdown="SHUTDOWN"> (8005 is the port)
With
<Server port="8005" shutdown="">
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
With
<Listener className="com.ca.wcc.cluster.resources.WccGlobalResourcesLifecycleListener"/>
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
With content within <GlobalNamingResources> … </GlobalNamingResources> in $CA_WCC_INSTALL_LOCATION/tomcat.old/conf/server.xml
Example:
<GlobalNamingResources>
<Resource auth="Container" factory="org.apache.naming.factory.BeanFactory"
name="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<Resource name="bean/AccessProviderFactory_WCC" auth="Container"
type="com.ca.uejm.access.authentication.IAccessProvider" factory="com.ca.wcc.access.resources.WccAccessProviderFactory" />
<Resource name="bean/AccessProviderFactory_AUTOSYS" auth="Container"
type="com.ca.uejm.access.authentication.IAccessProvider" factory="com.ca.wcc.access.resources.AutosysAccessProviderFactory" />
<Resource name="jdbc/wccDatabase" prefix="wcc"
factory="org.apache.naming.factory.BeanFactory" auth="Container" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<Resource name="jdbc/reportingDatabase" prefix="reporting"
factory="org.apache.naming.factory.BeanFactory" auth="Container" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<Resource name="bean/clusterInstance" auth="Container"
type="com.hazelcast.core.HazelcastInstance" factory="com.ca.wcc.cluster.resources.WccClusterProviderFactory" clusterConnection="client" />
</GlobalNamingResources>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
With <Connector> from $CA_WCC_INSTALL_LOCATION/tomcat.old/conf/server.xml
Example:
<Connector acceptCount="100" clientAuth="false"
disableUploadTimeout="true" enableLookups="false"
keystoreFile="/opt/CA/WorkloadCC/data/config/.keystore"
maxThreads="150" minSpareThreads="25"
port="8443" scheme="https" secure="true"
protocol="HTTP/1.1" SSLEnabled="true" sslProtocol="TLS"
URIEncoding="UTF-8" compression="on" keystorePass="changeit" keyAlias="tomcat"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,application/x-javascript,application/javascript,application/json"
useSendfile="false"
server="WCC" sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1" />
Note: lines in red might be different in your environment
Example:
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
With <Engine name="Catalina" defaulthost="localhost"> from $CA_WCC_INSTALL_LOCATION/tomcat.old/conf/server.xml
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false" deployOnStartup="false" startStopThreads="8"
errorReportValveClass="com.ca.wcc.catalina.WccReportErrorValve" >
<Valve className="com.ca.wcc.catalina.EncodingValve" encoding="UTF-8" />
<Valve className="com.ca.wcc.catalina.ContentSecurityPolicyValve" enable="true" value="default-src 'self'; img-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; frame-src 'self' blob:;"/>
<!-- WCC contextes
Note: it would be better to get rid of the resourceLinks but i dont know how
-->
<Context path="/wcc/doc" docBase="../../doc" cookies="false" />
<Context path="/wcc/1collector" docBase="collector" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/app-editor" docBase="app-editor" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/castylesr5.1.3" docBase="castylesr5.1.3" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/configuration" docBase="configuration" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/ecli" docBase="ecli" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/forecast" docBase="forecast" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/jsc-rest" docBase="jsc-rest" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/monitoring" docBase="monitoring" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/quick-edit" docBase="quick-edit" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/quickview" docBase="quickview" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/reporting-rest" docBase="reporting-rest" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/resources" docBase="resources" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/rest" docBase="rest" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/ui" docBase="wcc" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="bean/JFMBeanFactory" global="bean/JFMBeanFactory" type="com.ca.wcc.db.jdm.JobFlowModel" />
<ResourceLink name="jdbc/reportingDatabase" global="jdbc/reportingDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/AccessProviderFactory_WCC" global="bean/AccessProviderFactory_WCC" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/AccessProviderFactory_AUTOSYS" global="bean/AccessProviderFactory_AUTOSYS" type="com.ca.uejm.access.authentication.IAccessProvider" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<Context path="/wcc/asi" docBase="asi" >
<Manager className="com.ca.wcc.catalina.session.WCCSessionManager"/>
<ResourceLink name="jdbc/wccDatabase" global="jdbc/wccDatabase" type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<ResourceLink name="bean/clusterInstance" global="bean/clusterInstance" type="com.hazelcast.core.HazelcastInstance" />
</Context>
<!-- end of WCC contextes -->
<!-- the root context is used for having a nice 404 and redirecting -->
<Context path="/" docBase="ROOT" ></Context>
</Host>
</Engine>
Note: Please check if there is any customizations for these tags.
Tomcat 32 bit changes
cp $CA_WCC_INSTALL_LOCATION/tomcat_32.old/bin/CA-wcc-services $CA_WCC_INSTALL_LOCATION/tomcat_32/bin/
<mime-mapping>
<extension>otf</extension>
<mime-type>font/otf</mime-type>
</mime-mapping>
With
<mime-mapping>
<extension>otf</extension>
<mime-type>application/x-font-otf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ttc</extension>
<mime-type>font/collection</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ttf</extension>
<mime-type>font/ttf</mime-type>
</mime-mapping>
With
<mime-mapping>
<extension>ttc</extension>
<mime-type>application/x-font-ttf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ttf</extension>
<mime-type>application/x-font-ttf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>woff</extension>
<mime-type>font/woff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>woff2</extension>
<mime-type>font/woff2</mime-type>
</mime-mapping>
With
<mime-mapping>
<extension>woff</extension>
<mime-type>application/x-font-woff</mime-type>
</mime-mapping>
<Server port="8005" shutdown="SHUTDOWN"> (8005 is the server port)
with
<Server port="10133" shutdown=""> (10133 is the server port)
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
with
<Listener className="com.ca.wcc.cluster.resources.WccGlobalResourcesLifecycleListener"/>
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
With content within <GlobalNamingResources> … </GlobalNamingResources> in $CA_WCC_INSTALL_LOCATION/tomcat_32.old/conf/server.xml
Example:
<GlobalNamingResources>
<Resource name="jdbc/wccDatabase" prefix="wcc"
factory="org.apache.naming.factory.BeanFactory" auth="Container"
type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<Resource name="jdbc/reportingDatabase" prefix="reporting"
factory="org.apache.naming.factory.BeanFactory" auth="Container"
type="com.ca.wcc.dbresource.datasource.WccDataSource" />
<Resource name="bean/clusterInstance" auth="Container"
type="com.hazelcast.core.HazelcastInstance" factory="com.ca.wcc.cluster.resources.WccClusterProviderFactory" clusterConnection="instance" />
</GlobalNamingResources>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
With <Connector> from $CA_WCC_INSTALL_LOCATION/tomcat_32.old/conf/server.xml
Example:
<Connector acceptCount="100" clientAuth="false" address="127.0.0.1"
disableUploadTimeout="true" enableLookups="false"
maxThreads="400" minSpareThreads="25" port="10132" scheme="http"
protocol="HTTP/1.1" URIEncoding="UTF-8" compression="on"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,application/x-javascript"
server="WCC" />
<Engine name="Catalina" defaultHost="localhost">
....
....
</Engine>
with <Engine name="Catalina" defaultHost="localhost"> from $CA_WCC_INSTALL_LOCATION/tomcat_32.old/conf/server.xml
Example:
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true"
autoDeploy="true" startStopThreads="4">
</Host>
</Engine>
Note: Please check if there is any customizations for these tags.
chown -R wcc tomcat
chown -R wcc tomcat_32
chgrp -R wcc tomcat
chgrp -R wcc tomcat_32
chmod 0750 $CA_WCC_INSTALL_LOCATION/tomcat/bin/CA-wcc*
chmod 0750 $CA_WCC_INSTALL_LOCATION/tomcat_32/bin/CA-wcc*
chown root $CA_WCC_INSTALL_LOCATION/tomcat/bin/CA-wcc*
chown root $CA_WCC_INSTALL_LOCATION/tomcat_32/bin/CA-wcc*
chmod -R 700 $CA_WCC_INSTALL_LOCATION/tomcat/conf
chmod -R 700 $CA_WCC_INSTALL_LOCATION/tomcat_32/conf
You can find more information on tomcat vulnerabilities on following url
Apache Tomcat 8.x vulnerabilities