blob: 5ef623a77f3a1a31ce8b41c928a13cef33558e93 [file] [log] [blame]
Hongqing Liufd5ee812014-05-10 16:32:51 +08001================================================================================
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=============================
24KNOWN 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===================
42Dependency Changes:
43===================
44Tomcat 6.0 is designed to run on Java SE 5.0 and later.
45
46In addition, Tomcat 6.0 uses the Eclipse JDT Java compiler for compiling
47JSP pages. This means you no longer need to have the complete
48Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
49(JRE) is sufficient. The Eclipse JDT Java compiler is bundled with the
50binary Tomcat distributions. Tomcat can also be configured to use the
51compiler from the JDK to compile JSPs, or any other Java compiler supported
52by Apache Ant.
53
54
55=======================
56JNI Based Applications:
57=======================
58Applications that require native libraries must ensure that the libraries have
59been loaded prior to use. Typically, this is done with a call like:
60
61 static {
62 System.loadLibrary("path-to-library-file");
63 }
64
65in some class. However, the application must also ensure that the library is
66not loaded more than once. If the above code were placed in a class inside
67the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
68application were reloaded, the loadLibrary() call would be attempted a second
69time.
70
71To avoid this problem, place classes that load native libraries outside of the
72web application, and ensure that the loadLibrary() call is executed only once
73during the lifetime of a particular JVM.
74
75
76=============
77Bundled APIs:
78=============
79A standard installation of Tomcat 6.0 makes all of the following APIs available
80for 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
95You can make additional APIs available to all of your web applications by
96putting unpacked classes into a "classes" directory (not created by default),
97or by placing them in JAR files in the "lib" directory.
98
99To override the XML parser implementation or interfaces, use the endorsed
100mechanism of the JVM. The default configuration defines JARs located in
101"endorsed" as endorsed.
102
103
104================================================================
105Web application reloading and static fields in shared libraries:
106================================================================
107Some shared libraries (many are part of the JDK) keep references to objects
108instantiated by the web application. To avoid class loading related problems
109(ClassCastExceptions, messages indicating that the classloader
110is stopped, etc.), the shared libraries state should be reinitialized.
111
112Something which might help is to avoid putting classes which would be
113referenced by a shared static field in the web application classloader,
114and 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================
119Tomcat on Linux:
120================
121GLIBC 2.2 / Linux 2.4 users should define an environment variable:
122export LD_ASSUME_KERNEL=2.2.5
123
124Redhat Linux 9.0 users should use the following setting to avoid
125stability problems:
126export LD_ASSUME_KERNEL=2.4.1
127
128There are some Linux bugs reported against the NIO sendfile behavior, make sure you
129have a JDK that is up to date, or disable sendfile behavior in the Connector.<br/>
1306427312: (fc) FileChannel.transferTo() throws IOException "system call interrupted"<br/>
1315103988: (fc) FileChannel.transferTo should return -1 for EAGAIN instead throws IOException<br/>
1326253145: (fc) FileChannel.transferTo on Linux fails when going beyond 2GB boundary<br/>
1336470086: (fc) FileChannel.transferTo(2147483647, 1, channel) cause "Value too large" exception<br/>
134
135
136=============================
137Enabling SSI and CGI Support:
138=============================
139Because of the security risks associated with CGI and SSI available
140to web applications, these features are disabled by default.
141
142To enable and configure CGI support, please see the cgi-howto.html page.
143
144To enable and configue SSI support, please see the ssi-howto.html page.
145
146
147======================
148Security manager URLs:
149======================
150In order to grant security permissions to JARs located inside the
151web application repository, use URLs of of the following format
152in your policy file:
153
154file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar
155
156
157============================
158Symlinking static resources:
159============================
160By default, Unix symlinks will not work when used in a web application to link
161resources located outside the web application root directory.
162
163This behavior is optional, and the "allowLinking" flag may be used to disable
164the check.
165
166
167=========================
168Enabling invoker servlet:
169=========================
170Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
171default in all webapps. Enabling it for all webapps is possible by editing
172$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
173definition.
174
175Using the invoker servlet in a production environment is not recommended and
176is unsupported. More details are available on the Tomcat FAQ at
177http://tomcat.apache.org/faq/misc.html#invoker.
178
179
180==============================
181Viewing the Tomcat Change Log:
182==============================
183See changelog.html in this directory.
184
185
186============================================
187Multi-byte charset handling bug in Java 1.5:
188============================================
189Public versions of Sun/Oracle Java 1.5 are known to have a nasty bug in
190implementation of Charset.decode() method for certain character sets.
191
192For details, test and a list of affected character sets see:
193
194http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6196991
195https://issues.apache.org/bugzilla/show_bug.cgi?id=52579
196
197The UTF-8 charset is not affected by this issue.
198
199
200=============================
201Cryptographic software notice
202=============================
203This distribution includes cryptographic software. The country in
204which you currently reside may have restrictions on the import,
205possession, use, and/or re-export to another country, of
206encryption software. BEFORE using any encryption software, please
207check your country's laws, regulations and policies concerning the
208import, possession, or use, and re-export of encryption software, to
209see if this is permitted. See <http://www.wassenaar.org/> for more
210information.
211
212The U.S. Government Department of Commerce, Bureau of Industry and
213Security (BIS), has classified this software as Export Commodity
214Control Number (ECCN) 5D002.C.1, which includes information security
215software using or performing cryptographic functions with asymmetric
216algorithms. The form and manner of this Apache Software Foundation
217distribution makes it eligible for export under the License Exception
218ENC Technology Software Unrestricted (TSU) exception (see the BIS
219Export Administration Regulations, Section 740.13) for both object
220code and source code.
221
222The following provides more details on the included cryptographic
223software:
224 - Tomcat includes code designed to work with JSSE
225 - Tomcat includes code designed to work with OpenSSL
226
227
228====================
229When all else fails:
230====================
231See the FAQ
232http://tomcat.apache.org/faq/