Re: [VOTE] Release Apache Tomcat 10.1.35
Am 04.02.25 um 23:10 schrieb Christopher Schultz: The proposed Apache Tomcat 10.1.35 release is now available for voting. All committers and PMC members are kindly requested to provide a vote if possible. ANY TOMCAT USER MAY VOTE, though only PMC members votes are binding. We welcome non-committer votes or comments on release builds. The notable changes compared to 10.1.34 are: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.35/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1530 The tag is: https://github.com/apache/tomcat/tree/10.1.35 https://github.com/apache/tomcat/ commit/9636e5188311f30c1e46c94191d2145998778bf4 Please reply with a +1 for release or +0/-0/-1 with an explanation. +1 Reproducibility of the build checked (except for Windows installer and signing) on Linux Mint 22.1. OK after setting LANG. Tested on platforms - RHEL 6, 7, 8 and 9, SLES 11, 12 and 15, Solaris 11 Sparc using - current patch versions of JDK 11, 17 and not yet done 21, 23 and 24+25 (current EAs) from - Eclipse Adoptium, Azul Zulu, Amazon Coretto, Oracle, RedHat and OpenJDK (for the EA) where available. Also tested with - tcnative 1.3.1, tcnative 2.0.8 and panama based on - OpenSSL 3.0.15, 3.1.7, 3.2.3, 3.3.2 and 3.4.0. All fine, except for the usual sporadic crashes with tcnative during shutdown. Also manually changed the max memory size for the unit tests from 256m to 512m (already fixed in git). Thanks for RM! Best regards, Rainer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE][OT] Release Apache Tomcat 10.1.35
Am 07.02.25 um 22:21 schrieb Rainer Jung: Am 07.02.25 um 21:50 schrieb Rainer Jung: Hi Chris, Am 07.02.25 um 20:44 schrieb Christopher Schultz: Rainer, On 2/7/25 2:38 PM, Rainer Jung wrote: Am 04.02.25 um 23:10 schrieb Christopher Schultz: The proposed Apache Tomcat 10.1.35 release is now available for voting. All committers and PMC members are kindly requested to provide a vote if possible. ANY TOMCAT USER MAY VOTE, though only PMC members votes are binding. We welcome non-committer votes or comments on release builds. The notable changes compared to 10.1.34 are: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.35/ The Maven staging repo is: https://repository.apache.org/content/repositories/ orgapachetomcat-1530 The tag is: https://github.com/apache/tomcat/tree/10.1.35 https://github.com/apache/tomcat/ commit/9636e5188311f30c1e46c94191d2145998778bf4 Please reply with a +1 for release or +0/-0/-1 with an explanation. +1 Reproducibility of the build checked (except for Windows installer and signing) on Linux Mint 22.1. OK after setting LANG. I'd still like to look-in on this. For the installer, are you willing to install Wine? I could but I'm not so eager putting wine on my laptop. Interestingly I use NSIS to build windows installers completely on Linux. That is one of the nice features of NSIS. Currently the only reason I see, why wine is really used, is the tempinstaller.exe which is created and then executed to create the uninstaller. When I use NSIS, it can create the uninstaller directly, but I have not yet investigated why we need this indirection. It seems it has to do with how we do code signing, but I haven't fully understood the details. When building an installer myself, I use !finalize 'mysignscript myinstaller.exe' !uninstfinalize 'mysignscript myuninstaller.exe' inside the nsi script file. I do not know, whether this would be feasible with how we use jsign and the cloud signing service, but it should be doable. I haven't understood though, how the detached signatures are used. I don't seem to use detached signatures when doing my installer. Without code signing (do.codesigning=false), the following changes at least run on Linux without wine and produce an installer. But I still have to check, whether the intsaller actually works: --- build.xml.kpdt_orig 2025-02-04 18:40:20.0 +0100 +++ build.xml 2025-02-07 22:12:14.418108524 +0100 @@ -2565,6 +2565,7 @@ + @@ -2618,11 +2619,10 @@ - - - - - + + + + @@ -2632,9 +2632,11 @@ osfamily="windows" /> + @@ -2671,10 +2673,9 @@ - - - - + + + tofile="${tomcat.release}/v${version}/bin/${final.name}.exe" /> Sorry, one more: --- res/install-win/tomcat.nsi 2024-10-07 15:58:21.790187079 +0200 +++ res/install-win/tomcat.nsi 2025-02-07 21:55:58.716342021 +0100 @@ -18,7 +18,7 @@ Unicode true !ifdef UNINSTALLONLY - OutFile "tempinstaller.exe" + OutFile "Uninstall.exe" !else OutFile tomcat-installer.exe !endif BUT: IMHO without using the official signing service, the installer will never be reproduced by me. So even if I make some sort of code-signing work, building the installer would just show, that the file is produced. Plus, if I am willing to try it on Windows, whether it looks OK. The other wine calls used to execure makensis.exe can be replaced by directly calling makensis on Linux using -X flags instead of /X flags. > Also, which artifacts are not byte-for-byte identical when > performing the build verification -- when LANG=de? All of them, or only some of them? Just the fulldocs tarball. The HTML pages contains german text instead of the english one. We tried fixing it using java mea
Re: [VOTE][OT] Release Apache Tomcat 10.1.35
Am 07.02.25 um 21:50 schrieb Rainer Jung: Hi Chris, Am 07.02.25 um 20:44 schrieb Christopher Schultz: Rainer, On 2/7/25 2:38 PM, Rainer Jung wrote: Am 04.02.25 um 23:10 schrieb Christopher Schultz: The proposed Apache Tomcat 10.1.35 release is now available for voting. All committers and PMC members are kindly requested to provide a vote if possible. ANY TOMCAT USER MAY VOTE, though only PMC members votes are binding. We welcome non-committer votes or comments on release builds. The notable changes compared to 10.1.34 are: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.35/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1530 The tag is: https://github.com/apache/tomcat/tree/10.1.35 https://github.com/apache/tomcat/ commit/9636e5188311f30c1e46c94191d2145998778bf4 Please reply with a +1 for release or +0/-0/-1 with an explanation. +1 Reproducibility of the build checked (except for Windows installer and signing) on Linux Mint 22.1. OK after setting LANG. I'd still like to look-in on this. For the installer, are you willing to install Wine? I could but I'm not so eager putting wine on my laptop. Interestingly I use NSIS to build windows installers completely on Linux. That is one of the nice features of NSIS. Currently the only reason I see, why wine is really used, is the tempinstaller.exe which is created and then executed to create the uninstaller. When I use NSIS, it can create the uninstaller directly, but I have not yet investigated why we need this indirection. It seems it has to do with how we do code signing, but I haven't fully understood the details. When building an installer myself, I use !finalize 'mysignscript myinstaller.exe' !uninstfinalize 'mysignscript myuninstaller.exe' inside the nsi script file. I do not know, whether this would be feasible with how we use jsign and the cloud signing service, but it should be doable. I haven't understood though, how the detached signatures are used. I don't seem to use detached signatures when doing my installer. Without code signing (do.codesigning=false), the following changes at least run on Linux without wine and produce an installer. But I still have to check, whether the intsaller actually works: --- build.xml.kpdt_orig 2025-02-04 18:40:20.0 +0100 +++ build.xml 2025-02-07 22:12:14.418108524 +0100 @@ -2565,6 +2565,7 @@ + @@ -2618,11 +2619,10 @@ - - - - - + + + + @@ -2632,9 +2632,11 @@ executable="${tomcat.dist}/tempinstaller.exe" osfamily="windows" /> + @@ -2671,10 +2673,9 @@ - - - - + + + tofile="${tomcat.release}/v${version}/bin/${final.name}.exe" /> BUT: IMHO without using the official signing service, the installer will never be reproduced by me. So even if I make some sort of code-signing work, building the installer would just show, that the file is produced. Plus, if I am willing to try it on Windows, whether it looks OK. The other wine calls used to execure makensis.exe can be replaced by directly calling makensis on Linux using -X flags instead of /X flags. > Also, which artifacts are not byte-for-byte identical when > performing the build verification -- when LANG=de? All of them, or only some of them? Just the fulldocs tarball. The HTML pages contains german text instead of the english one. We tried fixing it using java means (sysprops, flags) to no avail. Tested on platforms - RHEL 6, 7, 8 and 9, SLES 11, 12 and 15, Solaris 11 Sparc using - current patch versions of JDK 11, 17 and not yet done 21, 23 and 24+25 (current EAs) from - Eclipse Adoptium, Azul Zulu, Amazon Coretto, Oracle, RedHat and OpenJDK (for the EA) where available. Also tested w
Re: [VOTE][OT] Release Apache Tomcat 10.1.35
Rainer, On 2/7/25 2:38 PM, Rainer Jung wrote: Am 04.02.25 um 23:10 schrieb Christopher Schultz: The proposed Apache Tomcat 10.1.35 release is now available for voting. All committers and PMC members are kindly requested to provide a vote if possible. ANY TOMCAT USER MAY VOTE, though only PMC members votes are binding. We welcome non-committer votes or comments on release builds. The notable changes compared to 10.1.34 are: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.35/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1530 The tag is: https://github.com/apache/tomcat/tree/10.1.35 https://github.com/apache/tomcat/ commit/9636e5188311f30c1e46c94191d2145998778bf4 Please reply with a +1 for release or +0/-0/-1 with an explanation. +1 Reproducibility of the build checked (except for Windows installer and signing) on Linux Mint 22.1. OK after setting LANG. I'd still like to look-in on this. For the installer, are you willing to install Wine? Also, which artifacts are not byte-for-byte identical when performing the build verification -- when LANG=de? All of them, or only some of them? Tested on platforms - RHEL 6, 7, 8 and 9, SLES 11, 12 and 15, Solaris 11 Sparc using - current patch versions of JDK 11, 17 and not yet done 21, 23 and 24+25 (current EAs) from - Eclipse Adoptium, Azul Zulu, Amazon Coretto, Oracle, RedHat and OpenJDK (for the EA) where available. Also tested with - tcnative 1.3.1, tcnative 2.0.8 and panama based on - OpenSSL 3.0.15, 3.1.7, 3.2.3, 3.3.2 and 3.4.0. All fine, except for the usual sporadic crashes with tcnative during shutdown. Also manually changed the max memory size for the unit tests from 256m to 512m (already fixed in git). Thanks for RM! ;) -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE][OT] Release Apache Tomcat 10.1.35
Hi Chris, Am 07.02.25 um 20:44 schrieb Christopher Schultz: Rainer, On 2/7/25 2:38 PM, Rainer Jung wrote: Am 04.02.25 um 23:10 schrieb Christopher Schultz: The proposed Apache Tomcat 10.1.35 release is now available for voting. All committers and PMC members are kindly requested to provide a vote if possible. ANY TOMCAT USER MAY VOTE, though only PMC members votes are binding. We welcome non-committer votes or comments on release builds. The notable changes compared to 10.1.34 are: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.35/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1530 The tag is: https://github.com/apache/tomcat/tree/10.1.35 https://github.com/apache/tomcat/ commit/9636e5188311f30c1e46c94191d2145998778bf4 Please reply with a +1 for release or +0/-0/-1 with an explanation. +1 Reproducibility of the build checked (except for Windows installer and signing) on Linux Mint 22.1. OK after setting LANG. I'd still like to look-in on this. For the installer, are you willing to install Wine? I could but I'm not so eager putting wine on my laptop. Interestingly I use NSIS to build windows installers completely on Linux. That is one of the nice features of NSIS. Currently the only reason I see, why wine is really used, is the tempinstaller.exe which is created and then executed to create the uninstaller. When I use NSIS, it can create the uninstaller directly, but I have not yet investigated why we need this indirection. The other wine calls used to execure makensis.exe can be replaced by directly calling makensis on Linux using -X flags instead of /X flags. > Also, which artifacts are not byte-for-byte identical when > performing the build verification -- when LANG=de? All of them, or only some of them? Just the fulldocs tarball. The HTML pages contains german text instead of the english one. We tried fixing it using java means (sysprops, flags) to no avail. Tested on platforms - RHEL 6, 7, 8 and 9, SLES 11, 12 and 15, Solaris 11 Sparc using - current patch versions of JDK 11, 17 and not yet done 21, 23 and 24+25 (current EAs) from - Eclipse Adoptium, Azul Zulu, Amazon Coretto, Oracle, RedHat and OpenJDK (for the EA) where available. Also tested with - tcnative 1.3.1, tcnative 2.0.8 and panama based on - OpenSSL 3.0.15, 3.1.7, 3.2.3, 3.3.2 and 3.4.0. All fine, except for the usual sporadic crashes with tcnative during shutdown. Also manually changed the max memory size for the unit tests from 256m to 512m (already fixed in git). Thanks for RM! ;) -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[PR] Enhance case sensitivity check [tomcat]
Chenjp opened a new pull request, #820: URL: https://github.com/apache/tomcat/pull/820 fix incorrect case sensitivity result when the target base directory (dir name not in english) on windows is changed to case sensitive. Previous behavior: 1. Windows file system. 2. tomcat/webapps is case insensitive. 3. tomcat/webapps/根目录 is changed to case sensitive. 4. DirResourceSet#isCaseSensitive returns case insensitive of directory "tomcat/webapps/根目录". 5. Unexpected. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE][OT] Release Apache Tomcat 10.1.35
Am 07.02.25 um 22:36 schrieb Rainer Jung: Am 07.02.25 um 22:21 schrieb Rainer Jung: Am 07.02.25 um 21:50 schrieb Rainer Jung: Hi Chris, Am 07.02.25 um 20:44 schrieb Christopher Schultz: Rainer, On 2/7/25 2:38 PM, Rainer Jung wrote: Am 04.02.25 um 23:10 schrieb Christopher Schultz: The proposed Apache Tomcat 10.1.35 release is now available for voting. All committers and PMC members are kindly requested to provide a vote if possible. ANY TOMCAT USER MAY VOTE, though only PMC members votes are binding. We welcome non-committer votes or comments on release builds. The notable changes compared to 10.1.34 are: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps- javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.35/ The Maven staging repo is: https://repository.apache.org/content/repositories/ orgapachetomcat-1530 The tag is: https://github.com/apache/tomcat/tree/10.1.35 https://github.com/apache/tomcat/ commit/9636e5188311f30c1e46c94191d2145998778bf4 Please reply with a +1 for release or +0/-0/-1 with an explanation. +1 Reproducibility of the build checked (except for Windows installer and signing) on Linux Mint 22.1. OK after setting LANG. I'd still like to look-in on this. For the installer, are you willing to install Wine? I could but I'm not so eager putting wine on my laptop. Interestingly I use NSIS to build windows installers completely on Linux. That is one of the nice features of NSIS. Currently the only reason I see, why wine is really used, is the tempinstaller.exe which is created and then executed to create the uninstaller. When I use NSIS, it can create the uninstaller directly, but I have not yet investigated why we need this indirection. It seems it has to do with how we do code signing, but I haven't fully understood the details. When building an installer myself, I use !finalize 'mysignscript myinstaller.exe' !uninstfinalize 'mysignscript myuninstaller.exe' inside the nsi script file. I do not know, whether this would be feasible with how we use jsign and the cloud signing service, but it should be doable. I haven't understood though, how the detached signatures are used. I don't seem to use detached signatures when doing my installer. Without code signing (do.codesigning=false), the following changes at least run on Linux without wine and produce an installer. But I still have to check, whether the intsaller actually works: --- build.xml 2025-02-04 18:40:20.0 +0100 +++ build.xml 2025-02-07 22:12:14.418108524 +0100 ... Sorry, one more: --- res/install-win/tomcat.nsi 2024-10-07 15:58:21.790187079 +0200 +++ res/install-win/tomcat.nsi 2025-02-07 21:55:58.716342021 +0100 @@ -18,7 +18,7 @@ Unicode true !ifdef UNINSTALLONLY - OutFile "tempinstaller.exe" + OutFile "Uninstall.exe" !else OutFile tomcat-installer.exe !endif The installer looks good function wise and it installs a file Uninstall.exe, But Uninstall.exe created that way and bundled in the installer does not actually work as an uninstaller. It actually seems to run only very shortly not showing a GUI or any noticable effect. BUT: IMHO without using the official signing service, the installer will never be reproduced by me. So even if I make some sort of code- signing work, building the installer would just show, that the file is produced. Plus, if I am willing to try it on Windows, whether it looks OK. The other wine calls used to execure makensis.exe can be replaced by directly calling makensis on Linux using -X flags instead of /X flags. > Also, which artifacts are not byte-for-byte identical when > performing the build verification -- when LANG=de? All of them, or only some of them? Just the fulldocs tarball. The HTML pages contains german text instead of the english one. We tried fixing it using java means (sysprops, flags) to no avail. Tested on platforms - RHEL 6, 7, 8 and 9, SLES 11, 12 and 15, Solaris 11 Sparc using - current patch versions of JDK 11, 17 and not yet done 21, 2
Re: [VOTE] Release Apache Tomcat 11.0.3
Am 04.02.25 um 19:35 schrieb Mark Thomas: The proposed Apache Tomcat 11.0.3 release is now available for voting. The notable changes compared to 11.0.2 include: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-11.0.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 11 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. Applications using deprecated APIs may require further changes. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-11/v11.0.3/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1528 The tag is: https://github.com/apache/tomcat/tree/11.0.3 6e6ddf18b5dd4baadd4470f2f48a71b9c4185122 The proposed 11.0.3 release is: [ ] -1 Broken - do not release [X] +1 Stable - go ahead and release as 11.0.3 +1 to release. Reproducibility of the build checked (except for Windows installer and signing) on Linux Mint 22.0. OK after setting LANG. Tested on platforms - RHEL 6, 7, 8 and 9, SLES 11, 12 and 15 using - recent patch versions of JDK 17, 21, 23 and 24+25 (current EAs) from - Eclipse Adoptium, Azul Zulu, Amazon Coretto, Oracle, RedHat and OpenJDK (for the EAs) where available. Also tested with - tcnative 1.3.1, tcnative 2.0.8 and panama based on - OpenSSL 3.0.15, 3.1.7, 3.2.3, 3.3.2 and 3.4.0. All fine, except for the usual sporadic crashes with tcnative during shutdown. Also manually changes the max memory size for the unit tests from 256m to 512m (already fixed in git). Thanks for RM! Best regards, Rainer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69552] Performance regression in MessageBytes.toBytes() when using non-default charset
https://bz.apache.org/bugzilla/show_bug.cgi?id=69552 --- Comment #8 from Mark Thomas --- Is this addressing the correct problem? That patch suggests that the issue is multiple calls to getBytes() for the same MessageBytes instance that is currently set to the String type. Hence repeated String to Bytes conversion causing the delay. We already have a mechanism to cache the bytes - they are saved in the ByteChunk. The subsequent calls should be made to getByteChunk().getBytes() / getStart() / getLength() Alternatively, we could add getBytesToType() method that would convert to bytes and then change the type. The complicating factor here is that the caller is responsible for keeping track of which cached conversions are valid and which ones are out of date. I think we need a better understanding of the callers to getBytes() to decide on the best solution. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 9.0.99
Am 04.02.25 um 21:29 schrieb Rémy Maucherat: The proposed Apache Tomcat 9.0.99 release is now available for voting. The notable changes compared to 9.0.98 are: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the changelog: https://nightlies.apache.org/tomcat/tomcat-9.0.x/docs/changelog.html It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.99/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1529 The tag is: https://github.com/apache/tomcat/tree/9.0.99 7145107845fe82dafee783bb0bfd6bea028e173b The proposed 9.0.99 release is: [ ] -1, Broken - do not release [X] +1, Stable - go ahead and release as 9.0.99 +1 Reproducibility of the build checked (except for Windows installer and signing) on Linux Mint 22.1. OK after setting LANG. One known deviation in the javadoc for the jre compat classes due to strange javadoc behavior wrt. derived classes (this is not a ping, Rémy :) ) Tested on platforms - RHEL 6, 7, 8 and 9, SLES 11, 12 and 15, Solaris 10+11 Sparc using - current patch versions of JDK 1.8.0, 11, 17, 21, 23 and 24+25 (current EAs) from - Eclipse Adoptium, Azul Zulu, Amazon Coretto, Oracle, RedHat and OpenJDK (for the EAs) where available. Also tested with - tcnative 1.3.1, tcnative 2.0.8 and panama based on - OpenSSL 3.0.15, 3.1.7, 3.2.3, 3.3.2 and 3.4.0. All fine, except for All fine, except for the usual sporadic crashes with tcnative during shutdown. Also manually changed the max memory size for the unit tests from 256m to 512m (already fixed in git). Thanks for RM! Best regards, Rainer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [PR] SpnegoAuthenticator allows wrong calls to login/logout methods [tomcat]
markt-asf commented on PR #819: URL: https://github.com/apache/tomcat/pull/819#issuecomment-2642387703 Just a heads up that review of this will take a little longer as I need to get my SPNEGO test environment and and running again. I didn't see any issues in a quick code review but I want to explore a few things further in a test environment before making any code changes. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[PR] SpnegoAuthenticator allows wrong calls to login/logout methods [tomcat]
natalia-s-ivanova opened a new pull request, #819: URL: https://github.com/apache/tomcat/pull/819 **Summary:** Inconsistent behavior of the **HttpServletRequest.login(..)** method when using **SpnegoAuthenticator** for WEB application in Tomcat 11.0.2 and earlier. **Details:** Although SpnegoAuthenticator does not implement any public spec interface, usage of this Authenticator leads to violation of contract of HttpServletRequest.login(..) method. Documentation of the HttpServletRequest.login(..) says that it should either "authenticate the provided user name and password" or throw ServletException "if the configured authenticator does not support user name and password authentication": ``` /** * Authenticate the provided user name and password and then associated the * authenticated user with the request. * * ... * * @throws ServletException If any of {@link #getRemoteUser()}, {@link * #getUserPrincipal()} or {@link #getAuthType()} are non-null, if the * configured authenticator does not support user name and password * authentication or if the authentication fails */ ``` Neither of these actions are performed when using SpnegoAuthenticator: (1) ServletException is not thrown, (2) password is not verified against an existing user name (ANY password could be passed into this method and authentication is considered to be successful). **Example:** We have the Tomcat server 11.0.2 that is configured to use SpnegoAuthenticator as a valve in combination with JNDIRealm (LDAP configuration) for a specific application. JNDIRealm is configured in the following way: ``` ``` We performed all the Tomcat setup to use Kerberos tickets for user authentication. While working the application is able to call HttpServletRequest.logout() and afterwards HttpServletRequest.login(..) methods. We identified that in this configuration (authentication="GSSAPI") calling the HttpServletRequest.login(..) method with ANY existing LDAP user does NOT perform password check and allows getting ANOTHER principal to be used by application with its LDAP roles. **Solution:** It looks like the most correct way to fix this issue is to make SpnegoAuthenticator throw ServletException on its login method. Also it looks like such "loginless" implementations should not allow 'logout' operation, but org.apache.catalina.Authenticator.logout(..) does not have ServletException in its signature, so we introduced 'UnsupportedOperationException' in logout for the loginless type of authenticators. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69486] Destroy data in memory completely after the request-response service is finished
https://bz.apache.org/bugzilla/show_bug.cgi?id=69486 --- Comment #9 from Mark Thomas --- It will also have a negative impact on performance. The more I think about this, the more I am leaning towards WONTFIX. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69504] CoyoteAdapter recycle request/response objects in "log()" method even if they are came from outside.
https://bz.apache.org/bugzilla/show_bug.cgi?id=69504 --- Comment #3 from Mark Thomas --- If you want to propose a refactoring then please provide a patch for review. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Re-apply standard formatting
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new f2b95e3a08 Re-apply standard formatting f2b95e3a08 is described below commit f2b95e3a085f6c5346eecde9ef2593b5c99a0b30 Author: Mark Thomas AuthorDate: Fri Feb 7 13:21:36 2025 + Re-apply standard formatting --- java/jakarta/servlet/http/Cookie.java | 2 +- java/org/apache/catalina/WebResourceRoot.java | 2 +- java/org/apache/catalina/connector/Request.java| 2 +- java/org/apache/catalina/servlets/DataSourcePropertyStore.java | 9 - java/org/apache/catalina/servlets/DefaultServlet.java | 2 +- java/org/apache/catalina/servlets/WebdavServlet.java | 8 java/org/apache/catalina/session/DataSourceStore.java | 3 ++- java/org/apache/catalina/util/RateLimiter.java | 2 +- java/org/apache/coyote/NonPipeliningProcessor.java | 4 ++-- java/org/apache/el/util/Validation.java| 2 +- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/java/jakarta/servlet/http/Cookie.java b/java/jakarta/servlet/http/Cookie.java index 20ec7a741b..8a659684d4 100644 --- a/java/jakarta/servlet/http/Cookie.java +++ b/java/jakarta/servlet/http/Cookie.java @@ -235,7 +235,7 @@ public class Cookie implements Cloneable, Serializable { * The default value is false. * * @param secure if true, sends the cookie from the browser to the server only when using a secure - * protocol; if false, sent on any protocol + * protocol; if false, sent on any protocol * * @see #getSecure */ diff --git a/java/org/apache/catalina/WebResourceRoot.java b/java/org/apache/catalina/WebResourceRoot.java index f96dc7d7e8..b99874ee3f 100644 --- a/java/org/apache/catalina/WebResourceRoot.java +++ b/java/org/apache/catalina/WebResourceRoot.java @@ -425,7 +425,7 @@ public interface WebResourceRoot extends Lifecycle { /** * @return {@code true} if the main resources are read only, otherwise {@code false}. The default implementation - * returns {@code false}. + * returns {@code false}. */ default boolean isReadOnly() { return false; diff --git a/java/org/apache/catalina/connector/Request.java b/java/org/apache/catalina/connector/Request.java index 0dfc63019d..a6b0beb7ed 100644 --- a/java/org/apache/catalina/connector/Request.java +++ b/java/org/apache/catalina/connector/Request.java @@ -448,7 +448,7 @@ public class Request implements HttpServletRequest { userPrincipal = null; subject = null; parametersParsed = false; -if (connector != null ) { +if (connector != null) { maxParameterCount = connector.getMaxParameterCount(); } else { maxParameterCount = -1; diff --git a/java/org/apache/catalina/servlets/DataSourcePropertyStore.java b/java/org/apache/catalina/servlets/DataSourcePropertyStore.java index bbb2cf3515..fd700dfc51 100644 --- a/java/org/apache/catalina/servlets/DataSourcePropertyStore.java +++ b/java/org/apache/catalina/servlets/DataSourcePropertyStore.java @@ -52,8 +52,7 @@ import org.w3c.dom.Node; * * The table name used can be configured using the tableName property of the store. * - * Example table schema: - * CREATE TABLE properties ( + * Example table schema: CREATE TABLE properties ( *path VARCHAR(1024) NOT NULL, *namespaceVARCHAR(64) NOT NULL, *name VARCHAR(64) NOT NULL, @@ -97,8 +96,7 @@ public class DataSourcePropertyStore implements WebdavServlet.PropertyStore { } /** - * @param dataSourceName the DataSource JNDI name, will be prefixed with - * java:comp/env for the lookup. + * @param dataSourceName the DataSource JNDI name, will be prefixed with java:comp/env for the lookup. */ public void setDataSourceName(String dataSourceName) { this.dataSourceName = dataSourceName; @@ -129,7 +127,8 @@ public class DataSourcePropertyStore implements WebdavServlet.PropertyStore { try { dataSource = (DataSource) ((new InitialContext()).lookup("java:comp/env/" + dataSourceName)); } catch (NamingException e) { -throw new IllegalArgumentException(sm.getString("webdavservlet.dataSourceStore.noDataSource", dataSourceName), e); +throw new IllegalArgumentException( + sm.getString("webdavservlet.dataSourceStore.noDataSource", dataSourceName), e); } } addPropertyStatement = "INSERT INTO " + tableName + " (path, namespace, name, node) VALUES (?, ?, ?, ?)"; diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/o
Re: [VOTE] Release Apache Tomcat 9.0.99
Rémy, Thanks for RMing. On 2/4/25 3:29 PM, Rémy Maucherat wrote: The proposed Apache Tomcat 9.0.99 release is now available for voting. The notable changes compared to 9.0.98 are: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the changelog: https://nightlies.apache.org/tomcat/tomcat-9.0.x/docs/changelog.html It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.99/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1529 The tag is: https://github.com/apache/tomcat/tree/9.0.99 7145107845fe82dafee783bb0bfd6bea028e173b The proposed 9.0.99 release is: [ ] -1, Broken - do not release [ ] +1, Stable - go ahead and release as 9.0.99 +1 for stable release. The build is reproducible (except for the fulldocs package) on MacOS aarch64 and the unit tests pass. I continue to get skipped unit tests and I suspect my FFM and/or TLS library setup isn't correct. I'll work on that this month. Details: * Environment * Java (build):openjdk version "17.0.14" 2025-01-21 OpenJDK Runtime Environment Temurin-17.0.14+7 (build 17.0.14+7) OpenJDK 64-Bit Server VM Temurin-17.0.14+7 (build 17.0.14+7, mixed mode, sharing) * Java (ffm): openjdk version "23.0.2" 2025-01-21 OpenJDK Runtime Environment Temurin-23.0.2+7 (build 23.0.2+7) OpenJDK 64-Bit Server VM Temurin-23.0.2+7 (build 23.0.2+7, mixed mode, sharing) * Java (test): openjdk version "23.0.2" 2025-01-21 OpenJDK Runtime Environment Temurin-23.0.2+7 (build 23.0.2+7) OpenJDK 64-Bit Server VM Temurin-23.0.2+7 (build 23.0.2+7, mixed mode, sharing) * Ant: Apache Ant(TM) version 1.10.15 compiled on August 25 2024 * OS: Darwin 24.1.0 arm64 * cc: Apple clang version 16.0.0 (clang-1600.0.26.4) * make:GNU Make 3.81 * OpenSSL: OpenSSL 3.4.0 22 Oct 2024 (Library: OpenSSL 3.4.0 22 Oct 2024) * APR: 1.7.5 * * Valid SHA-512 signature for apache-tomcat-9.0.99.zip * Valid GPG signature for apache-tomcat-9.0.99.zip * Valid SHA-512 signature for apache-tomcat-9.0.99.tar.gz * Valid GPG signature for apache-tomcat-9.0.99.tar.gz * Valid SHA-512 signature for apache-tomcat-9.0.99.exe * Valid GPG signature for apache-tomcat-9.0.99.exe * Valid SHA512 signature for apache-tomcat-9.0.99-src.zip * Valid GPG signature for apache-tomcat-9.0.99-src.zip * Valid SHA512 signature for apache-tomcat-9.0.99-src.tar.gz * Valid GPG signature for apache-tomcat-9.0.99-src.tar.gz * * Binary Zip and tarball: Same * Source Zip and tarball: Same * * Building dependencies returned: 0 * Tomcat builds cleanly * tcnative builds cleanly * Junit Tests: PASSED - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch 9.0.x updated: Re-apply standard formatting
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new 07ceceb956 Re-apply standard formatting 07ceceb956 is described below commit 07ceceb9566bd66230b1777f316169d541748730 Author: Mark Thomas AuthorDate: Fri Feb 7 14:42:46 2025 + Re-apply standard formatting --- java/org/apache/catalina/WebResourceRoot.java | 2 +- java/org/apache/catalina/servlets/DataSourcePropertyStore.java | 9 - java/org/apache/catalina/servlets/DefaultServlet.java | 2 +- java/org/apache/catalina/servlets/WebdavServlet.java | 8 java/org/apache/catalina/session/DataSourceStore.java | 3 ++- java/org/apache/catalina/util/RateLimiter.java | 2 +- java/org/apache/catalina/valves/JDBCAccessLogValve.java| 2 ++ java/org/apache/coyote/NonPipeliningProcessor.java | 4 ++-- 8 files changed, 17 insertions(+), 15 deletions(-) diff --git a/java/org/apache/catalina/WebResourceRoot.java b/java/org/apache/catalina/WebResourceRoot.java index f96dc7d7e8..b99874ee3f 100644 --- a/java/org/apache/catalina/WebResourceRoot.java +++ b/java/org/apache/catalina/WebResourceRoot.java @@ -425,7 +425,7 @@ public interface WebResourceRoot extends Lifecycle { /** * @return {@code true} if the main resources are read only, otherwise {@code false}. The default implementation - * returns {@code false}. + * returns {@code false}. */ default boolean isReadOnly() { return false; diff --git a/java/org/apache/catalina/servlets/DataSourcePropertyStore.java b/java/org/apache/catalina/servlets/DataSourcePropertyStore.java index 4e5d497909..0a4dd8150e 100644 --- a/java/org/apache/catalina/servlets/DataSourcePropertyStore.java +++ b/java/org/apache/catalina/servlets/DataSourcePropertyStore.java @@ -51,8 +51,7 @@ import org.w3c.dom.Node; * * The table name used can be configured using the tableName property of the store. * - * Example table schema: - * CREATE TABLE properties ( + * Example table schema: CREATE TABLE properties ( *path VARCHAR(1024) NOT NULL, *namespaceVARCHAR(64) NOT NULL, *name VARCHAR(64) NOT NULL, @@ -96,8 +95,7 @@ public class DataSourcePropertyStore implements WebdavServlet.PropertyStore { } /** - * @param dataSourceName the DataSource JNDI name, will be prefixed with - * java:comp/env for the lookup. + * @param dataSourceName the DataSource JNDI name, will be prefixed with java:comp/env for the lookup. */ public void setDataSourceName(String dataSourceName) { this.dataSourceName = dataSourceName; @@ -128,7 +126,8 @@ public class DataSourcePropertyStore implements WebdavServlet.PropertyStore { try { dataSource = (DataSource) ((new InitialContext()).lookup("java:comp/env/" + dataSourceName)); } catch (NamingException e) { -throw new IllegalArgumentException(sm.getString("webdavservlet.dataSourceStore.noDataSource", dataSourceName), e); +throw new IllegalArgumentException( + sm.getString("webdavservlet.dataSourceStore.noDataSource", dataSourceName), e); } } addPropertyStatement = "INSERT INTO " + tableName + " (path, namespace, name, node) VALUES (?, ?, ?, ?)"; diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/org/apache/catalina/servlets/DefaultServlet.java index 0886155e3a..c58ce2b5b0 100644 --- a/java/org/apache/catalina/servlets/DefaultServlet.java +++ b/java/org/apache/catalina/servlets/DefaultServlet.java @@ -1467,7 +1467,7 @@ public class DefaultServlet extends HttpServlet { if (response.isCommitted()) { /* * Ideally, checkIfRange() would be changed to return Boolean so the three states (satisfied, - * unsatisfied and error) could each be communicated via the return value. There isn't a backwards + * unsatisfied and error) could each be communicated via the return value. There isn't a backwards * compatible way to do that that doesn't involve changing the method name and there are benefits to * retaining the consistency of the existing method name pattern. Hence, this 'trick'. For the error * state, checkIfRange() will call response.sendError() which will commit the response which this method diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 4db0720702..8d96eb 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -85,8 +85,8 @@ import org.xml.sax.SAXExce
[Bug 69552] Performance regression in MessageBytes.toBytes() when using non-default charset
https://bz.apache.org/bugzilla/show_bug.cgi?id=69552 --- Comment #9 from John Engebretson --- Here's the stack trace that accounts for 90% of the impact: sun.nio.cs.UTF_8$Encoder.encodeBufferLoop sun.nio.cs.UTF_8$Encoder.encodeLoop java.nio.charset.CharsetEncoder.encode java.nio.charset.CharsetEncoder.encode java.nio.charset.Charset.encode java.nio.charset.Charset.encode org.apache.tomcat.util.buf.MessageBytes.toBytes org.apache.tomcat.util.http.Parameters.processParameters org.apache.tomcat.util.http.Parameters.handleQueryParameters org.apache.catalina.core.ApplicationHttpRequest.mergeParameters org.apache.catalina.core.ApplicationHttpRequest.parseParameters org.apache.catalina.core.ApplicationHttpRequest.getParameter com.amazon.core.platform.runtime.ThreadSafeRequestFilter$ThreadSafeRequestWrapper.getParameter javax.servlet.ServletRequestWrapper.getParameter javax.servlet.ServletRequestWrapper.getParameter com.amazon.horizonte.servlet.io.MutableParametersHttpServletRequest.getParameter javax.servlet.jsp.el.ImplicitObjectELResolver$ScopeManager$7.getAttribute javax.servlet.jsp.el.ImplicitObjectELResolver$ScopeManager$7.getAttribute javax.servlet.jsp.el.ImplicitObjectELResolver$ScopeMap.get javax.el.MapELResolver.getValue org.apache.jasper.el.JasperELResolver.getValue org.apache.el.parser.AstValue.getValue org.apache.el.parser.AstAbstractEmpty.getValue org.apache.el.ValueExpressionImpl.getValue org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate (org.apache.jsp.WEB_002dINF._jsp._jspx_meth_c_005fif_005f0)|(org.apache.jsp.WEB_002dINF._jsp._jspx_meth_c_005fif_005f0) And here's the code for the relevant custom methods: ThreadSafeRequestWrapper.getParameter: public synchronized String getParameter(String name) { return getRequest().getParameter(name); } MutableParametersHttpServletRequest.getParameter public MutableParametersHttpServletRequest(HttpServletRequest request, Map parameters) { super(request); this.params = new HashMap(parameters); } public String getParameter(String paramName) { if (params.containsKey(paramName)) { String[] values = params.get(paramName); return (values != null) && (values.length > 0) ? values[0] : null; } else { return super.getParameter(paramName); } } Both JSP tags: Both JSPs are called via several layers of , and one of the upstream inclusions adds a tag. These particular JSPs are the first place the params are read after the tag and are the unlucky trigger of parameter reparsing (ApplicationHttpRequest.parseParameters). So the perf opportunity comes from eliminating this part of the re-parsing work. That's a lot of text, sorry, I hope it answers your questions. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch 11.0.x updated: Re-apply standard formatting
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 11.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/11.0.x by this push: new a5ee28c5c9 Re-apply standard formatting a5ee28c5c9 is described below commit a5ee28c5c9fb0ae22007f158a88aba58ef28f39d Author: Mark Thomas AuthorDate: Fri Feb 7 14:26:56 2025 + Re-apply standard formatting --- java/jakarta/servlet/http/Cookie.java | 2 +- java/org/apache/catalina/WebResourceRoot.java | 2 +- java/org/apache/catalina/connector/Request.java| 2 +- .../catalina/servlets/DataSourcePropertyStore.java | 9 +++-- .../apache/catalina/servlets/DefaultServlet.java | 2 +- .../apache/catalina/servlets/WebdavServlet.java| 8 ++--- .../apache/catalina/session/DataSourceStore.java | 3 +- java/org/apache/catalina/util/RateLimiter.java | 2 +- .../apache/catalina/valves/JDBCAccessLogValve.java | 2 ++ .../catalina/valves/ParameterLimitValve.java | 38 -- java/org/apache/coyote/NonPipeliningProcessor.java | 4 +-- java/org/apache/el/util/Validation.java| 2 +- 12 files changed, 41 insertions(+), 35 deletions(-) diff --git a/java/jakarta/servlet/http/Cookie.java b/java/jakarta/servlet/http/Cookie.java index 20ec7a741b..8a659684d4 100644 --- a/java/jakarta/servlet/http/Cookie.java +++ b/java/jakarta/servlet/http/Cookie.java @@ -235,7 +235,7 @@ public class Cookie implements Cloneable, Serializable { * The default value is false. * * @param secure if true, sends the cookie from the browser to the server only when using a secure - * protocol; if false, sent on any protocol + * protocol; if false, sent on any protocol * * @see #getSecure */ diff --git a/java/org/apache/catalina/WebResourceRoot.java b/java/org/apache/catalina/WebResourceRoot.java index f96dc7d7e8..b99874ee3f 100644 --- a/java/org/apache/catalina/WebResourceRoot.java +++ b/java/org/apache/catalina/WebResourceRoot.java @@ -425,7 +425,7 @@ public interface WebResourceRoot extends Lifecycle { /** * @return {@code true} if the main resources are read only, otherwise {@code false}. The default implementation - * returns {@code false}. + * returns {@code false}. */ default boolean isReadOnly() { return false; diff --git a/java/org/apache/catalina/connector/Request.java b/java/org/apache/catalina/connector/Request.java index 0dfc63019d..a6b0beb7ed 100644 --- a/java/org/apache/catalina/connector/Request.java +++ b/java/org/apache/catalina/connector/Request.java @@ -448,7 +448,7 @@ public class Request implements HttpServletRequest { userPrincipal = null; subject = null; parametersParsed = false; -if (connector != null ) { +if (connector != null) { maxParameterCount = connector.getMaxParameterCount(); } else { maxParameterCount = -1; diff --git a/java/org/apache/catalina/servlets/DataSourcePropertyStore.java b/java/org/apache/catalina/servlets/DataSourcePropertyStore.java index bbb2cf3515..fd700dfc51 100644 --- a/java/org/apache/catalina/servlets/DataSourcePropertyStore.java +++ b/java/org/apache/catalina/servlets/DataSourcePropertyStore.java @@ -52,8 +52,7 @@ import org.w3c.dom.Node; * * The table name used can be configured using the tableName property of the store. * - * Example table schema: - * CREATE TABLE properties ( + * Example table schema: CREATE TABLE properties ( *path VARCHAR(1024) NOT NULL, *namespaceVARCHAR(64) NOT NULL, *name VARCHAR(64) NOT NULL, @@ -97,8 +96,7 @@ public class DataSourcePropertyStore implements WebdavServlet.PropertyStore { } /** - * @param dataSourceName the DataSource JNDI name, will be prefixed with - * java:comp/env for the lookup. + * @param dataSourceName the DataSource JNDI name, will be prefixed with java:comp/env for the lookup. */ public void setDataSourceName(String dataSourceName) { this.dataSourceName = dataSourceName; @@ -129,7 +127,8 @@ public class DataSourcePropertyStore implements WebdavServlet.PropertyStore { try { dataSource = (DataSource) ((new InitialContext()).lookup("java:comp/env/" + dataSourceName)); } catch (NamingException e) { -throw new IllegalArgumentException(sm.getString("webdavservlet.dataSourceStore.noDataSource", dataSourceName), e); +throw new IllegalArgumentException( + sm.getString("webdavservlet.dataSourceStore.noDataSource", dataSourceName), e); } } addPropertyStatement = "INSERT INTO " + tableName + " (path, namespace, name, node) VALUES (?, ?, ?, ?)"; diff --git a/java/org/apache/catalina/servlets/Defa
(tomcat) branch 10.1.x updated: Re-apply standard formatting
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.1.x by this push: new 3a6572b692 Re-apply standard formatting 3a6572b692 is described below commit 3a6572b692fb224ecdc7cb771c9ff3251d7f2644 Author: Mark Thomas AuthorDate: Fri Feb 7 14:32:07 2025 + Re-apply standard formatting --- java/org/apache/catalina/WebResourceRoot.java | 2 +- java/org/apache/catalina/servlets/DataSourcePropertyStore.java | 9 - java/org/apache/catalina/servlets/DefaultServlet.java | 2 +- java/org/apache/catalina/servlets/WebdavServlet.java | 8 java/org/apache/catalina/session/DataSourceStore.java | 3 ++- java/org/apache/catalina/util/RateLimiter.java | 2 +- java/org/apache/catalina/valves/JDBCAccessLogValve.java| 2 ++ java/org/apache/coyote/NonPipeliningProcessor.java | 4 ++-- java/org/apache/el/util/Validation.java| 2 +- 9 files changed, 18 insertions(+), 16 deletions(-) diff --git a/java/org/apache/catalina/WebResourceRoot.java b/java/org/apache/catalina/WebResourceRoot.java index f96dc7d7e8..b99874ee3f 100644 --- a/java/org/apache/catalina/WebResourceRoot.java +++ b/java/org/apache/catalina/WebResourceRoot.java @@ -425,7 +425,7 @@ public interface WebResourceRoot extends Lifecycle { /** * @return {@code true} if the main resources are read only, otherwise {@code false}. The default implementation - * returns {@code false}. + * returns {@code false}. */ default boolean isReadOnly() { return false; diff --git a/java/org/apache/catalina/servlets/DataSourcePropertyStore.java b/java/org/apache/catalina/servlets/DataSourcePropertyStore.java index bbb2cf3515..fd700dfc51 100644 --- a/java/org/apache/catalina/servlets/DataSourcePropertyStore.java +++ b/java/org/apache/catalina/servlets/DataSourcePropertyStore.java @@ -52,8 +52,7 @@ import org.w3c.dom.Node; * * The table name used can be configured using the tableName property of the store. * - * Example table schema: - * CREATE TABLE properties ( + * Example table schema: CREATE TABLE properties ( *path VARCHAR(1024) NOT NULL, *namespaceVARCHAR(64) NOT NULL, *name VARCHAR(64) NOT NULL, @@ -97,8 +96,7 @@ public class DataSourcePropertyStore implements WebdavServlet.PropertyStore { } /** - * @param dataSourceName the DataSource JNDI name, will be prefixed with - * java:comp/env for the lookup. + * @param dataSourceName the DataSource JNDI name, will be prefixed with java:comp/env for the lookup. */ public void setDataSourceName(String dataSourceName) { this.dataSourceName = dataSourceName; @@ -129,7 +127,8 @@ public class DataSourcePropertyStore implements WebdavServlet.PropertyStore { try { dataSource = (DataSource) ((new InitialContext()).lookup("java:comp/env/" + dataSourceName)); } catch (NamingException e) { -throw new IllegalArgumentException(sm.getString("webdavservlet.dataSourceStore.noDataSource", dataSourceName), e); +throw new IllegalArgumentException( + sm.getString("webdavservlet.dataSourceStore.noDataSource", dataSourceName), e); } } addPropertyStatement = "INSERT INTO " + tableName + " (path, namespace, name, node) VALUES (?, ?, ?, ?)"; diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/org/apache/catalina/servlets/DefaultServlet.java index 80290468da..3ae7c4c032 100644 --- a/java/org/apache/catalina/servlets/DefaultServlet.java +++ b/java/org/apache/catalina/servlets/DefaultServlet.java @@ -1526,7 +1526,7 @@ public class DefaultServlet extends HttpServlet { if (response.isCommitted()) { /* * Ideally, checkIfRange() would be changed to return Boolean so the three states (satisfied, - * unsatisfied and error) could each be communicated via the return value. There isn't a backwards + * unsatisfied and error) could each be communicated via the return value. There isn't a backwards * compatible way to do that that doesn't involve changing the method name and there are benefits to * retaining the consistency of the existing method name pattern. Hence, this 'trick'. For the error * state, checkIfRange() will call response.sendError() which will commit the response which this method diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 749665cbd6..de6cf2ef90 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina
Re: [VOTE] Release Apache Tomcat 11.0.3
All, On 2/7/25 7:54 AM, Christopher Schultz wrote: Mark, Thanks for RMing. On 2/4/25 1:35 PM, Mark Thomas wrote: The proposed Apache Tomcat 11.0.3 release is now available for voting. The notable changes compared to 11.0.2 include: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-11.0.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 11 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. Applications using deprecated APIs may require further changes. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-11/v11.0.3/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1528 The tag is: https://github.com/apache/tomcat/tree/11.0.3 6e6ddf18b5dd4baadd4470f2f48a71b9c4185122 The proposed 11.0.3 release is: [ ] -1 Broken - do not release [ ] +1 Stable - go ahead and release as 11.0.3 +1 for stable release. The build is 100% reproducible on MacOS aarch64, and the unit tests all pass. Oh, I forgot to post these details: * Environment * Java (build):openjdk version "23.0.2" 2025-01-21 OpenJDK Runtime Environment Temurin-23.0.2+7 (build 23.0.2+7) OpenJDK 64-Bit Server VM Temurin-23.0.2+7 (build 23.0.2+7, mixed mode, sharing) * Java (test): openjdk version "23.0.2" 2025-01-21 OpenJDK Runtime Environment Temurin-23.0.2+7 (build 23.0.2+7) OpenJDK 64-Bit Server VM Temurin-23.0.2+7 (build 23.0.2+7, mixed mode, sharing) * Ant: Apache Ant(TM) version 1.10.15 compiled on August 25 2024 * OS: Darwin 24.1.0 arm64 * cc: Apple clang version 16.0.0 (clang-1600.0.26.4) * make:GNU Make 3.81 * OpenSSL: OpenSSL 3.4.0 22 Oct 2024 (Library: OpenSSL 3.4.0 22 Oct 2024) * APR: 1.7.5 * * Valid SHA-512 signature for apache-tomcat-11.0.3.zip * Valid GPG signature for apache-tomcat-11.0.3.zip * Valid SHA-512 signature for apache-tomcat-11.0.3.tar.gz * Valid GPG signature for apache-tomcat-11.0.3.tar.gz * Valid SHA-512 signature for apache-tomcat-11.0.3.exe * Valid GPG signature for apache-tomcat-11.0.3.exe * Valid SHA512 signature for apache-tomcat-11.0.3-src.zip * Valid GPG signature for apache-tomcat-11.0.3-src.zip * Valid SHA512 signature for apache-tomcat-11.0.3-src.tar.gz * Valid GPG signature for apache-tomcat-11.0.3-src.tar.gz * * Binary Zip and tarball: Same * Source Zip and tarball: Same * * Building dependencies returned: 0 * Tomcat builds cleanly * tcnative builds cleanly * Junit Tests: PASSED - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 11.0.3
Mark, Thanks for RMing. On 2/4/25 1:35 PM, Mark Thomas wrote: The proposed Apache Tomcat 11.0.3 release is now available for voting. The notable changes compared to 11.0.2 include: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-11.0.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 11 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. Applications using deprecated APIs may require further changes. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-11/v11.0.3/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1528 The tag is: https://github.com/apache/tomcat/tree/11.0.3 6e6ddf18b5dd4baadd4470f2f48a71b9c4185122 The proposed 11.0.3 release is: [ ] -1 Broken - do not release [ ] +1 Stable - go ahead and release as 11.0.3 +1 for stable release. The build is 100% reproducible on MacOS aarch64, and the unit tests all pass. -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 64550] create a project module to launch Tomcat in JPMS
https://bz.apache.org/bugzilla/show_bug.cgi?id=64550 Mark Thomas changed: What|Removed |Added Resolution|--- |LATER Status|NEW |RESOLVED --- Comment #2 from Mark Thomas --- Closing due to lack of interest. It can always be re-opened if that changes. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 64549] create a project module to launch Tomcat in OSGi
https://bz.apache.org/bugzilla/show_bug.cgi?id=64549 Mark Thomas changed: What|Removed |Added Resolution|--- |LATER Status|NEW |RESOLVED --- Comment #2 from Mark Thomas --- Closing due to lack of interest. It can always be reopened if that changes. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch 10.1.x updated: Align with 11.0.x onwards
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.1.x by this push: new 632fdb9cb5 Align with 11.0.x onwards 632fdb9cb5 is described below commit 632fdb9cb5a80f237784af04643f0bd54a8cf477 Author: Mark Thomas AuthorDate: Fri Feb 7 15:36:31 2025 + Align with 11.0.x onwards --- java/org/apache/jasper/compiler/JspUtil.java | 11 --- 1 file changed, 11 deletions(-) diff --git a/java/org/apache/jasper/compiler/JspUtil.java b/java/org/apache/jasper/compiler/JspUtil.java index fc20a38ae6..5e00d198d0 100644 --- a/java/org/apache/jasper/compiler/JspUtil.java +++ b/java/org/apache/jasper/compiler/JspUtil.java @@ -352,17 +352,6 @@ public class JspUtil { /* * Build up the base call to the interpreter. */ -// XXX - We use a proprietary call to the interpreter for now -// as the current standard machinery is inefficient and requires -// lots of wrappers and adapters. This should all clear up once -// the EL interpreter moves out of JSTL and into its own project. -// In the future, this should be replaced by code that calls -// ExpressionEvaluator.parseExpression() and then cache the resulting -// expression objects. The interpreterCall would simply select -// one of the pre-cached expressions and evaluate it. -// Note that PageContextImpl implements VariableResolver and -// the generated Servlet/SimpleTag implements FunctionMapper, so -// that machinery is already in place (mroth). targetType = toJavaSourceType(targetType); StringBuilder call = new StringBuilder("(" + returnType + ") " + "org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate" + "(" + Generator.quote(expression) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Code clean-up - formatting. No functional change.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 13c19f6358 Code clean-up - formatting. No functional change. 13c19f6358 is described below commit 13c19f6358fc1020c414e51594fb83b49a042f32 Author: Mark Thomas AuthorDate: Fri Feb 7 15:30:14 2025 + Code clean-up - formatting. No functional change. --- java/org/apache/jasper/compiler/JspReader.java | 320 +-- .../apache/jasper/compiler/JspRuntimeContext.java | 97 ++-- java/org/apache/jasper/compiler/JspUtil.java | 331 +-- java/org/apache/jasper/compiler/Localizer.java | 18 +- java/org/apache/jasper/compiler/Mark.java | 8 +- .../compiler/NewlineReductionServletWriter.java| 11 +- java/org/apache/jasper/compiler/Node.java | 602 - 7 files changed, 586 insertions(+), 801 deletions(-) diff --git a/java/org/apache/jasper/compiler/JspReader.java b/java/org/apache/jasper/compiler/JspReader.java index df3ee8a0f4..7681a9b446 100644 --- a/java/org/apache/jasper/compiler/JspReader.java +++ b/java/org/apache/jasper/compiler/JspReader.java @@ -29,9 +29,8 @@ import org.apache.juli.logging.LogFactory; import org.apache.tomcat.Jar; /** - * JspReader is an input buffer for the JSP parser. It should allow - * unlimited lookahead and pushback. It also has a bunch of parsing - * utility methods for understanding htmlesque thingies. + * JspReader is an input buffer for the JSP parser. It should allow unlimited lookahead and pushback. It also has a + * bunch of parsing utility methods for understanding htmlesque thingies. * * @author Anil K. Vijendran * @author Anselm Baird-Smith @@ -69,41 +68,33 @@ class JspReader { /** * Constructor. * - * @param ctxt The compilation context - * @param fname The file name + * @param ctxt The compilation context + * @param fnameThe file name * @param encoding The file encoding - * @param jar ? - * @param err The error dispatcher - * @throws JasperException If a Jasper-internal error occurs + * @param jar ? + * @param err The error dispatcher + * + * @throws JasperException If a Jasper-internal error occurs * @throws FileNotFoundException If the JSP file is not found (or is unreadable) - * @throws IOException If an IO-level error occurs, e.g. reading the file + * @throws IOException If an IO-level error occurs, e.g. reading the file */ -JspReader(JspCompilationContext ctxt, - String fname, - String encoding, - Jar jar, - ErrorDispatcher err) +JspReader(JspCompilationContext ctxt, String fname, String encoding, Jar jar, ErrorDispatcher err) throws JasperException, FileNotFoundException, IOException { -this(ctxt, fname, JspUtil.getReader(fname, encoding, jar, ctxt, err), - err); +this(ctxt, fname, JspUtil.getReader(fname, encoding, jar, ctxt, err), err); } /** - * Constructor: same as above constructor but with initialized reader - * to the file given. + * Constructor: same as above constructor but with initialized reader to the file given. * * @param ctxt The compilation context * @param fname The file name * @param reader A reader for the JSP source file - * @param err The error dispatcher + * @param errThe error dispatcher * * @throws JasperException If an error occurs parsing the JSP file */ -JspReader(JspCompilationContext ctxt, - String fname, - InputStreamReader reader, - ErrorDispatcher err) +JspReader(JspCompilationContext ctxt, String fname, InputStreamReader reader, ErrorDispatcher err) throws JasperException { this.context = ctxt; @@ -112,7 +103,7 @@ class JspReader { try { CharArrayWriter caw = new CharArrayWriter(); char buf[] = new char[1024]; -for (int i = 0 ; (i = reader.read(buf)) != -1 ;) { +for (int i = 0; (i = reader.read(buf)) != -1;) { caw.write(buf, 0, i); } caw.close(); @@ -126,7 +117,7 @@ class JspReader { try { reader.close(); } catch (Exception any) { -if(log.isDebugEnabled()) { +if (log.isDebugEnabled()) { log.debug(Localizer.getMessage("jsp.error.file.close"), any); } } @@ -136,8 +127,7 @@ class JspReader { /** - * @return JSP compilation context with which this JspReader is - * associated + * @return JSP compilation contex
(tomcat) branch 11.0.x updated: Code clean-up - formatting. No functional change.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 11.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/11.0.x by this push: new b6e09cf83c Code clean-up - formatting. No functional change. b6e09cf83c is described below commit b6e09cf83ccc4cc07c0f29b6668882280056a9f6 Author: Mark Thomas AuthorDate: Fri Feb 7 15:30:37 2025 + Code clean-up - formatting. No functional change. --- java/org/apache/jasper/compiler/JspReader.java | 320 +-- .../apache/jasper/compiler/JspRuntimeContext.java | 97 ++-- java/org/apache/jasper/compiler/JspUtil.java | 331 +-- java/org/apache/jasper/compiler/Localizer.java | 18 +- java/org/apache/jasper/compiler/Mark.java | 8 +- .../compiler/NewlineReductionServletWriter.java| 11 +- java/org/apache/jasper/compiler/Node.java | 602 - 7 files changed, 586 insertions(+), 801 deletions(-) diff --git a/java/org/apache/jasper/compiler/JspReader.java b/java/org/apache/jasper/compiler/JspReader.java index df3ee8a0f4..7681a9b446 100644 --- a/java/org/apache/jasper/compiler/JspReader.java +++ b/java/org/apache/jasper/compiler/JspReader.java @@ -29,9 +29,8 @@ import org.apache.juli.logging.LogFactory; import org.apache.tomcat.Jar; /** - * JspReader is an input buffer for the JSP parser. It should allow - * unlimited lookahead and pushback. It also has a bunch of parsing - * utility methods for understanding htmlesque thingies. + * JspReader is an input buffer for the JSP parser. It should allow unlimited lookahead and pushback. It also has a + * bunch of parsing utility methods for understanding htmlesque thingies. * * @author Anil K. Vijendran * @author Anselm Baird-Smith @@ -69,41 +68,33 @@ class JspReader { /** * Constructor. * - * @param ctxt The compilation context - * @param fname The file name + * @param ctxt The compilation context + * @param fnameThe file name * @param encoding The file encoding - * @param jar ? - * @param err The error dispatcher - * @throws JasperException If a Jasper-internal error occurs + * @param jar ? + * @param err The error dispatcher + * + * @throws JasperException If a Jasper-internal error occurs * @throws FileNotFoundException If the JSP file is not found (or is unreadable) - * @throws IOException If an IO-level error occurs, e.g. reading the file + * @throws IOException If an IO-level error occurs, e.g. reading the file */ -JspReader(JspCompilationContext ctxt, - String fname, - String encoding, - Jar jar, - ErrorDispatcher err) +JspReader(JspCompilationContext ctxt, String fname, String encoding, Jar jar, ErrorDispatcher err) throws JasperException, FileNotFoundException, IOException { -this(ctxt, fname, JspUtil.getReader(fname, encoding, jar, ctxt, err), - err); +this(ctxt, fname, JspUtil.getReader(fname, encoding, jar, ctxt, err), err); } /** - * Constructor: same as above constructor but with initialized reader - * to the file given. + * Constructor: same as above constructor but with initialized reader to the file given. * * @param ctxt The compilation context * @param fname The file name * @param reader A reader for the JSP source file - * @param err The error dispatcher + * @param errThe error dispatcher * * @throws JasperException If an error occurs parsing the JSP file */ -JspReader(JspCompilationContext ctxt, - String fname, - InputStreamReader reader, - ErrorDispatcher err) +JspReader(JspCompilationContext ctxt, String fname, InputStreamReader reader, ErrorDispatcher err) throws JasperException { this.context = ctxt; @@ -112,7 +103,7 @@ class JspReader { try { CharArrayWriter caw = new CharArrayWriter(); char buf[] = new char[1024]; -for (int i = 0 ; (i = reader.read(buf)) != -1 ;) { +for (int i = 0; (i = reader.read(buf)) != -1;) { caw.write(buf, 0, i); } caw.close(); @@ -126,7 +117,7 @@ class JspReader { try { reader.close(); } catch (Exception any) { -if(log.isDebugEnabled()) { +if (log.isDebugEnabled()) { log.debug(Localizer.getMessage("jsp.error.file.close"), any); } } @@ -136,8 +127,7 @@ class JspReader { /** - * @return JSP compilation context with which this JspReader is - * associated + * @return JSP compilation co
(tomcat) branch 10.1.x updated: Code clean-up - formatting. No functional change.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.1.x by this push: new 2d30dce56f Code clean-up - formatting. No functional change. 2d30dce56f is described below commit 2d30dce56fb94af2a04d14d4614ab2e192249be6 Author: Mark Thomas AuthorDate: Fri Feb 7 15:31:01 2025 + Code clean-up - formatting. No functional change. --- java/org/apache/jasper/compiler/JspReader.java | 320 +-- .../apache/jasper/compiler/JspRuntimeContext.java | 139 ++--- java/org/apache/jasper/compiler/JspUtil.java | 331 +-- java/org/apache/jasper/compiler/Localizer.java | 18 +- java/org/apache/jasper/compiler/Mark.java | 8 +- .../compiler/NewlineReductionServletWriter.java| 11 +- java/org/apache/jasper/compiler/Node.java | 622 - 7 files changed, 611 insertions(+), 838 deletions(-) diff --git a/java/org/apache/jasper/compiler/JspReader.java b/java/org/apache/jasper/compiler/JspReader.java index df3ee8a0f4..7681a9b446 100644 --- a/java/org/apache/jasper/compiler/JspReader.java +++ b/java/org/apache/jasper/compiler/JspReader.java @@ -29,9 +29,8 @@ import org.apache.juli.logging.LogFactory; import org.apache.tomcat.Jar; /** - * JspReader is an input buffer for the JSP parser. It should allow - * unlimited lookahead and pushback. It also has a bunch of parsing - * utility methods for understanding htmlesque thingies. + * JspReader is an input buffer for the JSP parser. It should allow unlimited lookahead and pushback. It also has a + * bunch of parsing utility methods for understanding htmlesque thingies. * * @author Anil K. Vijendran * @author Anselm Baird-Smith @@ -69,41 +68,33 @@ class JspReader { /** * Constructor. * - * @param ctxt The compilation context - * @param fname The file name + * @param ctxt The compilation context + * @param fnameThe file name * @param encoding The file encoding - * @param jar ? - * @param err The error dispatcher - * @throws JasperException If a Jasper-internal error occurs + * @param jar ? + * @param err The error dispatcher + * + * @throws JasperException If a Jasper-internal error occurs * @throws FileNotFoundException If the JSP file is not found (or is unreadable) - * @throws IOException If an IO-level error occurs, e.g. reading the file + * @throws IOException If an IO-level error occurs, e.g. reading the file */ -JspReader(JspCompilationContext ctxt, - String fname, - String encoding, - Jar jar, - ErrorDispatcher err) +JspReader(JspCompilationContext ctxt, String fname, String encoding, Jar jar, ErrorDispatcher err) throws JasperException, FileNotFoundException, IOException { -this(ctxt, fname, JspUtil.getReader(fname, encoding, jar, ctxt, err), - err); +this(ctxt, fname, JspUtil.getReader(fname, encoding, jar, ctxt, err), err); } /** - * Constructor: same as above constructor but with initialized reader - * to the file given. + * Constructor: same as above constructor but with initialized reader to the file given. * * @param ctxt The compilation context * @param fname The file name * @param reader A reader for the JSP source file - * @param err The error dispatcher + * @param errThe error dispatcher * * @throws JasperException If an error occurs parsing the JSP file */ -JspReader(JspCompilationContext ctxt, - String fname, - InputStreamReader reader, - ErrorDispatcher err) +JspReader(JspCompilationContext ctxt, String fname, InputStreamReader reader, ErrorDispatcher err) throws JasperException { this.context = ctxt; @@ -112,7 +103,7 @@ class JspReader { try { CharArrayWriter caw = new CharArrayWriter(); char buf[] = new char[1024]; -for (int i = 0 ; (i = reader.read(buf)) != -1 ;) { +for (int i = 0; (i = reader.read(buf)) != -1;) { caw.write(buf, 0, i); } caw.close(); @@ -126,7 +117,7 @@ class JspReader { try { reader.close(); } catch (Exception any) { -if(log.isDebugEnabled()) { +if (log.isDebugEnabled()) { log.debug(Localizer.getMessage("jsp.error.file.close"), any); } } @@ -136,8 +127,7 @@ class JspReader { /** - * @return JSP compilation context with which this JspReader is - * associated + * @return JSP compilation c
(tomcat) branch 9.0.x updated: Code clean-up - formatting. No functional change.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new 33fd46ea81 Code clean-up - formatting. No functional change. 33fd46ea81 is described below commit 33fd46ea81ab5009a93ff7cf577f0915e407743a Author: Mark Thomas AuthorDate: Fri Feb 7 15:31:22 2025 + Code clean-up - formatting. No functional change. --- java/org/apache/jasper/compiler/JspReader.java | 320 +-- .../apache/jasper/compiler/JspRuntimeContext.java | 139 ++--- java/org/apache/jasper/compiler/JspUtil.java | 328 +-- java/org/apache/jasper/compiler/Localizer.java | 18 +- java/org/apache/jasper/compiler/Mark.java | 8 +- .../compiler/NewlineReductionServletWriter.java| 11 +- java/org/apache/jasper/compiler/Node.java | 622 - 7 files changed, 609 insertions(+), 837 deletions(-) diff --git a/java/org/apache/jasper/compiler/JspReader.java b/java/org/apache/jasper/compiler/JspReader.java index df3ee8a0f4..7681a9b446 100644 --- a/java/org/apache/jasper/compiler/JspReader.java +++ b/java/org/apache/jasper/compiler/JspReader.java @@ -29,9 +29,8 @@ import org.apache.juli.logging.LogFactory; import org.apache.tomcat.Jar; /** - * JspReader is an input buffer for the JSP parser. It should allow - * unlimited lookahead and pushback. It also has a bunch of parsing - * utility methods for understanding htmlesque thingies. + * JspReader is an input buffer for the JSP parser. It should allow unlimited lookahead and pushback. It also has a + * bunch of parsing utility methods for understanding htmlesque thingies. * * @author Anil K. Vijendran * @author Anselm Baird-Smith @@ -69,41 +68,33 @@ class JspReader { /** * Constructor. * - * @param ctxt The compilation context - * @param fname The file name + * @param ctxt The compilation context + * @param fnameThe file name * @param encoding The file encoding - * @param jar ? - * @param err The error dispatcher - * @throws JasperException If a Jasper-internal error occurs + * @param jar ? + * @param err The error dispatcher + * + * @throws JasperException If a Jasper-internal error occurs * @throws FileNotFoundException If the JSP file is not found (or is unreadable) - * @throws IOException If an IO-level error occurs, e.g. reading the file + * @throws IOException If an IO-level error occurs, e.g. reading the file */ -JspReader(JspCompilationContext ctxt, - String fname, - String encoding, - Jar jar, - ErrorDispatcher err) +JspReader(JspCompilationContext ctxt, String fname, String encoding, Jar jar, ErrorDispatcher err) throws JasperException, FileNotFoundException, IOException { -this(ctxt, fname, JspUtil.getReader(fname, encoding, jar, ctxt, err), - err); +this(ctxt, fname, JspUtil.getReader(fname, encoding, jar, ctxt, err), err); } /** - * Constructor: same as above constructor but with initialized reader - * to the file given. + * Constructor: same as above constructor but with initialized reader to the file given. * * @param ctxt The compilation context * @param fname The file name * @param reader A reader for the JSP source file - * @param err The error dispatcher + * @param errThe error dispatcher * * @throws JasperException If an error occurs parsing the JSP file */ -JspReader(JspCompilationContext ctxt, - String fname, - InputStreamReader reader, - ErrorDispatcher err) +JspReader(JspCompilationContext ctxt, String fname, InputStreamReader reader, ErrorDispatcher err) throws JasperException { this.context = ctxt; @@ -112,7 +103,7 @@ class JspReader { try { CharArrayWriter caw = new CharArrayWriter(); char buf[] = new char[1024]; -for (int i = 0 ; (i = reader.read(buf)) != -1 ;) { +for (int i = 0; (i = reader.read(buf)) != -1;) { caw.write(buf, 0, i); } caw.close(); @@ -126,7 +117,7 @@ class JspReader { try { reader.close(); } catch (Exception any) { -if(log.isDebugEnabled()) { +if (log.isDebugEnabled()) { log.debug(Localizer.getMessage("jsp.error.file.close"), any); } } @@ -136,8 +127,7 @@ class JspReader { /** - * @return JSP compilation context with which this JspReader is - * associated + * @return JSP compilation con
(tomcat) branch 9.0.x updated: Align with 10.1.x onwards
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new 8ec8f68197 Align with 10.1.x onwards 8ec8f68197 is described below commit 8ec8f68197d23bd2162062090203c8cac03bd2a1 Author: Mark Thomas AuthorDate: Fri Feb 7 15:39:08 2025 + Align with 10.1.x onwards --- java/org/apache/jasper/compiler/JspUtil.java | 11 --- 1 file changed, 11 deletions(-) diff --git a/java/org/apache/jasper/compiler/JspUtil.java b/java/org/apache/jasper/compiler/JspUtil.java index 74fccf9772..77103db6bc 100644 --- a/java/org/apache/jasper/compiler/JspUtil.java +++ b/java/org/apache/jasper/compiler/JspUtil.java @@ -353,17 +353,6 @@ public class JspUtil { /* * Build up the base call to the interpreter. */ -// XXX - We use a proprietary call to the interpreter for now -// as the current standard machinery is inefficient and requires -// lots of wrappers and adapters. This should all clear up once -// the EL interpreter moves out of JSTL and into its own project. -// In the future, this should be replaced by code that calls -// ExpressionEvaluator.parseExpression() and then cache the resulting -// expression objects. The interpreterCall would simply select -// one of the pre-cached expressions and evaluate it. -// Note that PageContextImpl implements VariableResolver and -// the generated Servlet/SimpleTag implements FunctionMapper, so -// that machinery is already in place (mroth). targetType = toJavaSourceType(targetType); StringBuilder call = new StringBuilder("(" + returnType + ") " + "org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate" + "(" + Generator.quote(expression) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch 10.1.x updated: Improve Javadoc format
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.1.x by this push: new 139773f288 Improve Javadoc format 139773f288 is described below commit 139773f288bb0e1ab76ecd5bd9d99f3e7137d20e Author: Mark Thomas AuthorDate: Fri Feb 7 15:47:53 2025 + Improve Javadoc format --- java/org/apache/jasper/compiler/Node.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/org/apache/jasper/compiler/Node.java b/java/org/apache/jasper/compiler/Node.java index db17f24a3b..d62ad88520 100644 --- a/java/org/apache/jasper/compiler/Node.java +++ b/java/org/apache/jasper/compiler/Node.java @@ -1685,8 +1685,12 @@ abstract class Node implements TagConstants { } /** - * A custom action is considered to have an empty body if the following holds true: - getBody() returns null, or - * - all immediate children are jsp:attribute actions, or - the action's jsp:body is empty. + * A custom action is considered to have an empty body if any of the following hold true: + * + * getBody() returns null + * all immediate children are jsp:attribute actions + * the action's jsp:body is empty + * * * @return {@code true} if this custom action has an empty body, and {@code false} otherwise. */ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch 11.0.x updated: Improve Javadoc format
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 11.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/11.0.x by this push: new 4a8603dd8c Improve Javadoc format 4a8603dd8c is described below commit 4a8603dd8c887244163b912c97703dd34137c0f1 Author: Mark Thomas AuthorDate: Fri Feb 7 15:47:53 2025 + Improve Javadoc format --- java/org/apache/jasper/compiler/Node.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/org/apache/jasper/compiler/Node.java b/java/org/apache/jasper/compiler/Node.java index fa8d56f69a..c7f9296f8d 100644 --- a/java/org/apache/jasper/compiler/Node.java +++ b/java/org/apache/jasper/compiler/Node.java @@ -1607,8 +1607,12 @@ abstract class Node implements TagConstants { } /** - * A custom action is considered to have an empty body if the following holds true: - getBody() returns null, or - * - all immediate children are jsp:attribute actions, or - the action's jsp:body is empty. + * A custom action is considered to have an empty body if any of the following hold true: + * + * getBody() returns null + * all immediate children are jsp:attribute actions + * the action's jsp:body is empty + * * * @return {@code true} if this custom action has an empty body, and {@code false} otherwise. */ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated (13c19f6358 -> a68c337e25)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git from 13c19f6358 Code clean-up - formatting. No functional change. add a68c337e25 Improve Javadoc format No new revisions were added by this update. Summary of changes: java/org/apache/jasper/compiler/Node.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch 9.0.x updated: Improve Javadoc format
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new 1b59044fb0 Improve Javadoc format 1b59044fb0 is described below commit 1b59044fb0d69cbaa32f47532084ea649fe00e5f Author: Mark Thomas AuthorDate: Fri Feb 7 15:47:53 2025 + Improve Javadoc format --- java/org/apache/jasper/compiler/Node.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/org/apache/jasper/compiler/Node.java b/java/org/apache/jasper/compiler/Node.java index e10247605a..15f88986d7 100644 --- a/java/org/apache/jasper/compiler/Node.java +++ b/java/org/apache/jasper/compiler/Node.java @@ -1683,8 +1683,12 @@ abstract class Node implements TagConstants { } /** - * A custom action is considered to have an empty body if the following holds true: - getBody() returns null, or - * - all immediate children are jsp:attribute actions, or - the action's jsp:body is empty. + * A custom action is considered to have an empty body if any of the following hold true: + * + * getBody() returns null + * all immediate children are jsp:attribute actions + * the action's jsp:body is empty + * * * @return {@code true} if this custom action has an empty body, and {@code false} otherwise. */ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 10.1.35
All, On 2/4/25 5:10 PM, Christopher Schultz wrote: The proposed Apache Tomcat 10.1.35 release is now available for voting. All committers and PMC members are kindly requested to provide a vote if possible. ANY TOMCAT USER MAY VOTE, though only PMC members votes are binding. We welcome non-committer votes or comments on release builds. The notable changes compared to 10.1.34 are: - Allow readOnly attribute configuration on the Resources element and allow configuration of the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. - Correct a regression in the fix for bug 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. - Expand the options for handling encoded '/' and '\' characters in URLs both in the Connector and when using a RequestDispatcher. For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.35/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1530 The tag is: https://github.com/apache/tomcat/tree/10.1.35 https://github.com/apache/tomcat/ commit/9636e5188311f30c1e46c94191d2145998778bf4 Please reply with a +1 for release or +0/-0/-1 with an explanation. +1 for stable release Build is 100% reproducible (LOL) on MacOS aarch64 and all the unit tests pass. I had to run the unit tests 3 times to get them to all pass. Once I had a variety of random tests fail. I think my computer may have gone to sleep during that time period, though. The second time was a JVM error with zero explanation at all. The third time, all tests ran cleanly. Details: * Environment * Java (build):openjdk version "23.0.2" 2025-01-21 OpenJDK Runtime Environment Temurin-23.0.2+7 (build 23.0.2+7) OpenJDK 64-Bit Server VM Temurin-23.0.2+7 (build 23.0.2+7, mixed mode, sharing) * Java (test): openjdk version "23.0.2" 2025-01-21 OpenJDK Runtime Environment Temurin-23.0.2+7 (build 23.0.2+7) OpenJDK 64-Bit Server VM Temurin-23.0.2+7 (build 23.0.2+7, mixed mode, sharing) * Ant: Apache Ant(TM) version 1.10.15 compiled on August 25 2024 * OS: Darwin 24.1.0 arm64 * cc: Apple clang version 16.0.0 (clang-1600.0.26.4) * make:GNU Make 3.81 * OpenSSL: OpenSSL 3.4.0 22 Oct 2024 (Library: OpenSSL 3.4.0 22 Oct 2024) * APR: 1.7.5 * * Valid SHA-512 signature for apache-tomcat-10.1.35.zip * Valid GPG signature for apache-tomcat-10.1.35.zip * Valid SHA-512 signature for apache-tomcat-10.1.35.tar.gz * Valid GPG signature for apache-tomcat-10.1.35.tar.gz * Valid SHA-512 signature for apache-tomcat-10.1.35.exe * Valid GPG signature for apache-tomcat-10.1.35.exe * Valid SHA512 signature for apache-tomcat-10.1.35-src.zip * Valid GPG signature for apache-tomcat-10.1.35-src.zip * Valid SHA512 signature for apache-tomcat-10.1.35-src.tar.gz * Valid GPG signature for apache-tomcat-10.1.35-src.tar.gz * * Binary Zip and tarball: Same * Source Zip and tarball: Same * * Building dependencies returned: 0 * Tomcat builds cleanly * tcnative builds cleanly * Junit Tests: FAILED * * Tests that failed: * org.apache.catalina.valves.TestStuckThreadDetectionValve.NIO.txt * org.apache.coyote.TestIoTimeouts.NIO.txt * org.apache.coyote.http11.TestHttp11InputBuffer.NIO.txt * org.apache.coyote.http11.TestHttp11Processor.NIO.txt * org.apache.coyote.http11.filters.TestChunkedInputFilter.NIO.txt * org.apache.coyote.http2.TestAsyncReadListener.NIO.txt * org.apache.coyote.http2.TestHttp2Limits.NIO.txt * org.apache.tomcat.websocket.TestWsWebSocketContainerTimeoutClient.NIO.txt * org.apache.tomcat.websocket.TestWsWebSocketContainerTimeoutServer.NIO.txt -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org