Subject: CVS commit: pkgsrc/www/apache-tomcat8
From: S.P.Zeidler
Date: 2017-01-01 18:26:13
Message id: 20170101172613.A257DFBA6@cvs.NetBSD.org

Log Message:
update to current tomcat 8.0 train version, fixing CVE-2016-5388.

Changelog:

Tomcat 8.0.39 (violetagg)
Catalina

    Fix: When creating a new Connector via JMX, ensure that both HTTP/1.1 and \ 
AJP/1.3 connectors can be created. (markt)
    Fix: Include the Context name in the log message when an item cannot be \ 
added to the cache. (markt)
    Fix: Exclude JAR files in /WEB-INF/lib from the static resource cache. (markt)
    Fix: When calling getResourceAsStream() on a directory, ensure that null is \ 
returned. (markt)
    Fix: 60161: Allow creating subcategories of the container logger, and use it \ 
for the rewrite valve. (remm)
    Fix: Correctly test for control characters when reading the provided \ 
shutdown password. (markt)
    Fix: When configuring the JMX remote listener, specify the allowed types for \ 
the credentials. (markt)

Coyote

    Fix: Correct the HTTP header parser so that DEL is not treated as a valid \ 
token character. (markt)
    Fix: 60319: When using an Executor, disconnect it from the Connector \ 
attributes maxThreads, minSpareThreads and threadPriority to enable the \ 
configuration settings to be consistently reported. These Connector attributes \ 
will be reported as -1 when an Executor is in use. The values used by the \ 
executor may be set and obtained via the Executor. (markt)
    Fix: If an I/O error occurs during async processing on a non-container \ 
thread, ensure that the onError() event is triggered. (markt)
    Fix: Improve detection of I/O errors during async processing on \ 
non-container threads and trigger async error handling when they are detected. \ 
(markt)
    Add: Add additional checks for valid characters to the HTTP request line \ 
parsing so invalid request lines are rejected sooner. (markt)

Web applications

    Fix: Correct a typo in HTTP Connector How-To. Issue reported via \ 
comments.apache.org. (violetagg)
    Fix: Fix default value of validationInterval attribute in jdbc-pool. (kfujino)
    Fix: Correct a typo in CGI How-To. Issue reported via comments.apache.org. \ 
(violetagg)

Tribes

    Fix: When the proxy node sends a backup retrieve message, ensure that using \ 
the channelSendOptions that has been set rather than the default \ 
channelSendOptions. (kfujino)

Other

    Update: Update the ECJ compiler to version 4.5.1. (markt)
    Fix: Remove classes from tomcat-util-scan.jar that are duplicates of those \ 
in tomcat-util.jar. (markt)

2016-10-10 Tomcat 8.0.38 (markt)
Catalina

    Add: 59961: Add an option to the StandardJarScanner to control whether or \ 
not JAR Manifests are scanned for additional class path entries. (markt)
    Fix: 60013: Refactor the previous fix to align the behaviour of the Rewrite \ 
Valve with mod_rewrite. As part of this, provide an implementation for the B and \ 
NE flags and improve the handling for the QSA flag. Includes multiple test cases \ 
by Santhana Preethiand a patch by Tiago Oliveira. (markt)
    Fix: 60087: Refactor the web resources handling to use the Tomcat specific \ 
war:file:... URL protocol to refer to WAR files and their contents rather than \ 
the standard jar:file:... form since some components of the JRE, such as JAR \ 
verification, give unexpected results when the standard form is used. A \ 
side-effect of the refactoring is that when using packed WARs, it is now \ 
possible to reference a WAR and/or specific JARs within a WAR in the security \ 
policy file used when running under a SecurityManager. (markt)
    Fix: 60116: Fix a problem with the rewrite valve that caused back references \ 
evaluated in conditions to be forced to lower case when using the NC flag. \ 
(markt)
    Fix: Ensure Digester.useContextClassLoader is considered in case the class \ 
loader is used. (violetagg)
    Fix: 60117: Ensure that the name of LogLevel is localized when using \ 
OneLineFormatter. Patch provided by Tatsuya Bessho. (kfujino)
    Fix: 60146: Improve performance for resource retrieval by making calls to \ 
WebResource.getInputStream() trigger caching if the resource is small enough. \ 
Patch provided by mohitchugh. (markt)
    Add: 60151: Improve the exception error messages when a ResourceLink fails \ 
to specify the type, specifies an unknown type or specifies the wrong type. \ 
(markt)
    Fix: 60167: Ignore empty lines in /etc/passwd files when using the \ 
PasswdUserDatabase. (markt)
    Fix: 60170: Exclude the compressed test file index.html.br from RAT \ 
analysis. Patch provided by Gavin McDonald. (markt)
    Fix: When starting web resources, ensure that class resources are only \ 
started once. (markt)
    Fix: Improve the access checks for linked global resources to handle the \ 
case where the current class loader is a child of the web application class \ 
loader. (markt)
    Fix: 60199: Log a warning if deserialization issues prevent a session \ 
attribute from being loaded. (markt)

Coyote

    Fix: Correctly handle a call to AsyncContext.complete() from a non-container \ 
thread when non-blocking I/O is being used. (markt)
    Add: Refactor the code that implements the requirement that a call to \ 
complete() or dispatch() made from a non-container thread before the container \ 
initiated thread that called startAsync() completes must be delayed until the \ 
container initiated thread has completed. Rather than implementing this by \ 
blocking the non-container thread, extend the internal state machine to track \ 
this. This removes the possibility that blocking the non-container thread could \ 
trigger a deadlock. (markt)
    Fix: 60123: Avoid potential threading issues that could cause excessively \ 
large vales to be returned for the processing time of a current request. (markt)
    Fix: 60174: Log instances of HeadersTooLargeException during request \ 
processing. (markt)

Jasper

    Fix: 60101: Remove preloading of the class that was deleted. (violetagg)

Web applications

    Add: Expand the documentation for the nested elements within a Resources \ 
element to clarify the behaviour of different configuration options with respect \ 
to the order in which resources are searched. (markt)
    Add: Add an example of using the classesToInitialize attribute of the \ 
JreMemoryLeakPreventionListener to the documentation web application. Based on a \ 
patch by Cris Berneburg. (markt)
    Fix: 60192: Correct a typo in the status output of the Manager application. \ 
Patch provided by Radhakrishna Pemmasani. (markt)

jdbc-pool

    Fix: Notify jmx when returning the connection that has been marked suspect. \ 
(kfujino)
    Fix: Ensure that the POOL_EMPTY notification has been added to the jmx \ 
notification types. (kfujino)
    Fix: 60099: Ensure that use all method arguments as a cache key when using \ 
StatementCache. (kfujino)
    Fix: 60139: Correct Javadocs for PoolConfiguration.getValidationInterval and \ 
setValidationInterval. Reported by Phillip Webb. (kfujino)

Other

    Fix: Update the download location for Objenesis. (violetagg)
    Fix: 60164: Replace log4j-core*.jar with log4j-web*.jar since it is \ 
log4j-web*.jar that contains the ServletContainerInitializer. (markt)
    Add: Add documentation to the bin/catalina.bat script to remind users that \ 
environment variables don't affect the configuration of Tomcat when run as a \ 
Windows Service. Based upon a documentation patch by James H.H. Lampert. \ 
(schultz)
    Update: Update the packaged version of the Tomcat Native Library to 1.2.10 \ 
to pick up the latest Windows binaries built with OpenSSL 1.0.2j. (markt)

2016-09-05 Tomcat 8.0.37 (markt)
Catalina

    Fix: 57705: Add debug logging for requests denied by the remote host and \ 
remote address valves and filters. Based on a patch by Graham Leggett. (markt)
    Add: 59399: Add a new option to the Realm implementations that ship with \ 
Tomcat that allows the HTTP status code used for HTTP -> HTTPS redirects to \ 
be controlled per Realm. (markt)
    Update: Change the default of the sessionCookiePathUsesTrailingSlash \ 
attribute of the Context element to false since the problems caused when a \ 
Servlet is mapped to /* are more significant than the security risk of not \ 
enabling this option by default. (markt)
    Fix: Do not attempt to start web resources during a web application's \ 
initialisation phase since the web application is not fully configured at that \ 
point and the web resources may not be correctly configured. (markt)
    Fix: 59708: Modify the LockOutRealm logic. Valid authentication attempts \ 
during the lock out period will no longer reset the lock out timer to zero. \ 
(markt)
    Fix: Improve error handling around user code prior to calling \ 
InstanceManager.destroy() to ensure that the method is executed. (markt)
    Fix: 59813: Ensure that circular relations of the Class-Path attribute from \ 
JAR manifests will be processed correctly. (violetagg)
    Fix: Ensure that reading the singleThreadModel attribute of a \ 
StandardWrapper via JMX does not trigger initialisation of the associated \ 
servlet. With some frameworks this can trigger an unexpected initialisation \ 
thread and if initilisation is not thread-safe the initialisation can then fail. \ 
(markt)
    Fix: Compatibility with rewrite from httpd for non existing headers. (jfclere)
    Fix: By default, treat paths used to obtain a request dispatcher as encoded. \ 
This behaviour can be changed per web application via the \ 
dispatchersUseEncodedPaths attribute of the Context. (markt)
    Fix: 59839: Apply roleSearchAsUser to all nested searches in JNDIRealm. \ 
(fschumacher)
    Fix: 59859: Fix resource leak in WebDAV servlet. Based on patch by Coty \ 
Sutherland. (fschumacher)
    Add: Provide a mechanism that enables the container to check if a component \ 
(typically a web application) has been granted a given permission when running \ 
under a SecurityManager without the current execution stack having to have \ 
passed through the component. Use this new mechanism to extend SecurityManager \ 
protection to the system property replacement feature of the digester. (markt)
    Add: When retrieving an object via a ResourceLink, ensure that the object \ 
obtained is of the expected type. (markt)
    Fix: 59824: Mark the RewriteValve as supporting async processing by default. \ 
(markt)
    Fix: 59862: Allow nested jar files scanning to be filtered with the system \ 
property tomcat.util.scan.StandardJarScanFilter.jarsToSkip. Patch is provided by \ 
Terence Bandoian. (violetagg)
    Fix: 59866: When scanning WEB-INF/classes for annotations, don't scan the \ 
contents of WEB-INF/classes/META-INF (if present) since classes will never be \ 
loaded from that location. (markt)
    Fix: 59888: Correctly handle tabs and spaces in quoted version one cookies \ 
when using the Rfc6265CookieProcessor. (markt)
    Fix: 59912: Fix an edge case in input stream handling where an IOException \ 
could be thrown when reading a POST body. (markt)
    Fix: 59960: Fix Javadoc so it builds with Java 8. Patch by Coty Sutherland. \ 
(markt)
    Fix: 59966: Do not start the web application if the error page configuration \ 
in web.xml is invalid. (markt)
    Fix: Switch the CGI servlet to the standard logging mechanism and remove \ 
support for the debug attribute. (markt)
    Fix: Changes to the allowLinking attribute of a StandardRoot instance now \ 
invalidate the cache if caching is enabled. (markt)
    Add: Add a new initialisation parameter, envHttpHeaders, to the CGI Servlet \ 
to mitigate httpoxy (CVE-2016-5388) by default and to provide a mechanism that \ 
can be used to mitigate any future, similar issues. (markt)
    Add: When adding and removing ResourceLinks dynamically, ensure that the \ 
global resource is only visible via the ResourceLinkFactory when it is meant to \ 
be. (markt)
    Fix: 60008: When processing CORs requests, treat any origin with a URI \ 
scheme of file as a valid origin. (markt)
    Fix: Improve handling of exceptions during a Lifecycle events triggered by a \ 
state transition. The exception is now caught and the component is now placed \ 
into the FAILED state. (markt)
    Fix: 60013: Fix encoding issues when using the RewriteValve with UTF-8 query \ 
strings or UTF-8 redirect URLs. (markt)
    Fix: 60022: Improve handling when a WAR file and/or the associated exploded \ 
directory are symlinked into the appBase. (markt)
    Fix: Fix a file descriptor leak when reading the global web.xml. (markt)
    Fix: Consistently decode URL patterns provided via web.xml using the \ 
encoding of the web.xml file where specified or UTF-8 where no explicit encoding \ 
is specified. (markt)
    Fix: Make timing attacks against the Realm implementations harder. (schultz)

Coyote

    Fix: Improve error handling around user code prior to calling \ 
InstanceManager.destroy() to ensure that the method is executed. (markt)
    Fix: Extend synchronization for NIO2 writes to avoid \ 
ConcurrentModificationException observed during testing. (markt)
    Fix: 59904: Add a limit (default 200) for the number of cookies allowed per \ 
request. Based on a patch by gehui. (markt)
    Fix: 59925: Correct regression in r1628368 and ensure that HTTP separators \ 
are handled as configured in the LegacyCookieProcessor. Patch provided by Kyohei \ 
Nakamura. (markt)
    Fix: OpenSSL now disables 3DES by default so reflect this when using OpenSSL \ 
syntax to select ciphers. (markt)

Jasper

    Fix: Improve error handling around user code prior to calling \ 
InstanceManager.destroy() to ensure that the method is executed. (markt)
    Fix: Improve the error handling for custom tags to ensure that the tag is \ 
returned to the pool or released and destroyed once used. (markt)
    Fix: 60032: Fix handling of method calls that use varargs within EL value \ 
expressions. (markt)
    Fix: Ignore engineOptionsClass and scratchdir when running under a security \ 
manager. (markt)
    Fix: Fixed StringIndexOutOfBoundsException. Based on a patch provided by \ 
wuwen via Github. (violetagg)

WebSocket

    Fix: Improve error handling around user code prior to calling \ 
InstanceManager.destroy() to ensure that the method is executed. (markt)
    Fix: 59908: Ensure that a reason phrase is included in the close message if \ 
a session is closed due to a timeout. (markt)

Web Applications

    Fix: Do not log an additional case of IOExceptions in the error handler for \ 
the Drawboard WebSocket example when the root cause is the client disconnecting \ 
since the logs add no value. (markt)
    Fix: 59642: Mention the localDataSource in the DataSourceRealm section of \ 
the Realm How-To. (markt)
    Fix: Follow-up to the fix for 59399. Ensure that the new attribute \ 
transportGuaranteeRedirectStatus is documented for all Realms. Also document the \ 
NullRealm and when it is automatically created for an Engine. (markt)
    Fix: Fix the description of maxAge attribute in jdbc-pool doc. This \ 
attribute works both when a connection is returned and when a connection is \ 
borrowed. (kfujino)
    Fix: 59774: Correct the prefix values in the documented examples for \ 
configuring the AccessLogValve. Patch provided by Mike Noordermeer. (markt)
    Fix: 59868: Clarify the documentation for the Manager web application to \ 
make clearer that the host name and IP address in the server section are the \ 
primary host name and IP address. (markt)
    Fix: MBeans Descriptors How-To is moved to mbeans-descriptors-howto.html. \ 
Patch provided by Radoslav Husar. (violetagg)
    Fix: Update NIO Connector configuration documentation with an information \ 
about socket.directSslBuffer. (violetagg)
    Fix: 60034: Correct a typo in the Manager How-To page of the documentation \ 
web application. (markt)

Tribes

    Add: Add log message when the ping has timed-out. (kfujino)
    Fix: If the ping message has been received at the \ 
AbstractReplicatedMap#leftOver method, ensure that notify the member is alive \ 
than ignore it. (kfujino)

jdbc-pool

    Fix: Fix the duplicated connection release when connection verification \ 
failed. (kfujino)
    Fix: Ensure that do not remove the abandoned connection that has been \ 
already released. (kfujino)
    Fix: In order to avoid the unintended skip of PoolCleaner, remove the check \ 
code of the execution interval in the task that has been scheduled. (kfujino)
    Fix: 59850: Ensure that the ResultSet is closed when enabling the \ 
StatementCache interceptor. (kfujino)
    Fix: 59923: Reduce the default value of validationInterval in order to avoid \ 
the potential issue that continues to return an invalid connection after \ 
database restart. (kfujino)
    Fix: Ensure that the ResultSet is returned as Proxy object when enabling the \ 
StatementDecoratorInterceptor. (kfujino)
    Fix: 60043: Ensure that the suspectTimeout works without removing connection \ 
when the removeAbandoned is disabled. (kfujino)
    Fix: Add log message of when returning the connection that has been marked \ 
suspect. (kfujino)
    Fix: Correct Javadoc for ConnectionPool.suspect(). Based on a patch by Yahya \ 
Cahyadi. (markt)

Other

    Update: 59276: Update optional Checkstyle library to 6.17. (kkolinko)
    Add: Use the mirror network rather than the ASF master site to download the \ 
current ASF dependencies. (markt)
    Update: Update the packaged version of the Tomcat Native Library to 1.2.8 to \ 
pick up the latest fixes and make 1.2.8 the minimum recommended version. (markt)
    Fix: 59899: Update Tomcat's copy of the Java Persistence annotations to \ 
include the changes made in 2.1 / JavaEE 7. (markt)
    Fix: Fixed typos in mbeans-descriptors.xml files. (violetagg)
    Update: Update the internal fork of Commons BCEL to r1757132 to align with \ 
the BCEL 6 release. (markt)
    Update: Update the internal fork of Commons DBCP2 to r1757164 to pick up a \ 
couple of bug fixes. (markt)
    Update: Update the internal fork of Commons Codec to r1757174. Code \ 
formatting changes only. (markt)
    Update: Update the internal fork of Commons FileUpload to afdedc9. This \ 
pulls in a fix to improve the performance with large multipart boundaries. \ 
(markt)

Files:
RevisionActionfile
1.9modifypkgsrc/www/apache-tomcat8/Makefile
1.5modifypkgsrc/www/apache-tomcat8/PLIST
1.10modifypkgsrc/www/apache-tomcat8/distinfo