| 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-@JDT_VERSION@.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/
 |