Commit f6ab1548 authored by Emmanuel Bourg's avatar Emmanuel Bourg

New upstream version 9.0.22

parent b799ff58
......@@ -25,9 +25,6 @@ Items carried over from the 9.0.x list:
2. Reduce instances of setters and getters for the same property existing on an
object and its parent. This may require new objects to be exposed via JMX.
3. Consider wrapping the SocketWrapper with a facade to detect / prevent
components retaining references longer than they should.
New items for 10.0.x onwards:
1. Remove APR connector.
......@@ -61,3 +58,6 @@ New items for 10.0.x onwards:
9. BZ 56966. Refactor internal request timing to use System.nanoTime()
10. BZ 63286. Make behaviour of %D and %T consistent with httpd.
11. Refactor DefaultServlet to use Ranges in parseRanges()
......@@ -228,7 +228,7 @@ fi
# Bugzilla 37848: When no TTY is available, don't output to console
have_tty=0
if [ -t 1 ]; then
if [ -t 0 ]; then
have_tty=1
fi
......
......@@ -25,7 +25,7 @@
# ----- Version Control Flags -----
version.major=9
version.minor=0
version.build=21
version.build=22
version.patch=0
version.suffix=
......@@ -123,17 +123,17 @@ wsdl4j-lib.jar=${wsdl4j-lib.home}/wsdl4j-${wsdl4j-lib.version}.jar
wsdl4j-lib.loc=${base-maven.loc}/wsdl4j/wsdl4j/${wsdl4j-lib.version}/wsdl4j-${wsdl4j-lib.version}.jar
# ----- Eclipse JDT, version 4.7 or later -----#
# See https://wiki.apache.org/tomcat/JDTCoreBatchCompiler before updating
# See https://cwiki.apache.org/confluence/display/TOMCAT/Managing+Tomcat%27s+Dependency+on+the+Eclipse+JDT+Core+Batch+Compiler
#
# Checksum is from "SHA512 Checksums for 4.10" link at
# http://download.eclipse.org/eclipse/downloads/drops4/R-4.10-201812060815/
# http://download.eclipse.org/eclipse/downloads/drops4/R-4.10-201812060815/checksum/eclipse-4.10-SUMSSHA512
#
jdt.version=4.10
jdt.release=R-4.10-201812060815
jdt.version=4.12
jdt.release=R-4.12-201906051800/
jdt.checksum.enabled=true
jdt.checksum.algorithm=SHA-512
jdt.checksum.value=6528d1933d752f909e61456f1a3cbb3ae3999d263701a459e6f4fc33f97f793ec0cfbe7a6408b02bd67deb8ec9371659d54e33216d8075f779579df614465753
jdt.checksum.value=7d38921ae374a5112e7ed5596d85955b608ddf74849373d7a74b199961514807e749d8c8cad89871fa1fdd5e14bc6ec471665546a9f8d313da5c963589c307b0
jdt.home=${base.path}/ecj-${jdt.version}
jdt.jar=${jdt.home}/ecj-${jdt.version}.jar
# The download will be moved to the archive area eventually. We are taking care of that in advance.
......@@ -141,19 +141,19 @@ jdt.loc.1=http://archive.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj
jdt.loc.2=http://download.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
# ----- Tomcat native library -----
tomcat-native.version=1.2.21
tomcat-native.version=1.2.23
tomcat-native.src.checksum.enabled=true
tomcat-native.src.checksum.algorithm=SHA-512
tomcat-native.src.checksum.value=7f43f815785e5bc3e43f5b2e9ad1c90576a3c1528d57230328b7175bf475eb5f4e1f91b66fae74ad32cd76f044d7705f98a79109f6f84e5af75dc32bc8830b29
tomcat-native.src.checksum.value=89a0363961d322a87f4e752f4727f54f28ac6e4ad10fa21b6b7390c62b041d4068672d95495d9233c1cad7d6c1dc3c85fbd0186894085b3b94e476876af160ee
tomcat-native.win.checksum.enabled=true
tomcat-native.win.checksum.algorithm=SHA-512
tomcat-native.win.checksum.value=bd5e7bb6584cba635d780216b87d453ecca5034235f018ba8a7429b82d653aa58cf26b89520c60271e10f242bd8a10fce401f362ecfe0fab597c7b6983ad97ce
tomcat-native.win.checksum.value=b5d91d709241fea5f18fbaf2eb1dbad3c3014309ac72dfc10c0eb7c2f926a8e37a4c326ce251552bbd2b1f15b86c84ae72c33a259cc051765ab4322c91b5721b
tomcat-native.home=${base.path}/tomcat-native-${tomcat-native.version}
tomcat-native.tar.gz=${tomcat-native.home}/tomcat-native.tar.gz
tomcat-native.loc.1=${base-tomcat.loc.1}/tomcat-connectors/native/${tomcat-native.version}/source/tomcat-native-${tomcat-native.version}-src.tar.gz
tomcat-native.loc.2=${base-tomcat.loc.2}/tomcat-connectors/native/${tomcat-native.version}/source/tomcat-native-${tomcat-native.version}-src.tar.gz
tomcat-native.win.1=${base-tomcat.loc.1}/tomcat-connectors/native/${tomcat-native.version}/binaries/tomcat-native-${tomcat-native.version}-openssl-1.1.1a-win32-bin.zip
tomcat-native.win.2=${base-tomcat.loc.2}/tomcat-connectors/native/${tomcat-native.version}/binaries/tomcat-native-${tomcat-native.version}-openssl-1.1.1a-win32-bin.zip
tomcat-native.win.1=${base-tomcat.loc.1}/tomcat-connectors/native/${tomcat-native.version}/binaries/tomcat-native-${tomcat-native.version}-openssl-1.1.1c-win32-bin.zip
tomcat-native.win.2=${base-tomcat.loc.2}/tomcat-connectors/native/${tomcat-native.version}/binaries/tomcat-native-${tomcat-native.version}-openssl-1.1.1c-win32-bin.zip
# ----- NSIS, version 3.0 or later -----
nsis.version=3.04
......
......@@ -1607,6 +1607,7 @@
<sysproperty key="tomcat.test.openssl.unimplemented" value="${test.openssl.unimplemented}" />
<sysproperty key="tomcat.test.relaxTiming" value="${test.relaxTiming}" />
<sysproperty key="tomcat.test.sslImplementation" value="${test.sslImplementation}" />
<sysproperty key="tomcat.test.http2.loopCount" value="${test.http2.loopCount}" />
<!-- File for Cobertura to write coverage results to -->
<sysproperty key="net.sourceforge.cobertura.datafile" file="${cobertura.datafile}" />
......
......@@ -104,6 +104,11 @@
<!-- showServerInfo Should server information be presented in the -->
<!-- response sent to clients when directory -->
<!-- listings is enabled? [true] -->
<!-- -->
<!-- allowPartialPut Should the server treat an HTTP PUT request -->
<!-- with a Range header as a partial PUT? Note -->
<!-- that RFC 7233 clarified that Range headers are -->
<!-- only valid for GET requests. [true] -->
<servlet>
<servlet-name>default</servlet-name>
......
......@@ -48,7 +48,7 @@ public abstract class ELContext {
}
/**
* Mark the given property as resolved and notfy any interested listeners.
* Mark the given property as resolved and notify any interested listeners.
*
* @param base The base object on which the property was found
* @param property The property that was resolved
......
......@@ -549,8 +549,8 @@ public abstract class AuthenticatorBase extends ValveBase
request.getCoyoteRequest().getMimeHeaders().getValue("authorization") != null;
}
if (!authRequired && context.getPreemptiveAuthentication()
&& HttpServletRequest.CLIENT_CERT_AUTH.equals(getAuthMethod())) {
if (!authRequired && context.getPreemptiveAuthentication() &&
HttpServletRequest.CLIENT_CERT_AUTH.equals(getAuthMethod())) {
X509Certificate[] certs = getRequestCertificates(request);
authRequired = certs != null && certs.length > 0;
}
......@@ -1064,8 +1064,8 @@ public abstract class AuthenticatorBase extends ValveBase
// Configure httpOnly on SSO cookie using same rules as session
// cookies
if (request.getServletContext().getSessionCookieConfig().isHttpOnly()
|| request.getContext().getUseHttpOnly()) {
if (request.getServletContext().getSessionCookieConfig().isHttpOnly() ||
request.getContext().getUseHttpOnly()) {
cookie.setHttpOnly(true);
}
......@@ -1259,4 +1259,4 @@ public abstract class AuthenticatorBase extends ValveBase
public MessageInfo messageInfo = null;
public ServerAuthContext serverAuthContext = null;
}
}
\ No newline at end of file
}
......@@ -14,11 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.catalina.authenticator;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
......@@ -34,8 +31,6 @@ import org.apache.tomcat.util.buf.ByteChunk;
import org.apache.tomcat.util.buf.MessageBytes;
import org.apache.tomcat.util.codec.binary.Base64;
/**
* An <b>Authenticator</b> and <b>Valve</b> implementation of HTTP BASIC
* Authentication, as outlined in RFC 2617: "HTTP Authentication: Basic
......
......@@ -609,7 +609,6 @@ public class CoyoteAdapter implements Adapter {
if (connector.getAllowTrace()) {
allow.append(", TRACE");
}
// Always allow options
res.setHeader("Allow", allow.toString());
// Access log entry as processing won't reach AccessLogValve
connector.getService().getContainer().logAccess(request, response, 0, true);
......@@ -638,13 +637,14 @@ public class CoyoteAdapter implements Adapter {
response.sendError(400, "Invalid URI: " + ioe.getMessage());
}
// Normalization
if (!normalize(req.decodedURI())) {
response.sendError(400, "Invalid URI");
}
// Character decoding
convertURI(decodedURI, request);
// Check that the URI is still normalized
if (!checkNormalize(req.decodedURI())) {
if (normalize(req.decodedURI())) {
// Character decoding
convertURI(decodedURI, request);
// Check that the URI is still normalized
if (!checkNormalize(req.decodedURI())) {
response.sendError(400, "Invalid URI");
}
} else {
response.sendError(400, "Invalid URI");
}
} else {
......
......@@ -68,7 +68,7 @@ public class AprLifecycleListener
protected static final int TCN_REQUIRED_MINOR = 2;
protected static final int TCN_REQUIRED_PATCH = 14;
protected static final int TCN_RECOMMENDED_MINOR = 2;
protected static final int TCN_RECOMMENDED_PV = 21;
protected static final int TCN_RECOMMENDED_PV = 23;
// ---------------------------------------------- Properties
......
......@@ -41,10 +41,9 @@ defaultServlet.blockExternalSubset=Blocked access to external subset with name [
defaultServlet.missingResource=The requested resource [{0}] is not available
defaultServlet.noResources=No static resources were found
defaultServlet.readerCloseFailed=Failed to close reader
defaultServlet.skipfail=Read failed because only [{0}] bytes were available but needed to skip [{1}] bytes to reach the start of the requested range
defaultServlet.xslError=XSL transformer error
defaultservlet.skipfail=Read failed because only [{0}] bytes were available but needed to skip [{1}] bytes to reach the start of the requested range
directory.filename=Filename
directory.lastModified=Last Modified
directory.parent=Up To [{0}]
......
......@@ -24,8 +24,7 @@ cgiServlet.runStdErrFail=Problemas de I/O con stderr
defaultServlet.blockExternalSubset=Se bloqueó el acceso al subconjunt externo con nombre [{0}] y URI base [{1}]\n
defaultServlet.missingResource=El recurso requerido [{0}] no se encuentra disponible
defaultservlet.skipfail=Sólo se han saltado [{0}] cuando se requirieron [{1}]
defaultServlet.skipfail=Sólo se han saltado [{0}] cuando se requirieron [{1}]
directory.filename=Nombre de Fichero:
directory.lastModified=Última Modificación
......
......@@ -41,10 +41,9 @@ defaultServlet.blockExternalSubset=L''accès au sous-ensemble externe de nom [{0
defaultServlet.missingResource=La ressource demandée [{0}] n''est pas disponible
defaultServlet.noResources=Pas de ressources statiques
defaultServlet.readerCloseFailed=Impossible de fermer le lecteur
defaultServlet.skipfail=La lecture a échouée parce que seuls [{0}] octets étaient disponibles alors qu''il était nécessaire d''en sauter [{1}] pour atteindre le début de la plage demandée
defaultServlet.xslError=Erreur de transformation XSL
defaultservlet.skipfail=La lecture a échouée parce que seuls [{0}] octets étaient disponibles alors qu''il était nécessaire d''en sauter [{1}] pour atteindre le début de la plage demandée
directory.filename=Nom de fichier
directory.lastModified=Dernière modification
directory.parent=Jusqu''à [{0}]
......
......@@ -39,10 +39,9 @@ defaultServlet.blockExternalSubset=名前[{0}]およびベースURI [{1}]を持
defaultServlet.missingResource=要求されたリソース [{0}] は利用できません。
defaultServlet.noResources=静的リソースが見つかりません。
defaultServlet.readerCloseFailed=readerのクローズに失敗しました
defaultServlet.skipfail=[{0}]バイトしか利用できなかったため、[{1}]バイトをスキップして要求された範囲の先頭に到達する必要があったため、読み取りに失敗しました。
defaultServlet.xslError=XSL変換エラー
defaultservlet.skipfail=[{0}]バイトしか利用できなかったため、[{1}]バイトをスキップして要求された範囲の先頭に到達する必要があったため、読み取りに失敗しました。
directory.filename=ファイル名
directory.lastModified=最終更新
directory.parent=[{0}] に移動
......
......@@ -41,10 +41,9 @@ defaultServlet.blockExternalSubset=이름이 [{0}](이)고 baseURI가 [{1}]인
defaultServlet.missingResource=요청된 리소스 [{0}]은(는) 가용하지 않습니다.
defaultServlet.noResources=정적 리소스들을 찾을 수 없었습니다.
defaultServlet.readerCloseFailed=Reader를 닫지 못했습니다.
defaultServlet.skipfail=단지 [{0}] 바이트들만이 가용하기 때문에, 읽기가 실패했습니다. 요청된 범위의 시작 위치에 도달하기 위하여, [{1}] 바이트들을 건너뛰어야 했습니다.
defaultServlet.xslError=XSL Transformer 오류
defaultservlet.skipfail=단지 [{0}] 바이트들만이 가용하기 때문에, 읽기가 실패했습니다. 요청된 범위의 시작 위치에 도달하기 위하여, [{1}] 바이트들을 건너뛰어야 했습니다.
directory.filename=파일명
directory.lastModified=최종변경시간
directory.parent=상위로: [{0}]
......
......@@ -29,7 +29,7 @@ import org.apache.tomcat.util.file.ConfigurationSource.Resource;
*
* <pre>
* {@code
* <Registry name="" encoding="UTF8" >
* <Registry name="" encoding="UTF-8" >
* <Description
* tag="Server"
* standard="true"
......
......@@ -24,6 +24,7 @@ import java.io.PrintWriter;
import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
......@@ -171,7 +172,6 @@ public class MemoryUserDatabase implements UserDatabase {
}
/**
* @return the unique global identifier of this user database.
*/
......@@ -566,7 +566,7 @@ public class MemoryUserDatabase implements UserDatabase {
writeLock.lock();
try {
try (FileOutputStream fos = new FileOutputStream(fileNew);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF8");
OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
PrintWriter writer = new PrintWriter(osw)) {
// Print the file prolog
......
......@@ -240,41 +240,39 @@ class Http2AsyncParser extends Http2Parser {
if (streamException) {
swallow(streamId, payloadSize, false, payload);
} else {
synchronized (socketWrapper) {
switch (frameType) {
case DATA:
readDataFrame(streamId, flags, payloadSize, payload);
break;
case HEADERS:
readHeadersFrame(streamId, flags, payloadSize, payload);
break;
case PRIORITY:
readPriorityFrame(streamId, payload);
break;
case RST:
readRstFrame(streamId, payload);
break;
case SETTINGS:
readSettingsFrame(flags, payloadSize, payload);
break;
case PUSH_PROMISE:
readPushPromiseFrame(streamId, payload);
break;
case PING:
readPingFrame(flags, payload);
break;
case GOAWAY:
readGoawayFrame(payloadSize, payload);
break;
case WINDOW_UPDATE:
readWindowUpdateFrame(streamId, payload);
break;
case CONTINUATION:
readContinuationFrame(streamId, flags, payloadSize, payload);
break;
case UNKNOWN:
readUnknownFrame(streamId, frameType, flags, payloadSize, payload);
}
switch (frameType) {
case DATA:
readDataFrame(streamId, flags, payloadSize, payload);
break;
case HEADERS:
readHeadersFrame(streamId, flags, payloadSize, payload);
break;
case PRIORITY:
readPriorityFrame(streamId, payload);
break;
case RST:
readRstFrame(streamId, payload);
break;
case SETTINGS:
readSettingsFrame(flags, payloadSize, payload);
break;
case PUSH_PROMISE:
readPushPromiseFrame(streamId, payload);
break;
case PING:
readPingFrame(flags, payload);
break;
case GOAWAY:
readGoawayFrame(payloadSize, payload);
break;
case WINDOW_UPDATE:
readWindowUpdateFrame(streamId, payload);
break;
case CONTINUATION:
readContinuationFrame(streamId, flags, payloadSize, payload);
break;
case UNKNOWN:
readUnknownFrame(streamId, frameType, flags, payloadSize, payload);
}
}
// See if there is a new 9 byte header and continue parsing if possible
......
......@@ -39,6 +39,10 @@ import org.apache.tomcat.util.net.SocketWrapperBase.BlockingMode;
public class Http2AsyncUpgradeHandler extends Http2UpgradeHandler {
private static final ByteBuffer[] BYTEBUFFER_ARRAY = new ByteBuffer[0];
// Ensures headers are generated and then written for one thread at a time.
// Because of the compression used, headers need to be written to the
// network in the same order they are generated.
private final Object headerWriteLock = new Object();
private Throwable error = null;
private IOException applicationIOE = null;
......@@ -169,8 +173,7 @@ public class Http2AsyncUpgradeHandler extends Http2UpgradeHandler {
@Override
void writeHeaders(Stream stream, int pushedStreamId, MimeHeaders mimeHeaders,
boolean endOfStream, int payloadSize) throws IOException {
// This ensures the Stream processing thread has control of the socket.
synchronized (socketWrapper) {
synchronized (headerWriteLock) {
AsyncHeaderFrameBuffers headerFrameBuffers = (AsyncHeaderFrameBuffers)
doWriteHeaders(stream, pushedStreamId, mimeHeaders, endOfStream, payloadSize);
if (headerFrameBuffers != null) {
......
......@@ -582,11 +582,13 @@ class Http2Parser {
// going to be thrown.
hpackDecoder.getHeaderEmitter().validateHeaders();
output.headersEnd(streamId);
synchronized (output) {
output.headersEnd(streamId);
if (headersEndStream) {
output.receivedEndOfStream(streamId);
headersEndStream = false;
if (headersEndStream) {
output.receivedEndOfStream(streamId);
headersEndStream = false;
}
}
// Reset size for new request if the buffer was previously expanded
......
......@@ -163,7 +163,7 @@ public final class EmbeddedServletOptions implements Options {
* Java platform encoding to generate the JSP
* page servlet.
*/
private String javaEncoding = "UTF8";
private String javaEncoding = "UTF-8";
/**
* Modification test interval.
......
......@@ -177,10 +177,12 @@ public class SmapUtil {
SDEInstaller installer = new SDEInstaller(classFile, smap);
installer.install(tmpFile);
if (!classFile.delete()) {
throw new IOException(Localizer.getMessage("jsp.error.unable.deleteClassFile"));
throw new IOException(Localizer.getMessage("jsp.error.unable.deleteClassFile",
classFile.getAbsolutePath()));
}
if (!tmpFile.renameTo(classFile)) {
throw new IOException(Localizer.getMessage("jsp.error.unable.renameClassFile"));
throw new IOException(Localizer.getMessage("jsp.error.unable.renameClassFile",
tmpFile.getAbsolutePath(), classFile.getAbsolutePath()));
}
}
......
......@@ -16,6 +16,7 @@
jasper.error.emptybodycontent.nonempty=According to TLD, tag [{0}] must be empty, but is not
jsp.engine.info=Jasper JSP 2.3 Engine
jsp.error.URLMustStartWithSlash=Path [{0}] must start with a slash character
jsp.error.action.isnottagfile=[{0}] action can be used in tag files only
jsp.error.action.istagfile=[{0}] action cannot be used in a tag file
jsp.error.attempt_to_clear_flushed_buffer=Error: Attempt to clear a buffer that's already been flushed
......@@ -234,10 +235,10 @@ jsp.error.tld.url=Bad TLD URL [{0}]
jsp.error.tlv.invalid.page=Validation error messages from TagLibraryValidator for [{0}] in [{1}]
jsp.error.tlvclass.instantiation=Failed to load or instantiate TagLibraryValidator class: [{0}]
jsp.error.unable.compile=Unable to compile class for JSP
jsp.error.unable.deleteClassFile=Unable to delete class file
jsp.error.unable.deleteClassFile=Unable to delete class file [{0}]
jsp.error.unable.getType=Unable to extract type from [{0}]
jsp.error.unable.load=Unable to load class for JSP
jsp.error.unable.renameClassFile=Unable to rename class file
jsp.error.unable.renameClassFile=Unable to rename class file from [{0}] to [{1}]
jsp.error.unable.to_find_method=Unable to find setter method for attribute: [{0}]
jsp.error.unavailable=JSP has been marked unavailable
jsp.error.unbalanced.endtag=The end tag "&lt;/{0}" is unbalanced
......@@ -246,7 +247,6 @@ jsp.error.unexpectedTag=Unexpected tag [{0}]
jsp.error.unknown_attribute_type=Unknown attribute type [{1}] for attribute [{0}].
jsp.error.unsupported.encoding=Unsupported encoding: [{0}]
jsp.error.unterminated=Unterminated [{0}] tag
jsp.error.URLMustStartWithSlash=Path [{0}] must start with a slash character
jsp.error.usebean.duplicate=useBean: Duplicate bean name: [{0}]
jsp.error.usebean.noSession=Illegal for useBean to use session scope when JSP page declares (via page directive) that it does not participate in sessions
jsp.error.var_and_varReader=Only one of 'var' or 'varReader' may be specified
......@@ -376,11 +376,13 @@ Automatically created by Apache Tomcat JspC.\n\
jspc.webinc.footer=\n\
<!--\n\
End of content automatically created by Apache Tomcat JspC.\n\
-->\n
-->\n\
\n
jspc.webinc.header=\n\
<!--\n\
Automatically created by Apache Tomcat JspC.\n\
-->\n
-->\n\
\n
jspc.webinc.insertEnd=<!-- JSPC servlet mappings end -->
jspc.webinc.insertStart=<!-- JSPC servlet mappings start -->
jspc.webxml.footer=\n\
......
......@@ -64,6 +64,9 @@ jsp.warning.displaySourceFragment=Upozornění: Neplatná hodnota pro inicializa
jsp.warning.enablePooling=Varování: Neplatná inicializační hodnota parametru enablePooling. Bude použita výchozí hodnota "true"
jspc.error.fileDoesNotExist=Argument souboru [{0}] neexistuje
jspc.webfrg.footer=\n\
</web-fragment>\n\
\n
jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
......@@ -75,7 +78,26 @@ jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
\ <distributable/>\n\
<!--\n\
Automaticky vytvořeno pomocí Apache Tomcat JspC.\n\
-->
jspc.webxml.footer=</web-app>
-->\n\
\n
jspc.webinc.header=\n\
<!--\n\
Automaticky vytvořeno pomocí Apache Tomcat JspC.\n\
-->\n\
\n
jspc.webxml.footer=\n\
</web-app>\n\
\n
jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
\ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
\ http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"\n\
\ version="4.0"\n\
\ metadata-complete="false">\n\
<!--\n\
Automaticky vytvořeno pomocí Apache Tomcat JspC.\n\
-->\n\
\n
org.apache.jasper.compiler.TldCache.servletContextNull=Poskytovatel ServletContext je null
......@@ -74,8 +74,10 @@ jsp.warning.enablePooling=Warnung: Ungültiger Wert für den initParam enablePoo
jsp.warning.unknown.targetVM=Unbekannte Ziel-VM [{0}] ignoriert
jspc.errorCount=Anzahl der Fehler: [{0}]
jspc.webfrg.header=\n\
\ <?xml version="1.0" encoding="{0}"?>\n\
jspc.webfrg.footer=\n\
</web-fragment>\n\
\n
jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
\ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
......@@ -86,13 +88,17 @@ jspc.webfrg.header=\n\
\ <distributable/>\n\
<!--\n\
Automatisch erstellt von Apache Tomcat JspC.\n\
-->
-->\n\
\n
jspc.webinc.header=\n\
<!--\n\
Automatisch erstellt von Apache Tomcat JspC.\n\
-->\n\
\n
jspc.webxml.footer=\n\
</web-app>\n\
\n\
\n
jspc.webxml.header=\n\
\ <?xml version="1.0" encoding="{0}"?>\n\
jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
\ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
......@@ -101,7 +107,8 @@ jspc.webxml.header=\n\
\ metadata-complete="false">\n\
<!--\n\
Automatisch erstellt durch Apache Tomcat JspC.\n\
-->
-->\n\
\n
jstl.OSAfterWriter=Der OutputStream kann nicht mehr benutzt werden, nachdem bereits \n\
in den Writer geschrieben wurde.
......
......@@ -299,8 +299,10 @@ y donde <opciones> incluyen:\n\
\ (if "single", replace such template text with a single space)\n\
\ -javaEncoding <enc> Set the encoding charset for Java classes (default UTF-8)\n\
\ -source <version> Set the -source argument to the compiler (default 1.8)\n\
\ -target <version> Set the -target argument to the compiler (default 1.8)
jspc.webfrg.footer=</web-fragment>
\ -target <version> Set the -target argument to the compiler (default 1.8)\n
jspc.webfrg.footer=\n\
</web-fragment>\n\
\n
jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
......@@ -312,16 +314,18 @@ jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
\ <distributable/>\n\
<!--\n\
Creado automaticamente mediante Apache Tomcat JspC.\n\
-->
jspc.webinc.footer=<!--\n\
End of content automatically created by Apache Tomcat JspC.\n\
-->
jspc.webinc.header=<!--\n\
-->\n\
\n
jspc.webinc.header=\n\
<!--\n\
Creado automaticamente mediante Apache Tomcat JspC.\n\
-->
-->\n\
\n
jspc.webinc.insertEnd=<!-- Fin de mapeos de servlet JSPC -->
jspc.webinc.insertStart=<!-- Inicio de mapeos de servlet JSPC -->
jspc.webxml.footer=</web-app>
jspc.webxml.footer=\n\
</web-app>\n\
\n
jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
......@@ -331,7 +335,8 @@ jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
\ metadata-complete="false">\n\
<!--\n\
Creado automaticamente mediante Apache Tomcat JspC.\n\
-->
-->\n\
\n
org.apache.jasper.compiler.TldCache.servletContextNull=El contenido proporcionado para ServletContext tiene un valor nulo
......
......@@ -356,11 +356,10 @@ et où les options sont:\n\
\ -source <version> Fixe l'argument -source pour le compilateur (par défaut 1.8)\n\
\ -target <version> Fixe l'argument -target pour le compilateur (par défaut 1.8)\n\
\ -threadCount <count> Nombre de threads à utiliser pour la compilation\n\
\ ("2.0C" veut dire deux threads par cœur)\n\
\n
\ ("2.0C" veut dire deux threads par cœur)\n
jspc.warning.tldInWebInfLib=Les fichiers TLDs ne devraient pas être placés dans /WEB-INF/lib
jspc.webfrg.footer=</web-fragment>\n\
\n\
jspc.webfrg.footer=\n\
</web-fragment>\n\
\n
jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
......@@ -374,20 +373,21 @@ jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
<!--\n\
Crée automatiquement par JspC de Apache Tomcat.\n\
-->\n\
\n\
\n
jspc.webinc.footer=<!--\n\
jspc.webinc.footer=\n\
<!--\n\
Fin du contenu généré automatiquement par JspC de Apache Tomcat.\n\
-->\n\
\n
jspc.webinc.header=<!--\n\
jspc.webinc.header=\n\
<!--\n\
Crée automatiquement par JspC de Apache Tomcat.\n\
-->\n\
\n
jspc.webinc.insertEnd=<!-- Fin des mappings des Servlets JSPC -->
jspc.webinc.insertStart=<!-- Début des mappings des Servlets JSPC -->
jspc.webxml.footer=</web-app>\n\
\n\
jspc.webxml.footer=\n\
</web-app>\n\
\n
jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
......@@ -399,7 +399,6 @@ jspc.webxml.header=<?xml version="1.0" encoding="{0}"?>\n\
<!--\n\
Crée automatiquement par JspC de Apache Tomcat.\n\
-->\n\
\n\
\n
jstl.OSAfterWriter=Impossible d'utiliser un flux de sortie si un writer a été utilisé
......
......@@ -355,38 +355,9 @@ jspc.warning.tldInWebInfLib=TLDファイルは/ WEB-INF/libに置かないでく
jspc.webfrg.footer=\n\
</web-fragment>\n\
\n
jspc.webfrg.header=<?xml version="1.0" encoding="{0}"?>\n\
<web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"\n\
\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
\ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
\ http://xmlns.jcp.org/xml/ns/javaee/web-fragment_4_0.xsd"\n\
\ version="4.0"\n\
\ metadata-complete="true">\n\
\ <name>org_apache_jasper.jspc</name>\n\
\ <distributable/>\n\