[tomcat] branch master updated (c156c3c -> b1dc0dc)

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


from c156c3c  Use 2GB as the threshold for buffer pool
 new 11e043f  Update changelog
 new f06dcf0  Update comment
 new b1dc0dc  Revert work-around for JDK-8255854

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 build.properties.default|  2 +-
 java/org/apache/el/stream/package-info.java | 18 --
 java/org/apache/el/util/package-info.java   | 18 --
 res/bnd/jasper-el.jar.tmp.bnd   |  2 +-
 webapps/docs/changelog.xml  |  4 
 5 files changed, 6 insertions(+), 38 deletions(-)
 delete mode 100644 java/org/apache/el/stream/package-info.java
 delete mode 100644 java/org/apache/el/util/package-info.java


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 03/03: Revert work-around for JDK-8255854

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit b1dc0dcb746ec6fdc718cea9c99de57dc5cbaf27
Author: Mark Thomas 
AuthorDate: Fri Nov 6 08:10:11 2020 +

Revert work-around for JDK-8255854

The intention is to use BND 5.3.0-SNAPSHOT as the workaround as they
requires much fewer changes to the codebase.
---
 java/org/apache/el/stream/package-info.java | 18 --
 java/org/apache/el/util/package-info.java   | 18 --
 res/bnd/jasper-el.jar.tmp.bnd   |  2 +-
 3 files changed, 1 insertion(+), 37 deletions(-)

diff --git a/java/org/apache/el/stream/package-info.java 
b/java/org/apache/el/stream/package-info.java
deleted file mode 100644
index 7af866a..000
--- a/java/org/apache/el/stream/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-@aQute.bnd.annotation.jpms.Open
-package org.apache.el.stream;
\ No newline at end of file
diff --git a/java/org/apache/el/util/package-info.java 
b/java/org/apache/el/util/package-info.java
deleted file mode 100644
index a490094..000
--- a/java/org/apache/el/util/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-//@aQute.bnd.annotation.jpms.Open
-package org.apache.el.util;
\ No newline at end of file
diff --git a/res/bnd/jasper-el.jar.tmp.bnd b/res/bnd/jasper-el.jar.tmp.bnd
index d9e97fb..67a2384 100644
--- a/res/bnd/jasper-el.jar.tmp.bnd
+++ b/res/bnd/jasper-el.jar.tmp.bnd
@@ -30,7 +30,7 @@ Export-Package: \
 
 -jpms-module-info: \
 ${module.name};\
-access=0;\
+access=32;\
 version=${Bundle-Version}
 -jpms-module-info-options: \
 ${module.name};\


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/03: Update comment

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit f06dcf09b1b9986d7b5ef40c4dac39caaae7d9a2
Author: Mark Thomas 
AuthorDate: Fri Nov 6 08:09:16 2020 +

Update comment
---
 build.properties.default | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.properties.default b/build.properties.default
index 6dddbda..d02143a 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -290,7 +290,7 @@ 
saaj-api.loc=${base-maven.loc}/javax/xml/soap/saaj-api/${saaj-api.version}/saaj-
 # - provides OSGI metadata for JARs   -
 bnd.version=5.2.0
 
-# checksums for biz.aQute.bnd-5.1.1.jar
+# checksums for biz.aQute.bnd-5.2.0.jar
 bnd.checksum.enabled=true
 bnd.checksum.algorithm=MD5|SHA-1
 
bnd.checksum.value=3254df4b94104002f79005ae54ec1dbb|1d69d0a5862133ac1f54555c9cd59011d79bbb86


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 01/03: Update changelog

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 11e043fd381846b0233d5cba8c711b9b6db0814b
Author: Mark Thomas 
AuthorDate: Thu Nov 5 14:55:06 2020 +

Update changelog
---
 webapps/docs/changelog.xml | 4 
 1 file changed, 4 insertions(+)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 3ce0e13..b61d2fa 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -147,6 +147,10 @@
   
 Update to the Eclipse JDT compiler 4.17. (markt)
   
+  
+64849: Correct JPMS metadata for the Jakarta Expression
+Langauge JARs to provide missing ServiceLoader information. (markt)
+  
 
   
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch master updated: Update to bnd 5.3.0-SNAPSHOT to workaround JDK-8255854

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
 new 3b6e149  Update to bnd 5.3.0-SNAPSHOT to workaround JDK-8255854
3b6e149 is described below

commit 3b6e14993fc2b3a55e87f3d56b6a6d4df417cd59
Author: Mark Thomas 
AuthorDate: Fri Nov 6 08:36:04 2020 +

Update to bnd 5.3.0-SNAPSHOT to workaround JDK-8255854
---
 build.properties.default   | 15 +++
 webapps/docs/changelog.xml |  4 +++-
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index d02143a..de2407b 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -286,18 +286,25 @@ saaj-api.home=${base.path}/saaj-api-${saaj-api.version}
 saaj-api.jar=${saaj-api.home}/saaj-api-${saaj-api.version}.jar
 
saaj-api.loc=${base-maven.loc}/javax/xml/soap/saaj-api/${saaj-api.version}/saaj-api-${saaj-api.version}.jar
 
-# - bnd, version 5.1.1 or later  -
+# - bnd, version 5.3.0 or later  -
 # - provides OSGI metadata for JARs   -
-bnd.version=5.2.0
+# *** Using SNAPSHOT *** Using SNAPSHOT *** Using SNAPSHOT ***
+# The specific version used for release builds will be archived at
+# https://home.apache.org/~markt/dev/deps/bnd-5.3.0-SNAPHOT/
+# *** Using SNAPSHOT *** Using SNAPSHOT *** Using SNAPSHOT ***
+bnd.version=5.3.0-SNAPSHOT
 
 # checksums for biz.aQute.bnd-5.2.0.jar
-bnd.checksum.enabled=true
+# *** Disabled while we depend on SNAPSHOT JARs ***
+bnd.checksum.enabled=false
 bnd.checksum.algorithm=MD5|SHA-1
 
bnd.checksum.value=3254df4b94104002f79005ae54ec1dbb|1d69d0a5862133ac1f54555c9cd59011d79bbb86
 
 bnd.home=${base.path}/bnd-${bnd.version}
 bnd.jar=${bnd.home}/biz.aQute.bnd-${bnd.version}.jar
-bnd.loc=${base-maven.loc}/biz/aQute/bnd/biz.aQute.bnd/${bnd.version}/biz.aQute.bnd-${bnd.version}.jar
+# *** Temporary change to use the SNAPSHOT repository ***
+# 
bnd.loc=${base-maven.loc}/biz/aQute/bnd/biz.aQute.bnd/${bnd.version}/biz.aQute.bnd-${bnd.version}.jar
+bnd.loc=https://bndtools.jfrog.io/bndtools/update-snapshot/biz/aQute/bnd/biz.aQute.bnd/${bnd.version}/biz.aQute.bnd-${bnd.version}.jar
 
 # - OSGi annotations bundle, version 1.0.0 or later-
 # - required to avoid Javadoc error when using bnd annotations -
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index b61d2fa..1e4779e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -182,7 +182,9 @@
 Improvements to Russian translations. Provided by Azat. (markt)
   
   
-Update to bnd 5.2.0. (markt)
+Update to bnd 5.3.0-SNAPSHOT to work around a
+https://bugs.openjdk.java.net/browse/JDK-8255854";>JRE bug.
+(markt)
   
 
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot failure in on tomcat-trunk

2020-11-06 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
tomcat. Full details are available at:
https://ci.apache.org/builders/tomcat-trunk/builds/5537

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf946_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch master] 3b6e14993fc2b3a55e87f3d56b6a6d4df417cd59
Blamelist: Mark Thomas 

BUILD FAILED: failed compile_1

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Working around a JRE bug

2020-11-06 Thread Rémy Maucherat
On Thu, Nov 5, 2020 at 9:00 PM Mark Thomas  wrote:

> Woot!
>
> The great folks at bnd have fixed this. It means depending on a snapshot
> but compared to the disruption of the alternatives I think that is
> acceptable for the short term.
>
> The issue with depending on a snapshot is reproducibility of builds. The
> simplest option (and infra seem OK with it) is to put a copy in my home
> dir on home.a.o.
>
> Any objections? Better ideas?
>

It's a lot better than not working. But I expect it will be a problem for
independent build systems.

Rémy


>
> Mark
>
>
>
> On 05/11/2020 12:57, Mark Thomas wrote:
> > All,
> >
> > The summary:
> >
> > - The JVM spec states that the ModulePackages attribute in
> >   module-info.class DOES NOT have to list ALL packages in the module
> > - bnd is consistent with the JVM spec and only lists the packages that
> >   are required to be listed
> > - the JRE uses a broken class loader optimisation that assumes that
> >   ModulePackages DOES list ALL packages present in the module
> >
> > When applications try and use our JARs with bnd provided module-info
> > CNFE occur because the JRE can't find the module for some classes.
> >
> > For a fuller description of the issue see:
> > https://bugs.openjdk.java.net/browse/JDK-8255854
> >
> > This is likely the cause of several currently open bugs reports of CNFE
> > when using modules.
> >
> >
> > Possible solutions:
> >
> > 1. OpenJDK accepts the class loader optimisation is flawed and reverts
> >it.
> >Given the reaction so far to the reported bug this looks unlikely.
> >Even if this were to happen, class loading performance would be
> >impacted and it is going to take a long time before all the broken
> >JREs have been updated.
> >
> > 2. The bnd project updates bnd to implement what amounts to an
> >undocumented requirement that the ModulePackages attribute lists all
> >packages in the module.
> >This is probably the cleanest solution but depends on the goodwill of
> >the bnd project who would be well within their rights to reject it as
> >invalid based on the JVM spec. I haven't yet approached the bnd
> >project. A fix along these lines might be ready for the next release
> >round but is unlikely to be ready for this one.
> >
> > 3. We drop all the JPMS meta-data until we have a solution.
> >I'm not sure of the consequences for users wanting to use Tomcat JARs
> >in a JPMS environment.
> >
> > 4. We "patch" module-info after bnd has generated it via:
> >- custom code (BCEL probably helps)
> >- jar (if using Java 9+ jar rebuilds the module-info.class file)
> >
> > 5. We add "unnecessary" @aQute.bnd.annotation.jpms.Open annotations to
> >packages so bnd includes them in module-info.
> >It might be hard to remove these at a later date if folks start to
> >depend on them.
> >
> >
> > I am currently thinking along these lines:
> >
> > - Add @aQute.bnd.annotation.jpms.Open where necessary to fix this.
> > - Document clearly in the Javadoc, change log, the release announcement
> >   and the RELEASE NOTES that this is a temporary workaround that will be
> >   removed as soon as a better fix is available.
> > - Ask the bnd project to make a change to list all packages in a module
> >   in the ModulePackages attribute.
> >
> > Thoughts?
> >
> > Mark
> >
> > -
> > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> > For additional commands, e-mail: dev-h...@tomcat.apache.org
> >
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


[GitHub] [tomcat] rmaucher commented on pull request #376: Implement Bug 64877

2020-11-06 Thread GitBox


rmaucher commented on pull request #376:
URL: https://github.com/apache/tomcat/pull/376#issuecomment-722999067


   At least for Tomcat 10, modifying the existing realm is the way to go. For 
example, the JDBCRealm was also removed over DataSourceRealm for similar 
reasons.



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.

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 64870] ClassNotFoundException on RFC2231Utility when parsing parameters

2020-11-06 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64870

Mark Thomas  changed:

   What|Removed |Added

 Resolution|--- |INVALID
 Status|NEW |RESOLVED

--- Comment #2 from Mark Thomas  ---
Confirmed, this is a symptom of a JRE bug
https://bugs.openjdk.java.net/browse/JDK-8255854

The bnd folks have been brilliant and have already implemented a work-around.
Tomcat 10 has been updated to use the workaround and 9.0.x will follow shortly.

I am closing this is INVALID merely on a technicality because the root cause is
a JRE issue rather than a Tomcat bug. Rest assured the work-around will be in
place for 10.0.0-M10 and 9.0.40 onwards.

-- 
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] 01/03: Simplify

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 557c64e19c078ea45ec59348caf478f7bbbdda0c
Author: Mark Thomas 
AuthorDate: Fri Nov 6 10:01:24 2020 +

Simplify
---
 java/jakarta/el/ExpressionFactory.java| 2 +-
 java/org/apache/el/ExpressionFactoryImpl.java | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/java/jakarta/el/ExpressionFactory.java 
b/java/jakarta/el/ExpressionFactory.java
index dd17ddd..599a179 100644
--- a/java/jakarta/el/ExpressionFactory.java
+++ b/java/jakarta/el/ExpressionFactory.java
@@ -42,7 +42,7 @@ import aQute.bnd.annotation.spi.ServiceConsumer;
  *
  * @since 2.1
  */
-@ServiceConsumer(value=jakarta.el.ExpressionFactory.class)
+@ServiceConsumer(value=ExpressionFactory.class)
 public abstract class ExpressionFactory {
 
 private static final boolean IS_SECURITY_ENABLED =
diff --git a/java/org/apache/el/ExpressionFactoryImpl.java 
b/java/org/apache/el/ExpressionFactoryImpl.java
index e3aa471..d85ed93 100644
--- a/java/org/apache/el/ExpressionFactoryImpl.java
+++ b/java/org/apache/el/ExpressionFactoryImpl.java
@@ -33,7 +33,7 @@ import org.apache.el.util.MessageFactory;
  *
  * @author Jacob Hookom [ja...@hookom.net]
  */
-@aQute.bnd.annotation.spi.ServiceProvider(value=jakarta.el.ExpressionFactory.class)
+@aQute.bnd.annotation.spi.ServiceProvider(value=ExpressionFactory.class)
 public class ExpressionFactoryImpl extends ExpressionFactory {
 
 @Override


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch master updated (3b6e149 -> c0032f2)

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


from 3b6e149  Update to bnd 5.3.0-SNAPSHOT to workaround JDK-8255854
 new 557c64e  Simplify
 new 3f20e75  Add JPMS metadata for use of ServiceProvider API by WebSocket
 new c0032f2  Add BZ reference

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 java/jakarta/el/ExpressionFactory.java | 2 +-
 java/jakarta/websocket/ContainerProvider.java  | 3 +++
 java/jakarta/websocket/server/ServerEndpointConfig.java| 3 +++
 java/org/apache/el/ExpressionFactoryImpl.java  | 2 +-
 java/org/apache/tomcat/websocket/WsContainerProvider.java  | 1 +
 .../tomcat/websocket/server/DefaultServerEndpointConfigurator.java | 1 +
 webapps/docs/changelog.xml | 2 +-
 7 files changed, 11 insertions(+), 3 deletions(-)


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/03: Add JPMS metadata for use of ServiceProvider API by WebSocket

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 3f20e75607eb3d929fadb018f73dfa7fae46b76e
Author: Mark Thomas 
AuthorDate: Fri Nov 6 10:01:49 2020 +

Add JPMS metadata for use of ServiceProvider API by WebSocket
---
 java/jakarta/websocket/ContainerProvider.java  | 3 +++
 java/jakarta/websocket/server/ServerEndpointConfig.java| 3 +++
 java/org/apache/tomcat/websocket/WsContainerProvider.java  | 1 +
 .../tomcat/websocket/server/DefaultServerEndpointConfigurator.java | 1 +
 4 files changed, 8 insertions(+)

diff --git a/java/jakarta/websocket/ContainerProvider.java 
b/java/jakarta/websocket/ContainerProvider.java
index 33a8af2..fdc54f6 100644
--- a/java/jakarta/websocket/ContainerProvider.java
+++ b/java/jakarta/websocket/ContainerProvider.java
@@ -19,10 +19,13 @@ package jakarta.websocket;
 import java.util.Iterator;
 import java.util.ServiceLoader;
 
+import aQute.bnd.annotation.spi.ServiceConsumer;
+
 /**
  * Use the {@link ServiceLoader} mechanism to provide instances of the 
WebSocket
  * client container.
  */
+@ServiceConsumer(value=ContainerProvider.class)
 public abstract class ContainerProvider {
 
 private static final String DEFAULT_PROVIDER_CLASS_NAME =
diff --git a/java/jakarta/websocket/server/ServerEndpointConfig.java 
b/java/jakarta/websocket/server/ServerEndpointConfig.java
index 4fb16d3..33a7112 100644
--- a/java/jakarta/websocket/server/ServerEndpointConfig.java
+++ b/java/jakarta/websocket/server/ServerEndpointConfig.java
@@ -29,6 +29,8 @@ import jakarta.websocket.EndpointConfig;
 import jakarta.websocket.Extension;
 import jakarta.websocket.HandshakeResponse;
 
+import aQute.bnd.annotation.spi.ServiceConsumer;
+
 /**
  * Provides configuration information for WebSocket endpoints published to a
  * server. Applications may provide their own implementation or use
@@ -139,6 +141,7 @@ public interface ServerEndpointConfig extends 
EndpointConfig {
 }
 
 
+@ServiceConsumer(value=Configurator.class)
 public class Configurator {
 
 private static volatile Configurator defaultImpl = null;
diff --git a/java/org/apache/tomcat/websocket/WsContainerProvider.java 
b/java/org/apache/tomcat/websocket/WsContainerProvider.java
index ad990f1..c3b52a3 100644
--- a/java/org/apache/tomcat/websocket/WsContainerProvider.java
+++ b/java/org/apache/tomcat/websocket/WsContainerProvider.java
@@ -19,6 +19,7 @@ package org.apache.tomcat.websocket;
 import jakarta.websocket.ContainerProvider;
 import jakarta.websocket.WebSocketContainer;
 
+@aQute.bnd.annotation.spi.ServiceProvider(value=ContainerProvider.class)
 public class WsContainerProvider extends ContainerProvider {
 
 @Override
diff --git 
a/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
 
b/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
index a64b830..50252f6 100644
--- 
a/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
+++ 
b/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
@@ -26,6 +26,7 @@ import jakarta.websocket.HandshakeResponse;
 import jakarta.websocket.server.HandshakeRequest;
 import jakarta.websocket.server.ServerEndpointConfig;
 
+@aQute.bnd.annotation.spi.ServiceProvider(value=ServerEndpointConfig.Configurator.class)
 public class DefaultServerEndpointConfigurator
 extends ServerEndpointConfig.Configurator {
 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 03/03: Add BZ reference

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit c0032f2147eaf952b7b9f6becca7f4bdef6e1551
Author: Mark Thomas 
AuthorDate: Fri Nov 6 11:15:33 2020 +

Add BZ reference
---
 webapps/docs/changelog.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 1e4779e..806c1e5 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -182,7 +182,7 @@
 Improvements to Russian translations. Provided by Azat. (markt)
   
   
-Update to bnd 5.3.0-SNAPSHOT to work around a
+64870: Update to bnd 5.3.0-SNAPSHOT to work around a
 https://bugs.openjdk.java.net/browse/JDK-8255854";>JRE bug.
 (markt)
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Working around a JRE bug

2020-11-06 Thread Mark Thomas
On 06/11/2020 10:15, Rémy Maucherat wrote:
> On Thu, Nov 5, 2020 at 9:00 PM Mark Thomas  wrote:
> 
>> Woot!
>>
>> The great folks at bnd have fixed this. It means depending on a snapshot
>> but compared to the disruption of the alternatives I think that is
>> acceptable for the short term.
>>
>> The issue with depending on a snapshot is reproducibility of builds. The
>> simplest option (and infra seem OK with it) is to put a copy in my home
>> dir on home.a.o.
>>
>> Any objections? Better ideas?
>>
> 
> It's a lot better than not working. But I expect it will be a problem for
> independent build systems.

After some reflection I went for a slightly different approach.

The build script now gets the latest 5.3.0 SNAPSHOT from the bnd
snapshot repo and I will take an archive copy of the version I use for
release builds (likely only the one version).

That should minimise the issues for other builds but in the unlikely
event of someone needing to re-run a build with the exact bnd version we
used for a release rather than building from source (which would be
possible) we have a copy.

Given the nature of the work-around and the way we use bnd I'd be very
surprised if any of the snapshots between now and the 5.3.0 release (or
the 5.3.0 release itself) exhibited any observable change in behaviour
in our build system.

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 03/05: Fix BZ 64849 JPMS provides/uses for EL

2020-11-06 Thread markt
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

commit 3d2e5cad9778621cbf3f8452eafb2e12e9ec8323
Author: Mark Thomas 
AuthorDate: Mon Nov 2 19:53:05 2020 +

Fix BZ 64849 JPMS provides/uses for EL
---
 java/javax/el/ExpressionFactory.java  | 3 +++
 java/org/apache/el/ExpressionFactoryImpl.java | 1 +
 res/checkstyle/javax-import-control.xml   | 1 +
 webapps/docs/changelog.xml| 4 
 4 files changed, 9 insertions(+)

diff --git a/java/javax/el/ExpressionFactory.java 
b/java/javax/el/ExpressionFactory.java
index 9158e12..2f42de7 100644
--- a/java/javax/el/ExpressionFactory.java
+++ b/java/javax/el/ExpressionFactory.java
@@ -36,10 +36,13 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
+import aQute.bnd.annotation.spi.ServiceConsumer;
+
 /**
  *
  * @since 2.1
  */
+@ServiceConsumer(value=ExpressionFactory.class)
 public abstract class ExpressionFactory {
 
 private static final boolean IS_SECURITY_ENABLED =
diff --git a/java/org/apache/el/ExpressionFactoryImpl.java 
b/java/org/apache/el/ExpressionFactoryImpl.java
index e32eced..c4b97cd 100644
--- a/java/org/apache/el/ExpressionFactoryImpl.java
+++ b/java/org/apache/el/ExpressionFactoryImpl.java
@@ -33,6 +33,7 @@ import org.apache.el.util.MessageFactory;
  *
  * @author Jacob Hookom [ja...@hookom.net]
  */
+@aQute.bnd.annotation.spi.ServiceProvider(value=ExpressionFactory.class)
 public class ExpressionFactoryImpl extends ExpressionFactory {
 
 /**
diff --git a/res/checkstyle/javax-import-control.xml 
b/res/checkstyle/javax-import-control.xml
index 010f511..3ce4303 100644
--- a/res/checkstyle/javax-import-control.xml
+++ b/res/checkstyle/javax-import-control.xml
@@ -21,6 +21,7 @@
 
 
   
+  
   
 
   
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 781e31b..f82492b 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -147,6 +147,10 @@
   
 Update to the Eclipse JDT compiler 4.17. (markt)
   
+  
+64849: Correct JPMS metadata for the Jakarta Expression
+Langauge JARs to provide missing ServiceLoader information. (markt)
+  
 
   
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/05: Update to bnd 5.3.0-SNAPSHOT to workaround JDK-8255854

2020-11-06 Thread markt
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

commit 7c174c8415e2b4efcc2f13d0a79c1f97c1dd916e
Author: Mark Thomas 
AuthorDate: Mon Nov 2 19:51:55 2020 +

Update to bnd 5.3.0-SNAPSHOT to workaround JDK-8255854
---
 build.properties.default   | 23 +++
 webapps/docs/changelog.xml |  5 +
 2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index def7752..5a8ca83 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -286,24 +286,31 @@ saaj-api.home=${base.path}/saaj-api-${saaj-api.version}
 saaj-api.jar=${saaj-api.home}/saaj-api-${saaj-api.version}.jar
 
saaj-api.loc=${base-maven.loc}/javax/xml/soap/saaj-api/${saaj-api.version}/saaj-api-${saaj-api.version}.jar
 
-# - bnd, version 5.1.1 or later  -
+# - bnd, version 5.3.0 or later  -
 # - provides OSGI metadata for JARs   -
-bnd.version=5.1.1
-
-# checksums for biz.aQute.bnd-5.1.1.jar
-bnd.checksum.enabled=true
+# *** Using SNAPSHOT *** Using SNAPSHOT *** Using SNAPSHOT ***
+# The specific version used for release builds will be archived at
+# https://home.apache.org/~markt/dev/deps/bnd-5.3.0-SNAPHOT/
+# *** Using SNAPSHOT *** Using SNAPSHOT *** Using SNAPSHOT ***
+bnd.version=5.3.0-SNAPSHOT
+
+# checksums for biz.aQute.bnd-5.2.0.jar
+# *** Disabled while we depend on SNAPSHOT JARs ***
+bnd.checksum.enabled=false
 bnd.checksum.algorithm=MD5|SHA-1
-bnd.checksum.value=0dc5ff0af222ef075b5b0dd488f6aeac|0e542cf0f928107c17ce65f3c68dd2875724fecc
+bnd.checksum.value=3254df4b94104002f79005ae54ec1dbb|1d69d0a5862133ac1f54555c9cd59011d79bbb86
 
 bnd.home=${base.path}/bnd-${bnd.version}
 bnd.jar=${bnd.home}/biz.aQute.bnd-${bnd.version}.jar
-bnd.loc=${base-maven.loc}/biz/aQute/bnd/biz.aQute.bnd/${bnd.version}/biz.aQute.bnd-${bnd.version}.jar
+# *** Temporary change to use the SNAPSHOT repository ***
+# 
bnd.loc=${base-maven.loc}/biz/aQute/bnd/biz.aQute.bnd/${bnd.version}/biz.aQute.bnd-${bnd.version}.jar
+bnd.loc=https://bndtools.jfrog.io/bndtools/update-snapshot/biz/aQute/bnd/biz.aQute.bnd/${bnd.version}/biz.aQute.bnd-${bnd.version}.jar
 
 # - OSGi annotations bundle, version 1.0.0 or later-
 # - required to avoid Javadoc error when using bnd annotations -
 osgi-annotations.version=1.0.0
 
-# checksums for biz.aQute.bnd-5.1.1.jar
+# checksums for biz.aQute.bnd-5.2.0.jar
 osgi-annotations.checksum.enabled=true
 osgi-annotations.checksum.algorithm=MD5|SHA-1
 
osgi-annotations.checksum.value=153054f987534244f95a399539b11375|b6e802bceba0682353466abf8fadbbd662b2f7f8
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 418679c..781e31b 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -180,6 +180,11 @@
   
 Align JPMS module names with current Jakarta EE expectations. (markt)
   
+  
+64870: Update to bnd 5.3.0-SNAPSHOT to work around a
+https://bugs.openjdk.java.net/browse/JDK-8255854";>JRE bug.
+(markt)
+  
 
   
 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 01/05: Align JPMS module names with current jakarta expectations

2020-11-06 Thread markt
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

commit 60bbe490ceec812022425070d2e52f389f606c40
Author: Mark Thomas 
AuthorDate: Fri Nov 6 11:53:55 2020 +

Align JPMS module names with current jakarta expectations
---
 res/bnd/el-api.jar.tmp.bnd| 4 ++--
 res/bnd/jaspic-api.jar.tmp.bnd| 4 ++--
 res/bnd/jsp-api.jar.tmp.bnd   | 4 ++--
 res/bnd/servlet-api.jar.tmp.bnd   | 4 ++--
 res/bnd/websocket-api.jar.tmp.bnd | 4 ++--
 webapps/docs/changelog.xml| 3 +++
 6 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/res/bnd/el-api.jar.tmp.bnd b/res/bnd/el-api.jar.tmp.bnd
index d81d961..c1c7500 100644
--- a/res/bnd/el-api.jar.tmp.bnd
+++ b/res/bnd/el-api.jar.tmp.bnd
@@ -34,9 +34,9 @@ Provide-Capability: \
 Implementation-Vendor='Apache Software Foundation'
 
 -jpms-module-info: \
-javax.el.api;\
+java.el;\
 access=32;\
 version=${el.spec.version}
 -jpms-module-info-options: \
-javax.el.api;\
+java.el;\
 substitute=el-api
diff --git a/res/bnd/jaspic-api.jar.tmp.bnd b/res/bnd/jaspic-api.jar.tmp.bnd
index e7c44db..ad74c64 100644
--- a/res/bnd/jaspic-api.jar.tmp.bnd
+++ b/res/bnd/jaspic-api.jar.tmp.bnd
@@ -35,9 +35,9 @@ Provide-Capability: \
 Implementation-Vendor='Apache Software Foundation'
 
 -jpms-module-info: \
-javax.security.enterprise.api;\
+java.security.auth.message;\
 access=32;\
 version=${jaspic.spec.version}
 -jpms-module-info-options: \
-javax.security.enterprise.api;\
+java.security.auth.message;\
 substitute=jaspic-api
diff --git a/res/bnd/jsp-api.jar.tmp.bnd b/res/bnd/jsp-api.jar.tmp.bnd
index e011d76..5d29488 100644
--- a/res/bnd/jsp-api.jar.tmp.bnd
+++ b/res/bnd/jsp-api.jar.tmp.bnd
@@ -35,9 +35,9 @@ Provide-Capability: \
 Implementation-Vendor='Apache Software Foundation'
 
 -jpms-module-info: \
-javax.servlet.jsp.api;\
+java.servlet.jsp;\
 access=32;\
 version=${jsp.spec.version}
 -jpms-module-info-options: \
-javax.servlet.jsp.api;\
+java.servlet.jsp;\
 substitute=jsp-api
diff --git a/res/bnd/servlet-api.jar.tmp.bnd b/res/bnd/servlet-api.jar.tmp.bnd
index 8fd76bd..ace3872 100644
--- a/res/bnd/servlet-api.jar.tmp.bnd
+++ b/res/bnd/servlet-api.jar.tmp.bnd
@@ -39,9 +39,9 @@ Provide-Capability: \
 Implementation-Vendor='Apache Software Foundation'
 
 -jpms-module-info: \
-javax.servlet.api;\
+java.servlet;\
 access=32;\
 version=${servlet.spec.version}
 -jpms-module-info-options: \
-javax.servlet.api;\
+java.servlet;\
 substitute=servlet-api
diff --git a/res/bnd/websocket-api.jar.tmp.bnd 
b/res/bnd/websocket-api.jar.tmp.bnd
index ccf9942..2001349 100644
--- a/res/bnd/websocket-api.jar.tmp.bnd
+++ b/res/bnd/websocket-api.jar.tmp.bnd
@@ -35,9 +35,9 @@ Provide-Capability: \
 Implementation-Vendor='Apache Software Foundation'
 
 -jpms-module-info: \
-javax.websocket.api;\
+java.websocket;\
 access=32;\
 version=${websocket.spec.version}
 -jpms-module-info-options: \
-javax.websocket.api;\
+java.websocket;\
 substitute=websocket-api
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 69a36d7..418679c 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -177,6 +177,9 @@
   
 Improvements to Russian translations. Provided by Azat. (markt)
   
+  
+Align JPMS module names with current Jakarta EE expectations. (markt)
+  
 
   
 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot success in on tomcat-trunk

2020-11-06 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building tomcat. Full details are available at:
https://ci.apache.org/builders/tomcat-trunk/builds/5538

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf946_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch master] c0032f2147eaf952b7b9f6becca7f4bdef6e1551
Blamelist: Mark Thomas 

Build succeeded!

Sincerely,
 -The Buildbot




-
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 (0e8cfd6 -> d0b4638)

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


from 0e8cfd6  Additional fixes for BZ 64848
 new 60bbe49  Align JPMS module names with current jakarta expectations
 new 7c174c8  Update to bnd 5.3.0-SNAPSHOT to workaround JDK-8255854
 new 3d2e5ca  Fix BZ 64849 JPMS provides/uses for EL
 new 348df91  Remove unnecessary code
 new d0b4638  Add JPMS metadata for use of ServiceProvider API by WebSocket

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 build.properties.default   | 23 ++
 java/javax/el/ExpressionFactory.java   |  3 +++
 java/javax/websocket/ContainerProvider.java|  3 +++
 .../websocket/server/ServerEndpointConfig.java |  3 +++
 java/org/apache/el/ExpressionFactoryImpl.java  |  8 +---
 .../tomcat/websocket/WsContainerProvider.java  |  1 +
 .../server/DefaultServerEndpointConfigurator.java  |  1 +
 res/bnd/el-api.jar.tmp.bnd |  4 ++--
 res/bnd/jaspic-api.jar.tmp.bnd |  4 ++--
 res/bnd/jsp-api.jar.tmp.bnd|  4 ++--
 res/bnd/servlet-api.jar.tmp.bnd|  4 ++--
 res/bnd/websocket-api.jar.tmp.bnd  |  4 ++--
 res/checkstyle/javax-import-control.xml|  1 +
 webapps/docs/changelog.xml | 12 +++
 14 files changed, 50 insertions(+), 25 deletions(-)


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 05/05: Add JPMS metadata for use of ServiceProvider API by WebSocket

2020-11-06 Thread markt
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

commit d0b4638662b6d0d87b6f137823e4155025e748f8
Author: Mark Thomas 
AuthorDate: Fri Nov 6 10:01:49 2020 +

Add JPMS metadata for use of ServiceProvider API by WebSocket
---
 java/javax/websocket/ContainerProvider.java| 3 +++
 java/javax/websocket/server/ServerEndpointConfig.java  | 3 +++
 java/org/apache/tomcat/websocket/WsContainerProvider.java  | 1 +
 .../tomcat/websocket/server/DefaultServerEndpointConfigurator.java | 1 +
 4 files changed, 8 insertions(+)

diff --git a/java/javax/websocket/ContainerProvider.java 
b/java/javax/websocket/ContainerProvider.java
index f95c9ad..f800b34 100644
--- a/java/javax/websocket/ContainerProvider.java
+++ b/java/javax/websocket/ContainerProvider.java
@@ -19,10 +19,13 @@ package javax.websocket;
 import java.util.Iterator;
 import java.util.ServiceLoader;
 
+import aQute.bnd.annotation.spi.ServiceConsumer;
+
 /**
  * Use the {@link ServiceLoader} mechanism to provide instances of the 
WebSocket
  * client container.
  */
+@ServiceConsumer(value=ContainerProvider.class)
 public abstract class ContainerProvider {
 
 private static final String DEFAULT_PROVIDER_CLASS_NAME =
diff --git a/java/javax/websocket/server/ServerEndpointConfig.java 
b/java/javax/websocket/server/ServerEndpointConfig.java
index fa56ce4..11204c8 100644
--- a/java/javax/websocket/server/ServerEndpointConfig.java
+++ b/java/javax/websocket/server/ServerEndpointConfig.java
@@ -29,6 +29,8 @@ import javax.websocket.EndpointConfig;
 import javax.websocket.Extension;
 import javax.websocket.HandshakeResponse;
 
+import aQute.bnd.annotation.spi.ServiceConsumer;
+
 /**
  * Provides configuration information for WebSocket endpoints published to a
  * server. Applications may provide their own implementation or use
@@ -139,6 +141,7 @@ public interface ServerEndpointConfig extends 
EndpointConfig {
 }
 
 
+@ServiceConsumer(value=Configurator.class)
 public class Configurator {
 
 private static volatile Configurator defaultImpl = null;
diff --git a/java/org/apache/tomcat/websocket/WsContainerProvider.java 
b/java/org/apache/tomcat/websocket/WsContainerProvider.java
index 654ad79..3cb8873 100644
--- a/java/org/apache/tomcat/websocket/WsContainerProvider.java
+++ b/java/org/apache/tomcat/websocket/WsContainerProvider.java
@@ -19,6 +19,7 @@ package org.apache.tomcat.websocket;
 import javax.websocket.ContainerProvider;
 import javax.websocket.WebSocketContainer;
 
+@aQute.bnd.annotation.spi.ServiceProvider(value=ContainerProvider.class)
 public class WsContainerProvider extends ContainerProvider {
 
 @Override
diff --git 
a/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
 
b/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
index 75b8d70..5c385ed 100644
--- 
a/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
+++ 
b/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
@@ -26,6 +26,7 @@ import javax.websocket.HandshakeResponse;
 import javax.websocket.server.HandshakeRequest;
 import javax.websocket.server.ServerEndpointConfig;
 
+@aQute.bnd.annotation.spi.ServiceProvider(value=ServerEndpointConfig.Configurator.class)
 public class DefaultServerEndpointConfigurator
 extends ServerEndpointConfig.Configurator {
 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 04/05: Remove unnecessary code

2020-11-06 Thread markt
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

commit 348df911595bb8d76ddb0479dc1b7d70169ea79e
Author: Mark Thomas 
AuthorDate: Tue Nov 3 17:06:05 2020 +

Remove unnecessary code
---
 java/org/apache/el/ExpressionFactoryImpl.java | 7 ---
 1 file changed, 7 deletions(-)

diff --git a/java/org/apache/el/ExpressionFactoryImpl.java 
b/java/org/apache/el/ExpressionFactoryImpl.java
index c4b97cd..a6faeb6 100644
--- a/java/org/apache/el/ExpressionFactoryImpl.java
+++ b/java/org/apache/el/ExpressionFactoryImpl.java
@@ -36,13 +36,6 @@ import org.apache.el.util.MessageFactory;
 @aQute.bnd.annotation.spi.ServiceProvider(value=ExpressionFactory.class)
 public class ExpressionFactoryImpl extends ExpressionFactory {
 
-/**
- *
- */
-public ExpressionFactoryImpl() {
-super();
-}
-
 @Override
 public Object coerceToType(Object obj, Class type) {
 return ELSupport.coerceToType(null, obj, type);


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64849] Embedded EL module descriptor missing uses and provides clauses

2020-11-06 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64849

Mark Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Mark Thomas  ---
Thanks for the report. This highlighted a number of additional issues which
have all been fixed.

Fixed in:
- 10.0.x for 10.0.0-M10 onwards
- 9.0.x for 9.0.40 onwards

-- 
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 master updated: Remove unused code

2020-11-06 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
 new 8a89da0  Remove unused code
8a89da0 is described below

commit 8a89da0acc4d2aa2a06f684c49f220a7d43273db
Author: remm 
AuthorDate: Fri Nov 6 13:08:44 2020 +0100

Remove unused code
---
 java/org/apache/catalina/session/JDBCStore.java | 12 
 1 file changed, 12 deletions(-)

diff --git a/java/org/apache/catalina/session/JDBCStore.java 
b/java/org/apache/catalina/session/JDBCStore.java
index 63370c8..4ad4b06 100644
--- a/java/org/apache/catalina/session/JDBCStore.java
+++ b/java/org/apache/catalina/session/JDBCStore.java
@@ -67,11 +67,6 @@ public class JDBCStore extends StoreBase {
 protected static final String storeName = "JDBCStore";
 
 /**
- * Name to register for the background thread.
- */
-protected static final String threadName = "JDBCStore";
-
-/**
  * The connection username to use when trying to connect to the database.
  */
 protected String connectionName = null;
@@ -212,13 +207,6 @@ public class JDBCStore extends StoreBase {
 }
 
 /**
- * @return the thread name for this Store.
- */
-public String getThreadName() {
-return threadName;
-}
-
-/**
  * @return the name for this Store, used for logging.
  */
 @Override


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 57892] Log once a warning if a symbolic link is ignored (e.g. to web.xml )

2020-11-06 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=57892

Mark Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #3 from Mark Thomas  ---


*** This bug has been marked as a duplicate of bug 64871 ***

-- 
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 64871] warn "SEVERE" if /WEB-INF/web.xml not found

2020-11-06 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64871

--- Comment #2 from Mark Thomas  ---
The previous issue hadn't been forgotten. I'll mark it as a duplicate of this
one shortly.

Since the original issue was raised, the resource handling has been
significantly refactored. It looks like it will be possible to catch files
being ignored because of symlinks in a single place.

It seems unlikely to me that users would want a symlink to be ignored otherwise
why create the symlink in the fist place? I am therefore experimenting with
logging an error message whenever a file is ignored due to it being accessed
via a symlink.

I do think SEVERE is too excessive for the general case. It is probably
appropriate for some files (like web.xml) but I don't want to start down the
path of checking for files names before deciding on the log level. WARN seems
reasonable.

-- 
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 64878] New: Can not determine the proper size for pid_t / pthread_t

2020-11-06 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64878

Bug ID: 64878
   Summary: Can not determine the proper size for pid_t /
pthread_t
   Product: Tomcat Connectors
   Version: unspecified
  Hardware: PC
OS: Mac OS X 10.1
Status: NEW
  Severity: normal
  Priority: P2
 Component: mod_jk
  Assignee: dev@tomcat.apache.org
  Reporter: r...@symentis.com
  Target Milestone: ---

Created attachment 37548
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=37548&action=edit
config.log

tomcat-connectors-1.2.48 (not selectable in bug report version dropdown)

When using XCode 12.1 / OSX 10.15.7, configure is not able to determine the
following sizes:

pid_t_fmt='#error Can not determine the proper size for pid_t'

pthread_t_fmt='#error Can not determine the proper size for pthread_t'

This leads to:

Making all in common
/usr/local/opt/apr/libexec/build-1/libtool --silent --mode=compile clang -I.
-I/usr/local/opt/httpd/include/httpd  -DHAVE_CONFIG_H -g -O2 -DHAVE_APR 
-I/usr/local/opt/apr/libexec/include/apr-1
-I/usr/local/opt/apr-util/libexec/include/apr-1  -DHAVE_CONFIG_H -DDARWIN
-DSIGPROCMASK_SETS_THREAD_MASK -DDARWIN_10 -c jk_ajp12_worker.c -o
jk_ajp12_worker.lo
In file included from jk_ajp12_worker.c:25:
In file included from ./jk_ajp12_worker.h:26:
In file included from ./jk_logger.h:26:
In file included from ./jk_global.h:340:
./jk_types.h:56:2: error: Can not determine the proper size for pid_t
#error Can not determine the proper size for pid_t
 ^
./jk_types.h:62:2: error: Can not determine the proper size for pthread_t
#error Can not determine the proper size for pthread_t
 ^
2 errors generated.
make[1]: *** [jk_ajp12_worker.lo] Error 1
make: *** [all-recursive] Error 1


Seems to be similar to #64753


Tried with XCode 12.1 and with command-line tools 12.1.

-- 
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] 02/02: Fix BZ 64871. Log if file access is blocked due to symlinks

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 7f004ac4531c45f9a2a2d1470561fe135cf27bc2
Author: Mark Thomas 
AuthorDate: Fri Nov 6 19:03:57 2020 +

Fix BZ 64871. Log if file access is blocked due to symlinks

https://bz.apache.org/bugzilla/show_bug.cgi?id=64871
---
 .../webresources/AbstractFileResourceSet.java | 19 ++-
 .../catalina/webresources/LocalStrings.properties |  2 ++
 webapps/docs/changelog.xml|  4 
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/webresources/AbstractFileResourceSet.java 
b/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
index c799341..59fc771 100644
--- a/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
+++ b/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
@@ -22,11 +22,15 @@ import java.net.MalformedURLException;
 import java.net.URL;
 
 import org.apache.catalina.LifecycleException;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.compat.JrePlatform;
 import org.apache.tomcat.util.http.RequestUtil;
 
 public abstract class AbstractFileResourceSet extends AbstractResourceSet {
 
+private static final Log log = 
LogFactory.getLog(AbstractFileResourceSet.class);
+
 protected static final String[] EMPTY_STRING_ARRAY = new String[0];
 
 private File fileBase;
@@ -128,6 +132,19 @@ public abstract class AbstractFileResourceSet extends 
AbstractResourceSet {
 canPath = normalize(canPath);
 }
 if (!canPath.equals(absPath)) {
+if (!canPath.equalsIgnoreCase(absPath)) {
+// Typically means symlinks are in use but being ignored. Given
+// the symlink was likely created for a reason, log a warning
+// that it was ignored.
+String msg = 
sm.getString("abstractFileResourceSet.canonicalfileCheckFailed",
+getRoot().getContext().getName(), absPath, canPath);
+// Log issues with configuration files at a higher level
+if(absPath.startsWith("/META-INF/") || 
absPath.startsWith("/WEB-INF/")) {
+log.error(msg);
+} else {
+log.warn(msg);
+}
+}
 return null;
 }
 
@@ -144,7 +161,7 @@ public abstract class AbstractFileResourceSet extends 
AbstractResourceSet {
 // expression irrespective of input length.
 for (int i = 0; i < len; i++) {
 char c = name.charAt(i);
-if (c == '\"' || c == '<' || c == '>') {
+if (c == '\"' || c == '<' || c == '>' || c == ':') {
 // These characters are disallowed in Windows file names and
 // there are known problems for file names with these 
characters
 // when using File#getCanonicalPath().
diff --git a/java/org/apache/catalina/webresources/LocalStrings.properties 
b/java/org/apache/catalina/webresources/LocalStrings.properties
index fb9badc..af9f9fe 100644
--- a/java/org/apache/catalina/webresources/LocalStrings.properties
+++ b/java/org/apache/catalina/webresources/LocalStrings.properties
@@ -15,6 +15,8 @@
 
 abstractArchiveResourceSet.setReadOnlyFalse=Archive based WebResourceSets such 
as those based on JARs are hard-coded to be read-only and may not be configured 
to be read-write
 
+abstractFileResourceSet.canonicalfileCheckFailed=Resource for web application 
[{0}] at path [{1}] was not loaded as the canonical path [{2}] did not match. 
Use of symlinks is one possible cause.
+
 abstractResource.getContentFail=Unable to return [{0}] as a byte array
 abstractResource.getContentTooLarge=Unable to return [{0}] as a byte array 
since the resource is [{1}] bytes in size which is larger than the maximum size 
of a byte array
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 2836ac7..b3d0001 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -92,6 +92,10 @@
 classloader as the thread context classloader, just like for the JAAS
 realm. (remm)
   
+  
+64871: Log a warning if Tomcat blocks access to a file
+because it uses symlinks. (markt)
+  
 
   
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 01/02: Line length

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 7f68b1422dbe25db49d8dfb0e16e3c3468d3b3a6
Author: Mark Thomas 
AuthorDate: Fri Nov 6 17:42:39 2020 +

Line length
---
 webapps/docs/changelog.xml | 20 
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 806c1e5..2836ac7 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -65,14 +65,18 @@
 an error. (remm)
   
   
-Remove the entry for 
org.apache.tomcat.util.descriptor.tld.LocalStrings
-from tomcat-embed-core's GraalVM tomcat-resource.json. It no more part 
of the jar
-since https://github.com/apache/tomcat/commit/3815b4951eb3acd30a0b77aafa75fbdb928d5782";>
-Fix unwanted JPMS dependency of embed-core on embed-jasper. 
(mgrigorov)
+Remove the entry for
+org.apache.tomcat.util.descriptor.tld.LocalStrings
+from tomcat-embed-core's GraalVM tomcat-resource.json. It no more part
+of the jar since
+https://github.com/apache/tomcat/commit/3815b4951eb3acd30a0b77aafa75fbdb928d5782";>
+Fix unwanted JPMS dependency of embed-core on embed-jasper.
+(mgrigorov)
   
   
-Add org.apache.coyote.http11.Http11Nio2Protocol to the list of classes 
which could be instantiated
-via reflection in GraalVM. (mgrigorov)
+Add org.apache.coyote.http11.Http11Nio2Protocol to the 
list
+of classes which could be instantiated via reflection in GraalVM.
+(mgrigorov)
   
   
 Add JsonErrorReportValve that extends the
@@ -80,8 +84,8 @@
 HTML. (kfujino)
   
   
-Add GraalVM config for Tomcat JNI related classes. This makes it 
possible to use the APR
-protocol in GraalVM native images. (mgrigorov)
+Add GraalVM config for Tomcat JNI related classes. This makes it
+possible to use the APR protocol in GraalVM native images. (mgrigorov)
   
   
 JNDIRealm connections should only be created with the container


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch master updated (8a89da0 -> 7f004ac)

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


from 8a89da0  Remove unused code
 new 7f68b14  Line length
 new 7f004ac  Fix BZ 64871. Log if file access is blocked due to symlinks

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../webresources/AbstractFileResourceSet.java  | 19 -
 .../catalina/webresources/LocalStrings.properties  |  2 ++
 webapps/docs/changelog.xml | 24 ++
 3 files changed, 36 insertions(+), 9 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: Fix BZ 64871. Log if file access is blocked due to symlinks

2020-11-06 Thread markt
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 935fc55  Fix BZ 64871. Log if file access is blocked due to symlinks
935fc55 is described below

commit 935fc5582dc25ae10bab6f9d5629ff8d996cb533
Author: Mark Thomas 
AuthorDate: Fri Nov 6 19:03:57 2020 +

Fix BZ 64871. Log if file access is blocked due to symlinks

https://bz.apache.org/bugzilla/show_bug.cgi?id=64871
---
 .../webresources/AbstractFileResourceSet.java | 19 ++-
 .../catalina/webresources/LocalStrings.properties |  2 ++
 webapps/docs/changelog.xml|  4 
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/webresources/AbstractFileResourceSet.java 
b/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
index c799341..59fc771 100644
--- a/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
+++ b/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
@@ -22,11 +22,15 @@ import java.net.MalformedURLException;
 import java.net.URL;
 
 import org.apache.catalina.LifecycleException;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.compat.JrePlatform;
 import org.apache.tomcat.util.http.RequestUtil;
 
 public abstract class AbstractFileResourceSet extends AbstractResourceSet {
 
+private static final Log log = 
LogFactory.getLog(AbstractFileResourceSet.class);
+
 protected static final String[] EMPTY_STRING_ARRAY = new String[0];
 
 private File fileBase;
@@ -128,6 +132,19 @@ public abstract class AbstractFileResourceSet extends 
AbstractResourceSet {
 canPath = normalize(canPath);
 }
 if (!canPath.equals(absPath)) {
+if (!canPath.equalsIgnoreCase(absPath)) {
+// Typically means symlinks are in use but being ignored. Given
+// the symlink was likely created for a reason, log a warning
+// that it was ignored.
+String msg = 
sm.getString("abstractFileResourceSet.canonicalfileCheckFailed",
+getRoot().getContext().getName(), absPath, canPath);
+// Log issues with configuration files at a higher level
+if(absPath.startsWith("/META-INF/") || 
absPath.startsWith("/WEB-INF/")) {
+log.error(msg);
+} else {
+log.warn(msg);
+}
+}
 return null;
 }
 
@@ -144,7 +161,7 @@ public abstract class AbstractFileResourceSet extends 
AbstractResourceSet {
 // expression irrespective of input length.
 for (int i = 0; i < len; i++) {
 char c = name.charAt(i);
-if (c == '\"' || c == '<' || c == '>') {
+if (c == '\"' || c == '<' || c == '>' || c == ':') {
 // These characters are disallowed in Windows file names and
 // there are known problems for file names with these 
characters
 // when using File#getCanonicalPath().
diff --git a/java/org/apache/catalina/webresources/LocalStrings.properties 
b/java/org/apache/catalina/webresources/LocalStrings.properties
index fb9badc..af9f9fe 100644
--- a/java/org/apache/catalina/webresources/LocalStrings.properties
+++ b/java/org/apache/catalina/webresources/LocalStrings.properties
@@ -15,6 +15,8 @@
 
 abstractArchiveResourceSet.setReadOnlyFalse=Archive based WebResourceSets such 
as those based on JARs are hard-coded to be read-only and may not be configured 
to be read-write
 
+abstractFileResourceSet.canonicalfileCheckFailed=Resource for web application 
[{0}] at path [{1}] was not loaded as the canonical path [{2}] did not match. 
Use of symlinks is one possible cause.
+
 abstractResource.getContentFail=Unable to return [{0}] as a byte array
 abstractResource.getContentTooLarge=Unable to return [{0}] as a byte array 
since the resource is [{1}] bytes in size which is larger than the maximum size 
of a byte array
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index f82492b..8dedaa2 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -88,6 +88,10 @@
 classloader as the thread context classloader, just like for the JAAS
 realm. (remm)
   
+  
+64871: Log a warning if Tomcat blocks access to a file
+because it uses symlinks. (markt)
+  
 
   
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 8.5.x updated: Fix BZ 64871. Log if file access is blocked due to symlinks

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 920dddb  Fix BZ 64871. Log if file access is blocked due to symlinks
920dddb is described below

commit 920dddbdb981f92e8d5872a4bb126a10af5ca8a9
Author: Mark Thomas 
AuthorDate: Fri Nov 6 19:03:57 2020 +

Fix BZ 64871. Log if file access is blocked due to symlinks

https://bz.apache.org/bugzilla/show_bug.cgi?id=64871
---
 .../webresources/AbstractFileResourceSet.java | 19 ++-
 .../catalina/webresources/LocalStrings.properties |  2 ++
 webapps/docs/changelog.xml|  4 
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/webresources/AbstractFileResourceSet.java 
b/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
index c799341..59fc771 100644
--- a/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
+++ b/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
@@ -22,11 +22,15 @@ import java.net.MalformedURLException;
 import java.net.URL;
 
 import org.apache.catalina.LifecycleException;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.compat.JrePlatform;
 import org.apache.tomcat.util.http.RequestUtil;
 
 public abstract class AbstractFileResourceSet extends AbstractResourceSet {
 
+private static final Log log = 
LogFactory.getLog(AbstractFileResourceSet.class);
+
 protected static final String[] EMPTY_STRING_ARRAY = new String[0];
 
 private File fileBase;
@@ -128,6 +132,19 @@ public abstract class AbstractFileResourceSet extends 
AbstractResourceSet {
 canPath = normalize(canPath);
 }
 if (!canPath.equals(absPath)) {
+if (!canPath.equalsIgnoreCase(absPath)) {
+// Typically means symlinks are in use but being ignored. Given
+// the symlink was likely created for a reason, log a warning
+// that it was ignored.
+String msg = 
sm.getString("abstractFileResourceSet.canonicalfileCheckFailed",
+getRoot().getContext().getName(), absPath, canPath);
+// Log issues with configuration files at a higher level
+if(absPath.startsWith("/META-INF/") || 
absPath.startsWith("/WEB-INF/")) {
+log.error(msg);
+} else {
+log.warn(msg);
+}
+}
 return null;
 }
 
@@ -144,7 +161,7 @@ public abstract class AbstractFileResourceSet extends 
AbstractResourceSet {
 // expression irrespective of input length.
 for (int i = 0; i < len; i++) {
 char c = name.charAt(i);
-if (c == '\"' || c == '<' || c == '>') {
+if (c == '\"' || c == '<' || c == '>' || c == ':') {
 // These characters are disallowed in Windows file names and
 // there are known problems for file names with these 
characters
 // when using File#getCanonicalPath().
diff --git a/java/org/apache/catalina/webresources/LocalStrings.properties 
b/java/org/apache/catalina/webresources/LocalStrings.properties
index fb9badc..af9f9fe 100644
--- a/java/org/apache/catalina/webresources/LocalStrings.properties
+++ b/java/org/apache/catalina/webresources/LocalStrings.properties
@@ -15,6 +15,8 @@
 
 abstractArchiveResourceSet.setReadOnlyFalse=Archive based WebResourceSets such 
as those based on JARs are hard-coded to be read-only and may not be configured 
to be read-write
 
+abstractFileResourceSet.canonicalfileCheckFailed=Resource for web application 
[{0}] at path [{1}] was not loaded as the canonical path [{2}] did not match. 
Use of symlinks is one possible cause.
+
 abstractResource.getContentFail=Unable to return [{0}] as a byte array
 abstractResource.getContentTooLarge=Unable to return [{0}] as a byte array 
since the resource is [{1}] bytes in size which is larger than the maximum size 
of a byte array
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 97d76c3..62da7f5 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -72,6 +72,10 @@
 classloader as the thread context classloader, just like for the JAAS
 realm. (remm)
   
+  
+64871: Log a warning if Tomcat blocks access to a file
+because it uses symlinks. (markt)
+  
 
   
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64871] warn "SEVERE" if /WEB-INF/web.xml not found

2020-11-06 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64871

Mark Thomas  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #6 from Mark Thomas  ---
Fixed in:
- 10.0.x for 10.0.0-M10 onwards
- 9.0.x for 9.0.40 onwards
- 8.5.x for 8.5.60 onwards
- 7.0.x for 7.0.107 onwards

-- 
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 7.0.x updated: Fix BZ 64871. Log if file access is blocked due to symlinks

2020-11-06 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/7.0.x by this push:
 new 800b031  Fix BZ 64871. Log if file access is blocked due to symlinks
800b031 is described below

commit 800b03140e640f8892f27021e681645e8e320177
Author: Mark Thomas 
AuthorDate: Fri Nov 6 19:26:21 2020 +

Fix BZ 64871. Log if file access is blocked due to symlinks

https://bz.apache.org/bugzilla/show_bug.cgi?id=64871
---
 java/org/apache/naming/resources/FileDirContext.java | 15 ++-
 java/org/apache/naming/resources/LocalStrings.properties |  2 ++
 webapps/docs/changelog.xml   |  4 
 3 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/naming/resources/FileDirContext.java 
b/java/org/apache/naming/resources/FileDirContext.java
index 3ce44a4..5d667fa 100644
--- a/java/org/apache/naming/resources/FileDirContext.java
+++ b/java/org/apache/naming/resources/FileDirContext.java
@@ -884,6 +884,19 @@ public class FileDirContext extends BaseDirContext {
 canPath = normalize(canPath);
 }
 if (!canPath.equals(absPath)) {
+if (!canPath.equalsIgnoreCase(absPath)) {
+// Typically means symlinks are in use but being ignored. Given
+// the symlink was likely created for a reason, log a warning
+// that it was ignored.
+String msg = 
sm.getString("fileDirContext.canonicalfileCheckFailed",
+getDocBase(), absPath, canPath);
+// Log issues with configuration files at a higher level
+if(absPath.startsWith("/META-INF/") || 
absPath.startsWith("/WEB-INF/")) {
+log.error(msg);
+} else {
+log.warn(msg);
+}
+}
 return null;
 }
 
@@ -900,7 +913,7 @@ public class FileDirContext extends BaseDirContext {
 // expression irrespective of input length.
 for (int i = 0; i < len; i++) {
 char c = name.charAt(i);
-if (c == '\"' || c == '<' || c == '>') {
+if (c == '\"' || c == '<' || c == '>' || c == ':') {
 // These characters are disallowed in Windows file names and
 // there are known problems for file names with these 
characters
 // when using File#getCanonicalPath().
diff --git a/java/org/apache/naming/resources/LocalStrings.properties 
b/java/org/apache/naming/resources/LocalStrings.properties
index 597ee08..53fb81f 100644
--- a/java/org/apache/naming/resources/LocalStrings.properties
+++ b/java/org/apache/naming/resources/LocalStrings.properties
@@ -15,6 +15,8 @@
 
 classpathUrlStreamHandler.notFound=Unable to load the resource [{0}] using the 
thread context class loader or the current class''s class loader
 
+fileDirContext.canonicalfileCheckFailed=Resource for web application [{0}] at 
path [{1}] was not loaded as the canonical path [{2}] did not match. Use of 
symlinks is one possible cause.
+
 fileResources.base=Document base [{0}] does not exist or is not a readable 
directory
 fileResources.canonical.fail=A canonical path could not be determined for [{0}]
 fileResources.listingNull=Could not get dir listing for [{0}]
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 432a249..035f086 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -87,6 +87,10 @@
 64805: Correct imports used by JMXProxyServlet.
 (markt)
   
+  
+64871: Log a warning if Tomcat blocks access to a file
+because it uses symlinks. (markt)
+  
 
   
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot failure in on tomcat-9-trunk

2020-11-06 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-9-trunk while 
building tomcat. Full details are available at:
https://ci.apache.org/builders/tomcat-9-trunk/builds/534

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf946_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-9-commit' 
triggered this build
Build Source Stamp: [branch 9.0.x] 935fc5582dc25ae10bab6f9d5629ff8d996cb533
Blamelist: Mark Thomas 

BUILD FAILED: failed compile_1

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Working around a JRE bug

2020-11-06 Thread Christopher Schultz

Mark,

On 11/5/20 14:59, Mark Thomas wrote:

Woot!

The great folks at bnd have fixed this. It means depending on a snapshot
but compared to the disruption of the alternatives I think that is
acceptable for the short term.

The issue with depending on a snapshot is reproducibility of builds. The
simplest option (and infra seem OK with it) is to put a copy in my home
dir on home.a.o.


Sounds good to me.

Oh, and ship a beer or two to the kind folks at bnd who jumped to fix 
this within ... 4 hours?


How does this affect Maven builds?

-chris


On 05/11/2020 12:57, Mark Thomas wrote:

All,

The summary:

- The JVM spec states that the ModulePackages attribute in
   module-info.class DOES NOT have to list ALL packages in the module
- bnd is consistent with the JVM spec and only lists the packages that
   are required to be listed
- the JRE uses a broken class loader optimisation that assumes that
   ModulePackages DOES list ALL packages present in the module

When applications try and use our JARs with bnd provided module-info
CNFE occur because the JRE can't find the module for some classes.

For a fuller description of the issue see:
https://bugs.openjdk.java.net/browse/JDK-8255854

This is likely the cause of several currently open bugs reports of CNFE
when using modules.


Possible solutions:

1. OpenJDK accepts the class loader optimisation is flawed and reverts
it.
Given the reaction so far to the reported bug this looks unlikely.
Even if this were to happen, class loading performance would be
impacted and it is going to take a long time before all the broken
JREs have been updated.

2. The bnd project updates bnd to implement what amounts to an
undocumented requirement that the ModulePackages attribute lists all
packages in the module.
This is probably the cleanest solution but depends on the goodwill of
the bnd project who would be well within their rights to reject it as
invalid based on the JVM spec. I haven't yet approached the bnd
project. A fix along these lines might be ready for the next release
round but is unlikely to be ready for this one.

3. We drop all the JPMS meta-data until we have a solution.
I'm not sure of the consequences for users wanting to use Tomcat JARs
in a JPMS environment.

4. We "patch" module-info after bnd has generated it via:
- custom code (BCEL probably helps)
- jar (if using Java 9+ jar rebuilds the module-info.class file)

5. We add "unnecessary" @aQute.bnd.annotation.jpms.Open annotations to
packages so bnd includes them in module-info.
It might be hard to remove these at a later date if folks start to
depend on them.


I am currently thinking along these lines:

- Add @aQute.bnd.annotation.jpms.Open where necessary to fix this.
- Document clearly in the Javadoc, change log, the release announcement
   and the RELEASE NOTES that this is a temporary workaround that will be
   removed as soon as a better fix is available.
- Ask the bnd project to make a change to list all packages in a module
   in the ModulePackages attribute.

Thoughts?

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org