Hongqing Liu | fd5ee81 | 2014-05-10 16:32:51 +0800 | [diff] [blame^] | 1 | ================================================================================
|
| 2 | Licensed to the Apache Software Foundation (ASF) under one or more
|
| 3 | contributor license agreements. See the NOTICE file distributed with
|
| 4 | this work for additional information regarding copyright ownership.
|
| 5 | The ASF licenses this file to You under the Apache License, Version 2.0
|
| 6 | (the "License"); you may not use this file except in compliance with
|
| 7 | the License. You may obtain a copy of the License at
|
| 8 |
|
| 9 | http://www.apache.org/licenses/LICENSE-2.0
|
| 10 |
|
| 11 | Unless required by applicable law or agreed to in writing, software
|
| 12 | distributed under the License is distributed on an "AS IS" BASIS,
|
| 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 14 | See the License for the specific language governing permissions and
|
| 15 | limitations under the License.
|
| 16 | ================================================================================
|
| 17 |
|
| 18 |
|
| 19 | Apache Tomcat Version 6.0.39
|
| 20 | Release Notes
|
| 21 |
|
| 22 |
|
| 23 | =============================
|
| 24 | KNOWN ISSUES IN THIS RELEASE:
|
| 25 | =============================
|
| 26 |
|
| 27 | * Dependency Changes
|
| 28 | * JNI Based Applications
|
| 29 | * Bundled APIs
|
| 30 | * Web application reloading and static fields in shared libraries
|
| 31 | * Tomcat on Linux
|
| 32 | * Enabling SSI and CGI Support
|
| 33 | * Security manager URLs
|
| 34 | * Symlinking static resources
|
| 35 | * Enabling invoker servlet
|
| 36 | * Viewing the Tomcat Change Log
|
| 37 | * Cryptographic software notice
|
| 38 | * When all else fails
|
| 39 |
|
| 40 |
|
| 41 | ===================
|
| 42 | Dependency Changes:
|
| 43 | ===================
|
| 44 | Tomcat 6.0 is designed to run on Java SE 5.0 and later.
|
| 45 |
|
| 46 | In addition, Tomcat 6.0 uses the Eclipse JDT Java compiler for compiling
|
| 47 | JSP pages. This means you no longer need to have the complete
|
| 48 | Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
|
| 49 | (JRE) is sufficient. The Eclipse JDT Java compiler is bundled with the
|
| 50 | binary Tomcat distributions. Tomcat can also be configured to use the
|
| 51 | compiler from the JDK to compile JSPs, or any other Java compiler supported
|
| 52 | by Apache Ant.
|
| 53 |
|
| 54 |
|
| 55 | =======================
|
| 56 | JNI Based Applications:
|
| 57 | =======================
|
| 58 | Applications that require native libraries must ensure that the libraries have
|
| 59 | been loaded prior to use. Typically, this is done with a call like:
|
| 60 |
|
| 61 | static {
|
| 62 | System.loadLibrary("path-to-library-file");
|
| 63 | }
|
| 64 |
|
| 65 | in some class. However, the application must also ensure that the library is
|
| 66 | not loaded more than once. If the above code were placed in a class inside
|
| 67 | the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
|
| 68 | application were reloaded, the loadLibrary() call would be attempted a second
|
| 69 | time.
|
| 70 |
|
| 71 | To avoid this problem, place classes that load native libraries outside of the
|
| 72 | web application, and ensure that the loadLibrary() call is executed only once
|
| 73 | during the lifetime of a particular JVM.
|
| 74 |
|
| 75 |
|
| 76 | =============
|
| 77 | Bundled APIs:
|
| 78 | =============
|
| 79 | A standard installation of Tomcat 6.0 makes all of the following APIs available
|
| 80 | for use by web applications (by placing them in "lib"):
|
| 81 | * annotations-api.jar (Annotations package)
|
| 82 | * catalina.jar (Tomcat Catalina implementation)
|
| 83 | * catalina-ant.jar (Tomcat Catalina Ant tasks)
|
| 84 | * catalina-ha.jar (High availability package)
|
| 85 | * catalina-tribes.jar (Group communication)
|
| 86 | * ecj-4.3.1.jar (Eclipse JDT Java compiler)
|
| 87 | * el-api.jar (EL 2.1 API)
|
| 88 | * jasper.jar (Jasper 2 Compiler and Runtime)
|
| 89 | * jasper-el.jar (Jasper 2 EL implementation)
|
| 90 | * jsp-api.jar (JSP 2.1 API)
|
| 91 | * servlet-api.jar (Servlet 2.5 API)
|
| 92 | * tomcat-coyote.jar (Tomcat connectors and utility classes)
|
| 93 | * tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP)
|
| 94 |
|
| 95 | You can make additional APIs available to all of your web applications by
|
| 96 | putting unpacked classes into a "classes" directory (not created by default),
|
| 97 | or by placing them in JAR files in the "lib" directory.
|
| 98 |
|
| 99 | To override the XML parser implementation or interfaces, use the endorsed
|
| 100 | mechanism of the JVM. The default configuration defines JARs located in
|
| 101 | "endorsed" as endorsed.
|
| 102 |
|
| 103 |
|
| 104 | ================================================================
|
| 105 | Web application reloading and static fields in shared libraries:
|
| 106 | ================================================================
|
| 107 | Some shared libraries (many are part of the JDK) keep references to objects
|
| 108 | instantiated by the web application. To avoid class loading related problems
|
| 109 | (ClassCastExceptions, messages indicating that the classloader
|
| 110 | is stopped, etc.), the shared libraries state should be reinitialized.
|
| 111 |
|
| 112 | Something which might help is to avoid putting classes which would be
|
| 113 | referenced by a shared static field in the web application classloader,
|
| 114 | and putting them in the shared classloader instead (JARs should be put in the
|
| 115 | "lib" folder, and classes should be put in the "classes" folder).
|
| 116 |
|
| 117 |
|
| 118 | ================
|
| 119 | Tomcat on Linux:
|
| 120 | ================
|
| 121 | GLIBC 2.2 / Linux 2.4 users should define an environment variable:
|
| 122 | export LD_ASSUME_KERNEL=2.2.5
|
| 123 |
|
| 124 | Redhat Linux 9.0 users should use the following setting to avoid
|
| 125 | stability problems:
|
| 126 | export LD_ASSUME_KERNEL=2.4.1
|
| 127 |
|
| 128 | There are some Linux bugs reported against the NIO sendfile behavior, make sure you
|
| 129 | have a JDK that is up to date, or disable sendfile behavior in the Connector.<br/>
|
| 130 | 6427312: (fc) FileChannel.transferTo() throws IOException "system call interrupted"<br/>
|
| 131 | 5103988: (fc) FileChannel.transferTo should return -1 for EAGAIN instead throws IOException<br/>
|
| 132 | 6253145: (fc) FileChannel.transferTo on Linux fails when going beyond 2GB boundary<br/>
|
| 133 | 6470086: (fc) FileChannel.transferTo(2147483647, 1, channel) cause "Value too large" exception<br/>
|
| 134 |
|
| 135 |
|
| 136 | =============================
|
| 137 | Enabling SSI and CGI Support:
|
| 138 | =============================
|
| 139 | Because of the security risks associated with CGI and SSI available
|
| 140 | to web applications, these features are disabled by default.
|
| 141 |
|
| 142 | To enable and configure CGI support, please see the cgi-howto.html page.
|
| 143 |
|
| 144 | To enable and configue SSI support, please see the ssi-howto.html page.
|
| 145 |
|
| 146 |
|
| 147 | ======================
|
| 148 | Security manager URLs:
|
| 149 | ======================
|
| 150 | In order to grant security permissions to JARs located inside the
|
| 151 | web application repository, use URLs of of the following format
|
| 152 | in your policy file:
|
| 153 |
|
| 154 | file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar
|
| 155 |
|
| 156 |
|
| 157 | ============================
|
| 158 | Symlinking static resources:
|
| 159 | ============================
|
| 160 | By default, Unix symlinks will not work when used in a web application to link
|
| 161 | resources located outside the web application root directory.
|
| 162 |
|
| 163 | This behavior is optional, and the "allowLinking" flag may be used to disable
|
| 164 | the check.
|
| 165 |
|
| 166 |
|
| 167 | =========================
|
| 168 | Enabling invoker servlet:
|
| 169 | =========================
|
| 170 | Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
|
| 171 | default in all webapps. Enabling it for all webapps is possible by editing
|
| 172 | $CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
|
| 173 | definition.
|
| 174 |
|
| 175 | Using the invoker servlet in a production environment is not recommended and
|
| 176 | is unsupported. More details are available on the Tomcat FAQ at
|
| 177 | http://tomcat.apache.org/faq/misc.html#invoker.
|
| 178 |
|
| 179 |
|
| 180 | ==============================
|
| 181 | Viewing the Tomcat Change Log:
|
| 182 | ==============================
|
| 183 | See changelog.html in this directory.
|
| 184 |
|
| 185 |
|
| 186 | ============================================
|
| 187 | Multi-byte charset handling bug in Java 1.5:
|
| 188 | ============================================
|
| 189 | Public versions of Sun/Oracle Java 1.5 are known to have a nasty bug in
|
| 190 | implementation of Charset.decode() method for certain character sets.
|
| 191 |
|
| 192 | For details, test and a list of affected character sets see:
|
| 193 |
|
| 194 | http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6196991
|
| 195 | https://issues.apache.org/bugzilla/show_bug.cgi?id=52579
|
| 196 |
|
| 197 | The UTF-8 charset is not affected by this issue.
|
| 198 |
|
| 199 |
|
| 200 | =============================
|
| 201 | Cryptographic software notice
|
| 202 | =============================
|
| 203 | This distribution includes cryptographic software. The country in
|
| 204 | which you currently reside may have restrictions on the import,
|
| 205 | possession, use, and/or re-export to another country, of
|
| 206 | encryption software. BEFORE using any encryption software, please
|
| 207 | check your country's laws, regulations and policies concerning the
|
| 208 | import, possession, or use, and re-export of encryption software, to
|
| 209 | see if this is permitted. See <http://www.wassenaar.org/> for more
|
| 210 | information.
|
| 211 |
|
| 212 | The U.S. Government Department of Commerce, Bureau of Industry and
|
| 213 | Security (BIS), has classified this software as Export Commodity
|
| 214 | Control Number (ECCN) 5D002.C.1, which includes information security
|
| 215 | software using or performing cryptographic functions with asymmetric
|
| 216 | algorithms. The form and manner of this Apache Software Foundation
|
| 217 | distribution makes it eligible for export under the License Exception
|
| 218 | ENC Technology Software Unrestricted (TSU) exception (see the BIS
|
| 219 | Export Administration Regulations, Section 740.13) for both object
|
| 220 | code and source code.
|
| 221 |
|
| 222 | The following provides more details on the included cryptographic
|
| 223 | software:
|
| 224 | - Tomcat includes code designed to work with JSSE
|
| 225 | - Tomcat includes code designed to work with OpenSSL
|
| 226 |
|
| 227 |
|
| 228 | ====================
|
| 229 | When all else fails:
|
| 230 | ====================
|
| 231 | See the FAQ
|
| 232 | http://tomcat.apache.org/faq/
|