The Apache Tomcat Servlet/JSP Container

Apache Tomcat 7

版本7.0.96,2019年7月24日
Apache Logo

Links

用户指南

Reference

Apache Tomcat开发

Changelog

Tomcat 7.0.96 (violetagg)
Catalina
fix 63579 :正确解析格式不正确的OPTIONS请求,并以400响应拒绝它们,而不是触发导致500响应的内部错误. (市场)
Coyote
fix 正确解析无效主机名,该主机名包含128到255之间的字节,并以400响应拒绝它们,而不是触发导致500响应的内部错误. (市场)
WebSocket
fix 更正阻止从Java 6开始默认安装Tomcat 7的回归.(标记)
Other
add 使单元测试能够并行执行. (市场)
Tomcat 7.0.95 (violetagg)未发布
Catalina
add 63556 :将请求标记为已在RemoteIpValve和RemoteIpFilter中转发(michaelo)
fix 修复了从WAR文件执行CGI脚本时潜在的资源泄漏. 由Coverity扫描识别. (市场)
fix 修复了由Coverity扫描确定的StringCache中潜在的并发问题. (市场)
fix 修复了APR连接器的主Sendfile线程中的潜在并发问题. 由Coverity扫描识别. (市场)
fix 修复了DataSourceRealm某些异常路径上的潜在资源泄漏. 由Coverity扫描识别. (市场)
fix 修复了解析JSP文件时异常路径上潜在的资源泄漏. 由Coverity扫描识别. (市场)
fix 修复了当JNDI查找返回兼容类的对象时潜在的资源泄漏. 由Coverity扫描识别. (市场)
code 重构ManagerServlet以避免在为指定类型的资源过滤JNDI资源时加载类. (市场)
fix 如果在server.xml使用docBase而不是可选path定义了Contextserver.xml避免NullPointerException . (市场)
add 43548 :为tomcat-users.xml文件添加XML模式. (市场)
fix 63324 :重构CrawlerSessionManagerValve以使放置在会话中的对象与带有mem-cached的会话序列化兼容. Martin Lemanski提供的补丁. (市场)
fix 如果定义了默认的servlet,请确保默认的servlet读取了整个全局XSLT文件. 由Coverity Scan识别. (市场)
fix 生成HTTP Allow标头时,避免潜在的NullPointerException . 由Coverity Scan识别. (市场)
add 删除目标路径中包含的用于获取RequestDispatcher所有片段. 由于这是应用程序错误,因此将请求的目标路径记录为警告. (市场)
fix 63531 :重构身份验证器,以便如果将缓存属性设置为false且未使用FORM身份验证,则不会更新会话的上次访问时间. (市场)
update 修改Default和WebDAV Servlet,以便在通过readonly初始化参数禁用时,针对PUTDELETE请求返回405状态代码.
fixAllow标头的内容与Default和WebDAV Servlet的响应代码对齐. 对于任何给定资源,返回405状态代码的方法将不会在Allow标头中列出,而Allow标题中列出的方法将不会返回405状态代码. (市场)
fix 在集合上复制/移动文件时,请纠正来自Litmus测试套件中针对WebDAV的两个失败的测试. (市场)
update 将建议的最低Tomcat本机最低版本更新为1.2.23. (市场)
fix 如果通过AsyncContext.start(Runnable)启动的异步线程发生未处理的异常,请使用标准错误页面机制对其进行处理. (市场)
Coyote
code 重构主机名验证以提高性能. Uwe Hees提供的补丁. (市场)
fix 进行修复,以避免在将多个轮询器与APR一起使用时单个轮询器的轮询时间较长的可能性. (市场)
fix 重构针对63205的修复程序,使其仅在使用PKCS12密钥库时才适用,因为已经报告了一些其他密钥库类型的回归. (市场)
Jasper
add 如果SMAP处理器在SMAP生成过程中无法删除或重命名类文件,则在错误消息中包括文件名. (市场)
fix Java UEL实现中对varargs处理的改进. (市场)
Cluster
fix 62841 :重构DeltaRequest序列化以减少DeltaSession锁定期间的窗口,并消除序列化过程中可能引起死锁的原因. (市场)
fix 63441 :进一步简化了DeltaManager中会话创建消息的处理,以减少在创建会话之前处理会话更新消息的可能性. (市场)
WebSocket
fix 63521 :根据WebSocket规范的要求,如果随后通过编程API部署了由于注释注释的POJO的SCI扫描而部署的POJO,则忽略该编程部署. (市场)
Tribes
fix 检查组成员的运行状况时,将NoRouteToHostExceptionSocketTimeoutException相同. 当与组成员关联的主机未打开电源时,这将避免在每次执行检查时发出SEVERE日志消息. (市场)
Other
fix 55969 :加强Windows安装程序创建的Apache Tomcat安装的安全性. 将Windows安装程序使用的默认关机端口从8005更改为-1 (禁用). 将对所选安装目录的访问限制为本地管理员,本地系统和本地服务. (市场)
add 59871 :将属性( timeFormat )添加到JULI的OneLineFormatter ,以配置日志消息中使用的时间戳格式. (市场)
fix 63335 :确保由OneLineFormatter编写的堆栈跟踪完全缩进. 现在,整个堆栈跟踪由一个附加的TAB字符缩进. (市场)
fix 使用OneLineFormatter ,请勿在打印堆栈跟踪记录后在日志中打印空白行. (市场)
fix 使用test命令而不是tty命令来检查终端可用性,因为基于tty的测试在非英语语言环境中失败. RadosławJózwik提供的补丁. (市场)
update 将JUnit更新到版本4.12. (市场)
update 将可选的WSDL依赖关系更新为1.6.3. (市场)
update 将Checkstyle更新到版本8.22. (市场)
update 63310 :更新到Commons Daemon 1.2.0. 这提供了对Java 11的改进支持.这还将Windows安装程序为Windows服务配置的用户从Local System更改为特权较低的Local Service . (市场)
Tomcat 7.0.94 (markt)发行日2019-04-12
Catalina
add 63206 :向Context添加一个新属性createUploadTargets ,如果该属性为true ,则使它能够创建Servlet使用的临时上载位置(如果Servlet指定的位置尚不存在). 默认值为false . (市场)
fix 63213 :当JNDIRealm配置为roleNested设置为true时,请在搜索嵌套组时确保对组名进行正确的转义. (市场)
fix 63235 :重构Charset缓存以减少启动时间. (市场)
fix 63236 :使用Phillip Webb建议的String.intern()来减少由于字符串重复而造成的内存浪费. 开始全新安装时,此更改可节省〜245k. 另外还要感谢YourKit Java profiler来帮助跟踪浪费的内存和根本原因. (市场)
fix 63246 :修复了在调用AsyncContext.dispatch()时潜在的NullPointerException . (市场)
fix 63196 :为RemoteIpFilterRemoteIpValveprotocolHeader属性提供默认值( X-Forwarded-Proto ). (市场)
fix 63249 :在记录注册或注销JMX Bean的失败时,请使用一致的日志级别( WARN ). (市场)
fix 63249 :在记录与启动或停止组件失败相关的LifecycleException时,请使用一致的日志级别( ERROR ). (市场)
fix 当SSI指令fsize与无效目标一起使用时,返回文件大小-而不是1k . (市场)
fix 63251 :为已知的JRE错误( JDK-8194653 )实现一种变通方法,该错误可能在Tomcat启动时导致死锁. (市场)
fix 确保在Java 9或更高版本上运行时,JarScanner正确测试是否应跳过在类路径上找到的JAR. (市场)
fix 63275 :使用RequestDispatcher确保HttpServletRequest.getContextPath()返回已调度请求中的编码路径. (市场)
fix 63286 :记录%D%T httpd中LogFormat指令与AccessLogValvepattern属性之间的行为差​​异. (市场)
fix 63311 :将Tomcat配置为验证XML配置文件(例如web.xml)时,将对https URL的支持添加到Tomcat中的本地解析器,该解析器用于解析标准XML DTD和模式. (市场)
fix 对SSI printenv命令的输出进行编码. 这是CVE-2019-0221的修复程序. (市场)
code 将常量用于SSI编码值. (市场)
add 当CGI Servlet的enableCmdLineArguments设置为true时,将各个命令行参数的编码形式限制为RFC 3875允许的值.可以通过使用新的初始化参数cmdLineArgumentsEncoded来放宽此限制. (市场)
add 当将CGI Servlet配置为enableCmdLineArguments设置为true时,在Windows上运行时,将各个命令行参数的解码形式限制为已知的安全值. 通过使用新的初始化参数cmdLineArgumentsDecoded可以放宽此限制. 这是CVE-2019-0232的修复程序. (市场)
update 将CGI Servlet的enableCmdLineArguments参数的默认值从true更改为false以针对CVE-2019-0232进行其他强化. (市场)
Coyote
fix 63194 :修复了失败的单元测试,因此在使用Java 11及更高版本和APR / Native连接器时,TLS1.3客户端身份验证测试可以正常工作. (市场)
add 63205 :为已知的JRE KeyStore加载错误添加解决方法. (市场)
Jasper
add 添加对将Java 11(值为11 )指定为JSP编译的编译器源和/或编译器目标的支持. (市场)
add 添加支持以指定Java 12(值为12 )和Java 13(值为13 )作为JSP编译的编译器源和/或编译器目标. 如果与不支持这些值的ECJ版本一起使用,则会记录警告并使用最新的受支持版本. 基于Thomas Collignon的补丁. (市场)
Web applications
fix 63184 :扩展SSI文档以提供有关受支持的指令及其属性的更多信息. 守夜人提供的补丁. (市场)
jdbc-pool
fix 63320 :确保StatementCache缓存在参数中包含数组的语句. (kfujino)
Other
code 将Apache Commons DBCP 1.4和Apache Commons Pool 1.5.7源代码复制到Tomcat 7.0.x树中,以启用其他修复程序.
fix 截至2019-03-15,将Apache Commons DBCP 1.4.x和Apache Commons pool 1.5.x的副本更新为最新的源代码,以获取包括58338在内的多个错误修复程序. (市场)
code 将Apache Commons Pool的副本更新为1.6.x,以获取泛型更改. (市场)
add 将JDBC 4.1支持添加到Tomcat提供的默认数据库连接池中. (市场)
update 从Checkstyle切换到JRE6反向端口,然后更新到版本8.17. 这使Tomcat 7仍可以使用Java 6进行构建时使用更新的配置格式(使用最新Checkstyle快照的Gump要求).
Tomcat 7.0.93 (violetagg)发行日2019-02-21
Catalina
fix 54741 :添加新方法Tomcat.addWebapp(String,URL) ,当在嵌入式模式下使用Tomcat时,该方法允许从URL部署Web应用程序. (市场)
add 62897 :在标准Context实现上提供一个属性( clearReferencesThreadLocals ),该属性可以禁用通过ThreadLocal进行的内存泄漏检查,因为此检查取决于使用Java的更高版本中已弃用的API. (市场)
fix 62978 :更新RemoteIpValve以处理x-forwarded-proto forward x-forwarded-proto标头中的多个值. Tom Groot提供的补丁. (市场)
fix 更新RemoteIpFilter以处理x-forwarded-proto forward x-forwarded-proto标头中的多个值. 基于Tom Groot提供的补丁. (市场)
code 62986 :重构在Web应用程序启动期间执行类扫描的代码,以使下游用户的集成更简单. 基于rmannibucau提供的补丁. (市场)
fix 实施Servlet规范的8.2.2 2c节的要求,并阻止Web应用程序部署(如果其具有重复名称的片段并且配置为使用片段的相对顺序). (市场)
update 将建议的最低Tomcat本机最低版本更新为1.2.19. (市场)
fix 确保ServletOutputStream实现与异步I / O的要求一致,并且所有写方法都使用单个写而不是多个写. (市场)
fix 更正Context.getDocBase()Context.setDocBase()的Javadoc,并删除指示URL可以用于docBase文本,因为这种情况已经有一段时间了. (市场)
add 作为服务运行时,请确保Tomcat已完全终止. (市场)
fix 63003 :扩展unloadDelay在属性Context ,包括飞行异步请求. (市场)
add 63026 :向JNDIRealm添加新属性forceDnHexEscape ,以强制转义专有名称的String表示形式以使用\nn形式. 这样可以避免使用Active Directory的领域出现问题,当使用\nn格式时,该领域似乎更能接受可选的转义. (市场)
update 将建议的最低Tomcat本机最低版本更新为1.2.21. (市场)
update 为tomcat-i18n jar文件简化catalina.properties文件中的jarsToSkip属性的值. 使用前缀模式而不是列出每种语言. (kkolinko)
WebSocket
fix 57974 :确保Session.getOpenSessions()实现为客户端和服务器端调用返回正确的值. (市场)
fix 63019 :写入时使用有效负载剩余字节而不是限制. 由Benoit Courtilly提交. (雷姆)
fixSecurityManager运行时,请确保默认javax.websocket.server.ServerEndpointConfig.Configurator实现的ServiceLoader查找正确完成,而不是使用硬编码的后备方式静默完成. (市场)
fix 如果客户端收到尝试与服务器通信的I / O错误,请确保关闭网络连接. (市场)
fix 扫描POJO方法时,请忽略合成方法. (市场)
fix 实施WebSocket 1.1规范的5.2.1节的要求,并确保如果一个端点的部署失败,则不会为该Web应用程序部署任何端点. (市场)
fix 实施WebSocket 1.1规范的4.3节的要求,并确保如果@PathParam与无效的参数类型一起使用,则Endpoint的部署将失败. (市场)
fix 如果使用@OnMessage注释的方法不符合Javadoc中规定的要求,请确保引发DeploymentException而不是IllegalArgumentException . (市场)
fix 改进算法,确定是否为同一消息类型添加了两个@OnMessage批注. 在此更改之前,有一些比赛被错过了. (市场)
code 删除为解决四个失败的TCK测试而引入的STREAMS_DROP_EMPTY_MESSAGES系统属性. 已经实施了替代解决方案. 现在,仅当将数据写入OutputStreamWriter通过getSendStream()getSendWriter()发送消息才会在网络上产生消息. 写入零长度数据将导致出现空消息. 请注意,通过Encoder发送消息可能导致消息通过getSendStream()getSendWriter() . (市场)
Web applications
fix 63103 :从示例Web应用程序中删除未使用的source.jsp文件和关联的标记,因为它不再被使用. (市场)
fix 63143 :当默认系统区域设置的语言不是英语时,请确保Manager Web应用程序遵守浏览器中配置的用户的语言首选项. (市场)
fix 在Manager Web应用程序的"服务器状态"页面上使用客户端的首选语言. 查看并解决几种在Manager和Host Manager Web应用程序中未遵守客户端语言首选项的情况. (kkolinko)
fix Fix messages used by Manager and Host Manager web applications. Disambiguate message keys used when adding or removing a host. Improve display of summary values on the status page: separate terms and values with a whitespace. Improve wording of messages for expire sessions command. (kkolinko)
fix 不要在Manager和Host Manager Web应用程序中添加CSRF nonce参数并禁止Referer标头用于外部链接. (kkolinko)
Other
fix 在Cygwin Shell中运行并且JAVA_ENDORSED_DIRS系统属性为空时,防止出现错误. 补丁由Zemian Deng提供. (市场)
update 将Tomcat本机库的打包版本更新为1.2.19,以获取使用APR 1.6.5和OpenSSL 1.1.1a构建的最新Windows二进制文件. (市场)
fix 在logging.properties中将AsyncFileHandler纠正为FileHandler. (呼星)
update 将Tomcat本机库的打包版本更新为1.2.21,以在将NIO / NIO2与OpenSSL一起使用时获取内存泄漏修复程序. (市场)
fix 使用Java 11启用编译和测试执行.请注意,在这种情况下,不赞成使用的类org.apache.catalina.util.Base64将被排除在构建之外,因为它取决于Java 11以后已删除的JRE类. (市场)
update 将用于构建Windows安装程序的NSIS安装程序更新为3.04版. (市场)
add 扩展Apache Tomcat随附的俄语翻译的覆盖范围和质量. (kkolinko)
Tomcat 7.0.92 (violetagg)发行于2018-11-15
Catalina
fix 添加有关context.xml.defaultweb.xml.default文件的文档,这些文档可用于基于每个主机自定义conf/context.xmlconf/web.xml . (fschumacher)
fix 确保规范路径始终用于上下文的docBase,以确保行为一致. (市场)
fix 62788: Add explicit logging configuration to write log files using UTF-8 to align with Tomcat's use of UTF-8 by default elsewhere. (markt)
fix 62797 :可以通过传递,以使客户端中止状态为200而不是500.Zikfat提交了补丁. (雷姆)
fix 62809 :更正了对Deployer Ant任务的DIGEST身份验证支持的实现中的回归(错误45832 ),这在需要身份验证时阻止DeployTask起作用. (市场)
update 将建议的最低Tomcat本机最低版本更新为1.2.18. (市场)
add 忽略StandardContext提供的Context元素上名为source的属性. 这是为了抑制由Eclipse提供的Eclipse / Tomcat集成生成的警告. 基于mdfst13的补丁. (市场)
add 62830 :添加了JniLifeCycleListener和静态方法Library.loadLibrary(libraryName)Library.load(filename)以通过共享的类加载器加载本机库,以便多个Webapp可以使用它. (伊萨皮尔)
fix 更正西班牙语资源文件中的错字. DiegoAgulló提供的补丁. (市场)
fix 62868 :根据委托标志的设置,对WebappClassLoaderBase.getResources(String)提供的Enumeration<URL>进行WebappClassLoaderBase.getResources(String) . (市场)
Coyote
add 在支持TLS版本1.3的JVM上运行时,将TLSv1.3添加到默认协议和基于JSSE的TLS连接器的all别名. 这样的JVM就是OpenJDK版本11.(rjung)
fix 62739 :请勿拒绝具有空HTTP Host标头的请求. 这样的请求是异常的,但不是无效的. 迈克尔·奥尔(Michael Orr)提供的补丁. (市场)
add 62748 :添加了对APR / Native连接器的TLS 1.3支持. (舒尔茨/马克特)
fix 62791 :删除了NIO TLS实施中不必要的检查,该检查阻止建立安全的WebSocket连接. (市场)
Jasper
fix 62674 :更正了独立的JSP编译器实用工具JspC的回归,该回归是由53492的修复引起的,该回归导致JSP编译器挂起. (市场)
fix 62721 :使用JspC时,正确生成了web.xml标头. (市场)
fix 修复TLD空格解析修复程序中的回归,该回归会在方法名称和参数之间存在空格时中断解析. (市场)
fix 62757 :更正了针对62603的修复程序中的回归,该回归在禁用开发模式和启用后台编译时在首次访问时编译标记文件时导致NullPointerException . 基于Jordi Llach的补丁. (市场)
fix 62808 :修复了方法签名中出现新行时TLD空格解析修复程序中的一个回归,该回归使解析中断. (市场)
WebSocket
fix 62731 :将HandshakeRequest.getRequestURI()Session.getRequestURI()返回的URI设置为绝对,以便可访问方案,主机和端口. (市场)
Web applications
fix 62761 :更正过滤器文档中的高级CORS示例,以使用有效的配置. (市场)
fix 62786 :在Context文档中添加一条注释,以说明默认情况下,在server.xml中定义的Context元素的设置将被默认上下文文件(例如conf/context.xml指定的设置覆盖. (市场)
fix 在Manager应用程序中的Undeploy按钮和其他按钮之间创建一些视觉上的分隔. ŁukaszJąder提供的补丁. (市场)
Other
update 将Tomcat本机库的打包版本更新为1.2.18,以获取使用APR 1.6.5和OpenSSL 1.1.1构建的最新Windows二进制文件. (市场)
Tomcat 7.0.91 (violetagg)发行于2018-09-19
Catalina
add 61692 :添加了通过新的初始化参数cgiMethods控制CGI Servlet处理哪些HTTP方法的cgiMethods . (市场)
fix 使用CORS筛选器时,请确保正确设置了HTTP Vary标头,并提高了通过COPRS筛选器的请求的可缓存性. (市场)
fix 62527 :将JNDI的限制恢复为java:命名空间. (雷姆)
add 引入一个新类MultiThrowable在执行多个操作时报告异常,其中每个操作都可能引发异常,但是在报告任何错误之前都执行了所有操作. 在启动过程中报告多个容器(例如Web应用程序)失败时,请使用此新类. (市场)
fixRequestDispatcher和Web应用程序类加载器中正确解码URL路径(不应将+解码为路径中的空格). (市场)
add 62559 :将jaxb-*.jar添加到StandardJarScanner忽略的JAR列表中. (市场)
add 62560: Add oraclepki.jar to the list of JARs ignored by StandardJarScanner. (markt)
add 62607 :从catalina.[bat|sh] run返回非零退出代码catalina.[bat|sh] run如果Tomcat无法启动,则catalina.[bat|sh] run . (市场)
codeTomcat.addWebapp(String,String)声明中删除ServletException Tomcat.addWebapp(String,String)因为它从不会抛出. Tzafrir提供的补丁. (市场)
fix 使用短路逻辑来防止CorsFilter中潜在的NPE. (fschumacher)
code 从JAASRealm中的容器名称简化appName的构造. (fschumacher)
fix 使用RequestDispatcher对象时,改进对路径参数的处理. (市场)
fix 62664 :将内容类型为multipart/form-data请求multipart/form-data为带有@MultipartConfig批注的servlet,而与HTTP方法无关. (市场)
fix 62669 :当使用SSIFilter且资源未指定内容类型时,请勿将内容类型强制设置为application/x-octet-stream . (市场)
fix When generating a redirect to a directory in the Default Servlet, avoid generating a protocol relative redirect. (markt)
Coyote
fix 重构代码,该代码将额外的标头名称添加到Vary HTTP响应标头中,以使用可解决几种其他极端情况的通用实用程序方法. (市场)
fix 62526 :当密钥库密码配置为空字符串时,可以正确处理PKCS12格式的密钥库. 请注意,Java 6不支持配置为使用空字符串的存储密码的PKCS12密钥存储. (市场)
fix 62670 :调整DriverManager的内存泄漏保护,以便启用保护后,通过服务加载程序机制加载$CATALINA_HOME/lib$CATALINA_BASE/lib中的JDBC驱动程序. (市场)
fix 62685 :更正主机名验证解析中的错误,该错误不允许完全限定的域名以句点终止. AG提供的补丁. (市场)
Jasper
fix 53011 :使用JspC进行预编译时,报告所有编译错误,而不是在出现第一个错误之后停止. 可以使用新选项-failFast来恢复先前的行为,即在出现第一个错误后停止. 基于Marc Pompl提供的补丁. (市场)
add 53492 :使Java文件生成过程成为多线程. 默认情况下,每个内核将使用一个线程. 基于Dan Fabulich的补丁. (市场)
fix 62603 :修复了禁用开发模式并启用后台编译检查时的潜在竞争条件. 某些更新可能不会生效和/或将发生ClassNotFoundException . (市场)
fix 更正启用xpoweredBy选项时生成的X-PoweredBy HTTP标头中的JSP版本. (市场)
fix 62662 :修复了JSP编译期间由53492引起的web.xml输出损坏. Bernhard Frauendienst提供的补丁. (市场)
fix 正确解析TLD函数签名中的XML空格,该签名错误地仅寻找空格字符. (市场)
WebSocket
fix 62596 :取消了用于建立Web套接字连接的初始HTTP升级请求的大小限制. (市场)
Web applications
add 62558 :为Manager和Host Manager Web应用程序添加俄语翻译. 基于Ivan Krasnov的补丁. (市场)
add 62561 :将有关服务器和共享类加载器使用的高级类加载器配置信息添加到文档Web应用程序. (市场)
add 扩展文档Web应用程序中有关CATALINA_HOMECATALINA_BASE的使用的信息. Marek Czernek提供的补丁. (市场)
fix 62652 :更清楚地说明,Tomcat 7.0.x中打包的DBCP版本是DBCP1 .(标记)
add 62666 :扩展Manager应用程序中的国际化支持,以包括服务器状态页面,并提供除英语之外的俄语翻译. Artem Chebykin提供的补丁. (市场)
fix 62676 :扩展CORS筛选器文档以明确要求进行显式配置才能支持跨域请求. (市场)
Tribes
fix 确保将指定的rxBufSize正确设置为接收器缓冲区大小. (kfujino)
Other
fix 固定的拼写. Jimmy Casey通过GitHub提供的补丁. (紫罗兰色)
fix 在源代码和文档中更正各种拼写错误. Kazuhiro Sera提供的补丁. (市场)
Tomcat 7.0.90 (violetagg)发行于2018-07-06
Catalina
fix 62498: Correct a regression in the fix for CVE-2017-12617 that caused request failures for some requests when using the VirtualDirContext. (markt)
fix 删除对已删除类的引用,该引用使Tomcat在安全管理器下运行时无法启动. (市场)
Tomcat 7.0.89 (violetagg)未发布
Catalina
fix 现在将使用注入目标定义但没有值的JNDI资源视为未定义资源. (市场)
fix 确保用于web.xml中的<lookup-name>条目和@Resource批注的lookup元素的JNDI名称指定具有显式java:命名空间的名称. (市场)
add 51953 :添加RemoteCIDRFilterRemoteCIDRValve ,可用于允许/拒绝基于IPv4和/或IPv6客户端地址的请求,其中IP范围是使用CIDR表示法定义的. 基于Francis Galiegue的补丁. (市场)
fix 62343 :使CORS过滤器默认设置更安全. 这是CVE-2018-8014的修复程序. (市场)
fix 使与Tomcat关联的所有记录器提供的"过滤器"均为非静态,以确保重新加载Web应用程序时不会丢失日志消息. (市场)
fix 更正批注-api.jar的清单. JAR实现了Common Annotations API 1.1,清单应该反映出这一点. (市场)
fix 切换到非静态记录器,其中记录器可能与Web应用程序类加载器相关联,如果Web应用程序停止,则会导致日志消息丢失. (市场)
add 62389 :将IPv6回送地址添加到默认的internalProxies正则表达式. 克雷格·安德鲁斯的补丁. (市场)
fixRemoteIpValveRemoteIpFilter ,正确处理请求通过一个或多个trustedProxies但不传递internalProxies . 基于zhanhb的补丁. (市场)
fix 更正MBeanFactory.removeConnector()的逻辑,以确保当有多个使用不同地址但使用同一端口的连接器时,删除了正确的连接器. (市场)
fix 通过要求经过身份验证的Subject至少包含一个userClassNames指定类型的Principal,使JAASRealm错误配置更加明显. (市场)
fix 62476 :按照HTTP规范(RFC 7231,7234)的要求,将GMT时区用作Expires标头的值. (kkolinko)
Coyote
fix 如果AJP连接器检测到反向代理正在发送的AJP消息对于配置的packetSize太大,则记录一条错误消息. (市场)
fix 62371 :改进了对主机验证失败的记录. (市场)
fix 用户名包含转义字符时,请正确处理摘要授权标头. (市场)
fix 当十六进制字段值之一以无效字符结尾标头时,正确处理摘要授权标头. (市场)
Jasper
fix 更新由JspC生成的web.xml,web-fragment.xml和web.xml提取,以使用相关模式的Servlet 3.0版本. (市场)
fix 通过确保IPv4映射的IPv6地址在IPv4部分中不包含前导零来改进IPv6验证. 基于Katya Stoycheva的补丁. (市场)
fix 62080 :确保通过PrivilegedAction执行UEL API和实现对当前线程的上下文类加载器的所有读取,以确保在SecurityException下运行时不会触发SecurityManager . (标记)
WebSocket
fix 当路径参数的解码失败时,请确保抛出DecodeException而不是ArrayIndexOutOfBoundsException . (kfujino)
fix 将TLS与WebSocket客户端一起使用时,请启用主机名验证. (市场)
Web applications
62395 :在文档说明Web应用程序中阐明连接器属性minSpareThreads的含义. (市场)
jdbc-pool
fix When logValidationErrors is set to true, the connection validation error is logged as SEVERE instead of WARNING. (kfujino)
Other
fix 62391 :删除对javaw.exe引用,因为Tomcat不需要此文件,并且这些引用会阻止使用Server JRE. (市场)
update 将Tomcat本机库的打包版本更新为1.2.17,以获取使用APR 1.6.3和OpenSSL 1.0.2o构建的最新Windows二进制文件. (市场)
add 下载用于构建Tomcat的依赖项时,实施校验和检查. (kkolinko)
Tomcat 7.0.88 (violetagg)发行于2018-05-11
Catalina
fix 以与等效@Resource批注的mappedName元素相同的方式对待web.xml中的<env-entry><mapped-name>元素. 两者现在都尝试设置资源的mappedName属性. (市场)
fix 使用web.xml中定义的<injection-target>纠正资源处理. 首先,使用JavaBean属性名称查找匹配项,然后,仅当找不到匹配项时,才使用字段查找匹配项. (市场)
fix 在FORM身份验证之后使用请求正文还原保存的请求时,请确保对HttpServletRequest方法getRequestURI()getQueryString()getProtocol()调用不会因保存的请求正文的处理而损坏. (市场)
fix 修复了在SecurityManager下运行时启动失败的问题,这是对bug 62273的修复的回归. (kkolinko)
fix 62353 :更正Tomcat 7.0.86中引入的回归. 恢复Tomcat 7在可使用Common Annotations 1.0的Java 6上运行的功能. 记录使用Java认可机制使用Common Annotations 1.1的要求. (市场)
code 重构org.apache.naming包以减少重复的代码. Simian工具标识的重复代码. (市场)
fix 50019 :添加对<lookup-name> . 基于Gurkan Erdogdu的补丁. (市场)
fix 60490 :各种格式和布局的改进为ErrorReportValve . 迈克尔·奥西波夫(Michael Osipov)提供的补丁. (市场)
fix 通过取消FQDN的最后部分必须为字母的要求来放宽主机验证. (市场)
Jasper
add 50234 :向JspC添加了生成web-fragment.xml文件的功能. (市场)
fix 62350 :重构org.apache.jasper.runtime.BodyContentImpl以便在SecurityException下运行时不会引发SecurityException,并且catalina.policy文件中不需要其他权限. 这是对43925的修复. (kkolinko /市场)
Cluster
fix 创建复制的会话时,请删除重复的呼叫,以减少创建会话所花费的时间,从而减少由于该会话尚不存在而忽略后续会话更新消息的机会. (市场)
Tribes
fix Ensure that the correct default value is returned when retrieve unset properties in McastService. (kfujino)
Other
fix 添加一个.gitattributes文件,以确保Git以二进制形式处理bug 52121的测试数据文件. (kkolinko)
Tomcat 7.0.87 (violetagg)未发布
Catalina
fix 62316 :更正了某些重构的回归,该回归打破了JDBC数据源的默认工厂. (市场)
fix 修复了在实际使用中不太可能发生的极少数情况. 这种边缘情况意味着将较长的UTF-8字符流写入几乎完全由代理对组成的HTTP响应中可能会导致一个代理对被丢弃. (市场)
fix 当DataSource Resource type="javax.sql.XADataSource"时,注册MBean. 三浦正史提供的补丁. (csutherl)
add 将Apache Commons BCEL的内部fork更新为r1829827,以将早期访问Java 11支持添加到注释扫描代码. (市场)
fix 62297 :当在主机或引擎上配置Valve时,使CrawlerSessionManagerValve能够正确处理对多个主机和/或Web应用程序进行爬网的机器人. (fschumacher)
addHttpServletRequest#getContextPath()的返回值中的多个前导/字符折叠为单个/ ,以避免与HttpServletResponse#sendRedirect() . 默认情况下,此行为是启用的,并可以通过新的Context属性allowMultipleLeadingForwardSlashInPath配置. (市场)
fix 使用补充字符改善UTF-8解码器中的溢出处理. (市场)
Coyote
add 对所有连接器启用提供的主机名和端口的严格验证. 主机名和/或端口无效的请求将被拒绝,并带有400响应. (市场)
fix 实施RFC 7230(和RFC 2616)的要求,即HTTP / 1.1请求必须包含Host标头,并且必须以400响应拒绝任何不被拒绝的请求. (市场)
fix 实施RFC 7230的要求,即在请求行中指定主机的任何HTTP / 1.1请求都必须在Host标头中指定相同的主机,并且必须以400响应拒绝任何未请求的此类请求. 此检查是可选的,默认情况下处于禁用状态. 可以使用连接器的allowHostHeaderMismatch属性启用它. (市场)
fix 实施RFC 7230的要求,即通过400响应拒绝包含多个Host标头的任何HTTP / 1.1请求. (市场)
add 62273 :实施配置选项以解决规范不兼容的用户代理(包括所有主要浏览器)的问题,这些代理不能正确地对RFC 7230和RFC 3986要求的URI路径和查询字符串进行%nn编码.(标记)
Jasper
fix 启用ECJ 4.7及更高版本以替代Apache Tomcat随附的ECJ版本. (市场)
fix Enable Java 10 to be specified as a JSP source and/or target if a newer ECJ version is used. (markt)
fix 62287 :请勿依赖哈希码来测试ValueExpressionImpl实例的相等性. Mark Struberg提供的补丁. (市场)
WebSocket
fix 62301 :更正了针对61491的修复程序中的回归,该回归在使用PerMessageDeflate时在所有情况下均未正确处理最终的空消息部分. (市场)
Other
fix 当未设置JAVA_ENDORSED_DIRS环境变量时,避免在Cygwin下运行时发出警告. 补丁由Zemian Deng提供. (市场)
Tomcat 7.0.86 (violetagg)发行于2018-04-13
Catalina
fix 51195 :通过在Web应用程序停止时清除由Web应用程序加载的类的ObjectStreamClass$Caches ,避免对Web应用程序内存泄漏的误报. (市场)
fix 52688 :将对maxDays属性的支持添加到AccessLogValveExtendedAccessLogValve . 这允许在定义删除之前保留轮换访问日志的最大天数. (市场)
fix 防止Tomcat将gzip压缩应用于已经使用brotli压缩进行压缩的内容. 基于burka提供的补丁. (市场)
fix 62090 :不允许使用空容器名称. (雷姆)
fix 62104 :修复了编程登录回归,因为必须设置NonLoginAuthenticator才能使其正常工作(如果未指定登录方法). (雷姆)
fix 62117 :当调用kill -0 <pid>失败时,改进了catalina.sh错误消息. 根据Mark Morschhaeuser的建议. (市场)
fix 62118 :使用指定的接口而不是具体类型正确创建JNDI ServiceRef . 根据ÁngelÁlvarezPáscua的建议. (市场)
fix 修复RequestDumperFilter日志属性. Kirill Romanov通过Github提供的补丁. (紫罗兰色)
fix 62123: Avoid ConcurrentModificationException when attempting to clean up application triggered RMI memory leaks on web application stop. (markt)
fix 62168 :使用PersistentManagerminIdleSwap的值应为-1 ,并且不要交换会话以将活动会话数保持在maxActive . Holger Sunke提供的补丁. (市场)
fix 62172 :改进org.apache.catalina.startup.Constants Javadoc并确保正确使用了常量. (市场)
fix 62175 :在使用PersistentManager加载会话时尝试验证会话时,请避免无限递归. (fschumacher)
fix 确保仅在关联的命名资源上的属性更改后才通知NamingContextListener实例. (市场)
add 62224 :在Java 9及更高版本上运行时,禁用forkJoinCommonPoolProtectionJreMemoryLeakPreventionListener ,因为已修复了底层JRE错误. (市场)
fix 62263 :在RemoteIpValve处理找不到上下文的请求时,请避免NullPointerException . (市场)
Coyote
fix 纠正线程池中的"一对一"错误,该错误使线程池的大小增加到比配置的限制大一倍. usc提供的补丁. (市场)
Web applications
add 解决某些版本的IE中已知的,不符合规范的行为,当Manager应用程序生成纯文本响应时,该行为可能允许XSS. 根据Muthukumar Marikani的建议. (市场)
addFragmentationInterceptor添加文档. (kfujino)
add 记录使用CombinedRealm时如何确定已认证用户的角色. (市场)
jdbc-pool
fix 当连接返回池时,请确保已清除SQLWarning . (kfujino)
fix 缓存PreparedStatement和/或CallableStatement时,请确保已清除参数. (kfujino)
fix 即使未设置validationQuery也可以启动PoolCleaner. (kfujino)
Other
update Update the build script so MD5 hashes are no longer generated for releases as per the change in the ASF distribution policy. (markt)
fix 62164 :将构建脚本切换为使用TLS从SourceForge和Maven Central下载,以避免由于HTTP到HTTPS重定向而导致失败. (市场)
Tomcat 7.0.85 (violetagg)发行于2018-02-13
Catalina
fix 防止由于LogManager实现的更改而在Java 10上运行时将堆栈跟踪写入标准输出. (市场)
fix 如果已经进行过一次加载尝试,则避免重复尝试. (雷姆)
fix 如果没有引擎,请避免在ThreadLocalLeakPreventionListener中使用NPE. (雷姆)
fix 58143 :修复了针对59619的修复在7.0.70中损坏的调用类加载变压器. 使用弹簧编织时观察到了这一点. (荣)
fix 62000 :当无法解析JNDI引用时,请确保报告根本原因异常,而不是将其吞下. (市场)
fix 62036 :当使用NonLoginAuthenticator配置Web应用程序时在会话中缓存经过身份验证的用户Principal时,请缓存内部Principal对象,而不是面对Principal对象的用户,因为Tomcat要求内部对象正确处理以后的授权检查. (市场)
fix 62067 :使用URL模式""正确应用映射到上下文根的安全约束. (市场)
fix 使用嵌入式Tomcat时,在Web应用程序启动期间仅执行一次Authenticator配置. (市场)
fix 在Web应用程序启动ServletSecurity不是在Servlet加载时处理所有ServletSecurity批注,以确保一致地应用约束. (市场)
fix 调用类转换器时的次要优化. (荣)
Web applications
add 48672 :添加有关主机管理器Web应用程序的文档. Marek Czernek提供的补丁. (市场)
Other
update 将用于构建Windows安装程序的NSIS安装程序更新为3.03版. (kkolinko)
Tomcat 7.0.84 (violetagg)发行于2018-01-24
Catalina
fix 47214 :在SecurityManager下运行时,请使用循环预加载匿名内部类,以确保以后代码中的更改或使用其他编译器时都可以安全. (kkolinko)
add 57619 :对JAR URL的处理方式进行小的优化,以减少重复的String对象在内存中的存储. Dmitri Blinov提供的补丁. (市场)
add 61810 :支持配置间隔以在没有访问jar时保持所有jar处于打开状态,非正数间隔表示保持jar始终处于打开状态. (呼星)
fix 61886 :如果在SecurityManager下运行时收到的第一个请求是异步Servlet,则预加载其他类以防止SecurityException . (市场)
fix 61916 :当通过setHeader()addHeader()设置内容类型以及通过setContentType()设置内容类型时,扩展AddDefaultCharsetFilter以添加字符集. (市场)
fix 61999 :将maxSavePostSize设置为0会在身份验证期间禁用保存POST数据. (雷姆)
Coyote
fix 61886 :在DEBUG而不是INFO非容器线程上记录错误. 异常将通过异步错误处理机制提供给应用程序. (市场)
fix 61993年 :改进了ByteChunkCharChunk实例的处理, CharChunk实例的增长接近JRE允许的最大大小. (市场)
Jasper
add 43925 :添加一个新的系统属性( org.apache.jasper.runtime.BodyContentImpl.BUFFER_SIZE ),以控制Jasper在缓冲标记主体时使用的缓冲区大小. (市场)
Web applications
add 61223 :将mbeans-descriptors.dtd文件添加到自定义MBean文档中,以便用户为构造自定义组件的mbeans-descriptors.xml文件时使用参考. (市场)
fix Partial fix for 61886. Ensure that multiple threads do not attempt to complete the AsyncContext if an I/O error occurs in the stock ticker example Servlet. (markt)
fix 61886 :在示例Web应用程序中运行异步股票行情记录器时,防止ConcurrentModificationException . (市场)
fix 61886 :如果在停止示例Web应用程序时正在运行股票报价器示例,请防止NullPointerException和其他错误. (市场)
fix 61910 :在文档Web应用程序中澄清allowLinking选项的含义. (市场)
add 将OCSP配置信息添加到SSL How-To. Marek Czernek提供的补丁. (市场)
fix 62006 :为tomcat7.exe记录新的JvmOptions9命令行参数. (市场)
jdbc-pool
fix 61312 :使用已关闭的连接的语句缓存时,请防止NullPointerException . (kfujino)
Other
update 将Commons FileUpload的内部fork更新为6c00d57(2017-11-23)以进行一些代码清理. (市场)
update 将Commons Codec的内部fork更新为r1817136以进行一些代码清除. (市场)
fix 本机源包(用于Commons Daemon和Tomcat Native)不再复制到部署目标的bin目录中. 现在,它们仅被复制到发布目标的bin目录中. (市场)
Tomcat 7.0.83 (violetagg)未发布
Catalina
add 在Java 9或更高版本下运行时,并且启用了JreMemoryLeakPreventionListenerurlCacheProtection选项,请使用Java 9中添加的API仅禁用JAR URL连接的缓存. (市场)
fix 61581 :修复可能SecurityException使用与所述APR /本地连接器时SecurityManager . (市场)
fix 61597 :在Java 9上运行并且启用了类路径扫描时,扩展StandardJarScanner以扫描模块路径上的JAR. (市场)
fix 修复Wrapper.findInitParameter()的JMX描述符. (荣)
fix 61601 :在JAR扫描和Web应用程序类加载中添加了对多发行版JAR的支持. (市场)
fix 如果直接设置了Content-Language HTTP标头,则从7.0.80恢复名为ServletResponse.setLocale()的更改. (市场)
add 提供SessionInitializerFilter ,可用来确保在启动WebSocket连接时存在HTTP会话. isapir提供的补丁. (市场)
fix 在关闭过程AsyncContext实例超时时,请避免可能的NullPointerException . (市场)
Coyote
fix 57870 :在Java 7或更高版本上运行时,在构造GZIPOutputStream时要利用新的syncFlush参数,而不要使用自定义FlushableGZIPOutputStream实现作为解决方法. (市场)
fix 61736 :当客户端在网络数据包之间留出较大的时间间隔时,可提高NIO连接器的性能. 紫龙宋提供的补丁. (市场)
Jasper
add 使碧玉编译的JSP为Java 9.除了与配置JSP的servlet用于通过Java 9 compilerSourceVMcompilerTargetVM ,有必要更换ecj-4.4.2.jar与较新版本的支持Java 9.(Markt的)
fix 61816 :属性值或模板文本中的无效表达式应触发翻译(编译时)错误,而不是运行时错误. (市场)
WebSocket
fix 61604 :在websocket客户端中添加对身份验证的支持. J Fernandez提交的补丁. (雷姆)
Web applications
fix 61603 :在需要的地方为状态servlet输出添加XML过滤. (雷姆)
fix 更正有关CGI servlet如何将请求映射到CGI How-To中的脚本的描述. (市场)
Tribes
fix 修复尝试重新发送频道消息的错误行为,该行为比maxRetryAttempts的实际设置值maxRetryAttempts . (kfujino)
fix Ensure that the remaining Sender can send channel messages by avoiding unintended ChannelException caused by comparing the number of failed members and the number of remaining Senders. (kfujino)
fix 确保处理了在SelectionKey处理期间未ChannelException其他剩余SelectionKey. (kfujino)
Other
fix 改进对61439的修复,并从Tomcat发行版中完全排除JPA,JAX-WS和EJB批注. (市场)
fix 改进对认可目录的处理. 仅在显式设置JAVA_ENDORSED_DIRS系统属性或$CATALINA_HOME/endorsed存在的情况下,才使用认可目录机制. 在Java 9上运行时,任何尝试使用认可目录机制的操作都会触发错误,并且Tomcat无法启动. (荣)
code 重构以准备Java9.重构以避免使用某些在Java 9以后将不推荐使用的方法. (市场)
add 51496 :使用Windows安装程序时,请检查所请求的服务名称是否已经存在,如果存在,请提示用户选择其他服务名称. Ralph Plawetzki提供的补丁. (市场)
fix 将必要的Java 9配置选项添加到启动脚本中,以防止Web应用程序停止时生成警告. (市场)
fix 61590 :启用service.bat以识别何时为Java 9 JDK配置了JAVA_HOME . (市场)
fix 61598: Update the Windows installer to search the new (as of Java 9) registry locations when looking for a JRE. (markt)
add 将用于发布工件的SHA-512哈希生成添加到构建脚本中. (市场)
fix 61658根据RFC8081,更新字体的MIME映射以使用font/* . (市场)
update 将Tomcat本机库的打包版本更新为1.2.16,以获取使用APR 1.6.3和OpenSSL 1.0.2m构建的最新Windows二进制文件. (市场)
update 将用于构建Windows安装程序的NSIS安装程序更新为版本3.02.1. (kkolinko)
update 当在Microsoft Windows的已安装应用程序列表中显示Tomcat时,更新Windows安装程序以将" Apache Software Foundation"用作发布服务器. (kkolinko)
fix 61803 :从安全文档中删除过时的SSL信息. (雷姆)
Tomcat 7.0.82 (violetagg)发行于2017-10-03
Catalina
fix 61210 :在SecurityManager下运行时,请勿在该配置文件不存在时打印关于无法读取日志配置文件的警告. (市场)
add 61280 :将RFC 7617支持添加到BasicAuthenticator . 请注意,默认配置不会更改现有行为. (市场)
fix 61452 :修复了使用WebDAV时导致UnsupportedEncodingException的复制粘贴错误. (市场)
fix 纠正7.0.80中的回归,该回归中断了VirtualDirContextextraResourcePaths属性对相对路径的使用. (市场)
add 61489 :使用CGI servlet时,使从查询字符串生成命令行参数(根据RFC 3875的4.4节)成为可选的. 默认情况下启用此功能,以便与以前的版本保持一致. 基于jm009的补丁. (市场)
fix 更正7.0.80和7.0.81中的回归,该回归将代表Web应用程序的DirContext包装在ProxyDirContext两次,而不是一次. (市场)
fix 61542 :修复了CVE-2017-12617并阻止了启用HTTP PUT时通过特制请求上传JSP. (市场)
fix 加载Java 9的JVM logging.properties文件时,请使用正确的路径.(rjung)
fix 61554 :从RAT分析中排除打算在GitHub中显示的异常编码的测试文件和markdown文件. 克里斯·Thistlethwaite提供的补丁. (市场)
Coyote
fix 48655 :使用sendfile,APR / native连接器和多部分下载时,允许Tomcat彻底关闭. (市场)
fix 58244 :处理OpenSSL使用票证恢复TLS会话而完整的客户端证书链不可用的情况. 在这种情况下,没有链的客户证书将显示给应用程序. (市场)
fix 读取请求InputStream时,修复随机的SocketTimeoutException . 基于Peter Major的补丁. (市场)
fix 60900 :如果在新数据到达该连接的同时关闭连接,则避免APR Poller中NullPointerException . (市场)
add 添加一个选项以拒绝包含HTTP头的请求,这些请求的HTTP头具有无效的(非令牌)头名称,并带有400响应. (市场)
WebSocket
fix 61491 :使用permessage-deflate扩展名时,请正确处理非空消息之后的空消息发送,以避免IllegalArgumentException . (市场)
Tribes
fix 为了避免来自备份会话的意外会话超时通知,请在接收映射成员通知消息时更新访问时间. (kfujino)
fix Add member info to the log message when the failure detection check fails in TcpFailureDetector. (kfujino)
fix 避免Ping超时,直到通过接收MSG_START消息完全启动添加的地图成员. (kfujino)
fix 发送频道消息时,请确保发送方已连接. (kfujino)
fix 更正备用节点选择逻辑,使节点0连续两次返回. (kfujino)
fixRpcChannel修复responseMap竞争条件. (kfujino)
jdbc-pool
fix 61391 :如果将SlowQueryReport拦截器配置为记录失败的查询,并且连接已被放弃,请确保记录失败的查询. Craig Webb提供的补丁. (市场)
fix 61425 :将testWhileIdle设置为true并将defaultAutoCommit设置为false时,确保空闲连接的事务已终止. 王正提供的补丁. (kfujino)
fix 61545 :使用池化XA连接时,可以正确处理PooledConnection接口中定义的方法的调用. Nils Winkler提供的补丁. (市场)
Other
fix 61439 :从tomcat-embed-core.jar中删除Java Annotation API类,并将它们打包在嵌入式发行版的单独的JAR中,以为最终用户提供更大的灵活性来处理与JRE和/或其他JAR的潜在冲突. (市场)
fix 61441 :在从RPM安装Java的平台上运行时, JAVA_HOME通过daemon.sh脚本改进对JAVA_HOME的检测. (荣)
update 将Tomcat本机库的打包版本更新为1.2.14,以获取使用APR 1.6.2和OpenSSL 1.0.2l构建的最新Windows二进制文件. (市场)
fix 更新针对59904的修复程序,以便接受小于零的值,而不是引发 NegativeArraySizeException. (雷姆)
fix 61563 :正确的西班牙语翻译错误. GonzaloVásquez提供的补丁. (csutherl)
Tomcat 7.0.81 (violetagg)发行于2017-08-16
Catalina
fix 纠正破坏WebDAV的7.0.80中的回归. (市场)
Tomcat 7.0.80 (violetagg)未发布
Catalina
fix 56785 :如果目录路径存在于Tomcat用户无法读取的类路径上,请避免NullPointerException . (市场)
fix 在安全管理器下运行时,FileHandler要求将附加的删除文件权限授予JULI. 清理日志文件的线程被标记为守护程序线程. (紫罗兰色)
fix 61229 :更正了7.0.78中的回归,该回归破坏了WebDAV对名称中包含&字符的资源的处理. (市场)
add 如果直接设置Content-Language HTTP标头,则尝试从标头值确定语言环境,并使用派生的语言环境调用ServletResponse.setLocale() . (市场)
fix 61232 :禁用日志循环时,在生成日志文件名时将仅使用一个分隔符. 例如,如果前缀是catalina. 后缀为.log则日志文件名将为catalina.log而不是catalina..log . 由Katya Stoycheva提供的补丁. (紫罗兰色)
fix 61253 :当Digester.updateAttributes引发异常而不是忽略异常时,添加警告消息. (csutherl)
fix 61313 :在JNDIRealm中将读取超时配置为可配置的,并确保读取超时将导致尝试故障转移到AlternateURL. 基于Peter Maloney和Felix Schumacher的补丁. (市场)
Coyote
fix 61086 :确保为HTTP 205响应明确发信号通知一个空的请求正文. 对r1795278的附加修复. 基于Alexandr Saperov提供的补丁. (紫罗兰色)
fix 61322 :更正了将BIO与外部执行器一起使用时针对60319的修复而导致的两个回归. 首先,如果未指定,则使用Executor中的maxThreads设置作为maxConnections的默认设置. 其次,在计算禁用保持活动的点时,使用Executor中的maxThreads . (市场)
add 添加其他日志记录以记录在连接器停止过程中等待NIO轮询器停止时发生的问题. (市场)
fix 防止在正常关闭NIO连接期间引发异常. 这样可以使TLS连接完全关闭. (市场)
Jasper
add 53031 :使用Jasper Ant任务和javac编译JSP时,添加了对fork选项的支持. (市场)
WebSocket
add 57767 :在尝试建立WebSocket连接时,为WebSocket客户端添加支持以下重定向. J Fernandez提供的补丁. (市场)
Other
add 52791 :添加了从配置文件设置Windows安装程序使用的默认值的功能. Sandra Madden提供的补丁. (市场)
Tomcat 7.0.79 (violetagg)发行于2017-07-01
Catalina
fix 61101 :CORS过滤器应设置Vary标头作为响应. 由Rick Riemer提交. (雷姆)
add 61105 :添加新的JULI FileHandler配置,以指定保留日志文件的最大天数. (紫罗兰色)
fix 改进SSLValve ,使其能够处理来自Nginx的客户端证书标头. 基于Lucas Ventura Carro的补丁. (市场)
fix 61154 :在安全管理器下运行时,默认情况下允许Manager和Host Manager Web应用程序启动. 这是通过添加自定义权限org.apache.catalina.security.DeployXmlPermission来实现的,该权限允许应用程序使用META-INF/context.xml文件,然后将该权限授予Manager和Host Manager. (市场)
fix 61173 :为oacatalina.startup.Tomcat Javadoc. peterhansson_se提供的补丁. (紫罗兰色)
add 新的配置属性crawlerIps已添加到oacatalina.valves.CrawlerSessionManagerValve . 使用此属性,可以指定一个正则表达式,该正则表达式将用于基于搜寻器的IP地址来识别它们. 基于Tetradeus提供的补丁. (紫罗兰色)
fix 61180 :如果初始化Web应用程序用来生成会话标识符的SecureRandom实例花费的时间超过100毫秒,则记录警告消息而不是信息消息. Piotr Chlebda提供的补丁. (市场)
fix 61185 :通过AsyncContext.dispatch()分派异步请求时, getRequestURI()确保分派请求的getRequestURI()与原始请求的getRequestURI()匹配. (市场)
fix 61201 :确保CGI可执行文件的SCRIPT_NAME环境变量以一致的方式填充,而不管CGI Servlet如何映射到请求. (市场)
fix 61215 :在org.apache.catalina.valves包的mbean-descriptors.xml文件中正确定义addConnectorPortinvalidAuthenticationWhenDeny ,以便可以通过JMX访问属性. (市场)
Coyote
fix 61086 :为HTTP 205响应明确发信号通知为空的请求正文. (市场)
fix 还原针对漏洞60718的修复中引入的更改,该更改将客户端将连接从200断开到500时将访问日志中记录的状态代码更改了.(标记)
fix 使异步错误处理更加健壮. 特别要确保在非容器线程上发生I / O错误后,为所有已注册的AsyncListener调用onError() . (市场)
Jasper
fix 44787 :改进了JSP编译器配置选项无效时的错误消息. (市场)
WebSocket
fix 当用于PongMessageMessageHandler未实现MessageHandler.Whole时,更正日志消息. (荣)
fix 提高用于报告WebSocket消息发送结果的Future的线程安全性. (市场)
fix 61183: Correct a regression in the previous fix for 58624 that could trigger a deadlock depending on the locking strategy employed by the client code. (markt)
Web applications
fix 更好地记录Jasper的trimSpaces选项的含义. (市场)
fix 61150 :将Manager和Host-Manager Web应用程序配置为允许CRSFPreventionFilter相关会话对象的序列化和反序列化,以避免在安全管理器下运行时Web应用程序停止和/或启动时的警告消息和/或堆栈跟踪. (市场)
Tribes
add 添加对Tribes组件的JMX支持. (kfujino)
Other
add 45832 :向用于与Manager应用程序通信的Catalina Ant任务添加HTTP DIGEST身份验证支持. (市场)
fix 45879 :将RELEASE-NOTES文件添加到Tomcat安装程序(用于Windows)创建的安装的根目录中,以使用户更容易识别已安装的Tomcat版本. (市场)
fix 61076 :记录Context元素的altDDName属性. (市场)
fix 61145 :将缺少的@Documented注释添加到注释API中的注释中. 由Katya Todorova提供的补丁. (市场)
fix 61146 :在注释API的@EJB注释中添加缺少的lookup()方法. 由Katya Todorova提供的补丁. (市场)
fix 在"上下文容器配置参考"中更正拼写错误. 由Katya Todorova提供的补丁. (紫罗兰色)
Tomcat 7.0.78 (violetagg)发行于2017-05-16
General
add 允许使用构建属性test.exclude排除JUnit测试类,并在BUILDING.txt中记录该属性. (荣)
Catalina
fix 查看Tomcat重新编码URI或URI组件的那些地方,并确保应用正确的编码(路径与查询字符串不同),并确保一致地应用编码. (市场)
fix 确定当前请求是否用于自定义错误页面时,对DefaultServlet使用更可靠的机制. (市场)
fix 确保在Default或WebDAV servlet处理错误时,无论使用doGet()方法触发错误的原始请求,都将通过doGet()方法处理错误资源. (市场)
fix 如果指定的静态自定义错误页面不存在或无法读取,请确保返回预期的错误状态,而不是404.(标记)
fix 配置WebDAV servlet并对位于WEB-INF下方的自定义错误页面进行错误分配时,请确保显示目标错误页面而不是404响应. (市场)
add 61047 :在默认的web.xml中为woff2字体添加MIME映射. 贾斯汀·威廉姆森(Justin Williamson)提供的补丁. (紫罗兰色)
fix 纠正选择用于解码SSIServletExternalResolver的查询字符串的编码的逻辑,以便正确考虑ConnectoruseBodyEncodingForURI属性. (市场)
fix 61072 :尊重文档声明,该文档声明允许使用平台默认安全随机数生成会话ID. (雷姆)
fix 改正oacconnector.CoyoteAdapter#parseSessionCookiesId的javadoc. John Andrew(XUZHOUWANG)通过Github提供的补丁. (紫罗兰色)
Jasper
fix 60925 :改善访问由接口定义的属性的处理时BeanELResolver是下使用SecurityManager . (市场)
WebSocket
fix 61003 :即使在处理过程中发生某些异常, oatwebsocket.AsyncChannelWrapperSecure确保正确重置oatwebsocket.AsyncChannelWrapperSecure中的读写标志. (markt / violetagg)
Web applications
add 在BUILDING.txt中记录属性test.excludePerformance . (荣)
addmaxIdleTime属性的文档添加到Channel Receiver文档. (kfujino)
jdbc-pool
code 重构为代理类创建的构造函数,以减少重复的代码. (kfujino)
fixStatementFacade ,对已关闭的语句的方法调用将引发SQLException而不是NullPointerException . (kfujino)
Other
fixJre8Compat对Java 8的正确注释. 由Gibbub提供的补丁程序. (紫罗兰色)
fix 60932 :在i18n消息中使用时,请正确转义单引号. 基于Michael Osipov的补丁. (市场)
Tomcat 7.0.77 (violetagg)发行于2017-04-02
Catalina
add 54618HttpHeaderSecurityFilter HSTS preload参数的支持添加到HttpHeaderSecurityFilter . (市场)
fix 60911: Ensure NPE will not be thrown when looking for SSL session ID. Based on a patch by Didier Gutacker. (violetagg)
Coyote
fix 使用NIO2连接器时,请确保在处理流末尾之前已处理WebSocket关闭帧,以确保正确处理了流末尾. (市场)
fix 60852 :在配置属性和内部代码中使用时,拼写可正确压缩. 基于Michael Osipov的补丁. (市场)
fix 改进请求传递时的sendfile处理. (市场)
Jasper
fix 改进简单标签的错误处理,以确保使用后即可释放并销毁标签. (雷姆,violetagg)
fix 60844 :当使用比方法所需的参数值少的参数值来调用EL方法表达式时,可以正确处理错误. Daniel Gray提供的补丁. (市场)
jdbc-pool
fix 60764 :在StatementFacade中实现equals()hashCode() ,以便在设置了任何语句代理的情况下,在封闭的语句上调用这些方法. 可以使用useStatementFacade属性更改此行为. (kfujino)
Tomcat 7.0.76 (markt)发行于2017-03-16
Catalina
code 通过getDefaultWebXmlListener()使Tomcat子类更容易修改默认的web.xml设置. 亚伦·安德森(Aaron Anderson)提供的补丁. (市场)
fix 当多个线程正在管理对象并且需要引用注释缓存时,减少默认InstanceManager实现中的争用. (市场)
code 60674 :从CorsFilter删除final标记以启用子分类. (市场)
fix 60683 :在某些JVM上进行IO时,安全管理器故障导致NPE. (csutherl)
fix 60688 :将Apache Commons BCEL的内部fork更新为r1782855,以将早期访问Java 9支持添加到注释扫描代码. (市场)
fix 60718 :改进了异步处理的错误处理,并更正了多种情况,其中未触发requestDestroyed()事件,并且未在访问日志中进行输入. (市场)
fix 60808 :确保ServletRequest.getParameterMap()返回的Map完全不可变. 基于woosan提供的补丁. (市场)
fix 60824 :在SecurityManager下运行时,如果有会话,则在会话中正确缓存Subject . Jan Engehausen提供的补丁. (市场)
fix 确保在触发应用程序侦听器时使用请求和响应外观. (标记/毫米)
fix 当在连接器上禁用HTTP TRACE请求时,请确保来自WebDAV servlet的HTTP OPTIONS响应在返回的Allow标头中不包括TRACE. (市场)
Coyote
fix 确保与连接器一起使用的执行程序线程池会预先启动配置的最小空闲线程数. (市场)
add 60594 :允许使用系统属性tomcat.util.http.parser.HttpParser.requestTargetAllow在请求中最近处理的一些无效字符. (csutherl)
Jasper
fix 重构为JSP生成的代码,以减少标签所需代码的大小. (市场)
Cluster
add 使accessTimeoutClusterSingleSignOn配置. accessTimeout用作复制映射中PING的超时时间. (kfujino)
fix 60806 :为避免ClassNotFoundException ,请确保将Web应用程序类加载器传递给ReplicatedContext . (kfujino)
WebSocket
fix 60617 :通过代理建立WebSocket连接时,正确创建CONNECT请求. Svetlin Zarev提供的补丁. (市场)
Tribes
fix 确保NoRpcChannelReply消息没有接收到RpcCallback . (kfujino)
fix 60722 :在为由AsyncContext.dispatch()触发的调度生成路径时,请考虑当前Context上的dispatchersUseEncodedPaths设置. (市场)
Other
fix 60620 :修复了Eclipse项目的配置,此配置因引入SafeForkJoinWorkerThreadFactory帮助器类而SafeForkJoinWorkerThreadFactory . 此类无法使用Java 6构建.(kkolinko)
update 将Tomcat本机库的打包版本更新为1.2.12,以获取使用OpenSSL 1.0.2k构建的最新Windows二进制文件. (紫罗兰色)
add 60784 :更新所有测试HTTP状态行的单元测试,以检查状态代码后的所需空间. 迈克尔·奥西波夫(Michael Osipov)提供的补丁. (市场)
update 将用于构建Windows安装程序的NSIS安装程序更新为3.01版. (市场)
fix 重构生成脚本和NSIS安装程序脚本,以便可以使用NSIS 2.x或NSIS 3.x来生成安装程序. 这主要是为了重新启用在基于Linux的CI系统上构建安装程序的能力,其中NSIS 3.x和wine的组合导致安装程序构建失败. (市场)
Tomcat 7.0.75 (violetagg)发行于2017-01-24
Cluster
add 使accessTimeoutBackupManager配置. accessTimeout用作复制映射中PING的超时时间. (kfujino)
Web applications
fix 确保ASF徽标图像正确显示在文档和主机管理器应用程序中. (紫罗兰色)
Tomcat 7.0.74 (violetagg)未发布
Catalina
add 53602 :将HTTP状态代码451(RFC 7725)添加到Tomcat识别的HTTP状态代码列表中. (市场)
fix 嵌入Tomcat时正确处理主机的configClass属性. (市场)
fix 60379 :一旦不再需要GSS凭证,则将其丢弃. 迈克尔·奥西波夫(Michael Osipov)提供的补丁. (市场)
fix 60380 :确保对HttpServletRequest#logout()的调用触发对TomcatPrincipal#logout()的调用. 基于Michael Osipov的补丁. (市场)
fix 60387 :将Javadoc oacatalina.AccessLog.setRequestAttributesEnabledoacatalina.AccessLog.setRequestAttributesEnabled . 对于不同的实现,默认值是不同的. (紫罗兰色)
code 60393 :在Realm#authenticate(GSSContext, boolean)实现中使用一致的参数命名. (市场)
fix 60395 :在Authenticator将不完整的GSSContext传递给领域时进行记录,因为它指示Authenticator器中的错误. 迈克尔·奥西波夫(Michael Osipov)提供的补丁. (市场)
update 更新引用了在Java 9上运行所需的选项的警告,以对这些选项使用最新的语法. (市场)
fix 60513 :使用RMI清理代码解决了线程安全问题. (雷姆)
add 60620: Extend the JreMemoryLeakPreventionListener to provide protection against ForkJoinPool.commonPool() related memory leaks. (markt)
Coyote
fix 如果将端点配置为侦听特定类型(例如0.0.0.0:: 0.0.0.0任何本地地址,请确保端点在关闭期间能够解锁接收器线程. (市场)
fix 确保默认情况下为APR启用sendfile. (市场)
fix 在提供响应时删除文件时,防止读取超时. 仅在启用APR连接器和sendfile的情况下才观察到此问题. (紫罗兰色)
fix 改进选择用于解锁接收器的地址的逻辑,以考虑平台在配置了地址0.0.0.0::时不会监听所有本地地址的逻辑. (市场)
fix 60409 :当无法完成sendfile请求时,请确保仅将处理器添加到缓存一次. (markt / violetagg)
Jasper
add 44294 :在UEL表达式中添加了对varargs的支持. (市场)
fix 60356 :修复了依赖于JAR中打包的嵌套标记文件的JSP的预编译. (市场)
fix 60431 :改进了UEL表达式中对varargs的处理. 基于Ben Wolfe的补丁. (市场)
fix 60497 :使用try / finally后,恢复以前的标签重用行为. (雷姆)
fix 改进简单标签的错误处理,以确保使用后即可释放并销毁标签. (雷姆)
fix 60497 :使用更好的变量名称作为标签重用标志的后续修订. (雷姆)
fix 将简单标签的try / final方法恢复使用. (雷姆)
Web applications
fix 更正《主机配置参考》中的错字. 通过comment.apache.org报告的问题. (紫罗兰色)
add 在文档Web应用程序中,必须明确指出,群集要求所有群集网络流量都需要一个安全的网络. (市场)
update 将ASF徽标更新为新版本.
Tribes
fix 减少从其他域接收到的消息的警告日志,以避免过多的日志输出. (kfujino)
add 添加超过超时时间已收到PING消息的日志消息. (kfujino)
fix 收到超过超时时间的PING消息后,请确保将有效成员添加到地图成员中. (kfujino)
WebSocket
fix 60437: Avoid possible handshake overflows in the websocket client. (remm)
jdbc-pool
add 58816 :实现jdbc-pool的统计信息. 该统计数据的相关信息是borrowedCountreturnedCountcreatedCountreleasedCountreconnectedCountreleasedIdleCountremoveAbandonedCount . (kfujino)
fix 60194: If validationQuery is not specified, connection validation is done by calling the isValid() method. (kfujino)
fix 60398 :修复TestSlowQueryReport . (kfujino)
add 启用重置统计信息而无需重新启动池. (kfujino)
Other
fix 60366 :将catalina.bat更改为直接使用LOGGING_MANAGERLOGGING_CONFIG变量以配置日志记录,而不是修改JAVA_OPTS . Petter Isberg提供的补丁. (紫罗兰色)
add 添加了新属性test.verbose ,以控制测试的输出是否在控制台上显示. Emmanuel Bourg提供的补丁. (紫罗兰色)
update 更新用于Windows的Apache Tomcat安装程序中使用的ASF徽标,以使用新版本.
fix Josh Soref提供的拼写更正. (紫罗兰色)
Tomcat 7.0.73 (violetagg)发行于2016-11-14
Catalina
fix 60117 :使用OneLineFormatter时,请确保LogLevel的名称已本地化. Tatsuya Bessho提供的补丁. (kfujino)
add 60151 :改进当ResourceLink无法指定类型,指定未知类型或指定错误类型时的异常错误消息. (市场)
fix 60167 :使用PasswdUserDatabase时,忽略/etc/passwd文件中的空行. (市场)
fix 改进对链接的全局资源的访问检查,以处理当前类加载器是Web应用程序类加载器的子级的情况. (市场)
fix 60199 :如果反序列化问题阻止会话属性加载,请记录警告. (市场)
fix 阅读提供的关机密码时,请正确测试控制字符. (市场)
fix 配置JMX远程侦听器时,请指定凭据的允许类型. (市场)
Coyote
fix 60123 :避免潜在的线程问题,该问题可能导致在当前请求的处理时间内返回过大的值. (市场)
fix 60174 :的Log实例HeadersTooLargeException请求处理过程中. (市场)
fix 更正HTTP标头解析器,以便不将DEL视为有效的令牌字符. (市场)
fix 60319 :使用执行器时,请将其与连接器属性maxThreadsminSpareThreadsthreadPriority断开连接,以使配置设置能够始终如一地报告. 使用执行程序时,这些连接器属性将报告为-1 . 执行者使用的值可以通过执行者进行设置和获取. (市场)
fix 如果在非容器线程上进行异步处理期间发生I / O错误,请确保触发了onError()事件. (市场)
fix 改进在非容器线程上进行异步处理期间对I / O错误的检测,并在检测到它们时触发异步错误处理. (市场)
add 将其他对有效字符的检查添加到HTTP请求行解析中,以便更快地拒绝无效的请求行. (市场)
Web applications
add 向文档Web应用程序添加一个使用classesToInitialize属性的JreMemoryLeakPreventionListener . 基于Cris Berneburg的补丁. (市场)
fix 60192 :更正Manager应用程序状态输出中的错字. Radhakrishna Pemmasani提供的补丁. (市场)
fix 更正" HTTP连接器方法"中的错字. 通过comment.apache.org报告的问题. (紫罗兰色)
fix 修复jdbc-pool中validationInterval属性的默认值. (kfujino)
fix 更正" CGI操作方法"中的错字. 通过comment.apache.org报告的问题. (紫罗兰色)
fix 60344 :在BUILDING.txt中添加有关使用带有正确行尾的源包的注释. (市场)
Tribes
fix 当代理节点发送备份检索消息时,请确保使用已设置的channelSendOptions而不是默认的channelSendOptions . (kfujino)
jdbc-pool
fix 60099 :使用StatementCache时,请确保将所有方法参数都用作缓存键. (kfujino)
fix 60139 :对于正确的Javadoc PoolConfiguration.getValidationIntervalsetValidationInterval . Phillip Webb报道. (kfujino)
Other
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)
Tomcat 7.0.72 (violetagg)发行于2016-09-19
Catalina
fix 确保在使用类加载器的情况下考虑Digester.useContextClassLoader . (紫罗兰色)
Jasper
fix 60101 :删除已删除的类的预加载. (紫罗兰色)
jdbc-pool
fix 返回已标记为可疑的连接时通知jmx. (kfujino)
fix 确保POOL_EMPTY通知已添加到jmx通知类型. (kfujino)
Other
update 将Tomcat本机库的打包版本更新为1.2.10,以获取使用OpenSSL 1.0.2j构建的最新Windows二进制文件. (市场)
update 61599 :更新到Commons Daemon 1.1.0,以改进Java 9支持. (市场)
Tomcat 7.0.71 (violetagg)未发布
Catalina
fix 57705 :为远程主机和远程地址阀和过滤器拒绝的请求添加调试日志记录. 基于Graham Leggett的补丁. (市场)
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 59708 :修改LockOutRealm逻辑. 在锁定期间进行有效的身份验证尝试将不再将锁定计时器重置为零. (市场)
fix 在调用InstanceManager.destroy()之前,请改善围绕用户代码的错误处理,以确保执行该方法. (市场)
fix 确保通过JMX读取StandardWrappersingleThreadModel属性不会触发相关servlet的初始化. 在某些框架中,这可能会触发意外的初始化线程,如果初始化不是线程安全的,则初始化可能会失败. (市场)
fix 默认情况下,将用于获取请求分发程序的路径视为已编码. 可以通过Context的dispatchersUseEncodedPaths属性针对每个Web应用程序更改此行为. (市场)
fix 59839 :将roleSearchAsUser应用于roleSearchAsUser中的所有嵌套搜索. (fschumacher)
add 提供一种机制,使该容器可以在SecurityManager下运行时检查组件(通常是Web应用程序)是否已被授予给定权限,而不必使当前执行堆栈通过该组件. 使用此新机制将SecurityManager保护扩展到摘要程序的系统属性替换功能. (市场)
add 通过ResourceLink检索对象时,请确保获得的对象属于预期的类型. (市场)
fix 59866 :在扫描WEB-INF/classes中的注释时,请勿扫描WEB-INF/classes/META-INF (如果存在),因为将永远不会从该位置加载类. (市场)
fix 59912 :修复了输入流处理中的一种极端情况,即在读取POST正文时可能引发IOException情况. (市场)
fix 59966 :如果web.xml中的错误页面配置无效,请不要启动Web应用程序. (市场)
fix 将CGI Servlet切换到标准日志记录机制,并删除对debug属性的支持. (市场)
add 在CGI Servlet中添加一个新的初始化参数envHttpHeaders ,以默认情况下缓解httpoxyCVE-2016-5388 ),并提供一种可用于缓解未来任何类似问题的机制. (市场)
add 动态添加和删除ResourceLink ,请确保仅在原本应有的情况下才可以通过ResourceLinkFactory看到全局资源. (市场)
fix 60008 :在处理COR请求时,请将具有URI file格式的任何来源都视为有效来源. (市场)
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 修复了读取全局web.xml时文件描述符泄漏的问题. (市场)
fix 60041 :如果在运行Web应用程序时删除JAR,则会出现更好的错误消息. 注意:不支持在应用程序运行时删除JAR,并且会出现错误. 基于gehui的补丁. (市场)
Coyote
fix Improve error handling around user code prior to calling InstanceManager.destroy() to ensure that the method is executed. (markt)
fix 59904 :为每个请求允许的cookie数量添加一个限制(默认为200). 基于gehui的补丁. (市场)
fix 使针对Realm实现的定时攻击变得更加困难. (舒尔茨)
add 重构实现以下要求的代码:必须先延迟从非容器线程对complete()dispatch()的调用,然后再调用容器启动的线程,该调用必须完成,而容器启动的线程必须调用startAsync()完成. 而不是通过阻塞非容器线程来实现此目的,而是扩展内部状态机来跟踪此情况. 这消除了阻塞非容器线程可能触发死锁的可能性. (市场)
Jasper
fix 在调用InstanceManager.destroy()之前,请改善围绕用户代码的错误处理,以确保执行该方法. (市场)
fix 改进自定义标记的错误处理,以确保将标记返回到池中或在使用后释放并销毁. (市场)
fix 修复了StringIndexOutOfBoundsException. 基于wuwen通过Github提供的补丁. (紫罗兰色)
WebSocket
fix 在调用InstanceManager.destroy()之前,请改善围绕用户代码的错误处理,以确保执行该方法. (市场)
fix 59868 :澄清Manager Web应用程序的文档,以使服务器部分中的主机名和IP地址更加清晰,这是主要的主机名和IP地址. (市场)
fix 59908 :如果由于超时而关闭会话,请确保关闭消息中包含原因短语. (市场)
Web Applications
fix 当根本原因是客户端断开连接,因为日志未添加任何值时,请勿在Drawboard WebSocket示例的错误处理程序中记录IOException的其他情况. (市场)
fix 59642 :在"领域方法"的" DataSourceRealm领域"部分中提及localDataSource . (市场)
fix 修复59399的后续措施 . 确保为所有Realm记录了新的属性transportGuaranteeRedirectStatus . 还要记录NullRealm以及为引擎自动创建的时间. (市场)
fix MBeans描述符操作方法已移至mbeans-descriptors-howto.html . Radoslav Husar提供的补丁. (紫罗兰色)
fix 60034 :更正文档Web应用程序的"管理人员指南"页面中的错字. (市场)
Tribes
add 当ping超时时,添加日志消息. (kfujino)
fix 如果在AbstractReplicatedMap#leftOver方法上已收到ping消息,请确保通知该成员处于活动状态,而不是忽略它. (kfujino)
jdbc-pool
fix 当连接验证失败时,修复重复的连接版本. (kfujino)
fix 确保不要删除已经释放的废弃连接. (kfujino)
fix 为了避免PoolCleaner意外跳过,请在已计划的任务中删除执行间隔的检查代码. (kfujino)
fix 59849 :如果尚未初始化借用的PooledConnection确保由initSQL执行连接验证(如果需要). (kfujino)
fix 59850 :确保启用StatementCache拦截器时关闭ResultSet . (kfujino)
fix 59923 :减小validationInterval的默认值,以避免潜在的问题,即在数据库重新启动后继续返回无效的连接. (kfujino)
fix Ensure that the ResultSet is returned as Proxy object when enabling the StatementDecoratorInterceptor. (kfujino)
fix 60043 :当禁用removeAbandoned时, removeAbandoned确保suspectTimeout在不删除连接的情况下工作. (kfujino)
fix 返回已标记为可疑的连接时添加的日志消息. (kfujino)
fix 更正Javadoc for ConnectionPool.suspect() . 基于Yahya Cahyadi的补丁. (市场)
Other
add 使用镜像网络而不是ASF主站点来下载当前的ASF依赖项. (市场)
update 将Tomcat本机库的打包版本更新为1.2.8,以获取最新的修补程序,并使1.2.8成为最低推荐版本. (市场)
fix 修复了mbeans-descriptors.xml文件中的拼写错误. (紫罗兰色)
update 将Commons BCEL的内部fork更新为r1757132以与BCEL 6版本保持一致. (市场)
update 将Commons Codec的内部fork更新为r1757174. 代码格式仅更改. (市场)
update 将Commons FileUpload的内部fork更新为afdedc9. 这样就可以修复具有较大的多部分边界的性能,以提高性能. (市场)
fix 更新Objenesis的下载位置. (紫罗兰色)
Tomcat 7.0.70 (violetagg)发行于2016-06-20
Catalina
fix 59219 :如果在异步处理期间引发Exception确保调用AsyncListener.onError() . (市场)
fix 59220 :如果异步请求超时并且响应已经提交,请确保调用AsyncListener.onComplete() . (市场)
fix 59261 :如果请求在调用时不是处于异步模式,则ServletRequest.getAsyncContext()现在将根据Servlet规范的要求引发IllegalStateException . (市场)
fix 59310 :请勿为未设置Content-Length值的HEAD请求的自定义响应添加Content-Length: 0标头. (市场)
fix 规范化路径时,请改善路径以/.结尾的处理/./..并确保输入和输出是否以/结束是一致的. (市场)
fix 59317 :确保调度后HttpServletRequest.getRequestURI()返回编码的URI,而不是解码的URI. (市场)
fix 使用ALLOW-FROM选项时,请确保根据规范正确构造了标题X-Frame-Options的值. (紫罗兰色)
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)
fix 59449 :在ContainerBase ,确保删除子容器的过程与添加一个子容器的过程相反. 张虎星提供的补丁. (市场)
fix RMI Target相关的内存泄漏是可以避免的,这使它们成为需要修复的应用程序错误,而不是JRE错误. 因此,在Web应用程序停止时开始记录与RMI目标相关的内存泄漏. 添加一个选项来控制是否检查这些泄漏. 如果在Java 9上运行且启用了此检查,但没有要求的命令行选项,则记录警告. (市场)
fix 修复了Web应用程序类加载器和资源高速缓存的并发读写的潜在并发问题. (市场)
fix 59619 :在Web应用程序类加载器中,始终将path用作资源缓存的键,以提高命中率. 这也解决了针对56777的修复所暴露的问题,该问题使从类路径加载基于文件的配置资源成为可能. (市场)
fix 无法注册MBean时修复错误消息. (kfujino)
Coyote
fix 58970 :修复了NIO连接器中的连接计数错误,该错误意味着某些断开的连接没有从当前连接计数中删除. (市场)
fix 59289 :请勿在意外关闭的情况下回收升级处理器. (雷姆)
fix 确保使用非令牌的HTTP方法名称的请求(RFC 7231要求)以400响应被拒绝. (市场)
fix 当AJP连接器处理异步请求时,请确保在开始下一个请求之前完全完成了请求处理. (市场)
fix 如果异步调度导致请求处理完成,请确保在开始处理下一个请求之前吞下任何剩余的请求主体,否则可以将剩余的主体读取为导致400响应的下一个请求的开始. (市场)
Jasper
fix 修复了表达式语言实现中的内存泄漏,该漏洞导致第一个Web应用程序的类加载器使用表达式固定在内存中. (市场)
fix 59654 :强制执行JSP规范第7.3.1节中有关TLD文件允许位置的要求. 张虎星提供的补丁. (市场)
WebSocket
fix 确保客户端断开连接触发关联的WebSocket端点的错误处理. (市场)
Web Applications
fix 更正SSL / TLS配置方法中的错字. 通过comment.apache.org报告的问题. (紫罗兰色)
fix 58891 :更新SSL方法. 根据AlexanderKjäll的建议. (市场)
Tribes
fix 修复潜在的NPE,该NPE在使用静态群集时取决于静态成员的属性的设置顺序. (kfujino)
add 为与ChannelInterceptorBase相关的通道添加get / set方法. (kfujino)
fix 与多播群集环境一样,在静态群集环境中,本地成员从群集接收者继承属性. (kfujino)
add 为与每个Channel服务相关的通道添加get / set方法. (kfujino)
add 将名称添加到频道以标识频道. 在tomcat集群环境中,将集群名称+"-Channel"设置为默认值. (kfujino)
add Add the channel name to the thread which is invoked by channel services in order to identify the associated channel. (kfujino)
fix 停止频道时,请确保从频道服务中清除频道实例. (kfujino)
add 在复制映射中实现映射状态. (kfujino)
fix 确保在复制映射的启动/停止期间未执行ping操作. (kfujino)
fix 在复制映射中的ping处理中,不发送INIT消息,而是发送新引入的PING消息. (kfujino)
jdbc-pool
fix 使用池清洁器线程修复内存泄漏,该线程清洁器线程保留对第一个Web应用程序使用连接池的Web应用程序类加载器的引用. (市场)
Other
update 将Tomcat本机库的打包版本更新为1.2.7,以获取基于OpenSSL 1.0.2h和APR 1.5.2的Windows二进制文件. (紫罗兰/市场)
update 删除对Windows Itanium的本机代码(Windows Service Wrapper,APR /本机连接器)支持. (市场)
update 将Commons File Upload的内部fork更新为r1743698(1.3.1以及其他修复). (市场)
fix 58626 :添加了对新环境变量( USE_NOHUP )的支持,该变量导致在启动Tomcat时使用nohup . 默认情况下禁用此功能,但在HP-UX上默认禁用该功能,因为在HP-UX上启动Tomcat时需要此功能. (市场)
Tomcat 7.0.69 (violetagg)发行于2016-04-15
Catalina
fix 修复StandardContext的mbean定义的InstanceManager属性的类型. (kfujino)
add 58351 :使服务器构建日期和服务器版本号可通过JMX访问. 张虎星提供的补丁. (市场)
fix 59001 :将Tomcat安装在其中一个网段以感叹号结尾的路径上时,可以正确处理. (市场)
fix 扩展59001的修复程序,以涵盖Tomcat的自定义jar:war:URL中使用的特殊序列. (市场)
fix 59043 :如果使用HttpServletRequest.logout()则在与单点登录关联的会话到期时避免警告. (市场)
fix 59054 :确保在Valve在会话中注册自身时,在分布式环境中使用CrawlerSessionManagerValve不会触发错误. (市场)
add 如果用户尝试通过已弃用(并忽略)的Manager.setMaxInactiveInterval()方法尝试配置默认会话超时,则记录警告消息. (市场)
fix 纠正7.0.68中引入的回归,其中不推荐使用的Manager.getMaxInactiveInterval()方法以分钟(而不是秒Manager.getMaxInactiveInterval()返回当前的默认会话超时. (市场)
fix 如果主机配置了不存在的appBase,请在尝试将外部WAR文件扩展到其中之前创建appBase. (市场)
fix 59115 :使用Servlet 3.0文件上载时,提交的文件名可以作为令牌或带引号的字符串提供. 如果是带引号的字符串,请先将该字符串取消引号,然后再返回给用户. (市场)
fix 59123 :一旦不再需要JNDIRealm使用的NamingEnumeration对象,请关闭它们. (舒马赫/市场)
fix 59138 :当Web应用程序类加载器已加载键类而非值类时,更正了针对ThreadLocal相关的内存泄漏的误报警告. (市场)
fix 59145 :当用户注销与SSO关联的会话时,请不要记录无效的警告. (市场)
fix 59151 :修复了针对56917的修订中的回归问题,该回归向所提供的重定向位置添加了其他(可能是不必要的)验证. (市场)
fix 59206 :确保当未指定catalina.base时, oatomcat.util.file.ConfigFileLoader不会引发NPE. (紫罗兰色)
fix 59213 :异步分派应基于包装的请求. (雷姆)
fix 59217 :在oatomcat.util.http.ServerCookie中的路径回收中删除重复oatomcat.util.http.ServerCookie . 补丁由中村京平提供. (紫罗兰色)
fix 确保javax.servlet.ServletRequestjavax.servlet.ServletResponse期间提供javax.servlet.AsyncListener登记经由提供javax.servlet.AsyncEvent.getSuppliedRequestjavax.servlet.AsyncEvent.getSuppliedResponse (violetagg)
fix 澄清日志消息,其中不允许在WebServlet和WebFilter批注中同时指定urlPatterns和value属性. (紫罗兰色)
fix 确保由Valves引起的异常在日志文件中可用,以便在禁用oacatalina.valves.ErrorReportValve.showReport时可以对其进行评估. 补丁程序由Svetlin Zarev提供. (紫罗兰色)
fix 59247 :预加载ResourceEntry作为某些JVM上安全管理器问题的解决方法. (kkolinko /雷姆)
fix 59269 :更正PersistentManagerBase的实现,以便minIdleSwap函数按设计设计,并且换出会话以将活动会话数保持在maxActiveSessions以下. (市场)
Coyote
fix 58646 :更正sendfile的问题,该问题导致处理器两次被添加到缓存中,导致响应中断. (市场)
fix 59015 :如果在关闭过程中Poller遇到错误,请修复关闭期间APR Poller循环不断的潜在原因. (市场)
fix 将JSSE(BIO,NIO)和OpenSSL(APR)的默认TLS密码限制为当前认为安全的密码. (市场)
add 添加一个新的环境变量JSSE_OPTS ,该变量用于将JVM范围的配置传递给JSSE实现. 默认值为-Djdk.tls.ephemeralDHKeySize=2048 ,可防止Diffie-Hellman密钥太弱. (市场)
WebSocket
fix 59014 :确保在收到关闭消息后可以发送WebSocket关闭消息. (市场)
fix 当最终消息片段的长度为零时,正确处理部分消息的压缩. (市场)
add 扩展示例中提供的WebSocket编程回显端点,以处理二进制消息以及部分消息. 这使代码与Tomcat 8保持一致,并使针对WebSocket实现运行Autobahn测试套件变得更加容易. (市场)
fix 59119 :使用安全连接时,更正WebSocket客户端的读取逻辑. (市场)
fix 59134 :对于通过代理建立的安全连接,正确的客户端连接逻辑. (市场)
fix 59189 :显式释放被持有的本机内存InflaterDeflater使用PerMessageDeflate时和WebSocket的会话结束. 基于Henrik Olsson的补丁. (市场)
Web Applications
fix 更正Proxy How-To中ServletRequest.getServerPort()的描述. 通过comment.apache.org报告的问题. (紫罗兰色)
fix 在示例Web应用程序中的Comet Chat servlet中修复潜在的不确定等待. (市场)
fix 59229: Fix error in HTTP docs and make clear that the HTTP NIO connector uses non-blocking I/O to read the HTTP request headers. (markt)
fix 在文档中更新指向部署了Tomcat快照工件的Maven存储库的链接. (markt / violetagg)
fix 在调用ServletContext.log(String, Throwable)GenericServlet.log(String, Throwable)的文档中进行澄清,记录在SEVERE级别. (紫罗兰色)
Tribes
fix 如果在获取会话时将代理节点提升为主节点,则将新主节点的更改通知原始备份节点. (kfujino)
fix 当代理节点无法检索备份条目时,请避免使用NPE. (kfujino)
add 收到意外消息时添加日志. (kfujino)
add 添加指示该成员是localMember的标志. (kfujino)
Other
fix 58283 :在构建过程中,将库的默认下载位置从/usr/share/java更改${user.home}/tomcat-build-libs . 艾哈迈德·霍斯尼(Ahmed Hosni)提供的补丁. (市场)
fix 59031 :使用Windows卸载程序时,请勿删除已符号链接到Tomcat目录结构中的任何目录的内容. (市场)
update 修改默认的tomcat-users.xml文件,使用户难以配置打算与Manager应用程序的示例Web应用程序一起使用的条目. (市场)
fix 59211 :将hamcrest添加到Eclipse类路径. 补丁由张虎星提供. (紫罗兰色)
update 59280 :将用于构建Windows Installers的NSIS安装程序更新为版本2.51. (kkolinko)
Tomcat 7.0.68 (violetagg)发行于2016-02-16
General
add 允许使用构建属性test.name配置多个JUnit测试类模式,并在BUILDING.txt中记录该属性. (荣)
Catalina
fix Correct implementation of validateClientProvidedNewSessionId so client provided session IDs may be rejected if validation is enabled. (markt)
fix 56785 :如果目录路径存在于Tomcat用户无法读取的类路径上,请避免NullPointerException . (kkolinko)
fix 57906 :在Java 6上使用安全管理器运行时,禁止WebappClassLoader日志消息,这是由EL评估期间的java.beans.Introspector.findExplicitBeanInfo()调用引起的. (kkolinko)
fix 58692 :使StandardJarScanner更强大. 如果无法扫描类路径条目而不是触发Web应用程序失败,则记录警告. (市场)
fix 58701 :在卸载Servlet时,请在StandardWrapper重置instanceInitialized字段,以便可以正确初始化新实例. (市场)
fix 58702 :如果客户端中止连接,请确保生成访问日志条目. (市场)
fix 修复了Findbugs报告的各种问题. (紫罗兰色)
fix 58735 :将对X-XSS-Protection标头的支持添加到HttpHeaderSecurityFilter . Jacopo Cappellato提供的补丁. (市场)
fix 58751: Correctly handle the case where an AsyncListener dispatches to a Servlet on an asynchronous timeout and the Servlet uses sendError() to trigger an error page. Includes a test case based on code provided by Andy Wilkinson.(markt)
fix 58765 :更改默认的mapperContextRootRedirectEnabledtrue ,因为这是必需的,因为默认的正确会话管理sessionCookiePathUsesTrailingSlash . (市场)
fixStatusManagerServlet添加到只能由特权应用程序加载的Servlet列表中. (市场)
fix 简化代码并修复org.apache.catalina.core.DefaultInstanceManager类中的消息. (kkolinko)
fix 确保当DefaultServlet提供自述文件时,将使用正确的文件编码(如果指定). (紫罗兰色)
fix 修复连接器MBean的localPort属性的声明:它是只读的. (kkolinko)
fix 58766 :通过首先检查文件名,可以更快地在注释扫描期间跳过非类文件. 改善调试日志记录. (kkolinko)
fix 58768 :如果由于无效位置导致重定向失败,则记录警告. (市场)
fix 58836 :在处理转发的请求时正确合并查询字符串参数,其中目标包括查询字符串,该查询字符串包含无值的参数. (市场/ kkolinko)
fix 确保在HostConfig.deployWAR()中发生不太可能的错误情况下重置共享Digester. (kkolinko)
fix 修复DataSourceRealm中潜在的JDBC资源泄漏. (舒尔茨)
fix 58900 :正确取消部署符号链接的资源,并防止部署/取消部署的无限周期. (市场)
fix 与SecurityManager一起运行时,保护ResourceLinkFactory初始化. (kkolinko)
add Extend the feature available in the cluster session manager implementations that enables session attribute replication to be filtered based on attribute name to all session manager implementations. Note that configuration attribute name has changed from sessionAttributeFilter to sessionAttributeNameFilter. Apply the filter on load as well as unload to ensure that configuration changes made while the web application is stopped are applied to any persisted data. (markt)
add 扩展会话属性过滤选项,使其包括基于值的实现类的过滤和可选的WARN级别日志记录(如果已过滤属性). 这些选项可用于Tomcat附带的所有Manager实现. 使用SecurityManager ,默认情况下将启用过滤. (市场)
fix 58905 :确保Tomcat.silence()使正确的记录器Tomcat.silence()并遵守当前设置. (市场)
fix 58946 :确保通过RequestDispatcher处理时,请求参数映射保持不变. (市场)
Coyote
add AJP连接器的新配置选项ajpFlush禁用了AJP刷新数据包的发送. (荣)
Jasper
fix 修复org.apache.el.util.MessageFactory中丢失消息的处理. (紫罗兰色)
fix Ignore engineOptionsClass and scratchdir when running under a security manager. (markt)
Cluster
fix 为了避免检测信号线程和后台线程同时运行Channel.heartbeat ,如果SimpleTcpCluster heartbeatBackgroundEnabled设置为true ,请确保检测信号线程不会启动. (kfujino)
WebSocket
fix 57489 :即使关闭消息的发送失败,也请确保onClose()关闭WebSocket连接时调用onClose() . 包括Barry Coughlan的测试用例. (市场)
fix 修复了会话关闭上的计时问题,该问题可能导致即使消息已完成也为不完整的消息引发异常. (市场)
Web Applications
fix 在" JNDI资源"方法中更正一些错字. (市场)
fix 不要在Manager应用程序中不必要地创建会话. (市场)
fix 不要在主机管理器应用程序中不必要地创建会话. (市场)
fix 58723 :澄清管理器的文本界面的文档和错误消息,以明确在引用使用并行部署部署的上下文时,版本必须与路径一起使用. (市场)
fix 更正用于自动部署的预期行为的文档中的错误. 如果更新了WAR并且存在扩展目录,则在unpackWARstrue ,将通过扩展WAR来删除并重新创建unpackWARs . (市场)
fix 58935: Remove incorrect references in the documentation to using jar:file: URLs with the Manager application. (markt)
Tribes
fix 添加对静态集群中本地成员的启动通知的支持. (kfujino)
fix 忽略来自其他域的不必要的成员删除操作. (kfujino)
fix 添加对静态集群中本地成员的关闭通知的支持. (kfujino)
fix 确保异步会话复制线程是守护程序线程. (kfujino)
Other
update 将用于生成Windows Installers的NSIS Installer更新到2.50版. (市场/ kkolinko)
Tomcat 7.0.67 (violetagg)发行于2015-12-10
Catalina
add 56917 :根据RFC7231(HTTP / 1.1),允许HTTP / 1.1和更高版本的重定向使用相对URI. 这由Context上的新属性useRelativeRedirects控制,默认为true . (市场)
fix 58660 :更正了7.0.66中的回归,该回归是由于将上下文根的重定向从映射器移动到默认Servlet的更改引起的. (市场)
fix 修复了部署应用程序时HostConfig潜在的NPE. 覆盖率扫描报告的问题. (紫罗兰色)
fix 58655 :修正IllegalStateException时调用HttpServletResponse.sendRedirect()RemoteIpFilter . 这是由于尝试正确生成重定向的绝对URI引起的. 使用针对56917的修复程序,重定向现在可能是相对的,从而使RemoteIpFiltersendRedirect()实现更加简单. 这也解决了当从http重定向到https到从https重定向到http时重定向可能没有按预期表现的问题. (市场)
WebSocket
fix 58658 :更正7.0.66中的回归,该回归阻止Tomcat在Java 6上启动,除非删除了WebSocket JAR(需要Java 7). (市场)
Web Applications
add 在群集通道文档中添加有关heartbeatSleeptime属性和optionCheck属性的默认值的描述. (kfujino)
Tribes
fix 修复AbstractReplicatedMap.breakdown()潜在的NPE. (kfujino)
Tomcat 7.0.66 (violetagg)未发布
General
update 58596 :澄清RUNNING.txt中有关如何使用环境变量的描述. (市场)
Catalina
fix 34319StoreBase.processExpire JDBCStore加载StoreBase.processExpire中足够旧的那些键以使其过期. 基于Tom Anderson的补丁. (fschumacher)
fix 56777 :允许使用URL和文件配置基于文件的配置资源(用户数据库,证书吊销列表,密钥库和信任库). 张虎兴提供的反向端口. (markt / violetagg)
add 57741 :启用CGI servlet以使用标准错误页面机制. 请注意,如果CGI Servlet的debug init参数设置为10或更高,则将绕过标准错误页面机制,而将返回CGI Servlet生成的调试响应. (市场)
add 58486 :防止与XML解析相关的另外两个可能的内存泄漏. (市场)
code 58497 :使AbstractHttp11Processor易于扩展. (市场)
fix 58508 :如果角色名称包含MBean名称中不允许的字符,则在生成关联的MBean时转义角色名称. (市场)
fix 58522 :修复了迭代Web应用程序资源时的并发问题. (紫罗兰色)
fix 58534 :删除了由Anthony Whitford提供的oatomcat.websocket.pojo.PojoMethodMappingoatomcat.util.net.AprEndpoint Patch中的重复条件测试. (紫罗兰色)
fix 58535 :需要反向排序时,请使用Collections.reverseOrder . (紫罗兰色)
fix 58537 :在一些内部类的oacatalina.valves.ExtendedAccessLogValve由静态的. 安东尼·惠特福德提供的补丁. (紫罗兰色)
fix 58540 :从oacatalina.connector.Request删除了未使用的代码. 安东尼·惠特福德提供的补丁. (紫罗兰色)
fix 5854158544 :它是更有效的调用Integer.toString(int)的,而不是Integer.valueOf(int).toString()时只需要一个原始的字符串表示. 基于Anthony Whitford提供的补丁. (紫罗兰色)
fix 5854158547 :这是更有效的调用valueOf(...)而不是数构造函数. 基于Anthony Whitford提供的补丁. (紫罗兰色)
fix 58545 :在某些用例中,基于Anthony Whitford提供的补丁,使用Map.entrySet()代替Map.keySet()效率更高. (紫罗兰色)
add 添加一个新的RestCsrfPreventionFilter,它为REST API提供基本的CSRF保护. (紫罗兰色)
fix 58581 :如果自定义错误页面失败,请退回到标准错误页面,而不要抛出NPE. 基于张虎星的补丁. (市场)
fix 58582 :组合领域应该对其子领域执行后台处理. 基于Aidan提供的补丁. (kkolinko)
fix 处理不太可能的情况,即使用不同的会话设置部署不同版本的Web应用程序. (市场)
add 添加一个新的上下文选项(默认情况下启用),该选项可在允许其将其用作当前Web应用程序中新会话的ID之前,另外检查至少一个其他Web应用程序中是否使用了客户端提供的会话ID. (市场)
add 将对DIGEST身份验证的支持添加到JNDIRealm. 基于Alexis Hassler的补丁. (市场)
fix 58603 :使用RemoteIpFilter时,请确保HttpServletRequest.getRequestURL()返回正确的值. (市场)
fix 确保在嵌入式Tomcat中,垃圾收集期间日志配置不会丢失. (紫罗兰色)
add 移动为上下文根和目录提供重定向的功能,其中将尾随/从映射器添加到DefaultServlet . 这样,在进行重定向之前,任何配置的Valves和Filters都可以处理此类请求. 可以通过Context的mapperContextRootRedirectEnabledmapperDirectoryRedirectEnabled属性来配置此行为, mapperDirectoryRedirectEnabled属性可用于还原以前的行为. (市场)
fix 58635 :使用Java代理运行Tomcat时,允许在代理代码中设置断点. 基于张虎星的补丁. (市场)
fix 将路径参数处理添加到HttpServletRequest.getContextPath() . 这是57215的修复程序. (市场)
Jasper
fix 57136#c25 :实现一个设置,该设置控制在解析JSP页面上的属性中的EL表达式时使用什么引用规则(规范的JSP.1.6). 设置名称是quoteAttributeEL ,它被配置为JSP Servlet的初始化参数(可以通过Web应用程序配置)以及JspC的命令行选项. 默认值已更改为true ,它将恢复在Tomcat 7.0.64中实现的行为. 这意味着将属性引用应用于EL引用之上. 这提供了与旧版本的Tomcat和其他实现的更好的兼容性. (kkolinko)
Cluster
fix 在DeltaManager.requestCompleted中优化会话锁定范围. (kfujino)
fix 在静态集群成员身份中启用本地成员的显式配置. (kfujino)
fix 修复DeltaSession潜在的整数溢出. 通过覆盖率扫描报告. (fschumacher)
Tribes
code 明确区分关闭有效负载和成员验证的处理. 处理关闭有效负载时,不需要验证完成消息. (kfujino)
fix When starting the StaticMembershipInterceptor, StaticMembershipInterceptor checks the required Interceptors. If the required Interceptor does not exist, it issues warning logs. (kfujino)
fix 即使已注册到删除可疑列表的静态成员已消失,也请确保将静态成员注册到添加可疑列表中. (kfujino)
fix 更正关于检测到未在成员资格中注册的成员的警告日志. (kfujino)
fix 使用静态集群时,将已在成员资格服务中缓存的成员添加到地图成员列表中,以确保地图成员是静态成员. (kfujino)
WebSocket
fix 将实例管理器用于服务器端点实例. (雷姆)
add 55006 :现在,WebSocket客户端在建立与服务器的WebSocket连接时将使用java.net.java.net.ProxySelector配置(使用HTTP类型). 基于Niki Dokovski的补丁. (市场)
fix 58624 :更正了一个线程安全问题,该问题意味着如果在进行消息写入时关闭WebSocket连接,则阻塞消息写入可能会无限期地阻塞. (市场)
Web applications
add 在CGI Servlet的文档中明确指出,调试页不被认为是安全的,因此不应在生产中使用. (市场)
fix StaticMemberdomain属性不是必需的,而是可选的. (kfujino)
fix 58631 :更正文档Web应用程序的Windows Service How-To页面中的继续字符使用. (市场)
jdbc-pool
fix 58489 :更正QueryStatsComparator来保留Comparator的常规合同. (fschumacher)
fix 创建QueryStats对象时,请确保选中了maxQueries . 如果maxQueries的值小于或等于0,则永远不会创建QueryStats . (kfujino)
fix 修复ConnectionPoolPooledConnection潜在的整数溢出. 通过覆盖率扫描报告. (fschumacher)
Tomcat 7.0.65 (violetagg)发行于2015-10-19
Catalina
add 57681 :添加了一个Web应用程序类加载器实现,该实现支持并行加载Web应用程序类. 使用此功能需要Java 7或更高版本的JRE. 基于张虎星的补丁. (市场)
fix 58187 :在修复了正确的回归57765这意味着经由Manager应用程序部署的Web应用程序的部署被推迟,直到自动部署后台进程的下次执行. (市场)
fix 58284 :正确实现会话序列化,因此带有警告的非序列化属性将被跳过. 安德鲁·肖尔(Andrew Shore)提供的补丁. (市场)
fix 58313 :修复在切换到异步之前清除编码器时对编码器映射的并发访问. (市场)
fix 58320 :修复了在异步处理期间可能并发访问请求属性的问题. (市场)
code 在准备实现增强功能57681时 ,请使用URLClassLoader代替StandardClassLoader使用. 这将从JMX中删除服务器类加载器. (市场)
fix 58352 :如果Tomcat无法从catalina.sh正常停止,即使使用-force也始终触发线程转储. 亚历山大·卡尼尔(Alexandre Garnier)提供的补丁. (市场)
fix 58416 :正确检测到强制停止未能停止Tomcat的原因,因为Tomcat进程正在等待某个系统调用或不间断. (市场)
fix 58436: Fix some rare data races in JULI's ClassLoaderLogManager during shutdown. (markt)
Coyote
fix 更正RequestUtil.normalize()一些边缘情况. (市场)
fix 58275 :IBM JRE接受以TLS_SSL_开头的密码套件名称,但是在列出支持的密码套件时,仅报告SSL_版本. 这可能会破坏Tomcat的检查,即至少支持一个请求的密码套件. Tomcat现在包含一个变通办法,因此在IBM JRE上运行时,可以使用两种形式的密码套件名称. (市场)
fix 58357 :由于当前不了解APR /本机连接器与OpenSSL一起使用时的原因,当没有明显错误时,读取可能会返回错误代码. 通过将其视为EAGAIN解决HTTP升级连接. 现在,相同的修复程序已应用于标准HTTP连接器. (市场)
fix 57799 :删除了对NIO SSL的无用的sendfile检查. (雷姆)
Jasper
fix 57136 :更正了先前版本中针对此问题的回归. \${应该只是EL表达式中${的转义符. 在JSP页面中, \$应该是\$的转义$ . EL规范在解析由${}分隔的表达式时适用. 解析定界的${}是JSP规范的职责. (市场)
fix 58296 :修复了JSP卸载功能中的内存泄漏,这意味着对maxLoadedJsps使用非-1的值会在达到限制后触发内存泄漏. (市场)
fix 58340 :改进了JAR中打包的标记文件的错误报告. (市场)
fix 58444 :确保JSP可以与满足JSP规范中定义的要求的任何自定义基类一起使用,而无需该基类实现Tomcat特定的代码. (市场)
Cluster
fix 修复SimpleTcpCluster的默认clusterListeners. 每个会话管理器的最佳默认值都不相同. 在BackupManager从不使用ClusterSessionListener . (kfujino)
fix 如果使用BackupManager更正日志消息. (kfujino)
WebSocket
fix 58342 :修复了复制和粘贴错误,该错误意味着对于二进制和pong MessageHandler,删除MessageHandler可能会失败. DJ提供的补丁. (市场)
fix 58414 :使用每个消息放气时,正确处理发送零长度消息的问题. (市场)
Web applications
fix 有关集群方法的正确文档. (kfujino)
Extras
fix 确保JULI适配器不包含LogFactoryImpl类. Benjamin Gandon提供的补丁. (市场)
Tribes
add 在server.xml中添加对ChannelListenerMembershipListener配置的支持. (kfujino)
fix Correct log messages in case of using ReplicatedMap. (kfujino)
jdbc-pool
fix 通过JMX更改与池大小相关的属性时,请确保已正确配置池. (kfujino)
Tomcat 7.0.64 (violetagg)发行于2015-08-25
Catalina
add 55317 :通过允许将ClassFileTransformer添加到WebappClassLoader来简化编织. 尼克·威廉姆斯的补丁. (市场)
fix 58031 :使(第一个)失败的原因参数解析可用作请求属性,然后使用它通过FailedRequstFilter(如果已配置)提供更好的状态代码. (市场)
fix 58086 :使用Apache Ant进行Web应用程序部署时,请确保正确处理WAR URL. (紫罗兰色)
fix 58094 :修复了使用非标准不可缓存资源(例如某些测试中使用的空资源)时的外观错误日志. (雷姆)
fix 58096 :从/WEB-INF/classes/加载的/WEB-INF/classes/应使用该目录作为其代码库. (市场)
fix 通过正确关闭流来修复可能的资源泄漏. Coverity Scan报告的问题. (紫罗兰色)
fix 58116 :修复了针对57281的回归问题,该回归问题在安全管理器下运行时破坏了Comet的支持. 基于Johno Crawford提供的补丁. (市场)
fix 58179 :修复了线程安全性问题,这可能意味着并发线程在ServletContext上设置相同的属性都可能将null视为旧值. (市场)
fix 58192 :更正了先前针对58023的修订中的回归. 即使类文件是在没有清单的情况下第一次读取(和缓存)的,也要确保将类与其清单关联. (市场)
fix 修复AsyncContext实现中的线程安全问题,该问题意味着一系列start();dispatch(); 使用非容器线程的调用可能会导致先前的调度干扰后续的启动. (市场)
Coyote
fix 57943 :防止将同一套接字添加到缓存两次. 补丁基于Ian Luo / Sun Qi的分析. (市场)
fixtext/javascript,application/javascript到可压缩MIME类型的默认列表. (紫罗兰色)
fix 58103 :在对请求进行流水线处理且先前的请求是异步请求时,请确保从等待的请求中删除了套接字,以便异步超时线程在下一个请求期间不会对其进行处理. (市场)
fix 修复了一个并发问题,该问题意味着套接字超时的更改(例如,切换到异步I / O时)并不总是立即生效. (市场)
fix 在AJP和HTTP NIO连接器中,在将套接字添加回轮询器进行读取之前,请确保已正确设置套接字超时. (市场)
fix 58157 :确保异步超时的处理不会导致不必要的分派到容器线程,这可能导致当前套接字被多次添加到Poller中,并且多次尝试为同一套接字处理同一事件. (市场)
fixRequestUtil.normalize()更正一些边缘情况. (市场)
Jasper
fix 58110 :与scriptlet部分一样,JSP页面的声明部分具有到生成的.java文件的一行一一对应的映射. 如果在声明部分中发生编译错误,请使用此信息提供更准确的错误消息. (市场)
fix 58119 :编译标记时,必须将它们放置在org / apache / jsp / tag / web目录中. 修正52725修正中的回归.(violetagg)
fix 58178 :标记文件中的表达式应使用标记文件的PageContext而不是包含页面的表达式. (市场)
WebSocket
fix 58166 :允许应用程序发送范围在3000-4999(含)之间的关闭代码. (市场)
fix 58232 :以编程方式将端点添加到javax.websocket.server.ServerContainer时,避免使用可能的NPE. 基于bastian提供的补丁.(violetagg)
Web applications
fix 更正QueryTimeoutInterceptor的不正确文档. 设置值不是毫秒,而是秒. (kfujino)
fix 58112: Update the documentation for using the Catalina tasks in an Apache Ant build file. (markt)
fix 为某些APR套接字读取函数改进Javadoc,这些函数对返回值的行为不一致. (市场)
add 58255 :记录信号量阀. 中村京平提供的补丁. (市场)
jdbc-pool
fix 修复QueryTimeoutInterceptor潜在的NPE. (kfujino)
fix 添加支持以通过JMX停止池清洁器. (kfujino)
fix fairness属性和ignoreExceptionOnPreLoad属性不允许通过JMX进行更改. (kfujino)
fix 如果通过jmx更改了timeBetweenEvictionRunsMillis属性,则应重新启动池清理程序,因为此属性会影响池清理程序的执行间隔. (kfujino)
fix 消除对繁忙队列和空闲队列对maxActive的依赖,以便通过JMX扩展池大小. (kfujino)
Other
fix 更新样本Eclipse IDE配置,以从编译器sourcepath中排除test / webapp *和类似路径. (kkolinko)
Tomcat 7.0.63 (violetagg)发行于2015-07-06
Catalina
fix 57938 :当表单作为multipart/form-data提交,Connector的maxPostSize属性已设置为负值并且Context已配置为trueallowCasualMultipartParsing正确处理了空表单字段. maxPostSize零值含义也已更改为零限制,而不是无限制以使其与maxSavePostSize对齐并更加直观. (市场)
add 54618 :添加一个新的HttpHeaderSecurityFilter ,以将Strict-Transport-SecurityX-Frame-OptionsX-Content-Type-Options HTTP标头添加到响应中. (市场)
fix 当在Java 8 update 40和更高版本上运行时,添加针对SPNEGO身份验证问题的解决方法. 该解决方法对于较早的Java版本应该是安全的,但是可以根据需要使用SPNEGO身份验证器的applyJava8u40Fix属性禁用该解决方法. (市场)
add 57154 :添加对不具有docBase的Web应用程序(上下文元素)的支持. 这主要用于嵌入时使用,但也修复了运行单元测试时的罕见问题. 张虎星提供的补丁. (市场)
fix 57959 :修复了旋转日志时org.apache.juli.FileHandler死锁. (紫罗兰色)
fix 57977 :在执行PersistentValve期间正确地绑定和取消绑定Web应用程序类加载器. (市场)
fix 58023 :修复了由于在Web应用程序类加载器中不必要地缓存JAR清单而可能导致过多的内存使用. (市场)
fix 57700 :确保在所有情况下都将发送容器事件ADD_CHILD_EVENT . (紫罗兰色)
fix 在SSLValve中添加标头名称的配置字段. (雷姆)
Coyote
fix 57265 :进一步解决了将sendfile与TLS结合使用时为NIO解决潜在线程问题的问题. (市场)
fix 57931 :请确保与NIO HTTP连接器的TLS连接在握手过程中遇到问题(例如,丢失或无效的客户端证书)被彻底关闭,并且确保客户端收到正确的错误代码,而不是简单地关闭连接. (市场)
add 57943 :添加了一种变通方法,以在轮询器超时处理期间捕获ConcurrentModificationException ,这导致轮询器线程停止. 这些异常的根本原因目前未知. (市场)
fix 使用APR /本机连接器修复可能很长(1000秒)的超时. (市场)
add 在APR /本机连接器的SSLProtocol配置中支持"-"分隔符,用于协议排除. (荣)
Cluster
fixDeltaSession.applyDiff()使用流之后,请确保该流已关闭. (kfujino)
WebSocket
add 57676 :当路径冲突时,列出冲突的WebSocket端点类. 根据yangkun提出的补丁. (舒尔茨)
add 将对permessage-deflate扩展的支持扩展到客户端实现.
fix 57969 :通过每个会话javax.websocket.server.ServerEndpointConfig向POJO提供路径参数,因为它们在不同请求之间有所不同. (紫罗兰色)
fix 57974 :Session.getOpenSessions应该返回与给定端点实例关联的所有会话,而不是端点类的所有会话. (雷姆)
Web applications
fix 57282 :更新请求处理顺序图. Stephen Chen提供的更新图表. (市场)
fix 57971 :更正有关群集配置设置recoverySleepTime的文档. (市场)
add 57758 :在jdbc-pool doc中添加testOnConnect属性的文档. (kfujino)
add 在jdbc-pool docs中将validatorClassName属性的描述添加到testXXXX属性. (kfujino)
Tribes
fix 确保仅在从现有映射成员正确传输了映射状态后,才将状态传输标志更新为true. (kfujino)
fix 不要将无法复制的节点设置为备份节点. 确保已将数据成功复制的节点设置为备份节点. (kfujino)
fix 如果复制失败,而不是将所有成员都视为失败成员,请从备份成员中排除失败成员. (kfujino)
jdbc-pool
fix 重构removeOldest中的removeOldest方法, SlowQueryReport表现出预期的效果. (kfujino)
fix 57783 :修复了SlowQueryReport NullPointerException . 为避免此NPE,请重构SlowQueryReport#removeOldest并正确处理放弃的连接. (kfujino)
Other
update 更新包将Apache Commons BCEL重命名为r1682271,以清理一些代码. (市场)
update 更新包将重命名为Apache Commons File的文件上传到r1682322,以获取1.3.1版的修复程序. (市场)
update 更新包将Apache Commons Codec重命名为r1682326. 无功能更改. 仅Javadoc. (市场)
Tomcat 7.0.62 (violetagg)发行于2015-05-14
Catalina
add 允许使用%{remote}p格式将远程端口记录在访问日志中. (荣)
fix 57765 :在自动部署过程中检查上次修改时间时,请考虑以下事实: File.lastModified()的分辨率为一秒,以确保如果在最后一秒内修改了文件,则该文件的最新版本文件始终被使用. 请注意,此更改的副作用是,将来具有修改时间的文件将被视为未修改. (市场)
fix 将重新部署资源修改检查与重新加载修改检查对齐,这样,在两种情况下,现在都使用修改时间的更改而不是修改时间的增加来确定资源是否已更改. (市场)
fix 从调试消息中清除oatomcat.util.digester.Digester ,这些消息不会提供任何有价值的信息. Polina Genova提供的补丁. (紫罗兰色)
fix 57772 :重新加载Web应用程序并且需要删除代表扩展WAR的目录时,请在停止Web应用程序之后而不是在停止之前删除该目录,以避免潜在的ClassNotFoundExceptions. (市场)
fix 57801 :如果从PID文件读取的PID已被某个进程拥有,则改善启动脚本中的错误消息. (荣)
fix 57824 :更正了针对57252的修复程序中的回归,该回归使针对非异步请求的请求侦听器中断 ,该非异步请求触发了由ErrorReportingValve处理的错误. (markt / violetagg)
fix 57841 :改进了Web应用程序启动期间的错误日志记录. (市场)
fix 57856 :确保由RemoteIpFilter实现的任何方案/端口更改也会影响HttpServletResponse.sendRedirect() . (市场)
fix 57896 :支持防御性复制" cookie"头,以便在cookie值中转义双引号不会破坏" cookie"头的原始值. 这是一项可选功能,由org.apache.tomcat.util.http.ServerCookie.PRESERVE_COOKIE_HEADERorg.apache.catalina.STRICT_SERVLET_COMPLIANCE系统属性启用. (kkolinko)
Coyote
fix 57779 :在非容器线程上发生I / O错误时,如果使用Servlet 3+异步处理,则仅分派到容器线程来处理错误. 如果应用程序在不使用Servlet 3+异步API的非容器线程上执行I / O,则可以避免潜在的死锁. (市场)
fix 57833 :将基于JKS的密钥库用于NIO时,请确保密钥别名始终转换为小写,因为这是JKS密钥库所期望的. 基于Santosh Giri Govind M.(markt)的补丁
fix 57837 :将text/css添加到可压缩MIME类型的默认列表. (市场)
Jasper
fix 57845 :请确保,如果直接并通过web.xml中的<jsp-file>声明访问了相同的JSP,则无论如何访问JSP,JSP的更新都是可见的(服从重新编译的常规规则) . (市场)
fix 57855 :明确处理使用null或错误数量的参数调用MethodExpression的情况. 而不是抛出ArrayIndexOutOfBoundsExceptionNullPointerException失败,而不是IllegalArgumentException带有有用错误消息的IllegalArgumentException . (市场)
Cluster
add 添加新属性,该属性发送跨Tomcat群集节点的会话的所有操作. (kfujino)
fixBackupManager mbean定义中删除未使用的pathname属性. (kfujino)
fix 57338 :提高ClusterSingleSignOn阀在运行时处理从群集中添加和删除节点的能力. (市场)
fix 避免在非主节点中不必要地调用DeltaRequest.addSessionListener() . (kfujino)
WebSocket
fix 57762 :确保WebSocket客户端正确检测到断开与服务器的连接的时间. (市场)
fix 57776 :还原的8.0.21修复为permessage-deflate执行和不正确的操作码,因为修复是不必要的(错误仅影响主干)和固定爆发而不是固定permessage-deflate如果未压缩的消息被转换成多一条压缩的消息. (市场)
fix 修复WsRemoteEndpointImplServer类中由复制粘贴引起的日志名称拼写错误. (市场/ kkolinko)
fix 57788 :在查找类层次结构而没有发现任何内容时,请避免使用NPE. (雷姆)
add 在关闭WebSocket会话期间处理错误时,使WebSocket客户端更强大. (市场)
Web applications
add 57759 :将信息添加到keyAlias文档中,以明确表明从密钥库中读取顺序密钥取决于实现. (市场)
fix 57864 :更新文档Web应用程序,以使十六进制值对于集群发送选项无效. 基于中村京平的补丁. (市场)
Tribes
fix 修复同时处理具有所有会话数据的备份消息和具有差异数据的备份消息时的并发问题. 此修复程序确保将MapOwner设置为ReplicatedMapEntry . (kfujino)
fix 明确处理"复制"消息和"复制"节点. (kfujino)
fix 复制节点不需要发送条目数据. 仅发送条目的节点信息就足够了. (kfujino)
fix ReplicatedMap应该发送复制消息. (kfujino)
fix 修复成员消失后ReplicatedMap行为. 如果映射条目是主要的,则重建备份成员. 如果映射条目的主节点已消失,则备份节点将升级为主节点. (kfujino)
fix 将映射成员添加到ReplicatedMap ,请确保将其添加到所有其他成员的备份节点列表中. (kfujino)
Tomcat 7.0.61 (violetagg)发行于2015-04-07
Catalina
fix 55988 :更正用于Java 8 JSSE服务器首选TLS密码套件排序的检查. 确保将SSL参数提供给SSLServerSocketSSLEngine . Ognjen Blagojevic提供的补丁. (紫罗兰色)
WebSocket
fix 57761 :当WebSocket客户端连接到服务器根目录时,请确保打开的HTTP请求的格式正确. (雷姆)
Tomcat 7.0.60 (violetagg)未发布
Catalina
fix 通过删除NonceInfo中的易失性标记来澄清变量的线程用法. Coverity Scan报告的问题. (fschumacher)
add 49785 :为JNDIRealm启用StartTLS连接. (fschumacher)
fix 55988 :添加了对Java 8 JSSE服务器首选的TLS密码套件排序的支持. 此功能需要Java 8,并由HTTP连接器上的useServerCipherSuitesOrder属性控制. 基于Ognjen Blagojevic提供的补丁. (舒尔茨)
add 56438 :添加了记录日志,该日志报告了在扫描JAR时是否发现TLD的情况,但未发现任何记录,因此将来可以将Tomcat配置为跳过此JAR. 基于VIN的补丁. (市场)
fix 56848 :在Java 7或更高版本的JRE上运行时,使用Locale.forLanguageTag处理Locale标头. (市场)
add 57021 :当无法加载Tomcat本机DLL时,改进了AprLifecycleListener和jni.Library中的日志记录. 基于Pravallika Peddi的补丁. (市场/ kkolinko)
fix 57180 :进一步的修复程序以支持将任意HTTP方法与CORS过滤器一起使用. (市场)
add 警告有关appBase的设置有问题. (fschumacher)
fix 57534 :CORS筛选器应仅查看Content-Type请求标头的媒体类型组件. (市场)
fix 确保可选的SecurityListener中的用户名检查不区分大小写(如所记录),并且不区分大小写的比较是使用系统默认的Locale执行的. (市场)
fix 当docBase引用内部战争并且unpackWARs设置为false时,避免注册重复添加了" .war"扩展名的无效重新部署资源. (kfujino)
fix 如果存在WAR,则在添加目录时不必触发重新加载. (kfujino)
fix 56608 :在部署外部WAR时,根据预期扩展目录是否存在而不是是否存在,在扩展目录中添加监视的资源.
fix 当由于修改的监视资源而触发重新加载时,请确保多个更改的监视资源仅触发一个重新加载,而不是一系列重新加载.
fix 57601 :当请求的资源包括默认servlet所服务的资源时,请确保HEAD请求返回正确的内容长度(即与GET相同). (jboynes / markt)
fix 57602 :当请求的资源包括扩展HttpServlet的Servlet服务的资源时,请确保HEAD请求返回正确的内容长度(即与GET相同). (市场)
fix 57621 :异步请求完成后,请确保吞下所有剩余的请求正文数据. (市场)
fix 57637 :使用PersistentValve时不要创建不必要的会话. (jboynes / fschumacher)
fix 57645 :更正了针对57190的修订中的回归,该回归错误地要求传递给ServletContext.getContext(String)的路径与现有上下文的路径完全匹配. (市场)
fix 确保在HostConfig正确处理了Context unpackWAR属性. (kfujino)
fix 部署包含context.xml文件且unpackWARsfalse的WAR文件时,请忽略与WAR关联的扩展目录中可能存在的任何context.xml文件. (市场)
fix 57675 :使用扩展访问日志时正确引用字符串. (市场)
fix 57704 :未初始化org.apache.tomcat.InstanceManager时,在Web应用程序启动/停止期间修复了潜在的NPE. (紫罗兰色)
fix LAST_ACCESS_AT_START系统属性的支持添加到SingleSignOn . (kfujino)
fix 57723: Ensure that the Context name and path remain consistent when adding a web application to an embedded Tomcat instance via Tomcat.addWebapp(Host,String,String,String). (markt)
fix 57724 :在CORS过滤器中处理用户代理包括非CORS请求的来源标头的情况. (市场)
code 重构Authenticator实现以减少代码重复. (市场)
fix 搜索SCI oacatalina.Context.getParentClassLoader将使用oacatalina.Context.getParentClassLoader代替java.lang.ClassLoader.getParent . 因此,在其他环境(例如OSGi)中运行嵌入式Tomcat时,可​​以提供正确的父类加载器. (紫罗兰色)
Coyote
fix 57509 :在编写HTTP / 1.1响应标头时改进了长度检查:为4个额外的字节保留空间. (kkolinko)
add 57540 :在新的请求属性( org.apache.tomcat.util.net.secure_protocol_version )中提供TLS / SSL协议. (请注意,AJP连接器将要求使用mod_jk 1.2.41或更高版本,或者需要使用未知的mod_proxy_ajp版本,或者将代理配置为将AJP_SSL_PROTOCOL请求属性发送给Tomcat.有关详细信息,请参见错误注释.) Ralf Hauser提供的补丁. (舒尔茨)
fix 57544 :在为下一个请求准备一个活动的HTTP连接时,修复了潜在的无限循环. (市场)
fix 57546 :确保断开的网络连接不会在内存中留下与该连接关联的UpgradeProcessor的引用. (市场)
fix 57570 :默认情况下, 将对具有分块输入的尾部标头的处理设置为可选,并禁用. (市场)
fixmaxSwallowSize限制应用于连接时,在关闭连接之前先读取多个字节,以使客户端有机会读取响应. (市场)
fix 当在慢速和/或高负载的系统上运行时,防止对同一套接字多次处理异步超时. (市场)
fix 57581 :更改土狼请求对象中的统计字节计数器很长,以允许2Gb以上的值. (kkolinko)
fix 修复了APR轮询器中的并发问题,该问题意味着在低负载下有可能在10秒钟内不将队列中添加的套接字添加到轮询器中. (市场)
fix 57638 :正在读取比套接字读取缓冲区大的AJP请求正文块时,避免IllegalArgumentException. 通常,这需要大于默认的AJP packetSize. (市场)
fix 57674 :正在写入大于套接字写缓冲区的AJP响应正文块时,避免BufferOverflowException. 通常,这需要大于默认的AJP packetSize. (市场)
code 将连接器身份验证(仅由AJP使用)重构为单独的方法. (市场)
add 57708 :为AJP连接器实现一项新功能-Tomcat授权. 如果将新的tomcatAuthorization属性设置为true (默认情况下处于禁用状态),则Tomcat将从AJP协议中获取经过身份验证的用户名,并使用适当的Realm进行请求以向该用户授权(即添加角色). (市场)
fix 修复了一个问题,该问题意味着在异步请求完成期间,Tomcat在异步请求完成之前读取的所有流水线数据都会丢失. 这意味着流水线请求将丢失和/或损坏. (市场)
update 将Tomcat本机库的最低推荐版本(如果使用)更新为1.1.33. (市场)
Jasper
fix 57136 :在处理表达式语言中的文字表达式时,确保仅将\${\#{视为${#{转义符),而不是将\$\#视为$#转义符. (市场)
fix 57148 :当将对象强制转换为给定类型并且为该类型注册了PropertyEditor ,如果PropertyEditor引发异常,则将空字符串正确强制为null . (kkolinko /市场)
Cluster
fix 删除总是返回true的不必要方法. 域过滤在DomainFilterInterceptorDomainFilterInterceptor . (kfujino)
WebSocket
fix 纠正了permessage-deflate实现中的一个错误,该错误意味着如果将未压缩的消息转换为多个压缩消息,则会使用错误的操作码. (市场)
Web applications
fix 通过正确关闭流来修复可能的资源泄漏. Coverity Scan报告的问题. (fschumacher)
fix 56058 :添加到AccessLogValve文档的链接,用于配置反向代理和/或Tomcat,以确保当Tomcat在反向代理后面运行时,在访问日志中使用了所需的信息. (市场)
fix 57503 :请明确指出,log4j的JULI集成仅适用于log4j1.2.x. (市场)
fix 从文档Web应用程序的上下文配置页面中删除不正确的注释,该注释指出appBase外部的WAR文件从未解压缩. (市场)
update 57644 :更新示例以使用Apache Standard Taglib 1.2.5. (jboynes)
fix 57683 :确保如果客户中止与股票报价器示例的连接(客户可以断开连接的唯一方法),该示例将继续适用于现有客户和新客户. (市场)
fix 请更正deployOnStartup的文档以明确说明,如果在Tomcat停止且WAR文件为true的情况下更新了WAR文件,则Tomcat在启动时将不会检测到更改的WAR文件,并且不会用更新的WAR的内容替换解压缩的WAR文件. (市场)
Extras
fix 57377 :消除了在通过JMXRemoteLifecycleListener指定绑定地址时阻止使用SSL的限制. 同时启用为注册表以及服务器配置SSL. (市场)
Tribes
fix 确保拒绝来自DomainFilterInterceptor其他域的DomainFilterInterceptor . (kfujino)
Other
add 增强用于JNDI资源的bean工厂. 新的属性forceString允许支持非标准的字符串参数属性设置器. (荣)
fix 修复Windows上的TestAbstractAjpProcessor单元测试失败. (kkolinko)
fix 使用自己的锁对象保护MbeansDescriptorsDigesterSource中的摘要器. (fschumacher)
fix 57558 :在验证任务所需的Ant任务定义中添加缺少的JAR. (市场/ kkolinko)
add 列出在使用Ant运行测试时失败或跳过测试的测试服名称. (kkolinko)
fix 57703 :根据Servlet 2.5 MR 6,使用Servlet 2.5描述符更新Web应用程序的http-method定义.(标记)
update 更新到Tomcat Native Library版本1.1.33,以获取基于OpenSSL 1.0.1m和APR 1.5.1的Windows二进制文件. (市场)
Tomcat 7.0.59 (violetagg)released 2015-02-04
Jasper
fix 57504 :在创建ServletContext时初始化TLD位置缓存. (jboynes)
Tribes
fix 修复当ping线程调用memberAlive()时,接收者线程调用mapMemberAdded()时可能出现的死锁. (kfujino)
Tomcat 7.0.58 (violetagg)not released
Catalina
fix 57173: Revert the fix for 56953 that broke annotation scanning in some cases. (markt)
fix 57178 :CORS过滤器现在将null视为与*匹配的有效来源. Gregor Zurowski提供的补丁. (市场)
fix 57180 :请勿将CORS筛选器限制为仅接受使用RFC 7231中定义的HTTP方法的请求.(标记)
fix 57190 :使用并行部署时修复ServletContext.getContext(String) ,以便返回正确的ServletContext. (市场)
fix 57208 :当在目录上下文中找不到具有指定用户名的用户的结果时,请在JNDI Realm中阻止NPE. 基于Jason McIntosh提供的补丁. (紫罗兰色)
add 57209 :将新属性userSearchAsUser添加到JNDI领域. (市场)
fix 57215 :确保未按照Servlet规范的要求对调用HttpServletRequest.getContextPath()的结果进行解码或规范化. (市场)
fix 57216 :改进对无效上下文路径的处理. 上下文路径应为空字符串或以'/'开头且不以'/'结尾. 无效的上下文路径将被自动更正并记录警告. 现在将null"/"值正确更改为"" . (市场/ kkolinko)
fix 在启动时加载servlet失败时记录的正确消息. 它输入了错误的名称. (kkolinko)
fix 57239 :更正多个消息拼写错误. 包括vladk的补丁. (kkolinko)
add 通过添加SessionIdGenerator接口,抽象基类和标准实现,使会话ID生成器可扩展. (荣)
add Servlet 3.1规范的后端口说明,在异步处理期间,如果在complete()dispatch()之后调用getRequest()getResponse()则应抛出IllegalStateException . (市场)
fix 修复了异步处理中的并发问题. 确保容器容器完成之前,非容器线程无法更改异步状态. (市场)
fix 57252 :在内置错误报告之前,为应用程序配置的错误页面提供处理异步错误的机会. (市场)
fix 57281 :允许通过Servlet 3.0 API以编程方式配置非公共的Filter和Servlet类,然后在SecurityManager下运行时无错误地使用它们. (市场)
fix 57308 :删除对System.getProperty()不必要的调用,如果有更合适的API调用可用. (市场)
add 为RemoteAddrValve和RemoteHostValve添加单元测试. (荣)
add 允许将RemoteAddrValve和RemoteHostValve配置为采用行为,具体取决于连接器端口. 通过选择将连接器端口添加到字符串(与模式allowdeny相比)来allow . 使用addConnectorPort上的addConnectorPort属性进行配置. (荣)
add (可选)在RemoteAddrValve和RemoteHostValve中触发身份验证而不是拒绝. 这仅与应用程序上下文上的preemptiveAuthentication结合使用. 使用invalidAuthenticationWhenDeny上的invalidAuthenticationWhenDeny属性进行配置. (荣)
fix 防止文件描述符泄漏,并确保在检索上次修改时间后关闭文件. (紫罗兰色)
fix 57326 :启用AsyncListener实现以在AsyncListener.onStartAsync期间重新注册自己. (市场)
fix 57331 :允许ExpiresFilter在配置中使用" year"作为" years"的同义词. (kkolinko)
update 在单元测试中改进SnoopServlet. (荣)
add 将RequestDescriptor类添加到单元测试中. 调整TestRewriteValve以使用RequestDescriptor. (荣)
update 添加更多的AJP单元测试. (荣)
fix 57363 :如果LogManager无法读取配置文件而不是静默吞下异常,请登录到stderr. (市场)
fix 57420 :将UEncoder设为DirContextURLConnection中的局部变量,使其具有线程安全性. 基于kkolinko和violetagg的想法. (fschumacher)
fix 57425 :请勿将具有空值或名称的属性添加到复制的上下文中. (fschumacher)
add 57431 :在使用嵌入式tomcat时,启用将自定义类用于上下文创建. (fschumacher)
fix 57446 :确保ServletContextListener S作限制访问ServletContext方法被称为具有相同ServletContext实例都contextInitialized()contextDestroyed() (市场)
fix 57461: When an instance of org.apache.catalina.startup.VersionLoggerListener logs the result of System.getProperty("java.home") don't report it in a manner that makes it look like the JAVA_HOME environment variable. (markt)
fix 在关闭给定资源的流时,请确保如果发生异常,将对其进行正确处理. 该问题由Coverity Scan报告. (紫罗兰色)
fix Change Response to use UEncoder instances with shared safeChars. (fschumacher)
add 允许VersionLoggerListener记录所有系统属性. 默认情况下,此功能是关闭的. (kkolinko)
Coyote
fix 57234 :对SSL协议进行过滤以删除不安全的协议,不区分大小写. (市场)
fix 57265 :修复了sendFile和NIO连接器的一些潜在的并发问题. (市场)
fix 57324 :如果客户端使用Expect: 100-continue并且Tomcat使用非2xx响应代码响应,则Tomcat也会关闭连接. 如果Tomcat在提交响应时知道连接即将关闭,则Tomcat现在还将发送Connection: close响应标头. (市场)
fix 57340 :使用Comet时,请确保在套接字关闭时,仅将Socket和SocketWrapper返回到它们各自的缓存中(有可能多个线程同时调用close). (市场)
fix 57446 :确保ServletContextListener S作限制访问ServletContext方法被称为具有相同ServletContext实例都contextInitialized()contextDestroyed() (市场)
Jasper
fix CVE-2014-7810:在安全管理器下运行时评估EL表达式时,请勿使用特权代码块,因为这允许绕过代码限制. (市场)
fix 修复了在安全管理器下运行时BeanELResolver的问题. 某些类可能无法访问,但可能具有可访问的接口. (市场)
fix 57316 :当目录名包含似乎是URL编码的字符序列时,修复JspC. (市场)
Cluster
fix 为了在Cluster元素中启用定义, ClusterSingleSignOn实现ClusterValve . (kfujino)
fix 修复ClusterSingleSignOn mbean描述符. (kfujino)
fix 57473 :将合理性检查添加到FarmWebDeployer的WarWatcher中,以检测监视目录上的可疑不正确权限. (舒尔茨)
WebSocket
fix 纠正批处理消息刷新的多个问题,这些问题可能导致消息重复和/或损坏. (市场)
fix 正确实现标题不区分大小写. (标记/毫米)
fix 允许可选使用用户扩展. (雷姆)
fix 允许使用部分二进制消息处理程序. (雷姆)
fix 限制ping / pong邮件的大小. (雷姆)
fix 允许配置周期性事件的时间间隔. (雷姆)
fix 更准确的注释处理. (雷姆)
fix 在客户端中为源标头允许可选的默认值. (雷姆)
fix 57490 :在SecurityManager下运行时,可以在Web应用程序中使用Tomcat的WebSocket客户端. 基于Mikael Sterner的补丁. (市场)
add 向WebSocket会话中添加一些调试日志记录,以跟踪会话创建和会话关闭. (市场)
Web applications
fix 更新CGI Servlet的文档. 建议将Servlet声明复制到Web应用程序中,而不要全局启用它. 正确的文档cgiPathPrefix. (kkolinko)
update 改进构建说明的HTML版本,并与BUILDING.txt保持一致. 文档创建第二个Eclipse项目,以使用Java 7编译WebSocket类(在7.0.56中添加了ide-eclipse-websocket目标). (kkolinko)
update 改进Tomcat Manager文档. 重新排列,在HTML GUI,文档/ expire命令和"服务器状态"页面上添加部分. (kkolinko)
fix 修复阀门配置参考页上各节链接的歧义. (kkolinko)
update 57238 :在"安全性"和" SSL文档"页面上更新有关SSL / TLS的信息. 基于Glen Peterson的补丁. (kkolinko)
add 57261 :将vminfo和threaddump命令添加到Manager应用程序. 实现VminfoTaskThreaddumpTask Ant任务. (kkolinko)
fix 57323 :在Manager应用程序的会话计数列表中正确显示过时的会话. (kkolinko)
add 添加文档ClusterSingleSignOn . (kfujino)
update 澄清连接器的useBodyEncodingForURI属性的文档. (kkolinko)
Other
update 在构建时下载所需的库时,请使用临时名称作为临时文件并自动创建目标目录( base.path ). (kkolinko)
update 将可选的Checkstyle库更新为6.1.1. (kkolinko)
updatebuild.xml简化setproxy任务. 从Ant 1.8.2开始就不需要Taskdef了. (kkolinko)
fix 改善build.xml Java 7的支持. 检查指定的$ {java.7.home}是否有效. 默认情况下,使用运行Ant($ {java.home})的Java而不是在$ PATH上找到的Java来运行JUnit测试. (kkolinko)
add 57344 :提供Tomcat下载的sha1校验和文件. 纠正apache-tomcat-*-embed.tar.gz存档的文件名模式,以排除* .asc文件. (kkolinko)
Tomcat 7.0.57 (violetagg)released 2014-11-11
Catalina
add 47919 :扩展Tomcat开始有选择地记录命令行参数(默认情况下启用)和环境变量(默认情况下禁用)的值时记录的信息. 请注意,添加到CATALINA_OPTS和JAVA_OPTS环境变量的值将被记录下来,因为它们是用来建立命令行的. (市场)
add 56401 :Tomcat启动时记录版本信息. (市场/ kkolinko)
fix 57022 :确保SPNEGO身份验证继续与委托的凭证一起用于最新的Oracle JRE并与JNDI Realm一起使用. (市场)
fix 更正JNDI领域中的两个NPE,这些NPE在未指定roleBase且未启用roleSearchAsUser时可能触发. (市场)
fix 删除不必要的context.xml注册作为重新部署资源. 首先,已经将具有外部docBase的context.xml注册为重新部署资源. (kfujino)
fix 改进先前对56401的修复. 避免在构造函数中记录版本信息,因为版本信息随后会在不希望的时间记录下来,例如在使用StoreConfig . (市场)
fix 57105 :解析web.xml时,请勿将jsp-property-group元素的缓冲区元素限制为整数值,因为允许的值为<number>kbnone . (市场)
update 将最低要求的Tomcat本机库版本(如果使用)更新为1.1.32. (市场)
update 57144 :改进ClientAbortException以提供非空消息. (kkolinko)
fix 在调用fireOnComplete之前,AsyncContext应该保持可用. (雷姆)
fix AsyncContext createListener应该使用ServletException包装任何实例化异常. (雷姆)
Coyote
add 53952 :添加了对APR连接器的TLSv1.1和TLSv1.2的支持. 基于MarcelŠebek的补丁. 此功能需要Tomcat本机库1.1.32或更高版本. (舒尔茨/ jfclere)
add 对于基于JSSE的HTTPS连接器(BIO和NIO),默认情况下禁用SSLv3. 更改还确保了对这些连接器禁用SSLv2,尽管JRE默认应已禁用SSLv2. (市场)
add 默认情况下,对于APR /本机HTTPS连接器禁用SSLv3. (市场)
fix 不要在IdentityInputFilter的流末尾增加剩余计数器. (kkolinko)
fix 异步状态MUST_COMPLETE应该仍然启动. (雷姆)
Jasper
fix 57099 :确保在JSP导入页面指令中不允许使用分号. (市场)
Cluster
fix 避免Coverity Scan报告可能的整数溢出. (fschumacher)
WebSocket
fix 57054 :当无法单次读取对升级请求的HTTP响应时,可以正确处理WebSocket客户端中的情况; 要么是因为缓冲区太小,要么是服务器以多个数据包发送了响应. (市场)
fix 修复客户端子协议处理. (雷姆)
fix 为远程端点中的参数添加空检查. (雷姆/ kkolinko)
fix 57091 :在无法通过WebSocket客户端实现的applet环境中创建新线程时,应解决Oracle JRE的行为. 补丁由Niklas Hallqvist提供. (市场)
fix 57118: Ensure that an EncodeException is thrown by RemoteEndpoint.Basic.sendObject(Object) rather than an IOException when no suitable Encoder is configured for the given Object. (markt)
Web applications
fix 有关ServerCookie.ALLOW_NAME_ONLY系统属性的正确文档. (kkolinko)
fix 57049: Clarified that jvmRoute can be set in <Engine>'s jvmRoute or in a system property. (schultz)
fix 文档(s / 1.0 / 1.1 /)中提到的Java WebSocket的正确版本. (市场/ kkolinko)
update 在示例Web应用程序中,将Async和Comet示例从JSP移到Servlet示例页面. (kkolinko)
update 禁止时间戳记注释,并在Javadoc中启用charset标头. (kkolinko)
jdbc-pool
fix 57079 :在将模块作为Tomcat的一部分进行构建和运输时,请为jdbc-pool模块使用Tomcat版本号. (市场/ kkolinko)
fix Fix broken overview page in javadoc generated via "javadoc" task in jdbc-pool build.xml file. (kkolinko)
Other
update 56079 :现在对Apa​​che Tomcat Windows服务和Apache Tomcat Windows服务监视器应用程序进行了数字签名. (市场)
fix 修复Tomcat内部版本和jdbc-pool中的时间戳,使其使用24小时格式而不是12小时格式,并使用UTC时区. (市场/ kkolinko)
update 改进Tomcat构建脚本,以确保在将Eclipse JDT编译器更新到新版本时,Tomcat lib目录中仅存在一个ecj-nn.jar文件. (kkolinko)
update 56596 :更新到Tomcat本机库1.1.32版,以获取基于OpenSSL 1.0.1j和APR 1.5.1的Windows二进制文件. (市场)
code 在Tomcat测试中:启动时当前测试方法的日志名称. (kkolinko)
Tomcat 7.0.56 (violetagg)发行于2014-10-06
Catalina
fix 当扫描类文件(例如,用于批注)并读取MethodParameters结构中的参数数量时,根据JVM规范,仅读取一个字节(而不是两个字节). Francesco Komauli提供的补丁. (市场)
fix 即使目录不可用,也要允许JNDI Realm启动. 一旦启动了Realm,不可用的目录就不会致命,而当Realm启动时,该目录也不必是致命的. 基于CédricCouralet的补丁. (市场)
fix 56736: Avoid an incorrect IllegalStateException if the async timeout fires after a non-container thread has called AsyncContext.dispatch() but before a container thread starts processing the dispatch. (markt)
fix 56739 :如果在异步处理期间,应用程序通过调用HttpServletResponse.sendError()处理了应用程序线程上的错误,则确保该应用程序有机会通过适当的应用程序定义的错误页面(如果已配置)报告该错误. (市场)
fix 56771 :当所有的备用或备份资源查找javax.naming.directory.DirContextjavax.naming.NameNotFoundException将在搜索结束时抛出的资源是不是在这些替代或备份可用javax.naming.directory.DirContext . 基于Sheldon Shao的补丁. (紫罗兰色)
fix 56796 :停止Web应用程序时消除不必要的睡眠. (市场)
fix 56801 :提高org.apache.tomcat.util.file.Matcher性能,该性能用于过滤JAR,以便在Web应用程序启动期间进行扫描. 基于Sheldon Shao的补丁. (kkolinko)
fix 56825 :启用抢占式身份验证以与SSL身份验证器一起使用. 基于jlmonteiro的补丁. (市场)
fix 56857 :解决了在安全管理器下运行时调用ServletContext方法时的线程安全问题. (市场)
code 56882 :添加测试用例以处理转发,包括重新加载上下文时的用例. (kkolinko)
fix 56900 :修复了在读取Coverity Scan报告的属性文件时某些潜在的资源泄漏的问题. 基于Felix Schumacher提供的补丁. (市场)
fix 56902 :修复了Coverity Scan报告的默认Servlet中的潜在资源泄漏. 基于Felix Schumacher提供的补丁. (市场)
fix 56903 :更正StandardContext.getResourceOnlyServlets()的返回值,以便多个名称用逗号分隔. 由Coverity Scan识别,并根据Felix Schumacher的补丁进行修复. (市场)
fix 修复了在Web应用程序部署期间执行的多部分元素合并操作. 由Coverity Scan识别. (紫罗兰色)
fix 当使用格式令牌xO(XXX)时,请更正ExtendedAccessLogValve写入的信息,以使标头XXX的多个值之间用逗号分隔. 由Coverity Scan识别. (紫罗兰色)
fix 修复了在读取MANIFEST.MF文件以获取Coverity Scan报告的扩展名依赖项时潜在的资源泄漏的问题. (紫罗兰色)
fix 正确处理多个accept-language标头,而不是仅使用第一个标头来确定用户的首选语言环境. (市场)
fix 修复了读取属性,文件和其他资源时一些潜在的资源泄漏. 由Coverity Scan报告. (紫罗兰色)
fix 使用并行部署并在主机上启用undeployOldVersions功能时,请正确地取消部署旧版本的上下文. 如果当前上下文未在运行,请确保Tomcat不会取消部署较早的Context. (kfujino)
fix When deploying war, add XML file in the config base to the redeploy resources if war does not have META-INF/context.xml or deployXML is false. If XML file is created in the config base, redeploy will occur. (kfujino)
code 进行了各种更改,以减少Tomcat的Apache Commons BCEL副本中的不必要的代码,从而减少了Web应用程序启动时注释扫描所花费的时间. 包括kkolinko和hzhang9的贡献. (市场)
fix 56938 :确保在区分大小写的文件系统上运行时,取消部署时正确删除了具有混合大小写上下文路径并作为目录部署的Web应用程序. (市场)
add 57004 :向StuckThreadDetectionValve的JMX bean中添加stuckThreadCount属性. JiříPejchal提供的补丁. (舒尔茨)
fix 57011 :在异步处理期间处理错误时,请确保正确回收请求和响应. (市场)
fix 57016 :在使用PersistentValve请不要在PersistentValve会话时从存储中删除会话. (市场)
Coyote
fix 56780 :在严格的SP800-131a模式下将SSL与IBM JRE一起使用时,允许Tomcat启动. (市场)
fix 56910 :防止将无效值-1用于带有APR连接器的maxConnections . (市场)
fix 确保AjpNioProtocolAjpAprProtocol启用KeepAliveTimeout . (kfujino)
Jasper
fix 43001 :启用JspC Ant任务以设置JspC选项mappedFile . (kkolinko)
fix 56797 :在EL表达式中匹配方法时,请勿将桥接方法视为其桥接方法的副本. 在这种情况下,请始终调用bridge方法的目标. (市场)
fix 更正JasperElResolver的逻辑错误. 没有功能影响,但是由于错误,代码的效率降低了. 基于martinschaef的补丁. (市场)
fix 确保在操作过程中发生I / O错误时, javax.servlet.jsp.PageContext.include(String)javax.servlet.jsp.PageContext.include(String, boolean)将引发IOException . (紫罗兰色)
fix 56908 :修复了读取jar文件时可能出现的一些资源泄漏. 由Coverity Scan报告. 基于Felix Schumacher提供的补丁. (紫罗兰色)
fix 56991 :不建议使用请求属性将<jsp-file>声明传递给Jasper,并且如果将此技术与包含一起使用,则可以防止无限循环. (市场)
fix 检查资源是否为程序包时,修复JDTCompiler中潜在的资源泄漏. 由Coverity Scan报告. (fschumacher)
WebSocket
code 56446 :在基于POJO的WebSocket端点上调用方法时,更清晰地处理异常. 根据钟欣Eu的建议. (市场)
fix 56746 :允许安全的WebSocket客户端线程使用当前的上下文类加载器,而不是将其显式设置为加载WebSocket实现的类加载器. 这允许WebSocket客户端从Web应用程序内部进行连接,以访问与Web应用程序关联的JNDI资源. (市场)
fix 56905 :使在Web应用程序停止时用于WebSocket连接的线程组的破坏更可靠. (kkolinko /市场)
fix 56907 :如果安全的WebSocket客户端连接失败,请确保客户端IO线程已停止. (市场)
fix 当WebSocket客户端尝试写入关闭的连接时,请以与IOException的处理一致的方式处理所得的IllegalStateException . (市场)
add 添加对permessage-deflate扩展的支持. 当前,这仅限于在服务器端解压缩传入的消息. 预计支持将很快扩展到传出消息和客户端. (市场)
add 扩展了对permessage-deflate扩展的支持,以压缩服务器端的传出消息. (市场)
fix 56982 :返回实际协商的扩展名,而不是Session.getNegotiatedExtensions()的空列表. (市场)
update 更新WebSocket实现以支持Java WebSocket规范版本1.1. (市场)
Web applications
fix 使用"管理器"应用程序的expire命令时,请按会话的空闲时间更正容器中会话的标签,该标签表示空闲时间紧挨最大允许的空闲时间. (市场)
update 经过一些额外的测试后,请更新Windows身份验证文档以回答其余问题. (市场)
fix 在Javadoc中更正几个断开的链接. (市场)
Other
add 56788 :通过Windows安装程序包安装时,在已安装应用程序列表中显示完整版本. 亚历山大·卡尼尔(Alexandre Garnier)提供的补丁. (市场)
add 56829 :为用户提供了为_RUNJAVA_RUNJDB环境变量定义自己的值的_RUNJAVA . 在Windows(s / java / java.exe /)上对可执行文件名更加严格. 基于Neeme Praks的补丁. (市场/ kkolinko)
fix 56895 :在catalina.bat正确地编写 JAVA_OPTS ,以便保留转义序列. Lucas Theisen的补丁. (市场)
update 56988 :构建Tomcat时,允许在base.path设置中使用相对路径. (kkolinko)
fix 56990 :确保ide-eclipse构建目标下载默认Eclipse配置文件所需的所有库,并将Eclipse配置为对项目使用Java 6. 添加构建目标ide-eclipse-websocket ,该目标创建一个单独的链接项目,该项目使用Java 7编译器编译Tomcat 7的websocket类. (kkolinko)
Tomcat 7.0.55 (violetagg)发行于2014-07-27
Catalina
fix 44312 :如果主机名和别名之间存在冲突,请记录错误. 改进Mapper主机管理方法,以避免偶尔删除错误的主机. 检查是否在主机而非别名上执行了主机管理操作. (kkolinko)
fix 55282 :确保在启动Web应用程序时仅添加一次和同一应用程序侦听器. (紫罗兰色)
add 56461 :上下文和主机配置上的新failCtxIfServletStartFails属性可在启动时加载的servlet启动失败时强制上下文启动失败. (流浪汉)
add 56526 :改进了StuckThreadDetectionValve ,可以有选择地中断卡住的线程以尝试取消阻塞它们. (流浪汉)
fix 56545 :预加载其他类,否则该类的加载可能由Web应用程序触发,当在安全管理器下运行时,Web应用程序又会触发异常. (kkolinko)
fix 56578 :更正了针对56339的修复程序中的回归,该回归防止了使用群集时会话过期. (市场)
code 56588 :根据Tomcat 8中的更改更新Context.addApplicationListener()方法的弃用.(kkolinko)
fix 56600 :在WebdavServlet:不要浪费了破PROPFIND请求时,生成响应. (kkolinko)
fix Provide a better error message when asynchronous operations are not supported by a filter or servlet. Patch provided by Romain Manni-Bucau. (violetagg)
fix 56606tomcat-users.xml文件中的用户条目建议使用"用户名"属性,而不要使用旧版"名称"属性. 修复Windows安装程序示例中的不一致问题. 更新MemoryRealm规则和文档. (市场/ kkolinko)
code 56611 :重构代码以删除对Method.isAnnotationPresent()无效调用. 基于简某的补丁. (市场/ kkolinko)
fix 56653 :修复了在停止上下文时Mapper中上下文列表的并发问题. (kkolinko)
fix 56657 :使用并行部署时,如果相同的会话ID与Web应用程序的不同版本匹配,请使用最新版本. 确保重新映射选择了我们期望的版本. (kkolinko)
fixMapper执行映射工作之前,请确保映射结果对象为空. (kkolinko)
fix 56658 :避免为上下文及其Servlet映射注册之间的延迟. (kkolinko)
fix 56665 :当元素包含空字符串作为值时,更正有效web.xml的生成. (紫罗兰色)
fix 56666 :清除SSO Cookie时,请使用与设置SSO Cookie时相同的域,路径,httpOnly和安全值. (市场)
fix 56677 :确保在跨上下文分派期间HttpServletRequest.getServletContext()返回正确的值. (市场)
fix 56684: Ensure that Tomcat does not shut down if the socket waiting for the shutdown command experiences a SocketTimeoutException. (markt)
fix 由于调度请求而修改了当前PathInfo时,请确保对HttpServletRequest.getPathTranslated()的调用返回基于修改后的PathInfo的值. (市场)
fix 56698 :在保留空闲会话时,仅保留新的空闲会话. Felix Schumacher提供的补丁. (市场)
fix 56710 :重新加载上下文时,请勿将请求映射到servlet. (kkolinko)
fix 56712 :修复了PersistenceManager会话空闲时间计算. (kkolinko)
fix 56717 :修复了重复启动嵌入式Tomcat期间重复注册MapperListener . (kkolinko)
add 56724 :如果容器后台线程意外中止,则将错误消息写入Tomcat日志. (kkolinko)
Coyote
fix 56518 :使用NIO时,如果线程被标记为中断,请勿尝试写入套接字,因为这将导致连接限制泄漏. 此修复程序基于hanyong对问题的分析. (市场)
fix 56521 :在写操作之间重用异步写缓冲区以减少分配和GC开销. 基于leonzhx的补丁. 当缓冲区仅在随后的写操作中部分写入时,还应使缓冲区的大小可配置,并删除缓冲区内数据的复制. (市场)
fix 更正复制/粘贴错误,并在请求处理的早期阶段发生内部服务器错误时返回500响应而不是400响应. (市场)
code 56582 :在处理器中使用switch(actionCode)而不是" elseif"链. (kkolinko)
fix 修复CVE-2014-0227:对ChunkedInputFilter的各种改进,包括清理,错误消息的i18n以及添加错误标志,以允许错误后的后续尝试快速失败. (市场)
fix 如果请求包含无法识别的Expect标头,则根据RFC2616第14.20章,以错误417(预期失败)响应. (市场)
fix 如果在提交响应之后发生错误,请立即关闭连接,而不是尝试完成响应,以使客户端更容易区分完整响应和部分失败响应. (市场)
fix 56620 :暂停NIO HTTP连接器时,避免虚假的访问日志条目,并确保由错误情况生成的访问日志条目使用正确的请求开始时间. (市场)
add 修复CVE-2014-0230:添加了一个新的限制,默认为2MB,以防止Tomcat吞下中止上传的数据量. 该限制可以通过HTTP连接器的maxSwallowSize属性进行配置. (市场)
update 允许通过JMX配置HTTP连接器的maxSwallowSize属性. (kkolinko)
fix 56661 :修复了用于AJP连接器的getLocalAddr() . 仅最新的AJP转发器(如即将发布的mod_jk 1.2.41)提供完整修复程序. (荣)
fix 59451 :对于MessageBytes更正Javadoc. 中村京平提供的补丁. (市场)
Jasper
fix 56334#c15 :修复了带引号的字符串后跟空格时EL分析中的回归问题. (kkolinko /市场)
fix 56543 :更新到Eclipse JDT编译器4.4. (紫罗兰色)
fix 56561 :在处理具有空字符串值的属性时,避免NoSuchElementException . (紫罗兰色)
update 56581 :如果已经提交响应时,如果在JSP页面上发生错误,则不要清除JspWriter的缓冲区,而要刷新它. 这将使错误发生的地方更加清楚. (kkolinko)
fix 56612 :在JSP中的UEL表达式中使用时,正确解析两个连续的转义单引号. (市场)
update 将解析JSP模板文本中的EL表达式的代码从Parser移到JspReader类,以提高性能. (kkolinko)
WebSocket
fix 56577 :改进了用于与异步写入关联的回调的执行程序配置. (市场)
Web applications
fix 设置示例Web应用程序创建的cookie的路径,以便它们仅返回到示例应用程序. 如果忽略了从安全敏感系统中删除示例Web应用程序的建议,这将减少将此类Cookie用于恶意目的的机会. (市场/ kkolinko)
fix 当使用示例Web应用程序中的"请求标头"示例查看HTTP请求标头时,尝试混淆与其他Web应用程序关联的会话cookie值. 如果忽略了从安全敏感系统中删除示例Web应用程序的建议,则可以减少将该示例用于恶意目的的机会. (市场)
Other
update 将可选的Checkstyle库更新为5.7. (kkolinko)
fix 56685 :添加必要的引号,以使daemon.sh在Solaris上正常工作. 基于lfuka的建议. (市场)
update 56596 :更新到Tomcat本机库版本1.1.31,以获取基于OpenSSL 1.0.1h的Windows二进制文件. (市场)
Tomcat 7.0.54 (violetagg)发行于2014-05-22
Catalina
fix 修复自定义UTF-8解码器,以便总是立即拒绝值0xC1的字节,因为它在UTF-8字节序列中永远无效. 更新UTF-8解码器测试以说明Java 8中对UTF-8解码的改进.由于Java提供的UTF-8解码器中存在错误,因此仍需要自定义UTF-8解码器. Java 8的解码器比Java 7的解码器要好,但仍然存在问题. (市场)
fix 56027 :在AprLifecycleListener中添加了更多用于管理FIPS模式的选项. (舒尔茨/ kkolinko)
fix 56321 :修改WAR后,请先取消部署Web应用程序,然后再删除任何扩展目录,因为取消部署过程可能引用需要从扩展目录加载的类. 如果首先删除扩展目录,则在取消部署期间尝试加载新类的任何尝试都会失败. (市场)
fix 56339 :如果应用程序从该会话的会话破坏事件中调用session.invalidate() ,则避免无限循环. (市场)
update 56365 :在StandardJarScanner简化文件名模式匹配代码. 配置模式时,请忽略开头和结尾的空格以及空字符串. 改善文档. (kkolinko)
fix 56369 :确保删除MBean通知侦听器会还原添加MBean通知侦听器时执行的所有操作. (市场)
add 56382 :有关完成的部署及其执行时间的信息已添加到日志文件中. 补丁由Danila Galimov提供. (紫罗兰色)
add 56383 :用于禁用服务器信息和错误报告的属性已添加到org.apache.catalina.valves.ErrorReportValve . 基于Nick Bunn提供的补丁. (violetagg / kkolinko)
fix 修复CVE-2014-0119:仅在需要时创建XML解析对象,并修复默认Servlet中相关的潜在内存泄漏. 扩展XML工厂,解析器等的内存泄漏保护范围,以涵盖理论上可能发生内存泄漏的其他一些位置. 确保从缓存获取的TLD解析器具有正确的blockExternal值. (市场)
fix 修改通用异常处理,以使StackOverflowError不会被视为致命错误,并且可以根据需要进行处理和/或记录. (市场)
fix 56409 :如果在扫描TLD时遇到名为\的文件,请避免在非Windows系统上使用StackOverflowError . (市场)
add 56430 :扩展对可疑URL模式的检查,以包括*.ab形式的模式,这些形式不是扩展名映射的有效模式. (市场)
fix 56441 :提高在组件属性上调用getter或setter遇到问题时引发的异常的可见性. 日志记录级别从调试提升为警告. (市场)
fix 56451 :以与标准资源可用相同的方式,使通过上下文别名访问的资源可通过JNDI访问. (市场)
add 56463 :用于禁用服务器信息的属性已添加到DefaultServlet . 启用目录列表后,服务器信息将显示在发送给客户端的响应中. (紫罗兰色)
addorg.apache.naming软件包添加到需要在安全管理器下运行时要求代码具有defineClassInPackage权限的软件包. (市场)
addorg.apache.naming.resources软件包添加到需要在安全管理器下运行时要求代码具有accessClassInPackage权限的软件包. (市场)
fix 使容器的命名上下文标记更可靠. 引入新令牌时需要RuntimePermission. (市场/ kkolinko)
fix 56472 :如果启动失败,则允许NamingContextListener在停止时进行清理. (kkolinko)
add 56492 :当Tomcat更新其线程时,请避免在未捕获的异常上使Eclipse调试器暂停. (流浪汉)
fixThreadLocalLeakPreventionListener次要修复. 不要为失败的上下文触发线程更新. 不要忽略threadRenewalDelay设置. 改善文档. (kkolinko)
fix 更正了r797162中引入的回归,该回归在使用JAASMemoryLoginModule时破坏了用户的身份验证. (市场)
fix 56501HttpServletRequest.getContextPath()应该返回用户代理使用的未解码上下文路径. (市场)
fix 56523 :使用SPNEGO身份验证时,请在调试级别而不是错误级别记录与失败的用户登录相关的异常. (市场)
fix 56536 :使用SingleSignOn阀时,请确保HttpSessionBindingListener.valueUnbound()使用正确的类加载器. (市场)
Coyote
add 56399 :声明土狼和卡塔琳娜州的请求对象均已正确回收. (kkolinko)
fix 56416 :更正了有关AJP和HTTP连接器的套接字延迟默认值的文档. (市场)
Jasper
fix 56334 :修复了55735修复程序引入的反斜杠转义处理中的回归问题. (市场/ kkolinko)
fix 56425 :改进EL表达式的方法匹配. 在寻找匹配方法时,最好在参数类型之间进行精确匹配,然后再进行可分配的匹配,再进行强制匹配. (市场)
fix 纠正EL分析器中反斜杠转义的处理,不再要求\$\#后面必须加上{ ,以使反斜杠转义生效. (市场)
fix 56529 :在处理自定义标记中具有空字符串值的属性时,避免NoSuchElementException . Hariprasad Manchi提供的补丁. (紫罗兰色)
Cluster
fix 从集群管理器模板中删除集群和ReplicationValve. 这些实例不是模板所必需的. (kfujino)
fix org.apache.catalina.ha.session.BackupManager跨上下文会话复制的支持添加到org.apache.catalina.ha.session.BackupManager . (kfujino)
fix 删除不必要的跨上下文检查. 是否将其他上下文引用的上下文设置为crossContext = true crossContext . 引用不同上下文的上下文必须设置为crossContext = true. (kfujino)
code 移至org.apache.catalina.ha.session.ClusterManagerBase org.apache.catalina.ha.session.BackupManagerorg.apache.catalina.ha.session.DeltaManager通用逻辑. (kfujino)
code 简化oacha.tcp.SimpleTcpCluster的代码. 为了向Container添加或删除群集阀,请使用管道代替IntrospectionUtils . (kfujino)
fix 调用SimpleTcpCluster.unregisterClusterValve时无需设置群集实例. 设置null而不是群集实例进行清理. (kfujino)
codeAbstractReplicatedMap进行反向移植重构,以实现Map而不是扩展ConcurrentHashMap以使Tomcat 7可以使用Java 8构建.
WebSocket
fix 56343 :如果将Tomcat的Java WebSocket 1.0实现与参考实现中的Java WebSocket 1.0 API JAR一起使用,则应避免使用NPE. (市场)
fix 将与异步写入关联的回调的WebSocket实现使用的执行程序的默认最大大小从10增加到200.(标记)
add 如果在停止Web应用程序时无法销毁为WebSocket异步写回创建的线程组,则添加警告. (市场)
fix 确保不再需要创建为支持WebSocket客户端而创建的线程. 对于由Web应用程序启动的WebSocket客户端连接,这将自动发生,但是独立的客户端必须调用WsWebSocketContainer.destroy() . (市场)
fix 56449 :创建新会话时,请在调用Endpoint.onOpen()之前将消息处理程序添加到该会话中,这样,如果onOpen()方法触发任何消息的发送,则消息处理程序就位. (市场)
fix 56458 :将通过安全连接创建的WebSocket会话报告为安全而不是不安全. (市场)
fix 当不再需要用于安全WebSocket客户端连接的线程时,请停止使用它们,并为它们提供更好的名称,以便在运行时更轻松地进行调试. (市场)
Web applications
fix copyXML Host的copyXML属性的支持添加到Host Manager. (kfujino)
fix 如果在HostManager应用程序中添加主机时未设置" webapps"请求参数,请确保将"名称"请求参数用作主机的应用程序基础. (kfujino)
fix 更正有关Windows服务选项的文档,使其与Apache Commons Daemon文档保持一致. (kkolinko)
update 55215 :改进log4j配置示例. 澄清访问日志记录文档. 基于Brian Burch提供的补丁. (kkolinko)
update 55383Backport改进了Tomcat 8文档中表和代码片段的HTML标记. (kkolinko)
fix 56418 :确保对于失败的Web应用程序部署,Manager Web应用程序不会报告成功. (流浪汉)
fix 修复文档中链接的target和rel属性. 它们在XSLT转换期间丢失了. (kkolinko)
update 改进阀门文档. 将阀分成几组. (kkolinko)
Other
fixservice.bat安装的Tomcat的DisplayName与* .exe安装程序安装的Tomcat的DisplayName对齐. 如果service.bat找不到服务器或客户端jvm,请打印警告. (kkolinko)
update 56363 :更新到Tomcat Native库的1.1.30版. (舒尔茨)
update 更新包将Apache Commons BCEL重命名为r1593495,以获取对Java 7支持的一些其他更改以及一些代码清除. (市场)
add 在测试中:允许配置写入JUnit报告和访问日志的目录. (kkolinko)
Tomcat 7.0.53 (violetagg)发行于2014-03-30
Catalina
add 使它更容易为应用程序中嵌入和/或延长Tomcat的修改javaseClassLoader的属性WebappClassLoader . (市场)
fix Improve the robustness of web application undeployment based on some code analysis triggered by the report for 54315. (markt)
fix 56219 :改进了web.xml文件的合并过程,以考虑合并文件的Servlet版本支持的元素和属性. (市场)
fix 56190 :当对AsyncContext.complete()的调用生效时,应关闭响应(即,不允许进一步输出AsyncContext.complete() . (市场)
fix 56236 :允许Tomcat与打包XML模式的替代Servlet和JSP API JAR配合使用,例如在对web.xml启用验证之前要求对JSP API依赖. Tomcat没有这种依赖性. (市场)
fix 56246 :对未知用户进行身份验证时,在MemoryRealm中修复NullPointerException. (市场)
fix 56248 :如果设置了更新标志,则允许部署者更新现有的WAR文件而不取消部署现有的应用程序. 这允许保留应用程序的任何现有自定义context.xml. 要更新应用程序并删除任何现有的context.xml,只需在部署新版本之前取消部署旧版本的应用程序即可. (市场)
fix 修复CVE-2014-0096:相对于CATALINA_BASE / conf或CATALINA_HOME / conf重新定义DefaultServlet的globalXsltFile初始化参数. 防止DefaultServlet使用的用户提供的XSLT定义外部实体. (市场)
add 添加一种变通方法来验证仅使用文件名来引用它们所基于的JavaEE模式的XML文档(通常是TLD). (市场)
fix 56293 :缓存由类加载器从/META-INF/services/加载的资源,以获得更好的性能以进行重复查找. (市场)
Coyote
fix 53119: Make sure the NIO AJP output buffer is cleared on any error to prevent any possible overflow if it is written to again before the connection is closed. This extends the original fix for the APR/native output buffer to the NIO connector. (kkolinko)
fix 56172 :避免在使用AJP NIO连接器并且使用多个AJP消息发送请求时可能的请求损坏. 由Amund Elstad提供的补丁. (市场)
fix 56213 :当NIO连接器承受重负载时,减少垃圾收集. (市场)
fix 修复CVE-2014-0075:改进了分块标头对卡盘大小的处理. 避免溢出,并使用位移而不是乘法,因为它快一点. (市场/ kkolinko)
fix 修复CVE-2014-0099:修复了从字节数组中解析长值时可能发生的溢出. (市场)
Jasper
fix 54475 :将Java 8支持添加到JSP的SMAP生成中. Robbie Gibson修补程序. (市场)
fix 55483 :改进表达式语言实现中重载方法和构造函数的处理. (市场)
fix 56208 :将validateXml选项还原到以前重命名为validateTld的Jasper. 现在都支持这两个选项. 当Jasper解析时,validateXml控制web.xml文件的验证,当Jasper解析时,validateTld控制* .tld文件的验证. (市场)
fix 56223: Throw an IllegalStateException if a call is made to ServletContext.setInitParameter() after the ServletContext has been initialized. (markt)
fix 56265 :请勿转义包含EL表达式的动态标签属性的值. (kkolinko)
fix Make the default compiler source and target versions for JSPs Java 6 since Tomcat 7 requires Java 6 as a minimum. (markt)
update 56283: Update to the Eclipse JDT Compiler P20140317-1600 which adds support for Java 8 syntax to JSPs. Add support for value "1.8" for the compilerSourceVM and compilerTargetVM options. (markt)
WebSocket
fix 当一个线程正在关闭连接而另一个线程试图向其写入连接时,请避免可能的死锁. (市场)
fix 如果关闭会话时引发onClose并引发异常,则调用onError. (雷姆)
Web applications
code 在文档中:添加对Tomcat 8中多个文档标签的支持,例如<version-major/> . (kkolinko)
add 56093 :将SSL Valve添加到文档Web应用程序. (市场)
fix 56217 :通过对Manager应用程序状态页面上包含请求信息的表格单元格使用左对齐来提高可读性. (市场)
fix 修复了在禁用会话超时的上下文中在管理器Web应用程序中使用"过期会话"命令时的java.lang.NegativeArraySizeException . (kfujino)
fix LAST_ACCESS_AT_START系统属性的支持添加到Manager Web应用程序. (kfujino)
fix 添加org.apache.catalina.ant.FindLeaksTask定义. (kfujino)
fix 56273 :如果Manager Web应用程序由于已在服务该Web应用程序而未执行操作,请报告错误而不是报告成功. (市场)
fix 56304 :在文档中添加有关在生产环境中不将WebSocket与BIO HTTP一起使用的注释. (市场)
Other
fix 56143 :改进service.bat以便可以从非UAC控制台启动它. 这包括使用一次tomcat7.exe调用来安装Windows服务,而不是三个调用,以及使用命令行参数而不是环境变量来传递设置. (市场/ kkolinko)
fix Fix regression in 7.0.52: when using service.bat install to install the service the values for --StdOutput, --StdError options were passed as blank instead of "auto". (kkolinko)
fixservice.batexe Windows安装程序之间对齐选项. 对于service.bat ,更改位于--Classpath,-DisplayName,-StartPath,-StopPath中. 对于exe安装程序,更改位于--JvmMs和--JvmMx选项中,现在分别为128 Mb和256 Mb,而不是为空. 卸载Windows服务时,明确指定--LogPath路径,避免使用该选项的默认值. (kkolinko)
code 简化Windows * .bat文件:删除%OS%检查,因为Java 6不能在古老的非NT操作系统上运行. (kkolinko)
fix 56137 :在server.xml的SSL示例中明确使用BIO连接器,因此如果启用了APR,它不会中断. (市场)
fix 56139 :在Windows上运行时,在某些单元测试中避免Web应用程序类加载器泄漏. (市场)
fix 更正构建脚本,以避免使用空软件包构建JAR. (市场)
add 允许将JUnit测试运行限制为许多选定的测试用例方法. (kkolinko)
fix 56189 :从发行版中删除使用过的文件cpappend.bat. (市场)
Tomcat 7.0.52 (violetagg)发行于2014-02-17
Catalina
fix 为所有受支持的web.xml版本的Web应用程序的有效web.xml生成有效的根元素. (市场)
Coyote
codeSocketWrapper AbstractProcessor . (市场)
fix 在某些情况下,异步请求可能会过早超时. (市场)
Tomcat 7.0.51 (violetagg)未发布
Catalina
fix 55287 :可能找不到在容器中定义的ServletContainerInitializer . (市场/ jboynes)
fix 55855 :提供每个上下文选项(containerSciFilter)以排除容器SCI. (市场)
fix 55937 :在部署应用程序时,将/ROOT的上下文路径等同于/ . (市场)
fix 55943 :改进了类加载器检查的实现,该检查防止Web应用程序尝试覆盖J2SE实现类. 作为此修复程序的一部分,重构处理null父类加载器的方式,该方法使许多null检查和对象创建调用得以删除. 请注意,此更改意味着默认情况下,Web应用程序类加载器现在比系统类加载器具有更高的优先级来加载类. (市场)
fix 55958 :区分foo.war WAR文件和foo.war的目录. (市场)
fix 55960 :改进单点登录(SSO)单元测试. Brian Burch提供的补丁. (市场)
fix 55974 :在解析XML配置文件时报告错误和警告时,保留顺序. (市场)
fix 56013 :修复了使用IBM JRE时SPNEGO身份验证的问题. IBM JRE仅了解Kerberos凭证的无限生存期选项. 基于Arunav Sanyal提供的补丁. (市场)
fix 56016 :在加载用于XML模式验证的资源时,请考虑到servlet-api.jar和jsp-api.jar可能无法由同一类加载器加载的可能性. Juan Carlos Estibariz修补程序. (市场)
fix 56025 :创建WebSocket连接时,请始终调用ServerEndpointConfig.Configurator.getNegotiatedSubprotocol()并始终在调用ServerEndpointConfig.Configurator.modifyHandshake()之后创建EndPoint实例. (市场)
fix 56032 :确保在发送WebSocket消息时出现IO错误或中断后,关闭WebSocket连接. (市场)
fix 56042 :如果异步模式下的请求有错误但已被分派,请不要在ErrorReportValve中生成错误页面,以便分派目标可以处理它. (市场)
fix 将缺少的javax.annotation.sql.*类添加到annotations-api.jar. (市场)
fix Context MBean的logger属性的类型应该不是org.apache.commons.logging.Log而是org.apache.juli.logging.Log . (kfujino)
fix 56082 :修复了JULI的LogManager实现中的并发性错误. (市场)
fix 56096 :当指定了JMX远程生命周期侦听器的属性rmiBindAddress ,将在构造JMX API连接器服务器的地址时使用它的值. 补丁程序由Jim Talbut提供. (紫罗兰色)
fix 如果在Web部署描述符中定义了具有相同名称的环境条目并带有注释,则在Web部署描述符中指定的环境条目具有优先权. (紫罗兰色)
fix 更改Context的xmlBlockExternal属性的默认值. 现在是true . (kkolinko)
Coyote
fix 如果指定的内容类型没有字符集,则避免使用可能的NPE. (市场)
fix 55956: Make the forwarded remote IP address available to the Connectors via a request attribute. (markt)
fix 55976 :修复了对HTTP NIO连接器的sendfile支持. (市场)
fix 55996 :使用NIO HTTP连接器时,请确保异步请求正确超时. (市场)
add 56021: Make it possible to use the Windows-MY key store with the BIO and NIO connectors for SSL configuration. It requires a keystoreFile="" keystoreType="Windows-My" to be set on the connector. Based on a patch provided by Asanka. (markt)
Jasper
fix 更正XML重构中的回归,这意味着吞噬了TLD文件中的错误. (市场)
fix 55671 :更正日志消息中的错字,以获取JspServlet的genStringAsCharArray init-param值错误. 在Tomcat 6中,此参数的名称不同.(kkolinko)
fix 55973 :修复了在Jasper中启用验证时对XML模式的处理. (kkolinko)
fix 56010 :将JspFactory.getPageContextJspWriter.DEFAULT_BUFFER JspFactory.getPageContext使用时,不要抛出IllegalArgumentException . 基于Eugene Chung的补丁. (市场)
fix 56012 :使用page指令的extends属性时,如果超类在未命名的包中,则不要导入超类,因为从未命名的包中导入超类现在明显是非法的. (市场)
fix 56029 :针对55198的修复程序中的回归表示当在属性中使用包含三元表达式的EL时,某些表达式将发生编译错误. (市场)
fix 更正jspxml Schema和DTD中的几个错误. (kkolinko)
fix 更改JspC任务的blockExternal属性的默认值. 默认值为true . 当JspC作为独立应用程序运行时,添加对-no-blockExternal开关的支持. (kkolinko)
Cluster
code 简化oacha.tcp.SimpleTcpCluster.createManager(String)的代码. 删除不必要的类强制转换. (kfujino)
WebSocket
fix 当未请求任何子协议或无法达成任何子协议时,请不要为Sec-WebSocket-Protocol HTTP标头返回空字符串,因为RFC6455要求在这种情况下不返回Sec-WebSocket-Protocol标头. (市场)
Web applications
fix 将index.xhtml添加到示例Web应用程序的欢迎文件列表中. (kkolinko)
fix 说明在读取文档Web应用程序中的请求正文(如果有)时,connectionTimeout也可用作读取超时. (市场)
fix 在文档Web应用程序中阐明连接器的maxConnections属性的行为. (市场)
fix 55888 :更新文档Web应用程序,以使其更清楚地表明容器可以定义不超过一个领域. (市场)
fix 55956 :在可用的情况下,在Manager Web应用程序的状态页上显示转发的可用远程IP地址. (市场)
fix 在ROOT Web应用程序中更正指向Tomcat邮件列表的链接. (kkolinko)
fix 在Manager Web应用程序中,可以改进文件上载错误的处理. 显示一条消息,而不是错误500页. 简化零件处理代码,众所周知,Tomcat在回收请求时会处理它们. (kkolinko)
Extras
fix 5516656045 :复制用于打包在JSP-api.jar文件到servlet的api.jar文件,使嵌入式Tomcat实例可以在不碧玉是可用开始验证XML模式. 这也使验证在没有Jasper可用的情况下也可以工作. (市场/ kkolinko)
fix 56039 :启用JmxRemoteLifecycleListener以通过SSL工作. 由esengstrom修补. (市场)
Other
fix 55743 :当禁用了关闭端口并定义了PID文件时,使停止脚本能够工作. 仅在使用catalina.sh平台上可用. (市场)
fix 55986 :当通过kill -9 $CATALINA_PID强制Tomcat停止时, catalina.sh脚本可能错误地报告Tomcat尚未完全停止. 基于jess的补丁. (市场)
fix 将正确的许可证和通知文件与嵌入式JAR打包在一起. (市场)
code 从源文件和文档中删除svn关键字(例如$ Id). (kkolinko)
fix 修复CVE-2014-0050,这是一种带有恶意,格式错误的Content-Type标头和多部分请求处理的拒绝服务. 通过合并Commons FileUpload中的最新代码(r1565163)进行了修复. (市场)
fix 56115 :由于某些用户可能需要更改默认值,因此公开Ant的get任务的httpusecaches属性. 根据安东尼的建议. (市场)
Tomcat 7.0.50 (violetagg)发行于2014-01-08
Catalina
fix 处理将context.xml文件添加到从目录部署的Web应用程序中的情况. 以前,文件被忽略,直到重新启动Tomcat. 现在(假设启用了自动部署),它将触发Web应用程序的重新部署. (市场)
fix 修复HostConfig.setContextClass()字符串比较. (kkolinko)
code 当没有为当前接收的消息配置任何处理程序时,可以简化WebSocket消息的处理. (市场)
fix 处理WebSocket注释配置的消息大小限制大于Tomcat允许的默认大小的情况. (市场)
fix 55855 :这是一个部分修复程序,如果没有注册WebSocket端点,则绕过相对昂贵的WebSocket升级请求检查. (市场)
fix 55905 :当web.xml引用不存在的taglib文件时,阻止NPE. 提供更好的错误消息. (紫罗兰色)
Coyote
fix 当将BIO连接器与内部执行器一起使用时,请勿显示执行器尚未关闭的警告,因为BIO连接器的默认配置将不等待. 这是因为保持活动连接中的线程无法中断,因此几乎总是显示警告. (市场)
Jasper
fix JspC使用servlet上下文初始化参数来传递配置,因此请确保使用的servlet上下文支持初始化参数. (市场)
Cluster
fixAbstractReplicatedMap#finalize ,在发送MapMessage.MSG_STOP消息之前,从组通道的通道侦听器中删除rpcChannel. 这样可以防止通过正常关机发送了MapMessage.MSG_STOP的节点通过对接收MapMessage.MSG_STOP的节点中的心跳线程执行ping操作而再次添加到成员映射. (kfujino)
fix 将时间戳记添加到GET_ALL_SESSIONS消息中. (kfujino)
Web applications
fix 修复StaticMembershipInterceptor的示例配置,以防止出现警告日志. uniqueId必须为16个字节. (kfujino)
Extras
update 更新用于构建tomcat-juli extras组件的依赖项. Apache Avalon Framework已更新至版本4.1.5,Apache Log4J已更新至版本1.2.17. (荣)
Tomcat 7.0.49 (violetagg)未发布
Catalina
fix 更正新XML本地解析器中的回归,该回归在配置XML验证时触发了错误失败. (市场)
fix 销毁WebSocket连接的HTTP升级处理程序时,请防止NPE. (紫罗兰色)
Tomcat 7.0.48 (violetagg)未发布
Catalina
add 51294 :添加了对将主机的appBase外部的WAR解压缩到appBase中的支持. (市场)
fix 55656 :将Digester配置为在解析server.xml时使用服务器类加载器,而不是加载StandardServer的类加载器. Roberto Benedetti提供的补丁. (市场)
fix 55664 :正确处理使用诸如Encoder.Text<List<String>>类的通用类型的JSR 356 WebSocket编码器,解码器和MessageHandler实现. 包括Niki Dokovski的测试用例. (市场)
fix 正确处理使用通用类型数组的WebSocket EncoderDecoderMessageHandler . (市场)
fix 55681 :确保WebSocket会话可用于MessageHandler方法调用. (市场)
fix 当拒绝JAR文件包含触发器类(例如javax.servlet.Servlet)时,报告了更新的servlet规范版本和文档章节号. (舒尔茨)
add 修改WebSocket握手过程,以使ServerEndpointConfig在调用Configurator.modifyHandshake()期间公开的用户属性Map对于该连接而言是唯一的,而不是由与该Endpoint关联的所有连接共享的. 这允许在modifyHandshake()更容易地配置每个连接的属性. (市场)
fix 55684 :记录警告,但如果内存泄漏检测代码无法访问所有线程以检查Web应用程序停止时是否可能的内存泄漏,请继续执行操作. (市场)
fix 在tomcat7-websocket.jar中将web-fragment.xml定义为Servlet 3.0 Web片段,而不是Servlet 3.1 Web片段. (市场)
fix 55715 :将每个Web应用程序执行程序添加到WebSocket实现中,并在当前线程有可能启动写入操作时,将其用于调用SendHandler.onResult() . (市场)
fix 防止文件描述符泄漏,并确保在配置Web应用程序时关闭文件. (紫罗兰色)
fix 修复了位于tomcat7-websocket.jar!/META-INF/services中的提供程序配置文件的名称,该文件公开了javax.websocket.server.ServerEndpointConfig$Configurator实现的信息. (紫罗兰色)
fix 55760 :删除SpnegoAuthenticator javax.security.auth.useSubjectCredsOnly系统属性的不必要设置,因为除了不必要的设置外, SpnegoAuthenticator导致将SPNEGO与IBM JDK一起使用时出现问题. 由Arunav Sanyal提供的补丁. (市场)
fix 55772 :确保异步处理期间发生错误后,重新请求和响应. 包括一个基于Todd West提供的代码的测试用例. (市场)
fix 55778 :在将SPNEGO与委派凭据一起使用时,在身份验证后,向JNDI领域添加一个选项以控制用于连接到LDAP服务器的QOP. 此值用于设置LDAP连接的javax.security.sasl.qop环境属性. (市场)
fix 55798 :如果MemoryUserDatabase无法找到指定的用户数据库文件,则记录错误. (市场)
fix 55799 :正确实施JSR356中的限制,一次最多只能向一条远程WebSocket端点发送一条数据消息. (市场)
fix 当Catalina解析TLD文件时,请始终使用可识别名称空间的解析器来与Jasper解析TLD文件的方式保持一致. 上下文的tldNamespaceAware属性现在被忽略. (市场)
fix 弃用tldNamespaceAware Context属性,因为TLD始终使用可tldNamespaceAware名称空间的解析器进行解析. (市场)
fix 更正一个逻辑错误,该逻辑错误意味着将忽略unpackWAR,并且如果WAR部署失败,则始终会扩展WAR. (市场)
add 添加对基于每个上下文定义copyXML支持. (市场)
fix 定义自动部署的预期行为,并将实现与该定义对齐. (市场)
add 在安全管理器下运行时,将主机的deployXML属性的默认值更改为false . (市场)
add 如果主机为deployXML配置的值为falsedeployXML Web应用程序在META-INF/context.xml处具有嵌入式描述符,并且尚未为此应用程序定义任何显式描述符,请不要启动该应用程序. 这样做的原因是嵌入式描述符可能包含安全操作必需的配置,例如RemoteAddrValve . (市场)
fix 处理HTTP会话结束事件时,请防止WebSocket ServerContainer出现NPE. (市场)
add 55801 :添加了设置自定义SSLContext以用于客户端wss连接的功能. Maciej Lypik提供的补丁. (市场)
fix 55804 :如果在使用SPNEGO身份验证时缓存的主体的GSSCredential过期,请强制进行重新身份验证. (市场)
add 55811 :如果主web.xml包含一个空的绝对顺序元素,并且未启用web.xml的验证,请跳过对任何web-fragment.xml文件的分析,因为从不使用结果. (市场)
fix 55839 :将对摘要前缀{MD5},{SHA}和{SSHA}的支持扩展到所有领域,而不仅仅是JNDIRealm. (市场)
fix 55842 :请确保如果配置的响应缓冲区大于默认响应缓冲区,则当Servlet通过Writer输出时,将使用完整缓冲区. (市场)
fix 55851 :进一步的修复程序使SPNEGO身份验证可以与IBM JDK一起使用. 基于Arunav Sanyal的补丁. (市场)
add 修复CVE-2013-4590:在上下文中添加一个选项,以在解析XML配置文件时控制对XML外部实体的阻止,并在使用安全管理器时默认情况下启用此阻止. 该块是通过自定义解析器实现的,以启用任何被阻止实体的日志记录. (市场)
Coyote
code 对APR /本机处理程序实施一些小的重构,以升级HTTP连接. (市场)
fix 修复了使用APR /本机连接器时通过HTTPS升级的HTTP连接(例如安全WebSocket)的问题,该问题导致连接意外关闭. (市场)
fix 使用非阻塞IO时,请确保在调用ReadListenerWriteListener方法时使用了应用程序类加载器. 不这样做的副作用是,在处理WebSocket事件时JNDI不可用. (市场)
add 配置内部执行程序(如果使用)等待请求处理线程终止的时间,然后再继续执行连接器停止过程. (市场)
fix 55749 :当在AprLifecycleListener禁用SSLEngine并且为APR /本机连接器配置了SSL时,改进错误消息. (市场)
add 如果包含Expect: 100-continue标头的请求收到除2xx响应以外的任何内容,请关闭连接.这样可以防止出现行为异常的客户端(在这种情况下可能未发送请求主体),而是发送下一个请求. (市场)
fix 改进HTTP请求中尾标头的解析. (市场)
Jasper
fix 55735 :修复造成修复的回归55198 . 在处理JSP文档时,作为模板内容的XML元素中的属性应将其文本转义为xml,但是不应转义其中的EL表达式的输出. (市场)
fix 55807 :在为使用该TLD的JSP创建依赖项列表时,JSP编译器对扩展到WEB-INF /类的JAR中的TLD使用了最后修改时间-1,(IDE通常会进行此扩展). 这意味着每次访问都会重新编译使用该TLD的JSP. (市场)
Cluster
add 添加日志消息,表明AbstractReplicatedMap初始化已完成. (kfujino)
fix 为了启用每个应用程序的日志记录, AbstractReplicatedMap日志记录器应为非静态的. 此更改的副作用是在MapMessage#getKey()getValue()抛出RuntimeException而不是Null返回和错误日志. (kfujino)
code 简化DeltaManager#startInternal()的代码. 减少不必要的嵌套以获取集群实例. (kfujino)
fix 从集群管理器模板中删除stateTransferCreateSendTimereceiverQueue不必要属性. 这些属性不应定义为模板. (kfujino)
fix 修复stateTransfered MBean属性定义. 方法名称不是isStateTransfered()而是getStateTransfered() . (kfujino)
fix 更正群集的停止失败日志. 故障的原因不仅是阀门. (kfujino)
fix 在会话同步阶段发送会话阻止时,消除不必要的睡眠. (kfujino)
fix 通过JMX公开org.apache.catalina.ha.session.DeltaManager stateTimestampDrop . (kfujino)
fix 当ping超时时,通过指定已删除的成员来确保未调用memberDisappeared方法. (kfujino)
add 当成员消失时,添加会话重定位的日志消息. (kfujino)
fix 如果ping消息失败,请防止对没有故障成员的普通成员进行错误的超时检测. (kfujino)
Web applications
add 在WebSocket客户端的SSL配置选项上添加一些文档. (市场)
add 在群集文档中添加对notifyLifecycleListenerOnFailureheartbeatBackgroundEnabled的描述. (kfujino)
fix 使用WebSocket 1.0规范和javadoc的信息更新文档. (紫罗兰色)
fix 55703 :阐明JNDI资源工厂的单例属性的作用. (市场)
fix 55746 :将有关allRolesMode文档添加到CombinedRealmLockOutRealm . CédricCouralet的补丁. (市场)
add 在文档Web应用程序的"安全方法"部分中,展开与Tomcat一起提供的Web应用程序有关的信息. (市场)
fix 在文档Web应用程序中展开WebSocket缓冲区的描述,以阐明其用途. (市场)
add 更正群集管理器的文档. (kfujino)
add 添加有关在非Windows主机上运行Tomcat时如何配置集成Windows身份验证的信息. (市场)
Extras
update 将commons-logging更新到版本1.1.3. (荣)
Other
add 52323 :运行单元测试时,添加了对Cobertura代码覆盖率工具的支持. 基于mhasko的补丁. (市场/ kkolinko)
update 更新样本Eclipse IDE项目. 明确使用Java 6 SE JDK. 从构建路径中排除JSR356 WebSocket类,因为它们无法使用Java 6进行编译.(kkolinko)
update 将Eclipse编译器更新为4.3.1. (kkolinko /市场)
Tomcat 7.0.47 (violetagg)发行日期2013-10-24
Coyote
fix 使用NIO和APR连接器中的旧版WebSocket实现修复回归. (市场)
Web applications
fix 通过CTRL-C停止Tomcat进程时,请避免Windows上Java 6挂起. (市场)
Other
fix 55663 :根据NOTICE文件要求更正了NOTICE文件 . (紫罗兰色)
Tomcat 7.0.46 (violetagg)未发布
Catalina
fix 仅当客户端尚未从服务器接收到关闭控制消息时,才在IOException上发送WebSocket关闭消息,因为IOException可能是响应于客户端在服务器发送了关闭控制消息后继续发送消息. (市场)
fix 49134 :在销毁CombinedRealm时,请确保已正确销毁嵌套领域. 这确保了关联的MBean被注销. (市场)
Coyote
code 重构APR /本机连接器以减小localAddList的范围. (市场)
fix 55602 :确保从轮询器上拆下的插座然后在APR /本机连接器中关闭,然后再以线程安全的方式将其关闭. (市场)
fix 将APR /本机连接器更新到版本1.1.29. (紫罗兰色)
Jasper
fix 55642 :更正了JSP解析器中的逻辑错误,该错误将jsp:param元素值中的EL表达式错误地标识为文字字符串. (市场)
Cluster
add 添加支持以通知集群周期性事件. (kfujino)
Web applications
fix 更正org.apache.catalina.Lifecycle的javadoc. (kfujino)
addorg.apache.catalina.ha.session.JvmRouteBinderValve为sessionIdAttribute属性添加文档. (kfujino)
fix 处理JSR356 WebSocket示例中用户在玩蛇游戏时关闭浏览器的情况. (市场)
fix 确保Javadoc注释与org.apache.tomcat.jni.Poll的正确元素相关联. (市场)
add 扩展上下文文档以使用sessionCookiePath="/"使会话固定保护的含义更加清晰. (市场)
fix 55629 :确保在销毁阶段中删除了在servlet org.apache.catalina.manager.StatusManagerServlet初始化期间添加的JMX通知侦听器. (紫罗兰色)
fix 请更正" App开发人员指南"中有关"部署组织"的文档. (紫罗兰色)
add 55639 :添加一个Drawboard WebSocket示例. (kpreisser)
Tomcat 7.0.45 (violetagg)未发布
Catalina
add 55576 :保留通过Servlet API访问请求参数时接收请求参数的顺序. (市场)
Cluster
fix 集群会话管理器的记录器实例更改为非静态的,以便启用每个应用程序的记录. (kfujino)
Tomcat 7.0.44 (violetagg)未发布
Jasper
fix 55582 :更正了并行性问题,该问题可能导致为Sheldon Shao提供的一个标记Patch创建两个JspServletWrapper实例. (市场)
Tomcat 7.0.43 (violetagg)未发布
Catalina
add 51526oacatalina.startup.Tomcat#addWebapp方法现在在提供的路径中可用时处理Web应用程序的META-INF/context.xml . (紫罗兰色)
fix 55186: Ensure local name is recycled between requests so IP virtual hosting works correctly. (markt)
fix 55210 :当此文件包含注释和多个SCI时,请更正对资源目录META-INF/services javax.servlet.ServletContainerInitializer的提供程序配置文件的处理. 尼克·威廉姆斯提供的补丁. (紫罗兰色)
fix 55230 :为ProxyDirContext服务的资源获取InputStream时,请使用正确的资源路径. (市场)
fix 确保JAR扫描过程扫描Apache Log4j版本2 JAR. 尼克·威廉姆斯提供的补丁. (市场)
fix 55261 :修复了在具有较大网络缓冲区的平台/ JVM组合上运行时,无法进行文件上传检查的单元测试. (市场)
fix 55268 :添加了可选的--service-start-wait-time命令行选项,以将服务启动等待时间从默认的10秒更改为.
fix HostConfigcontextClass属性是指Host的contextClass属性的值. (kfujino)
fix 55331 :从AsyncListener.onTimeout()调度到异步servlet不应触发IllegalStateException . (市场)
fix 55333 :更正了针对55071的修订中的回归. (市场)
fix 使用安全管理器时,请确保通过AccessController.doPrivileged块路由的ServletContext调用不会导致对ServletContext上的其他基础方法的调用. (市场)
fix 55354 :在将"原则"与用户名相关联之后,确保恢复命名上下文环境参数. 基于Richard Begg提供的补丁. (紫罗兰色)
fix 55357 :确保在会话反序列化期间将Web应用程序类加载器设置为线程上下文类加载器. (紫罗兰色)
fix 55404 :在web.xml中记录有关使用安全角色的警告,而不将其定义为警告. (市场)
fix 55439 :如果已经停止了Tomcat,则在使用stop -force时不要尝试强制停止. 清除PID文件后,这可以避免出现错误消息. 如果需要强制停止,请改进对可以读取或写入但不能删除PID文件的情况的处理. (市场)
fix 55454 :解析错误的内容类型时,请避免使用NPE. (紫罗兰色)
update 从Tomcat 8向后移植JSR-356 Java WebSocket 1.0实现.请注意,使用此功能需要Java 7.
update 不赞成使用Tomcat专有的WebSocket API,而采用新的JSR-356实现. (市场)
fix 55494 :将日志消息的严重性从警告降低为有关JNDI Realm连接问题的信息,在该问题中,JNDI Realm会自动重失败的操作. 在日志消息中明确说明该操作正在重试. (市场)
fix 更正JdkLoggerFormatter几种错误格式. (kfujino)
fix 55521 :确保在会话无效之前,对HttpSession.invalidate()调用不会返回. 还要确保对会话有效性的检查返回的结果与之前对HttpSession.invalidate()调用一致. (市场)
fix 55524 :当使用Tomcat的专有(和不推荐使用)WebSocket API进行输出期间处理IOException时,应进行重构以避免可能的死锁. (市场)
fix 已加载的属性在PersistentManager永远不存在. isLoaded被定义为mbeans-descriptor中的操作. (kfujino)
add 当设置系统属性org.apache.juli.ClassLoaderLogManager.debug=true时,添加了logging.properties位置的日志记录.
fix 55570 :在SPNEGO身份验证器中正确记录所有错误情况的异常. (市场)
Coyote
fix 55228 :允许Web应用程序设置HTTP日期标头. (市场)
add 通过JMX公开每个协议处理程序的当前连接数. (市场)
fix 55267 :如果应用程序为Comet连接配置了超时,请确保仅将其用于读取和写入操作. 这样可以防止发生错误后长时间超时延迟与Comet连接关联的套接字的关闭. (市场)
fix 使用HTTP或AJP NIO连接器时,请确保不会吞下java.lang.VirtualMachineError . (市场)
fix 55399: Use the response locale to select the language to use for the status message in the HTTP response. (markt)
update 重构连接器以支持新的JSR-356 Java WebSocket 1.0实现. 最明显的变化是AJP APR / native和HTTP APR / native连接器不再支持多个轮询线程. 现在,两个连接器都使用单个轮询线程. (市场)
fix 在内部,内容长度管理为long . 在AJP连接器中的几个局限于int位置上修复几个位置. (市场)
fix 55453 :确保AJP连接器不允许将响应主体包含在状态代码和/或请求方法不允许的响应主体中. (市场)
fix 55500 :使用AJP NIO连接器时,请不要忽略异步上下文超时的值. (市场)
fix 修复CVE-2013-4286:对于内容长度标头,更好地遵守RFC2616. (市场)
fix 修复CVE-2013-4322:添加了对使用分块编码时限制分块扩展大小的支持. (市场)
fix 将APR /本机连接器更新为1.1.28版. 将其设为最低可接受版本,因为使用APR /本机HTTP连接器时,JSR-356 WebSocket实现的正确行为取决于1.1.28版本中的错误修复. (市场)
Jasper
fix 55198 :确保在输出中正确引用包含EL和加引号的XML字符的tagx文件中的属性值. (市场)
fix 确保当提供的类为null时, javax.el.ELContext.getContext(Class)将引发NullPointerException . (紫罗兰色)
fix 确保将使用正确的shortDescription空字符串和命名属性ELResolver.RESOLVABLE_AT_DESIGN_TIME -true创建由javax.el.MapELResolver.getFeatureDescriptors(ELContext,Object)返回的FeatureDescriptor对象. (紫罗兰色)
fix 确保将使用正确的shortDescription空字符串创建由javax.el.ResourceBundleELResolver.getFeatureDescriptors(ELContext,Object)返回的FeatureDescriptor对象. 如果基础对象是ResourceBundle的实例,则javax.el.ResourceBundleELResolver.isReadOnly(ELContext,Object,Object)返回true. (紫罗兰色)
fix 55207 :强制执行以下限制:<jsp:text>元素不得包含任何名称空间中的任何子元素. Jeremy Boynes提供的补丁. (市场)
fix 确保javax.el.ListELResolver.getFeatureDescriptors(ELContext,Object)始终返回null. 当无法将属性强制转换为整数时javax.el.ListELResolver.isReadOnly(ELContext,Object,Object)将返回结果. (紫罗兰色)
fix 确保javax.el.ArrayELResolver.getFeatureDescriptors(ELContext,Object)始终返回null. 当无法将属性强制转换为整数时, javax.el.ArrayELResolver.isReadOnly(ELContext,Object,Object)javax.el.ArrayELResolver.getType(ELContext,Object,Object)将返回结果. (紫罗兰色)
fix 55309 :修复了JSP编译和标签插件管理器的并发问题. Sheldon Shao提供的补丁. (市场)
fix 确保当提供的上下文为null时, javax.el.BeanELResolver.getFeatureDescriptors(ELContext,Object)javax.el.BeanELResolver.getCommonPropertyType(ELContext,Object)不会引发NullPointerException . (紫罗兰色)
Cluster
add 添加新属性TerminateOnStartFailure. 如果您希望在复制映射启动失败时终止复制映射,请设置为true. 如果复制映射终止,则关联的上下文将无法启动. 如果将此属性设置为false,则复制映射不会结束. 它将尝试在心跳中加入地图成员. 默认值为false. (kfujino)
fix 发送心跳时避免ConcurrentModificationException. (kfujino)
fix 通道启动失败时,请避免使用NPE. (kfujino)
fix 55301 :修复了McastService的简单测试引发的IllegalArgumentException . (kfujino)
fix 55332 :修复NPE在FileMessageFactory.main时指定空文件作为参数. (kfujino)
fix MessageDispatch15Interceptor更确定的线程名称. (kfujino)
Web applications
update 从AJP NIO连接器文档中除去实验标签. (市场)
fix 正确地将默认资源包与英语语言环境相关联,以便在法语,西班牙语或日语之前指定英语的接受语言的请求将获得他们要求的英语消息. (市场)
fix 55469 :修复了未正确关闭的标签. 基于Larry Shatzer,jr.提供的补丁. (紫罗兰色)
update 示例Web应用程序中的WebSocket示例已更改为使用新的JSR-356 Java WebSocket 1.0实现. (市场)
addorg.apache.catalina.tribes.group.GroupChannel添加文档. (kfujino)
fix Tomcat文档的"正确领域组件"页面. (紫罗兰色)
jdbc-pool
fix 54693 :添加validationQueryTimeout属性. Daniel Mikusa提供的补丁. (kfujino)
fix 54693#c6: Avoid NPE caused by createConnection() method returns null. Patch provided by Daniel Mikusa. (kfujino)
fix 55342 :删除不必要的中断标志复位. 如果抛出InterruptedException ,则中断标志已被清除. (kfujino)
fix 55343 :添加标志以在初始化池时忽略连接创建的异常. (kfujino)
fix 将未定义的属性和操作添加到mbeans-descriptor. (kfujino)
Other
add 45428 :如果Tomcat无法及时停止以帮助诊断,则触发写入标准输出的线程转储. 仅在使用catalina.sh平台上可用. (市场)
fix 55204 :在Servlet 2.4测试Web应用程序中使用的正确名称空间. Jeremy Boynes提供的补丁. (市场)
fix 55205 :重新排序元素,以便web.xml符合Servlet 3.0测试Web应用程序的架构. Jeremy Boynes提供的补丁. (市场)
fix 55211 :在测试Web应用程序中使用的TLD文件中的正确名称空间. 将元素tagclass重命名为tag-class以便TLD文件符合DTD / schema. Jeremy Boynes提供的补丁. (紫罗兰色)
update 将程序包的重命名版本Commons BCEL更新为Commons BCEL中继中的最新代码. (市场)
update 将Commons FileUpload的程序包重命名版本更新为Commons FileUpload中继的最新代码. (市场)
fix 55297 :查找jsvc可执行文件时,如果未设置显式路径并且在$ CATALINA_BASE中找不到该路径,则也请在$ CATALINA_HOME中查找. (市场)
fix 55336 :正确地转义在catalina.sh脚本中传递给eval的参数,以确保将Tomcat安装在包含多个连续空格的路径上时启动. (市场)
Tomcat 7.0.42 (markt)发行于2013-07-05
Catalina
fix 强制执行Servlet 3.0规范第4.4节中描述的限制,该限制要求新的可插入性方法仅可用于以指定方式之一定义的ServletContextListener . (市场)
fix 当以未经身份验证的用户身份请求资源时,更好地处理FORM身份验证,该资源仅受不包含GET的HTTP方法子集的保护. (市场)
fix 53777 :添加了对JAAS Realm实例的支持,以使用专用配置而不是JVM全局JAAS配置. 这对于每个Web应用程序JAAS Realms很有用. 基于eolivelli的补丁. (市场)
fix 54745 :修复了通过Java Web Start部署Tomcat时JAR文件扫描的问题. 尼克·威廉姆斯提供的补丁. (市场)
add 55017 :添加了使用JMX远程生命周期侦听器时配置RMI绑定地址的功能. Alexey Noskov提供的补丁. (市场)
fix 55071 :如果JDBC Realm无法读取用户的凭据,请确保报告了原始异常. (市场)
fix 550735510855109551105515855159 :小的性能提升. Adrian Nistor提供的补丁. (markt / violetagg)
add 55102 :在AccessLogValve的第一个字节中增加了对时间的支持. Jeremy Boynes提供的补丁. (市场)
fix 55125 :如果服务器容器无法启动,请不要启动Catalina包装器(用于从命令行运行和作为服务运行时使用),因为Tomcat无法执行任何有用的工作. (市场)
fix 更新JreMemoryLeakPreventionListener以考虑Java 7中java.beans.Introspector.flushCaches()sun.awt.AppContext.getAppContext()的行为变化.
fix 避免在Tomcat关闭时发出Users:type=UserDatabase,database=UserDatabase警告日志消息. (佩罗)
fix 在异步周期中调用异步调度时应避免ClassCastException ,该异步调度是通过调用ServletRequest.startAsync(ServletRequest,ServletResponse) ,其中ServletRequest / ServletResponse是自定义实现. (紫罗兰色)
fix 纠正在7.0.39中引入的回归(基于base 64的编码和解码的重构),该回归在设置userPassword并用MD5或SHA1哈希密码时破坏了JNDI领域. (市场/ kkolinko)
fixAsyncContext.dispatch()更正路径计算的机制. (紫罗兰色)
fix 55155 :在OSX上以Java 6运行Tomcat单元测试时,请避免持续抓焦点. 凯西·卢卡斯(Casey Lucas)提供的补丁. (市场)
fix 55160: Don't ignore connectionUploadTimeout setting when using HTTP NIO connector. (markt)
fix 55176 :正确处理包含等号的SSI表达式中的正则表达式. (市场)
Coyote
fix 55177 :正确处理BIO HTTP连接器的infinite soTimeout. 基于Nick Bunn的补丁. (市场)
fix 55180 :当正确处理无限soTimeout disableUploadTimeout设置为false. 尼克·邦恩(Nick Bunn)提供的补丁. (紫罗兰色)
Cluster
fix 删除无效的FileMessageFactory时,从tempDir中删除剩余的war文件. (kfujino)
fixkeepAliveCount / keepAliveTime设置为大于0的值时,请确保NioSender的keepAlive正常工作.(kfujino)
add 添加成员无法加入集群时的日志记录. (kfujino)
fix 将Tribes的TaskQueue替换为执行者的workQueue,以确保执行者的maxThread正常工作. (kfujino)
fix 54086 :修复了一个额外的代码路径,该路径可能导致多个线程尝试修改同一选择器键集. (市场)
Web applications
add 完成MessageDispatch15Interceptor的文档. (kfujino)
add 53655 :记录在何种情况下Tomcat将向通过JNDI资源创建的邮件会话添加javax.mail.Authenticator . (市场)
fix 55179 :更正远程IP阀门的Javadoc,以便使用正确的名称来引用proxiesHeader属性. (市场)
jdbc-pool
fix 55031 :修复了Export-Package标头,并在MANIFEST.MF中uses伪指令. 在Import-Package标头中将org.apache.juli.logging包的版本更改为" 0". 因此,可以使用该软件包的任何版本. Martin Lichtin提供的补丁. (紫罗兰色)
Other
update 用于在构建时下载依赖项的更新Maven Central位置为repo.maven.apache.org . (kkolinko)
update 将JUnit更新到版本4.11. 为Hamcrest 1.3核心库配置单独的下载,因为junit.jar中不再包含其类. (kkolinko)
fix 54013 :使用强制停止时,请等待一小段时间(5s),使过程终止,然后再返回. mukarram.baig提供的补丁. (市场)
fix 55119 :确保构建过程生成的Javadoc不易受CVE-2013-1571的攻击. 基于Uwe Schindler的补丁. (市场)
Tomcat 7.0.41 (markt)发行于2013-06-10
Catalina
fix 54703: Make parsing of HTTP Content-Type headers tolerant of any CR or LF characters that appear in the value passed by the application. Also fix some whitespace parsing issues identified by the additional test cases. (markt)
fix 从未扩展的WAR文件读取context.xml文件时,防止可能的WAR文件锁定. 请注意,在正常使用中, JreMemoryLeakPreventionListener可以防止这种情况. (市场)
fix 确保在为主机运行自动部署时,它将对copyXML,deployXML和unpackWARs使用最新值. (市场)
fix 54939 :当HTTP标头解析失败(例如,超过maxHeaderCount)时,提供日志记录(使用UserDataHelper). (市场)
add 54944 :增强了FORM身份验证的单元测试. Brian Burch提供的补丁. (市场)
fix 54955 :执行应用程序的重新加载时,请确保对上下文根的后续请求不会导致404响应. (紫罗兰色)
fix 54971 :通过javax.servlet.http.Part.write(String)写入文件时,请确保使用正确的位置. (市场)
fix 54974 :如果从其获取此SessionCookieConfigServletContext已被初始化,请确保SessionCookieConfig#set<methods>将引发IllegalStateException . (紫罗兰色)
fix 54981 :确保当web.xml / web-fragment.xml没有提供jsp配置时, ServletContext#getJspConfigDescriptor()将返回null . (紫罗兰色)
fix Ensure that when Tomcat's anti-resource locking features are used that the temporary copy of the web application and not the original is removed when the web application stops. (markt)
fix 54984 :即使未解析请求参数,在处理作为multipart / form-data发布的表单数据时也使用正确的编码. (紫罗兰色)
fix 54999 :使用SSO且单个请求中发生logout()和login()时,需要删除旧的JSESSIONIDSSO. 由Keith Mashinter提供的补丁. (市场)
add 55035 :将对版本属性的支持添加到Ant任务的deploy命令中,以便与基于文本的Manager应用程序进行接口连接. Sergey Tcherednichenko提供的补丁. (市场)
add 55046 :添加一个实现CORS的Servlet过滤器. Mohit Soni提供的补丁. (市场)
add 55052 :如果找不到带有前缀的属性,JULI的LogManager现在还会查找不带前缀的日志记录属性. (市场)
fix 确保仅执行给定异步周期的第一个异步调度操作. 同一异步周期的所有后续异步调度操作都将被忽略,并IllegalStateException . (紫罗兰色)
Coyote
fix 54947 :修复了如果终止请求行的CRLF被拆分为多个数据包,则HTTP NIO连接器会错误地拒绝请求. KonstantinPreißer的补丁. (市场)
Jasper
fix 54964 :允许将标记插件与Web应用程序打包在一起. Sheldon Shao提供的补丁. (市场)
fix 54968 :在调用javax.servlet.jsp.JspEngineInfo#getSpecificationVersion()时,返回JSP引擎支持的JSP规范的正确版本号(2.2). (紫罗兰色)
Cluster
add 添加maxValidTime属性以防止FileMessageFactoryFarmWarDeployer泄漏. (kfujino)
code 简化ReplicationValve的代码:使用实例变量,而不是在每次请求时从容器中获取群集实例. (kfujino)
add 添加maxWait属性,当没有可用的发件人时,senderPool将等待. (kfujino)
add 如果未能检索到数据发送者,则通过包括指定的超时来改进错误消息. (kfujino)
add 添加removeSuspectsTimeout属性以删除TcpFailureDetector中的可疑节点. (kfujino)
Web applications
fix 54931 :将有关安装和运行多个实例的信息添加到Window Service方法中. 基于Chris Derham的补丁. (市场)
fix 54932 :更正指向部落文档的链接. (紫罗兰色)
addoactribes.group.interceptors.TcpFailureDetector添加文档. (kfujino)
Tomcat 7.0.40 (markt)发行日期2013-05-09
Catalina
update 将Tomcat的Commons FileUpload内部副本更新为FileUpload 1.3. (市场)
fix 54178 ,CVE-2013-2071:防止AsyncListener实现对事件做出响应而抛出RuntimeException . (市场)
fix 54791 :还原jarsToSkip属性中的tools.jar条目,以防止从Eclipse运行Tomcat时出现警告. (市场)
fix 54851 :在扫描Web片段时,没有任何web-fragment.xml的目录不应影响可分发元素的状态. Trask Stalnaker提供的补丁. (紫罗兰色)
fix 当在发送WebSocket消息期间发生错误时,请通知入站(发生应用程序做出响应的所有事件),该错误已经发生并且连接正在关闭. (市场)
fix 54906 :如果在Web应用程序停止时检查内存泄漏时发生ConcurrentModificationException则会出现更好的错误消息. 另外,请确保该异常不会导致跳过其余检查. 基于NateC的补丁.
fix 允许204响应(无内容)包括RFC2616要求的实体标头. (市场)
Coyote
fix 在将HTTP升级与APR / native连接器一起使用时,请确保写入错误导致IOException而不是错误地将错误吞没. (市场)
Jasper
fix 54802 :提供有关JspDocumentParser引发的异常的位置信息. (kkolinko)
fix 54801 :请勿尝试在JSP文档中的scriptlet中解析看起来像EL表达式的文本,因为scriptlet中不允许EL表达式. (kkolinko /市场)
fix 54821 :如果禁用了EL表达式,请不要尝试解析JSP文档中看起来像EL表达式的文本. (kkolinko /市场)
fix 54888 :使用ForEach标签插件添加对CSV列表的支持. Sheldon Shao提供的补丁. (市场)
Cluster
fix 为FarmWarDeployer添加了一些改进. (kfujino)
Web applications
fix 54872 :Tomcat文档的"正确的Cluster Receiver"页面. (紫罗兰色)
jdbc-pool
update 文档StatementCache拦截器. (kkolinko)
fix 修复ConnectionPool次线程问题. (市场/ kkolinko)
fix 54732 :修复了StatementCache拦截器中的StatementCache泄漏. (kkolinko)
fix 运行TestSlowQueryReport测试时,修复SlowQueryReportJmx NPE. (kkolinko)
Other
update 更新到Eclipse JDT Compiler 4.2.2. (kkolinko)
update 54890 :更新到Apache Commons Daemon 1.0.15. (土耳其人)
update Convert remaining unit tests to JUnit 4 and enable Checkstyle rule that forbids use of methods from JUnit 3. (markt/kkolinko)
fixcatalina.policy文件中删除不需要的权限以读取UserDataHelper属性. 需要这些的类已在7.0.26中移动. (kkolinko)
Tomcat 7.0.39 (markt)发行于2013-03-26
Catalina
fix 当Web应用程序由于处理ServletContainerInitializer出错而无法启动时,请确保生成日志消息. (市场)
fix 当引导类加载器不是Web应用程序类加载器的祖先(例如OSGi环境)的环境中运行时,请阻止JAR扫描中的NPE. (紫罗兰色)
fix 如果对UEncoder#encodeURL进行了调用,请确保正确清理了所有内部结构. (紫罗兰色)
add 54660 :在使用访问日志时,启用对访问日志的fileDateFormat属性的修改. 更改将在对访问日志进行下一个输入时生效. (市场)
update 将Tomcat的Commons FileUpload内部副本更新为FileUpload干线,修订1458500以及从Commons IO到2.4的关联解压缩. (市场)
fix 54702 :防止文件描述符泄漏并确保在解析Web应用程序部署描述符时关闭文件. (紫罗兰色)
fix 54707 :进一步放松DIGEST身份验证标头的解析,以允许有错误的客户端引用不应该引用RFC2617状态的值. (市场/ kkolinko)
fix Enable support for MBeans with multiple operations with the same name but different signatures. (markt)
code 弃用Tomcat内部的Base 64编码器/解码器,并切换到使用Commons Codec实现的程序包重命名副本. (市场)
fix 在扫描类加载器层次结构时,请确保StandardJarScanner#scan将使用提供的类加载器. (紫罗兰色)
Coyote
fix 54690 :修复了由先前针对54406的修复引起的回归. 如果未为sslEnabledProtocols或密码指定任何值,请使用服务器套接字的默认值,而不是客户端套接字的默认值. (市场)
Web applications
update 更正Tomcat文档的Deployer,Manager和Context页面. (kkolinko)
jdbc-pool
fix 52318 :导入的软件包org.apache.juli.logging版本已扩展为也包括7.0.x版本. 该修补程序仅在OSGi环境中运行时适用. Martin Lichtin提供的补丁. (紫罗兰色)
fix 54599: Do not print connection password in PoolProperties.toString(). Based on a patch by Daniel Mikusa. (kkolinko)
fix 54684 :将javax.naming.spi添加到MANIFEST.MF中的Import-Package头中,以便在OSGi环境中运行时解析ClassNotFoundException . (紫罗兰色)
Other
fix 更新到Apache Commons Daemon 1.0.14以解决54609 ,这意味着Windows服务的安装可能无法生成不正确的服务启动命令. (土耳其人)
fix 当请求的资源使用Writer时,确保HEAD请求返回正确的内容长度. 尼克·威廉姆斯的补丁. (市场)
Tomcat 7.0.38 (markt)未发布
Catalina
fix 确保为HTTP NIO连接器正确记录了请求开始时间(由访问日志阀用于计算请求处理时间). 在某些情况下,请求处理时间可能比记录的时间更长. (市场)
update 将JDK 7中的另一个库添加到catalina.properties文件中的jarsToSkip属性的值. (kkolinko)
add 53871 :如果注释扫描由于类依赖关系损坏而导致StackOverflowError ,则将触发异常的类层次结构添加到错误消息中. (市场)
add 在标准JarScanner实现中添加一个新选项( scanBootstrapClassPath ),以控制是否扫描引导程序类路径. 默认情况下,将不对其进行扫描. (市场)
update 在webapp MBean中提供更多整合的servlet MBean数据. (荣)
fix 54584 :构建Web应用程序类路径以传递给JSP编译器时,请考虑委托属性. (市场)
fix 从Tomcat 8.0.x复制更新并重新打包的UTF-8解码器,并将此改进的解码器用于WebSocket连接. 删除特定于WebSocket的UTF-8解码器. (市场)
fix 54602 :回收请求之间用于URI的字节到字符转换器,以确保一个请求中的错误不会触发下一个请求中的失败. (市场)
fix 使用新添加的改进的UTF-8解码器来解码UTF-8编码的URI和UTF-8编码的请求主体. 无效的UTF-8 URI不会导致错误,但是在检测到错误时将使用替换字符. 这将允许Web应用程序处理最有可能导致404响应的URI. 如果UTF-8解码失败,则使用utf-8解码的后备功能已被删除. 请求正文中无效的UTF-8序列将触发IOException. 解码器的使用方式也得到了改进. 值得注意的变化是,输入末尾的无效序列现在会触发错误,而不是被静默吞下. (市场)
fix 54624 :确保在还原原始请求之前,在进行FORM身份验证之后吞下请求正文时,请使用正确的请求正文长度,以防止在还原通过AJP提交的POST请求时可能挂起. (市场)
fix 54628 :编写二进制WebSocket消息时,是从数组的起始位置而不是数组的起始位置开始写的. 由blee提供的补丁. (市场)
Coyote
code 使用NIO API重构char编码/解码. (雷姆)
Web applications
fix 54203 :完成javax.servlet.http.Part的Javadoc. (市场)
fix 54638 :当页面以XML呈现时,修复了在Manager Web应用程序状态页上显示内存池"已用"内存值的问题. (kkolinko)
fix 在Tomcat文档的" SSL配置"页面上的配置样本中更正拼写错误. (kkolinko)
update 在Tomcat文档的Changelog页面上禁用对注释的支持. (kkolinko)
fix 修复Manager Web应用程序中status.xsd模式的几个问题,并根据StatusTransformer类的实际输出对其进行测试. (kkolinko)
fix 澄清有关如何为Web应用程序配置上下文路径的文档. (市场)
Other
update 54601 :将catalina.sh更改为始终使用LOGGING_MANAGER变量来配置日志记录,而不是修改JAVA_OPTS . (kkolinko)
Tomcat 7.0.37 (markt)发行日期2013-02-18
Catalina
fix 54521 :确保需要DIGEST身份验证质询的并发请求接收不同的现时值. (市场)
fix 54534: Ensure that, if a call to StandardWrapper#isSingleThreadModel() triggers the loading of a Servlet, the correct class loader is used. (markt)
fix 54536 :如果在调用HttpServletResponse#sendError(int, String)时使用了自定义HTTP状态代码,请确保显示默认错误页面. (市场)
Coyote
fix 54456 :确保如果客户端在发送分块的请求正文时中止请求,则该请求将正确传达给读取请求正文的客户端. (市场)
update 将APR /本机连接器的本机组件更新为1.1.27,并将该版本作为推荐的最低版本. (市场)
Jasper
add 54239 :使Web应用程序能够提供自己的表达式语言解释器,以使它们能够优化表达式的处理. 基于Sheldon Shao的补丁. (市场)
Web applications
add 54505 :创建从JNDI How-To到Tomcat特定选项的更清晰链接,以配置JNDI资源. (市场)
Other
update 更新到Apache Commons Daemon 1.0.13. (市场)
Tomcat 7.0.36 (markt)未发布
Catalina
fix 为HTTP DIGEST身份验证的错误客户端实现留出更多余地. 这是54060的后续. (市场)
fix 54438 :修复了针对52953的回归问题,该回归问题在使用摘要的密码并对领域中不存在的用户进行身份验证尝试时触发了NPE. (市场)
fix 54448 :正确处理基元上的@Resource批注. Violeta Georgieva提供的补丁. (市场)
fix 54450 :当部分servlet属性使用@Resource而另一部分使用injection-target时,可以正确处理资源注入. Violeta Georgieva提供的补丁. (市场)
fix 54458 :在DataSourceRealm中记录错误时包括异常. Violeta Georgieva提供的补丁. (市场)
fix 54483 :更正其中一种西班牙语翻译. 根据adinamita的建议. (市场)
fix 停止或重新加载Web应用程序时,防止SSO注销. 当StandardManager(pathname ="")或DeltaManager正常停止时,上下文中的所有会话都将过期. 在这种情况下,由于大多数会话没有超时,因此触发了SSO注销. (kfujino)
fix 如果context.xml文件的解析失败,则在日志消息中包括异常. (市场/ kkolinko)
fix 54497 :使内存泄漏检测代码更健壮,因此泄漏检测代码失败不会阻止Context停止,除非该错误对JVM致命. (市场)
fix 54507 :在Web应用程序完全启动之前,请勿启动用于终止会话(除其他事项外)的后台线程. Web应用程序停止后,立即停止后台线程. (市场)
fix 允许在分段消息的片段之间发送WebSocket Ping / Pong消息. (市场)
fix 54612 :在尝试向套接字写入WebSocket消息之前,请先检查套接字是否已关闭. 另外,在关闭套接字之前,请刷新所有部分缓冲的数据. (市场)
Coyote
fix 54324 :如果OpenSSL支持,则允许APR连接器禁用TLS压缩. (舒尔茨)
fix 54406 :修复了NIO HTTPS连接器,以将指定的cipherssslEnableProtocols选项修剪为SSL实现所支持的ciphers并与BIO连接器共享逻辑. 当不支持任何指定的选项时,修改密码和sslEnabledProtocols选项修剪将不以静默方式还原为JVM默认值-新行为是警告并明确启用任何选项. (定时)
fix 将NIO HTTP连接器与其他HTTP连接器对齐,并在确定HTTP标头的大小时包括前导空白行. (市场)
Jasper
fix 53869 :具有大量高度嵌套标签的页面的性能改进. 保留对根JSP上下文的引用,而不是在每次调用时都遍历层次结构. 基于Sheldon Shao建议的补丁. (市场)
fix 54440 :更正了因54240的更改而导致的回归,该回归使使用JspC的JSP编译中断. Sheldon Shao提供的补丁. (市场)
fix 54466 :当无法编译从标记文件生成的Java文件时,通过包含文件名来改进错误消息. 基于Sheldon Shao的补丁. (市场)
Cluster
fix 修复counterSend_EVT_SESSION_EXPIREDcounterSend_EVT_CHANGE_SESSION_ID错误增量. 如果群集组中没有活动的成员,则这些值不会增加. (kfujino)
fix 54476 :GroupChannel发送方法的Javadoc中的错误更正,使制造商清楚目标成员数组的最小长度为1,而不是2. (市场)
fix 在群集环境中正常关闭节点时,防止SSO注销. (kfujino)
fix 在ClusterSingleSignOn中发送复制消息之前,请检查集群成员. (kfujino)
Web applications
fix 54461 :在Jasper操作方法中改进了有关编译器属性的文档. (市场)
add 将Jespa添加到第三方Windows身份验证提供程序列表中,并在文档中将这些提供程序的外部链接设置为" no-follow . (市场)
Tribes
fix 54496 :不要在MemberImpl.toString()使用硬编码的类名. (市场)
Other
update 更新到Apache Commons Daemon 1.0.12. (市场)
Tomcat 7.0.35 (markt)发行于2013-01-16
Catalina
fix 54247 :作为服务运行时,防止ClassNotFoundException停止. (市场)
fix 54249 :当上下文路径包含编码字符(例如空格)时,确保资源属性可用. 这触发了Jasper中的编译问题. Polina Genova提供的补丁. (市场)
fix 54256 :通过在异常中包含JAR文件的名称,改进了JAR文件扩展名验证失败时的错误报告. (市场)
fix 即使过滤器在调用它们的destroy()方法时引发异常,也可以使Web应用程序彻底停止. (市场/ kkolinko)
fix 修复在使用SecurityManager运行时servlet实例的内存泄漏,并且init()或destroy()方法失败或servlet是SingleThreadModel的情况. (kkolinko)
code SecurityUtil类中的清除方法缓存查找代码. (kkolinko)
add 使Tomcat 7的非JSR356 WebSocket实现在HTTP升级和从客户端到服务器的第一个WebSocket消息之间实现非阻塞(受连接器支持). (市场)
fix 54262 :确保主web.xml文件中的<absolute-ordering />元素为空会禁用对Web片段的扫描. 基于Violeta Georgieva的补丁. (市场)
fix 54284 :根据Servlet EG的说明,不允许使用匿名过滤器和Servlet. Violeta Georgieva的补丁. (市场)
fix 54371 :当上下文路径包含需要在URL中进行编码的字符(例如空格)时,请在处理未扩展的WAR文件的Web片段时防止异常. 基于Polina Genova的补丁. (市场)
add 54372 :使HTTP Digest身份验证标头能够解析已知的错误客户端发送的无效标头. (市场)
fix 54377 :在RemoteIpFilter中正确设置AccessLog的请求属性. Violeta Georgieva的补丁. (市场)
fix 54379 :在web.xml中实现对构造后和破坏前元素的支持. Violeta Georgieva的补丁. (市场)
fix 54380 :不要尝试将servlet或上下文注册到映射器中太早(这只会导致记录警告). (kkolinko)
fix 在启动失败后调用WebappLoader.stopInternal时,修复WebappLoader.stopInternal NPE. (kkolinko)
add 54381 :添加了对接收WebSocket pong消息的支持. (市场)
fix 54382 :修复了启用SSI处理且存在空SSI指令时的NPE. (市场)
fix 解析不正确的HTTP标头时,修复HttpParser ArrayIndexOutOfBoundsException . (kkolinko)
fix 54387 :当多个servlet映射到同一url模式时,部署必须失败. (市场)
fix 54391 :为javax.servlet.context.orderedLibs属性提供一个值. (市场)
Coyote
fix 54248 :使用阅读器读取具有BOM的请求正文时,请确保吞下字节顺序标记,这些编码要求字节顺序标记. (市场)
fix 修复AjpNioProtocol的处理器AjpNioProtocol . 错误的对象被用作连接映射中的键. (kkolinko)
Jasper
add 54240 :添加了对自动检测和配置提供标签插件实现的类路径上的JAR的支持. 基于Sheldon Shao的补丁. (市场)
fix 54241 :还原针对35410的修复程序,因为它不符合JSP规范,特别是必须将<%= obj %>转换为out.print(obj) ,后者又变成out.write(String.valueOf(obj)) . 如果obj.toString()返回null则将触发NullPointerException . 在这种情况下,针对35410的修复程序错误地禁止了NullPointerException . (市场)
fix 54242 :使用JSTL ForEach标签插件实现中的正确处理空迭代. Sheldon Shao提供的补丁. (市场)
fix 54260 :使用JSP卸载和标记文件时,请避免NullPointerException . (市场)
fix 54370 :在尝试将参数集与EL中的方法匹配时,改进了对空值的处理. (市场)
fix 54338 :将标记插件用于JSTL set标签时,将值正确强制为所需类型. Sheldon Shao提供的补丁. (市场)
Web applications
fix 54244 :澄清文档Web应用程序中BIO和NIO SSL配置属性sslEnabledProtocolssslProtocol的文档. (市场)
add 将Tomcat 7的文档与Apache Comments System集成在一起. 人们可以在tomcat.apache.org网站上在线阅读文档时发表意见. (荣)
Other
fix 54390 :在Mac OS X上使用" java_home"来自动检测JAVA_HOME. (舒尔茨)
Tomcat 7.0.34 (markt)发行于2012-12-12
Catalina
fix 53871 :如果由于配置不正确或使用应用程序的类的非法循环继承而在Web应用程序启动期间注释扫描失败,则改进了错误消息. (市场)
fix 使用非GMT时区时,修复AccessLogValve的单元测试. (荣)
fix 54170 :如果过滤器或Servlet名称包含在ObjectName值中使用的引号,则确保在JMX注册表中正确注册过滤器和Servlet. (市场)
add 新属性添加renameOnRotate到AccessLogValve. (荣)
fix 54190 :针对BASIC身份验证的正确单元测试,以便正确测试会话超时. 还可以重构单元测试,以使其更容易添加其他测试. Brian Burch的补丁. (市场)
fix 54220 :确保只有在响应上设置了错误标志时,ErrorReportValve才会生成错误报告. (市场)
fix 简化访问日志阀中的时区处理,并针对非标准DST更改正确处理各种边缘情况. (市场)
Web applications
fix 54198 :澄清默认情况下HttpServletResponse.sendError(int)导致HTML响应. (市场)
fix 54207 :在Javadoc中将org.apache.naming.java.javaURLContextFactory JNDI工厂包名称正确. (市场)
jdbc-pool
code 修复了JDBC池源代码中的少数Eclipse警告,包括53565中报告的警告. (市场)
fix 54150 :确保在Webapp关闭期间已注销SlowQueryReportJmx mbean. 亚历克斯·弗兰肯报道. (kfujino)
fix 54194 :当jmxEnabled为false时,请确保未注册连接池mbean. 由tobias.gierke提供的补丁. (kfujino)
Other
update 更新到Eclipse JDT Compiler 4.2.1. (市场)
Tomcat 7.0.33 (markt)发行于2012-11-21
Catalina
add 5396054115 :扩展到HttpClient的测试辅助类. Brian Burch的补丁. (市场/ kkolinko)
fix 53993 :记录会话ID并使会话无效时,避免在AccessLogValve中使用可能的NPE. (市场)
fix 将对LAST_ACCESS_AT_START系统属性的支持添加到PersistentManager. (kfujino)
add 使用来自Apache Web服务器的其他/更新的mime.types更新MIME类型映射. (市场)
fix 54007 :修复了导致无法删除与部署失败的上下文关联的context.xml文件的内存泄漏. 修复泄漏并可以删除文件后,还可以通过取消部署此类Context来解决发现的问题. (市场)
fix 54044 :更正了日志记录(包括访问日志阀)使用的时间戳缓存中的错误,该错误意味着可以使用比真实时间戳更早的时间戳进行输入. (市场)
fix 54054 :请勿在CGI Servlet的多个实例之间共享外壳环境变量. (市场)
fix 54060 :使用简单的解析器而不是正则表达式来解析HTTP Digest身份验证标头,以便正确分析标头. 新方法也更快并且产生更少的垃圾. (市场)
fix 54068 :重写Web片段排序算法,以解决导致排序错误或找不到正确有效订单的多个问题. (市场)
update 已删除添加到地址52811的HTTP标头解析器,并替换为为地址54060创建的轻量级HTTP标头解析器. 新的解析器包括针对Microsoft Internet Explorer的Adobe Acrobat Reader 9.x插件中的错误的变通办法,该错误在引入旧解析器时被确定( 53814 ).
fix 54076 :为使用SPNEGO身份验证并希望每个连接都缓存已身份验证的用户的客户端添加替代解决方法(Tomcat仅在HTTP会话可用时才这样做). (市场)
fix 54087 :正确处理(忽略)无效的If-Modified-Since标头,而不是引发异常. (市场)
fix 54096 :在web.xml中,<env-entry>应该接受任何具有采用单个String或char的构造函数的类型. (市场)
add 54127 :添加了对发送WebSocket Ping的支持. 补丁由Sean Winterberger提供. (市场)
fix 修复CVE-2013-2067:在FormAuthenticator中:如果配置为更改会话ID,请在显示登录表单之前进行更改. (kkolinko)
fix 确保使用正确的线程上下文类加载器调用AsyncListener.timeout()AsyncListener.complete() . (fhanik)
fix 54123 :如果异步请求超时而未定义任何AsyncListener ,则会触发500错误. (市场)
fix 54124 :更正请求属性javax.servlet.async.request_uri提供的值,并添加缺少的请求属性javax.servlet.async.path_info . (市场)
adddenyStatus初始化参数添加到CsrfPreventionFilter ,允许自定义用于拒绝请求的HTTP状态代码. (kkolinko)
fix 54141 :默认情况下,嵌套领域级别的允许数量从2增加到3,并可以通过系统属性配置限制. (市场)
fix 还原在BaseDirContext中完成的BaseDirContext类中的偶然API更改. 方法不应该是final . (kkolinko)
fix 当在SecurityManager下运行并且收到的第一个请求是异步请求时,防止AccessLogValve中出现故障. (市场)
Coyote
fix 解决使用HTTP NIO连接器时无法通过SSL使用WebSocket的问题. (市场)
fix 54022 :确保在Windows Vista / 2k8或更高版本上使用APR / native断开客户端断开连接时触发Comet END事件. 道格拉斯比奇(Douglas Beachy)提供的补丁. (市场)
fix 54067: Ensure responses with 1xx response codes are correctly marked as not containing an entity body. This caused an issue for some WebSocket clients when an Transfer-Encoding header was sent with the 101 (HTTP upgrade) response. (markt)
Jasper
code 53867 :优化PageContext实现提供的XML转义. 基于Sheldon Shao的补丁. (市场)
code 53896 :对Jasper使用优化的CompositeELResolver,它会跳过已知无法解析该值的解析器. Jarek Gawor修补程序. (市场)
fix 53986 :更正了针对53713的修复程序引入的回归. 未正确解析以序列---%>(或具有奇数个-字符的任何类似序列)结尾的JSP注释. (市场)
fix 54011 :修复了<c:out>的标签插件中的错误,如果使用了escapeXml属性,该错误会触发JSP编译错误. Sheldon Shao提供的补丁. (市场)
code 跟进54011 . 简化<c:out>生成代码. 基于Sheldon Shao的补丁. (市场)
fix 54012 :修复了标签插件基础结构中的一个错误,该错误意味着<c:set>在标签文件中使用时触发了JSP编译错误. 基于Sheldon Shao提供的补丁. (市场)
code 54017 :简化String实例对Object强制转换. (市场)
fix 54144 :修复了<c:out>的标签插件中的一个错误,该错误意味着,如果将标签的值评估为java.io.Reader对象,则将无法正确处理该值. (市场)
Cluster
fix 将getSessionIdsFull操作添加到mbeans-descriptor. listSessionIdsFull不再存在. (kfujino)
fix 54086 :修复了停止NioReceiver时的线程问题. (市场)
Web applications
add 54143 :将内存池使用情况(包括PermGen)的显示添加到Manager Web应用程序的"状态"页面. (kkolinko)
Tribes
fix 54045 :当TcpFailureDetector在静态群集中工作时,请确保getMembers()返回可用成员. (kfujino)
Tomcat 7.0.32 (markt)发行于2012-10-09
Catalina
fix 还原对JMXProxyServlet多种操作支持,有待进一步讨论. (舒尔茨)
fix CVE-2012-4431:修复了没有会话时绕过CsrfPreventionFilter . 改进过滤器中的会话管理. (kkolinko)
Web applications
fix 更正Tomcat Javadoc中几个断开的链接. (市场)
Other
update 将可选的Checkstyle库更新为5.6. (kkolinko)
Tomcat 7.0.31 (markt)未发布
Catalina
update 将JDK 7中的一个库添加到catalina.properties文件中的jarsToSkip属性的值. (kkolinko)
add 52777 :添加了一个选项,以自动删除使用并行部署部署的应用程序的旧的,未使用的版本(不再有活动会话的版本). (市场)
fix 53828 :当正常关闭WebSocket连接以响应来自客户端的关闭帧时,请使用正确的状态代码. (市场)
update JMXProxyServlet现在允许使用多个操作命令,例如invokeAndSetinvokeAndGet等.(schultz) 注意 :在7.0.32中已还原.
fix 53843request.isAsyncStarted()必须继续返回true,直到实际发生调度为止(最早直到调用startAsync()的线程返回到容器为止). (市场)
fix 53863 :确保在使用嵌入式模式时,将隐式servlet(JSP和默认值)标记为可覆盖. (市场)
fixDefaultServlet处于重负载时,添加到地址52811的HTTP标头解析器产生大量垃圾,并占用大量CPU时间. 添加了一个缓存,可以大大减少此解析器的开销. (市场)
fix 53854 :使用别名时,使目录列表正常工作. (市场)
Jasper
code 53713 :JSP页面的解析性能提高了多达四倍. Sheldon Shao提供的补丁. (市场)
Cluster
add 使集群成员和与集群关联的集群部署程序可以通过JMX访问. (市场)
fix 修复TcpPingInterceptor#useThread的行为. 如果设置为false,则永远不会启动ping线程. (kfujino)
Web applications
add 改进文档Web应用程序,以澄清使用Manager Web应用程序的文本界面时标记和版本参数之间的区别. (市场)
add 使与Manager关联的存储在Store中的会话与扩展了PersistentManagerManager可选(通过web.xml中的showProxySessions Servlet初始化参数)对Manager Web应用程序可见. (市场)
Tomcat 7.0.30 (markt)发行于2012-09-06
Catalina
fix 请求处理完成后,自动删除Servlet 3.0文件上传所使用的临时文件(对于大于web.xml中file-size-threshold选项的部分). (kkolinko)
fix 53071 :针对此问题的此附加修复程序使用ErrorReportValve改善了Jasper错误(或使用多行消息的任何异常)的ErrorReportValve . (市场)
fix 53469 :如果无法将传递给javax.servlet.http.HttpServletResponse.encodeURL()的URL设为绝对,则请不要对其进行编码并保持不变. 以前,针对53062的修复意味着抛出了IllegalArgumentException . (市场)
fix 53481 :添加了对SSLHonorCipherOrder的支持,以允许服务器将其密码顺序强加给客户端. 基于MarcelŠebek提供的补丁. 此功能需要Tomcat Native 1.1.25或更高版本. (舒尔茨)
fix 53498 :修复了使用并发集合的原子性错误. 基于Yu Lin的补丁. (市场)
fix 改正先前版本中针对53062的回归,该回归在重定向URL包含查询字符串或片段组件时并不总是正确地规范化重定向URL. (市场)
fix 为JNDI Realm上的roleSearchAsUser选项添加缺少的getter和setter. (市场)
update 添加一些在IANA上注册的HTTP状态代码. (荣)
fix 53531 :修复ExpandWar.expand以检查File.mkdir和File.mkdirs的返回值. (舒尔茨)
fix 53535 :在上下文启动时执行类扫描时,减少了内存占用. Cedomir Igaly提供的补丁. (市场)
fix 53541 :修复了通过VirtualDirContext提供WEB-INF / lib时的JAR扫描. Philip Zuev提供的补丁. (市场)
fix 53574 :确保当metadata-complete为true时,使用jsp-file定义的Servlet可用. (市场)
fix 53584 :在比较URI以进行FORM身份验证时忽略路径参数. 这样可以防止在将会话ID编码为路径参数时登录时提示用户两次输入密码. (市场)
fix 53623 :在一系列转发之后执行异步调度时,请确保每个阶段的请求属性正确. (市场)
fix 53624 :确保在从AsyncContext分派之后调用HttpServletResponse.sendRedirect()起作用. (市场)
fix 53641 :在WebSocket握手中用于列出首选协议的HTTP标头的正确名称. (市场)
code Document the constants that were added to the RequestDispatcher interface in Servlet 3.0. (kkolinko)
fix 如果触发错误的页面设置了内容长度标头,请确保自定义错误页面不会被截断. (市场)
fix 53677 :如果HTTP标头超过大小限制,请确保返回500响应而不是没有响应. (市场)
fix 53702 :合并web.xml片段时,请允许具有多个<url-pattern>元素的<jsp-property-group> <url-pattern>元素. (市场)
add 即使metadata-complete为true,也始终使结果web.xml可用. (市场)
fix 53714 :提供单独的系统属性,以控制使用JarScanner时从哪些扫描中排除哪些JAR. 这允许将JAR从所有扫描中排除,或者仅从TLD扫描和/或Servlet 3.0可插拔性扫描中排除. (市场)
updatecatalina.properties文件的jarsToSkip属性的值中添加几个JDK库. (市场,kkolinko)
fix 在记录合并的web.xml的代码中修复错别字等(由logEffectiveWebXml上的logEffectiveWebXml选项启用). (kkolinko)
fix 53758 :通过FilterRegistration.Dynamic添加过滤器时,由于将isMatchAfter逻辑取反,所以在错误的位置添加了过滤器. (市场)
fix 53783 :正确处理由未为目录创建特定条目的工具生成的JAR. Violeta Georgieva提供的补丁. (市场)
fix DIGEST身份验证器的改进包括默认情况下在会话中禁用对已验证用户的缓存,跟踪服务器而不是客户端随机数以及更好地处理陈旧的随机数. (市场)
fix 提高DIGEST身份验证器对并发请求的性能. (市场)
fix CVE-2012-3546:使用FORM身份验证修复了安全性约束检查的旁路. 删除RealmBase不需要的处理. (kkolinko)
fix 53800FileDirContext.list()没有子目录提供正确的路径. 由Kevin Wooten提供的补丁. (kkolinko)
fix 53801 :重叠的URL模式有时在安全约束中被错误地合并,从而导致错误的401响应. 注意:在应该授予访问权时,可能会拒绝访问,但在应该拒绝访问权时,则不可能授予访问权. (市场)
Coyote
fix 从BIO和NIO HTTP和AJP连接器中删除socket.soTrafficClass ,因为对该选项的任何使用都会被忽略,或者在某些情况下(带有NIO的Java 7)会抛出异常. (市场)
fix 在连接器关闭期间处理Comet请求时,防止可能的NPE. (市场)
fix 42181 :在块标题处理中更好地处理边缘条件. (kkolinko)
fix 53697 :在修复了正确的回归51881这意味着,在某些情况下, comet标志不重置HttpAprProcessor实例. 当处理器重新用于新连接时,这会引发问题,这将触发NullPointerException并可能导致JVM崩溃. (市场)
fix 53725 :修复了GZIP输出的可能损坏. (市场/ kkolinko)
fix 使用分块编码可以更好地解析请求的行终止符. (市场)
fix 当连接器停止时,对Comet END事件的处理的进一步改进. (市场)
Jasper
fix 53545 :在经典自定义标记中使用jsp:forward操作时,请确保清除缓冲的数据. (市场)
fix 53654 :支持file://用于JSP依赖项的URL. Lu Viola提供的补丁. (市场)
fix 53792 :支持MethodExpression ,其中包括不在表达式末尾的方法调用. (市场)
Cluster
fix 修复了在Java 7下运行时尝试设置无效选项而Java 6默默吞下异常时抛出异常的问题. 使用该问题的选项是soTrafficClass . 调查显示,此选项对群集通道接收器无效,因此将其删除. (市场)
fix 53513 :修复了会话同步消息处理和传输完成消息之间的竞争条件. (kfujino)
Web applications
fix 在文档Web应用程序的JNDI部分中更新JSTL版本信息. (市场)
fix 53524 :更正文档Web应用程序的"群集方法"部分中的错字. 还可以解决一些拼写错误. (市场)
fix 53601 :在文档中澄清,从源代码构建Apache Tomcat 7需要Java 6 JDK. (kkolinko)
fix 53653 :在config / context.html中允许包装源代码示例. Terence Bandoian提供的补丁. (舒尔茨)
update 53793 :在Manager中将应用程序列表上的链接更改为指向'/ appname /'而不是'/ appname'. (kkolinko)
Tribes
fix 避免由org.apache.catalina.tribes.io.ReplicationStream的"查找错误"标识的潜在NPE. (市场)
fix 53606 :在修复潜在的NPE TcpPingInterceptor . 基于F. Arnoud的补丁. (市场)
fix 53607 :为避免发生NPE,请将TCP PING数据设置为ChannelMessage. F.Arnoud(kfujino)提供的补丁
Other
fix 53701 :Javadoc修复. sebb提供的补丁. (市场)
code 从已重命名的Tomcat软件包中删除一些未使用的代码,该副本是用于注释扫描的Commons BCEL的简化副本. (市场)
add 53735 :在重命名的Tomcat软件包中添加了对Java 7字节代码的支持,该副本是用于注释扫描的Commons BCEL的简化副本. (市场)
Tomcat 7.0.29 (markt)发行于2012-07-08
Catalina
add 添加对使用其他值(指定的实际DN或用户名)在JNDI / LDAP中搜索角色的支持. 而是将使用用户目录条目中的值. 引入JNDIRealm的新属性是userRoleAttribute(fhanik)
fix 使用APR连接器时,修复对推荐的tnative库版本的检查. (荣)
update 50306 :改进StuckThreadDetectionValve:将stickedThreadNames属性作为一对添加到stickedThreadIds中,将线程标识添加到日志消息中. (kkolinko)
add 52135 :通过定义仅包含嵌套位置元素的错误页面,增加了对要在web.xml中定义的默认错误页面的支持. 该功能似乎打算包含在Servlet 3.0规范中,但被意外遗漏了. (市场)
fix 53450 :修正了52999的修复中的回归问题,该回归很容易在部署ROOT Web应用程序时触发死锁. (市场)
fix 根据Servlet 3.0规范的1.6.2节以及Servlet专家组的澄清,在web.xml中声明的Servlet规范版本不再控制Tomcat是否扫描注释. 不管web.xml中声明的版本如何,现在始终执行注释扫描-除非将完成的元数据设置为true. (市场)
fix 53619 :根据Servlet专家组的澄清,无论元数据设置如何,都将始终在JAR中扫描ServletContainerInitializers. 但是,如果指定了绝对顺序,并且从该顺序中排除了JAR,则不会对其进行ServletContainerInitializers扫描,也不会对其进行任何HandleTypes注释匹配的扫描. (市场)
add 53465 :为在web.xml中定义的资源填充映射名称属性. 基于Violeta Georgieva的补丁. (市场)
add Make the request available when establishing a WebSocket connection. (markt)
fix 53467 :更正了针对53257的修补程序中的回归问题,该回归引入了JSP的问题,这些JSP使用的字符必须在URI中使用时必须进行编码. (市场)
Coyote
fix 53430 :当显式指定了需要APR /本机库的连接器并且该库或该库的最新版本不可用时,避免JVM崩溃. (市场)
Jasper
fix 53421 :如果在使用表达式语言时找不到bean属性的getter或setter,请提供更有用的错误消息. (市场)
fix 53460 :如果PageContext的创建失败,则允许容器处理错误,而不是吞噬该错误. (市场)
Web applications
fix 更新示例Web应用程序中的WebSocket示例,以便它们可以使用安全连接(wss)和非安全(ws)连接. (市场)
fix 53456 :对HTTP连接器配置参考进行了较小的更正和改进. sebb提供的补丁. (市场)
fix 53459 :对SSL操作方法中的SSL连接器配置示例的更正和说明. (市场)
fix 53464 :在文档Web应用程序中正确引用了示例init.d脚本以与jsvc一起使用. (市场)
fix 53473 :更正SSI选项isVirtualWebappRelative的允许值为truefalse . (市场)
fix 配置参考中的JNDIRealm document roleNested属性. (kkolinko)
jdbc-pool
fix 53445r1354173 ):允许SlowQueryReportJmx的可配置名称(fhanik)
fix 53416r1354641 ):具有相同名称的多个池应在JMX下注册(fhanik)
Other
fix 修复TestNamingContext测试中临时文件的清理. (kkolinko)
fix 从源代码分发中删除一些不需要的文件,因为它们是在构建过程中复制/生成的. (市场)
fix 将清单文件添加到更改了行尾以与源分发中的OS缺省值匹配的文件集. (市场)
code antlib.xml和catalina.tasks文件之间对齐JK Ant任务定义,引入jkupdate作为同义词jkstatus . 不推荐使用后者. 简化bin/catalina-tasks.xml ,用typedef替换taskdef ,并将与JMX一起使用的Ant条件实现添加到jmxaccessor.tasks文件中. (kkolinko)
fix 53454 :当内容长度大于2GB时,为HEAD请求返回正确的内容长度标头. (市场)
Tomcat 7.0.28 (markt)发行于2012-06-19
Catalina
fix 52055 :一个额外的修复程序,用于确保ChunkedInputFilter被正确回收. (市场)
add 52954 :使不完全遵循RFC 2617的客户端(主要是较旧的Android实现)能够接受DIGEST身份验证. (市场)
update 52955 :为容器启停线程池实现自定义线程工厂. 它允许使用守护程序线程,并为它们提供更多不同的名称. (kfujino)
fix 52999 :从触发Container事件中消除同步瓶颈. (市场)
add 53008 :用于BASIC身份验证和RFC2617符合性的其他测试用例. Brian Burch提供的补丁. (市场)
fix 53021 :正确的WebSocket协议版本检测. (佩罗)
add 向UserConfig添加allowdeny新属性. (kfujino)
fix 53024 :修复了上下文重装,因此在重装完成时暂停并处理在重装过程中接收到的请求,而不是接收404响应. (市场)
add 改进对监视资源的处理,以使更改触发重新加载而不是停止,然后触发启动,这允许在重新加载完成时暂停接收并处理收到的请求,而不是接收404响应. (市场)
fix 消除创建新的WebSocket连接时的潜在瓶颈. (市场)
fix 53047 :如果将JDBC领域或数据源领域配置为仅要求授权(并且不需要任何角色)且未定义任何角色表或列的所有角色模式,则不要填充主体的角色. (市场)
fix 53056 :将APR版本号添加到更新版本INFO日志消息中. (舒尔茨)
fix 53057 :初始化时添加OpenSSL版本号INFO日志消息. (舒尔茨)
update 通过将注释列表调整为其大小,可以在DefaultInstanceManager的注释缓存中节省一些内存. (kkolinko)
fix 正确配置用于处理server.xml的解析器,以便可以使用外部实体将外部文件的内容包含到server.xml中. (市场)
fix 确保ContextMBean#findFilterDefs返回正确的过滤器定义. (kfujino)
add 确保maxParameterCount适用于通过Servlet 3文件上传API处理的多部分请求. (市场)
fix 53062 :在构造绝对URL以便从相对URL进行重定向时,请确保对结果URL进行规范化. (市场)
fix 53067 :确保包装请求时,WebSocket Servlet继续工作. (市场)
fix 在ContextConfig中启用主机的xmlBase属性. (kfujino)
fix 53071 :在ErrorReportValve生成报告时使用可抛出的消息(如果有的话),并且尚未通过sendError()指定消息. (市场)
fix 53074 :默认情况下,WebSocket连接切换为无限套接字超时. (市场)
fix 53081 :不要总是缓存由Web应用程序类加载器加载的资源,因为它们可能非常大,从而又可能引发内存泄漏. 现在,在大多数情况下,调用Web应用程序类加载器的getResourceAsStream()方法将直接访问资源,而不是通过缓存. (市场)
fix 53090 :考虑注射目标时,请包括超类. Borislav Kapukaranov提供的补丁. (市场)
fix 53161