(tomcat) branch 11.0.x updated: Improve debug log in DefaultServlet/WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 1ecf6870a5 Improve debug log in DefaultServlet/WebdavServlet 1ecf6870a5 is described below commit 1ecf6870a5ba5c8007c389197026453470e7fb27 Author: Michael Osipov AuthorDate: Wed Oct 2 11:41:58 2024 +0200 Improve debug log in DefaultServlet/WebdavServlet --- java/org/apache/catalina/servlets/DefaultServlet.java | 2 +- java/org/apache/catalina/servlets/WebdavServlet.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/org/apache/catalina/servlets/DefaultServlet.java index 3eea121c96..f95b821f62 100644 --- a/java/org/apache/catalina/servlets/DefaultServlet.java +++ b/java/org/apache/catalina/servlets/DefaultServlet.java @@ -2435,7 +2435,7 @@ public class DefaultServlet extends HttpServlet { protected IOException copyRange(InputStream istream, ServletOutputStream ostream, long start, long end) { if (debug > 10) { -log("Serving bytes:" + start + "-" + end); +log("Serving bytes: " + start + "-" + end); } long skipped = 0; diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 7c871b2317..f94edebaa0 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1466,7 +1466,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen destinationPath = destinationPath.substring(reqContextPath.length() + req.getServletPath().length()); if (debug > 0) { -log("Dest path :" + destinationPath); +log("Dest path: " + destinationPath); } // Check destination path to protect special subdirectories @@ -1728,7 +1728,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen private void deleteCollection(HttpServletRequest req, String path, Map errorList) { if (debug > 1) { -log("Delete:" + path); +log("Delete collection: " + path); } // Prevent deletion of special subdirectories - 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 debug log in DefaultServlet/WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 02dd078f1c Improve debug log in DefaultServlet/WebdavServlet 02dd078f1c is described below commit 02dd078f1cd464d8ee09d9c4080011993f035a87 Author: Michael Osipov AuthorDate: Wed Oct 2 11:41:58 2024 +0200 Improve debug log in DefaultServlet/WebdavServlet --- java/org/apache/catalina/servlets/DefaultServlet.java | 2 +- java/org/apache/catalina/servlets/WebdavServlet.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/org/apache/catalina/servlets/DefaultServlet.java index f79af4d192..374d859752 100644 --- a/java/org/apache/catalina/servlets/DefaultServlet.java +++ b/java/org/apache/catalina/servlets/DefaultServlet.java @@ -2494,7 +2494,7 @@ public class DefaultServlet extends HttpServlet { protected IOException copyRange(InputStream istream, ServletOutputStream ostream, long start, long end) { if (debug > 10) { -log("Serving bytes:" + start + "-" + end); +log("Serving bytes: " + start + "-" + end); } long skipped = 0; diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 7c871b2317..f94edebaa0 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1466,7 +1466,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen destinationPath = destinationPath.substring(reqContextPath.length() + req.getServletPath().length()); if (debug > 0) { -log("Dest path :" + destinationPath); +log("Dest path: " + destinationPath); } // Check destination path to protect special subdirectories @@ -1728,7 +1728,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen private void deleteCollection(HttpServletRequest req, String path, Map errorList) { if (debug > 1) { -log("Delete:" + path); +log("Delete collection: " + path); } // Prevent deletion of special subdirectories - 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 debug log in DefaultServlet/WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 ab0cd03763 Improve debug log in DefaultServlet/WebdavServlet ab0cd03763 is described below commit ab0cd03763be2b74cd6c6d8a083c8b02325cce2f Author: Michael Osipov AuthorDate: Wed Oct 2 11:41:58 2024 +0200 Improve debug log in DefaultServlet/WebdavServlet --- java/org/apache/catalina/servlets/DefaultServlet.java | 2 +- java/org/apache/catalina/servlets/WebdavServlet.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/org/apache/catalina/servlets/DefaultServlet.java index 007c1ad45d..18842f5156 100644 --- a/java/org/apache/catalina/servlets/DefaultServlet.java +++ b/java/org/apache/catalina/servlets/DefaultServlet.java @@ -2550,7 +2550,7 @@ public class DefaultServlet extends HttpServlet { protected IOException copyRange(InputStream istream, ServletOutputStream ostream, long start, long end) { if (debug > 10) { -log("Serving bytes:" + start + "-" + end); +log("Serving bytes: " + start + "-" + end); } long skipped = 0; diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index aa35636bff..4e4e7b60fa 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1465,7 +1465,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen destinationPath = destinationPath.substring(reqContextPath.length() + req.getServletPath().length()); if (debug > 0) { -log("Dest path :" + destinationPath); +log("Dest path: " + destinationPath); } // Check destination path to protect special subdirectories @@ -1727,7 +1727,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen private void deleteCollection(HttpServletRequest req, String path, Map errorList) { if (debug > 1) { -log("Delete:" + path); +log("Delete collection: " + path); } // Prevent deletion of special subdirectories - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: (tomcat) branch main updated: BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
-1 veto This change is not compliant with RFC 9110. If Tomcat sends METHOD_NOT_ALLOWED it MUST also send an Allow header. That is why the default servlet has a dedicated method for sending METHOD_NOT_ALLOWED. Further comments in-line. Mark On 02/10/2024 10:07, micha...@apache.org wrote: This is an automated email from the ASF dual-hosted git repository. michaelo 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 142c45a427 BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet 142c45a427 is described below commit 142c45a4271e1fd8d400196a883fb560ebded110 Author: Michael Osipov AuthorDate: Wed Oct 2 11:04:44 2024 +0200 BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet --- java/org/apache/catalina/servlets/WebdavServlet.java | 6 +++--- webapps/docs/changelog.xml | 5 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index d32868a9b3..c2cf8f3d78 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1696,7 +1696,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR); +resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); May be able to utilise sendNotAllowed() for this one. Thinking about it probably not as WebDAV has additional methods that need to be taken account of. It will need a dedicated method for WebDAV. return false; } } else { @@ -1705,7 +1705,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen deleteCollection(req, path, errorList); if (!resource.delete()) { -errorList.put(path, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(path, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); This is going to be part of a multi-status response. The allow header doesn't make sense for a multi-status response. There I think this is OK. } if (!errorList.isEmpty()) { @@ -1772,7 +1772,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!childResource.isDirectory()) { // If it's not a collection, then it's an unknown // error -errorList.put(childName, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(childName, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); As above. } } } Generally, SC_METHOD_NOT_ALLOWED is probably the right status code as the most likely failure mode is a lack of permissions. I just wonder if there are circumstances where we would want to return SC_INTERNAL_SERVER_ERROR and how we would determine if that were the case. Mark diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index ca652cd604..f4eb84d1b4 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -128,6 +128,11 @@ getRelativePath() method from super class with incorrect Javadoc. (michaelo) + +69360: Inconsistent DELETE behavior between +WebdavServlet and DefaultServlet. +(michaelo) + - 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
(tomcat) 01/04: Updates prior to applying automated code 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 commit ee15e7567e15d82d04d220ce643d7a955f0e9534 Author: Mark Thomas AuthorDate: Wed Oct 2 10:57:22 2024 +0100 Updates prior to applying automated code formatting --- java/org/apache/catalina/tribes/ByteMessage.java | 14 +- java/org/apache/catalina/tribes/Channel.java | 194 - .../apache/catalina/tribes/ChannelException.java | 3 +- .../apache/catalina/tribes/ChannelInterceptor.java | 59 --- .../apache/catalina/tribes/ChannelListener.java| 4 +- .../org/apache/catalina/tribes/ChannelMessage.java | 4 +- .../apache/catalina/tribes/ChannelReceiver.java| 3 +- java/org/apache/catalina/tribes/ChannelSender.java | 5 +- .../org/apache/catalina/tribes/ManagedChannel.java | 1 - java/org/apache/catalina/tribes/Member.java| 19 +- .../apache/catalina/tribes/MembershipProvider.java | 20 ++- .../apache/catalina/tribes/MembershipService.java | 3 +- .../catalina/tribes/RemoteProcessException.java| 2 +- 13 files changed, 189 insertions(+), 142 deletions(-) diff --git a/java/org/apache/catalina/tribes/ByteMessage.java b/java/org/apache/catalina/tribes/ByteMessage.java index e6f4b5736b..bf3c4269a3 100644 --- a/java/org/apache/catalina/tribes/ByteMessage.java +++ b/java/org/apache/catalina/tribes/ByteMessage.java @@ -23,15 +23,17 @@ import java.io.ObjectOutput; /** * A byte message is not serialized and deserialized by the channel - * instead it is sent as a byte array + * instead it is sent as a byte array. + * * By default Tribes uses java serialization when it receives an object * to be sent over the wire. Java serialization is not the most * efficient of serializing data, and Tribes might not even * have access to the correct class loaders to deserialize the object properly. - * + * * The ByteMessage class is a class where the channel when it receives it will * not attempt to perform serialization, instead it will simply stream the getMessage() - * bytes. + * bytes. + * * If you are using multiple applications on top of Tribes you should add some sort of header * so that you can decide with the ChannelListener.accept() whether this message was intended * for you. @@ -44,8 +46,9 @@ public class ByteMessage implements Externalizable { /** - * Creates an empty byte message - * Constructor also for deserialization + * Creates an empty byte message. + * + * Constructor also for deserialization. */ public ByteMessage() { } @@ -88,5 +91,4 @@ public class ByteMessage implements Externalizable { out.write(message,0,message.length); } } - } diff --git a/java/org/apache/catalina/tribes/Channel.java b/java/org/apache/catalina/tribes/Channel.java index 73534d22b2..52d4c398db 100644 --- a/java/org/apache/catalina/tribes/Channel.java +++ b/java/org/apache/catalina/tribes/Channel.java @@ -25,23 +25,26 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; /** - * Channel interface * A channel is a representation of a group of nodes all participating in some sort of - * communication with each other. + * communication with each other. + * * The channel is the main API class for Tribes, this is essentially the only class - * that an application needs to be aware of. Through the channel the application can: - * 1. send messages - * 2. receive message (by registering a ChannelListener - * 3. get all members of the group getMembers() - * 4. receive notifications of members added and members disappeared by - *registering a MembershipListener - * - * The channel has 5 major components: - * 1. Data receiver, with a built in thread pool to receive messages from other peers - * 2. Data sender, an implementation for sending data using NIO or java.io - * 3. Membership listener,listens for membership broadcasts - * 4. Membership broadcaster, broadcasts membership pings. - * 5. Channel interceptors, the ability to manipulate messages as they are sent or arrive + * that an application needs to be aware of. Through the channel the application can: + * + * send messages + * receive message (by registering a ChannelListener + * get all members of the group getMembers() + * receive notifications of members added and members disappeared by + *registering a MembershipListener + * + * The channel has 5 major components: + * + * Data receiver, with a built in thread pool to receive messages from other peers + * Data sender, an implementation for sending data using NIO or java.io + * Membership listener,listens for membership broadcasts + * Membership broadcaster, broadcasts membership pings. + * Channel interceptors, the ability to manipulate messages as they are sent or arrive + * * The channel layout is: * * ChannelListener_1..Channe
(tomcat) 04/04: Re-apply code 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 commit 352efca5757ede5cdc28975cdc5be640cf6d3735 Author: Mark Thomas AuthorDate: Wed Oct 2 11:54:13 2024 +0100 Re-apply code formatting - no functional change --- java/org/apache/catalina/authenticator/SpnegoAuthenticator.java | 4 ++-- .../apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java | 3 ++- .../authenticator/jaspic/PersistentProviderRegistrations.java | 4 ++-- java/org/apache/catalina/core/ApplicationFilterFactory.java | 2 +- java/org/apache/catalina/core/AprLifecycleListener.java | 2 +- java/org/apache/catalina/manager/StatusTransformer.java | 2 ++ java/org/apache/catalina/realm/JAASRealm.java | 3 ++- java/org/apache/catalina/realm/RealmBase.java | 6 +++--- java/org/apache/catalina/servlets/WebdavServlet.java| 1 - java/org/apache/catalina/tribes/util/ExecutorFactory.java | 4 ++-- java/org/apache/catalina/tribes/util/StringManager.java | 6 +++--- java/org/apache/coyote/AbstractProtocol.java| 4 ++-- java/org/apache/coyote/http11/filters/ChunkedInputFilter.java | 4 ++-- java/org/apache/coyote/http2/Http2UpgradeHandler.java | 4 ++-- 14 files changed, 26 insertions(+), 23 deletions(-) diff --git a/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java b/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java index 570ce65413..9227238198 100644 --- a/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java +++ b/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java @@ -165,8 +165,8 @@ public class SpnegoAuthenticator extends AuthenticatorBase { authorizationBC.setStart(authorizationBC.getStart() + 10); byte[] encoded = new byte[authorizationBC.getLength()]; -System.arraycopy(authorizationBC.getBuffer(), authorizationBC.getStart(), -encoded, 0, authorizationBC.getLength()); +System.arraycopy(authorizationBC.getBuffer(), authorizationBC.getStart(), encoded, 0, +authorizationBC.getLength()); byte[] decoded = Base64.getDecoder().decode(encoded); if (getApplyJava8u40Fix()) { diff --git a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java index 73d95329f6..81acb0c4e2 100644 --- a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java +++ b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java @@ -658,7 +658,8 @@ public class AuthConfigFactoryImpl extends AuthConfigFactory { if (serverAuthConfig == null) { synchronized (serverAuthConfigLock) { if (serverAuthConfig == null) { -serverAuthConfig = new SingleContextServerAuthConfig(serverAuthModule, this.appContext, handler); +serverAuthConfig = +new SingleContextServerAuthConfig(serverAuthModule, this.appContext, handler); } } } diff --git a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java index 875ab1cff0..9295eb81bf 100644 --- a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java +++ b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java @@ -111,8 +111,8 @@ public final class PersistentProviderRegistrations { } if (!configParent.exists()) { if (!configParent.mkdirs()) { -throw new SecurityException(sm.getString("persistentProviderRegistrations.mkdirsFail", -configParent.getAbsolutePath())); +throw new SecurityException( + sm.getString("persistentProviderRegistrations.mkdirsFail", configParent.getAbsolutePath())); } } diff --git a/java/org/apache/catalina/core/ApplicationFilterFactory.java b/java/org/apache/catalina/core/ApplicationFilterFactory.java index fe5851bf90..052717e4e1 100644 --- a/java/org/apache/catalina/core/ApplicationFilterFactory.java +++ b/java/org/apache/catalina/core/ApplicationFilterFactory.java @@ -91,7 +91,7 @@ public final class ApplicationFilterFactory { // Acquire the information we will need to match filter mappings DispatcherType dispatcher = (DispatcherType) request.getAttribute(Globals.DISPATCHER_TYPE_ATTR); -String requestPath = FilterUtil.getRequestPath(request) ; +String requestPath = FilterUtil.getRequestPath(request); String servletName = wrapper.getName(); diff
(tomcat) 02/04: 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 commit 9faa87378cb08943a56c255571823c1a3424196b Author: Mark Thomas AuthorDate: Wed Oct 2 11:00:34 2024 +0100 Code clean-up - formatting. No functional change. --- .DS_Store | Bin 0 -> 6148 bytes java/org/apache/catalina/tribes/ByteMessage.java | 31 +- java/org/apache/catalina/tribes/Channel.java | 311 - .../apache/catalina/tribes/ChannelException.java | 59 ++-- .../apache/catalina/tribes/ChannelInterceptor.java | 130 + .../apache/catalina/tribes/ChannelListener.java| 15 +- .../org/apache/catalina/tribes/ChannelMessage.java | 32 ++- .../apache/catalina/tribes/ChannelReceiver.java| 20 +- java/org/apache/catalina/tribes/ChannelSender.java | 31 +- java/org/apache/catalina/tribes/ErrorHandler.java | 11 +- java/org/apache/catalina/tribes/Heartbeat.java | 4 +- java/org/apache/catalina/tribes/JmxChannel.java| 6 + .../org/apache/catalina/tribes/ManagedChannel.java | 18 +- java/org/apache/catalina/tribes/Member.java| 66 +++-- .../apache/catalina/tribes/MembershipListener.java | 8 +- .../apache/catalina/tribes/MembershipProvider.java | 32 ++- .../apache/catalina/tribes/MembershipService.java | 63 +++-- .../apache/catalina/tribes/MessageListener.java| 6 +- .../catalina/tribes/RemoteProcessException.java| 4 +- java/org/apache/catalina/tribes/UniqueId.java | 20 +- 20 files changed, 525 insertions(+), 342 deletions(-) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00..1b83a3bed8 Binary files /dev/null and b/.DS_Store differ diff --git a/java/org/apache/catalina/tribes/ByteMessage.java b/java/org/apache/catalina/tribes/ByteMessage.java index bf3c4269a3..5afa7da900 100644 --- a/java/org/apache/catalina/tribes/ByteMessage.java +++ b/java/org/apache/catalina/tribes/ByteMessage.java @@ -22,21 +22,17 @@ import java.io.ObjectInput; import java.io.ObjectOutput; /** - * A byte message is not serialized and deserialized by the channel - * instead it is sent as a byte array. + * A byte message is not serialized and deserialized by the channel instead it is sent as a byte array. * - * By default Tribes uses java serialization when it receives an object - * to be sent over the wire. Java serialization is not the most - * efficient of serializing data, and Tribes might not even - * have access to the correct class loaders to deserialize the object properly. + * By default Tribes uses java serialization when it receives an object to be sent over the wire. Java serialization is + * not the most efficient of serializing data, and Tribes might not even have access to the correct class loaders to + * deserialize the object properly. * - * The ByteMessage class is a class where the channel when it receives it will - * not attempt to perform serialization, instead it will simply stream the getMessage() - * bytes. + * The ByteMessage class is a class where the channel when it receives it will not attempt to perform serialization, + * instead it will simply stream the getMessage() bytes. * - * If you are using multiple applications on top of Tribes you should add some sort of header - * so that you can decide with the ChannelListener.accept() whether this message was intended - * for you. + * If you are using multiple applications on top of Tribes you should add some sort of header so that you can decide + * with the ChannelListener.accept() whether this message was intended for you. */ public class ByteMessage implements Externalizable { /** @@ -55,6 +51,7 @@ public class ByteMessage implements Externalizable { /** * Creates a byte message with + * * @param data byte[] - the message contents */ public ByteMessage(byte[] data) { @@ -63,6 +60,7 @@ public class ByteMessage implements Externalizable { /** * Returns the message contents of this byte message + * * @return byte[] - message contents, can be null */ public byte[] getMessage() { @@ -71,6 +69,7 @@ public class ByteMessage implements Externalizable { /** * Sets the message contents of this byte message + * * @param message byte[] */ public void setMessage(byte[] message) { @@ -78,7 +77,7 @@ public class ByteMessage implements Externalizable { } @Override -public void readExternal(ObjectInput in ) throws IOException { +public void readExternal(ObjectInput in) throws IOException { int length = in.readInt(); message = new byte[length]; in.readFully(message); @@ -86,9 +85,9 @@ public class ByteMessage implements Externalizable { @Override public void writeExternal(ObjectOutput out) throws IOException { -out.writeInt(message!=null?message.le
(tomcat) 01/04: Updates prior to applying automated code 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 commit 565b21dba656a519f99db3f58cc50b130fa49e3f Author: Mark Thomas AuthorDate: Wed Oct 2 10:57:22 2024 +0100 Updates prior to applying automated code formatting --- java/org/apache/catalina/tribes/ByteMessage.java | 14 +- java/org/apache/catalina/tribes/Channel.java | 194 - .../apache/catalina/tribes/ChannelException.java | 3 +- .../apache/catalina/tribes/ChannelInterceptor.java | 59 --- .../apache/catalina/tribes/ChannelListener.java| 4 +- .../org/apache/catalina/tribes/ChannelMessage.java | 4 +- .../apache/catalina/tribes/ChannelReceiver.java| 3 +- java/org/apache/catalina/tribes/ChannelSender.java | 5 +- .../org/apache/catalina/tribes/ManagedChannel.java | 1 - java/org/apache/catalina/tribes/Member.java| 19 +- .../apache/catalina/tribes/MembershipProvider.java | 20 ++- .../apache/catalina/tribes/MembershipService.java | 3 +- .../catalina/tribes/RemoteProcessException.java| 2 +- 13 files changed, 189 insertions(+), 142 deletions(-) diff --git a/java/org/apache/catalina/tribes/ByteMessage.java b/java/org/apache/catalina/tribes/ByteMessage.java index e6f4b5736b..bf3c4269a3 100644 --- a/java/org/apache/catalina/tribes/ByteMessage.java +++ b/java/org/apache/catalina/tribes/ByteMessage.java @@ -23,15 +23,17 @@ import java.io.ObjectOutput; /** * A byte message is not serialized and deserialized by the channel - * instead it is sent as a byte array + * instead it is sent as a byte array. + * * By default Tribes uses java serialization when it receives an object * to be sent over the wire. Java serialization is not the most * efficient of serializing data, and Tribes might not even * have access to the correct class loaders to deserialize the object properly. - * + * * The ByteMessage class is a class where the channel when it receives it will * not attempt to perform serialization, instead it will simply stream the getMessage() - * bytes. + * bytes. + * * If you are using multiple applications on top of Tribes you should add some sort of header * so that you can decide with the ChannelListener.accept() whether this message was intended * for you. @@ -44,8 +46,9 @@ public class ByteMessage implements Externalizable { /** - * Creates an empty byte message - * Constructor also for deserialization + * Creates an empty byte message. + * + * Constructor also for deserialization. */ public ByteMessage() { } @@ -88,5 +91,4 @@ public class ByteMessage implements Externalizable { out.write(message,0,message.length); } } - } diff --git a/java/org/apache/catalina/tribes/Channel.java b/java/org/apache/catalina/tribes/Channel.java index 73534d22b2..52d4c398db 100644 --- a/java/org/apache/catalina/tribes/Channel.java +++ b/java/org/apache/catalina/tribes/Channel.java @@ -25,23 +25,26 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; /** - * Channel interface * A channel is a representation of a group of nodes all participating in some sort of - * communication with each other. + * communication with each other. + * * The channel is the main API class for Tribes, this is essentially the only class - * that an application needs to be aware of. Through the channel the application can: - * 1. send messages - * 2. receive message (by registering a ChannelListener - * 3. get all members of the group getMembers() - * 4. receive notifications of members added and members disappeared by - *registering a MembershipListener - * - * The channel has 5 major components: - * 1. Data receiver, with a built in thread pool to receive messages from other peers - * 2. Data sender, an implementation for sending data using NIO or java.io - * 3. Membership listener,listens for membership broadcasts - * 4. Membership broadcaster, broadcasts membership pings. - * 5. Channel interceptors, the ability to manipulate messages as they are sent or arrive + * that an application needs to be aware of. Through the channel the application can: + * + * send messages + * receive message (by registering a ChannelListener + * get all members of the group getMembers() + * receive notifications of members added and members disappeared by + *registering a MembershipListener + * + * The channel has 5 major components: + * + * Data receiver, with a built in thread pool to receive messages from other peers + * Data sender, an implementation for sending data using NIO or java.io + * Membership listener,listens for membership broadcasts + * Membership broadcaster, broadcasts membership pings. + * Channel interceptors, the ability to manipulate messages as they are sent or arrive + * * The channel layout is: * * ChannelListener_1..Channe
(tomcat) branch 10.1.x updated (02dd078f1c -> 2b7c1cf8da)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git from 02dd078f1c Improve debug log in DefaultServlet/WebdavServlet new 565b21dba6 Updates prior to applying automated code formatting new 9faa87378c Code clean-up - formatting. No functional change. new 754d07ebdb Simplest way to retain formatting new 2b7c1cf8da Re-apply code formatting - no functional change The 4 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: .DS_Store | Bin 0 -> 6148 bytes .../authenticator/DigestAuthenticator.java | 2 + .../authenticator/SpnegoAuthenticator.java | 4 +- .../jaspic/AuthConfigFactoryImpl.java | 3 +- .../jaspic/PersistentProviderRegistrations.java| 4 +- .../catalina/core/ApplicationFilterFactory.java| 2 +- .../apache/catalina/core/AprLifecycleListener.java | 2 +- .../apache/catalina/filters/WebdavFixFilter.java | 2 +- .../apache/catalina/manager/StatusTransformer.java | 2 + java/org/apache/catalina/realm/JAASRealm.java | 3 +- java/org/apache/catalina/realm/RealmBase.java | 6 +- .../apache/catalina/servlets/WebdavServlet.java| 1 - java/org/apache/catalina/tribes/ByteMessage.java | 41 +- java/org/apache/catalina/tribes/Channel.java | 387 + .../apache/catalina/tribes/ChannelException.java | 62 +- .../apache/catalina/tribes/ChannelInterceptor.java | 137 ++-- .../apache/catalina/tribes/ChannelListener.java| 19 +- .../org/apache/catalina/tribes/ChannelMessage.java | 32 +- .../apache/catalina/tribes/ChannelReceiver.java| 21 +- java/org/apache/catalina/tribes/ChannelSender.java | 32 +- java/org/apache/catalina/tribes/ErrorHandler.java | 11 +- java/org/apache/catalina/tribes/Heartbeat.java | 4 +- java/org/apache/catalina/tribes/JmxChannel.java| 6 + .../org/apache/catalina/tribes/ManagedChannel.java | 19 +- java/org/apache/catalina/tribes/Member.java| 79 +- .../apache/catalina/tribes/MembershipListener.java | 8 +- .../apache/catalina/tribes/MembershipProvider.java | 32 +- .../apache/catalina/tribes/MembershipService.java | 64 +- .../apache/catalina/tribes/MessageListener.java| 6 +- .../catalina/tribes/RemoteProcessException.java| 6 +- java/org/apache/catalina/tribes/UniqueId.java | 20 +- .../catalina/tribes/util/ExecutorFactory.java | 4 +- .../apache/catalina/tribes/util/StringManager.java | 6 +- java/org/apache/coyote/AbstractProtocol.java | 4 +- .../coyote/http11/filters/ChunkedInputFilter.java | 4 +- .../apache/coyote/http2/Http2UpgradeHandler.java | 4 +- java/org/apache/coyote/http2/Stream.java | 3 + java/org/apache/el/parser/ELParser.java| 869 ++--- .../org/apache/el/parser/ELParserTokenManager.java | 701 +++-- 39 files changed, 1664 insertions(+), 948 deletions(-) create mode 100644 .DS_Store - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 03/04: Simplest way to retain 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 commit 754d07ebdbeeabebab800b5b469227f9e5e013e4 Author: Mark Thomas AuthorDate: Wed Oct 2 11:46:51 2024 +0100 Simplest way to retain formatting --- java/org/apache/coyote/http2/Stream.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/org/apache/coyote/http2/Stream.java b/java/org/apache/coyote/http2/Stream.java index c8596933be..233293c7b7 100644 --- a/java/org/apache/coyote/http2/Stream.java +++ b/java/org/apache/coyote/http2/Stream.java @@ -817,8 +817,11 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { * * It is important that this method is not called until any concurrent processing for the stream has completed. This * is currently achieved by: + * * - only the StreamProcessor calls this method + * * - the Http2UpgradeHandler does not call this method + * * - this method is called once the StreamProcessor considers the Stream closed * * In theory, the protection against duplicate calls is not required in this method (the code in StreamProcessor - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 02/04: 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 commit 1b7f7cf931ae551ce096cba4150111b123096d40 Author: Mark Thomas AuthorDate: Wed Oct 2 11:00:34 2024 +0100 Code clean-up - formatting. No functional change. --- .DS_Store | Bin 0 -> 6148 bytes java/org/apache/catalina/tribes/ByteMessage.java | 31 +- java/org/apache/catalina/tribes/Channel.java | 311 - .../apache/catalina/tribes/ChannelException.java | 59 ++-- .../apache/catalina/tribes/ChannelInterceptor.java | 130 + .../apache/catalina/tribes/ChannelListener.java| 15 +- .../org/apache/catalina/tribes/ChannelMessage.java | 32 ++- .../apache/catalina/tribes/ChannelReceiver.java| 20 +- java/org/apache/catalina/tribes/ChannelSender.java | 31 +- java/org/apache/catalina/tribes/ErrorHandler.java | 11 +- java/org/apache/catalina/tribes/Heartbeat.java | 4 +- java/org/apache/catalina/tribes/JmxChannel.java| 6 + .../org/apache/catalina/tribes/ManagedChannel.java | 18 +- java/org/apache/catalina/tribes/Member.java| 66 +++-- .../apache/catalina/tribes/MembershipListener.java | 8 +- .../apache/catalina/tribes/MembershipProvider.java | 32 ++- .../apache/catalina/tribes/MembershipService.java | 63 +++-- .../apache/catalina/tribes/MessageListener.java| 6 +- .../catalina/tribes/RemoteProcessException.java| 4 +- java/org/apache/catalina/tribes/UniqueId.java | 20 +- 20 files changed, 525 insertions(+), 342 deletions(-) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00..1b83a3bed8 Binary files /dev/null and b/.DS_Store differ diff --git a/java/org/apache/catalina/tribes/ByteMessage.java b/java/org/apache/catalina/tribes/ByteMessage.java index bf3c4269a3..5afa7da900 100644 --- a/java/org/apache/catalina/tribes/ByteMessage.java +++ b/java/org/apache/catalina/tribes/ByteMessage.java @@ -22,21 +22,17 @@ import java.io.ObjectInput; import java.io.ObjectOutput; /** - * A byte message is not serialized and deserialized by the channel - * instead it is sent as a byte array. + * A byte message is not serialized and deserialized by the channel instead it is sent as a byte array. * - * By default Tribes uses java serialization when it receives an object - * to be sent over the wire. Java serialization is not the most - * efficient of serializing data, and Tribes might not even - * have access to the correct class loaders to deserialize the object properly. + * By default Tribes uses java serialization when it receives an object to be sent over the wire. Java serialization is + * not the most efficient of serializing data, and Tribes might not even have access to the correct class loaders to + * deserialize the object properly. * - * The ByteMessage class is a class where the channel when it receives it will - * not attempt to perform serialization, instead it will simply stream the getMessage() - * bytes. + * The ByteMessage class is a class where the channel when it receives it will not attempt to perform serialization, + * instead it will simply stream the getMessage() bytes. * - * If you are using multiple applications on top of Tribes you should add some sort of header - * so that you can decide with the ChannelListener.accept() whether this message was intended - * for you. + * If you are using multiple applications on top of Tribes you should add some sort of header so that you can decide + * with the ChannelListener.accept() whether this message was intended for you. */ public class ByteMessage implements Externalizable { /** @@ -55,6 +51,7 @@ public class ByteMessage implements Externalizable { /** * Creates a byte message with + * * @param data byte[] - the message contents */ public ByteMessage(byte[] data) { @@ -63,6 +60,7 @@ public class ByteMessage implements Externalizable { /** * Returns the message contents of this byte message + * * @return byte[] - message contents, can be null */ public byte[] getMessage() { @@ -71,6 +69,7 @@ public class ByteMessage implements Externalizable { /** * Sets the message contents of this byte message + * * @param message byte[] */ public void setMessage(byte[] message) { @@ -78,7 +77,7 @@ public class ByteMessage implements Externalizable { } @Override -public void readExternal(ObjectInput in ) throws IOException { +public void readExternal(ObjectInput in) throws IOException { int length = in.readInt(); message = new byte[length]; in.readFully(message); @@ -86,9 +85,9 @@ public class ByteMessage implements Externalizable { @Override public void writeExternal(ObjectOutput out) throws IOException { -out.writeInt(message!=null?message.len
(tomcat) 01/04: Updates prior to applying automated code 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 commit 3ae984c224e38ad8eae28ba6e3ffd53da95c2a35 Author: Mark Thomas AuthorDate: Wed Oct 2 10:57:22 2024 +0100 Updates prior to applying automated code formatting --- java/org/apache/catalina/tribes/ByteMessage.java | 14 +- java/org/apache/catalina/tribes/Channel.java | 194 - .../apache/catalina/tribes/ChannelException.java | 3 +- .../apache/catalina/tribes/ChannelInterceptor.java | 59 --- .../apache/catalina/tribes/ChannelListener.java| 4 +- .../org/apache/catalina/tribes/ChannelMessage.java | 4 +- .../apache/catalina/tribes/ChannelReceiver.java| 3 +- java/org/apache/catalina/tribes/ChannelSender.java | 5 +- .../org/apache/catalina/tribes/ManagedChannel.java | 1 - java/org/apache/catalina/tribes/Member.java| 19 +- .../apache/catalina/tribes/MembershipProvider.java | 20 ++- .../apache/catalina/tribes/MembershipService.java | 3 +- .../catalina/tribes/RemoteProcessException.java| 2 +- 13 files changed, 189 insertions(+), 142 deletions(-) diff --git a/java/org/apache/catalina/tribes/ByteMessage.java b/java/org/apache/catalina/tribes/ByteMessage.java index e6f4b5736b..bf3c4269a3 100644 --- a/java/org/apache/catalina/tribes/ByteMessage.java +++ b/java/org/apache/catalina/tribes/ByteMessage.java @@ -23,15 +23,17 @@ import java.io.ObjectOutput; /** * A byte message is not serialized and deserialized by the channel - * instead it is sent as a byte array + * instead it is sent as a byte array. + * * By default Tribes uses java serialization when it receives an object * to be sent over the wire. Java serialization is not the most * efficient of serializing data, and Tribes might not even * have access to the correct class loaders to deserialize the object properly. - * + * * The ByteMessage class is a class where the channel when it receives it will * not attempt to perform serialization, instead it will simply stream the getMessage() - * bytes. + * bytes. + * * If you are using multiple applications on top of Tribes you should add some sort of header * so that you can decide with the ChannelListener.accept() whether this message was intended * for you. @@ -44,8 +46,9 @@ public class ByteMessage implements Externalizable { /** - * Creates an empty byte message - * Constructor also for deserialization + * Creates an empty byte message. + * + * Constructor also for deserialization. */ public ByteMessage() { } @@ -88,5 +91,4 @@ public class ByteMessage implements Externalizable { out.write(message,0,message.length); } } - } diff --git a/java/org/apache/catalina/tribes/Channel.java b/java/org/apache/catalina/tribes/Channel.java index 73534d22b2..52d4c398db 100644 --- a/java/org/apache/catalina/tribes/Channel.java +++ b/java/org/apache/catalina/tribes/Channel.java @@ -25,23 +25,26 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; /** - * Channel interface * A channel is a representation of a group of nodes all participating in some sort of - * communication with each other. + * communication with each other. + * * The channel is the main API class for Tribes, this is essentially the only class - * that an application needs to be aware of. Through the channel the application can: - * 1. send messages - * 2. receive message (by registering a ChannelListener - * 3. get all members of the group getMembers() - * 4. receive notifications of members added and members disappeared by - *registering a MembershipListener - * - * The channel has 5 major components: - * 1. Data receiver, with a built in thread pool to receive messages from other peers - * 2. Data sender, an implementation for sending data using NIO or java.io - * 3. Membership listener,listens for membership broadcasts - * 4. Membership broadcaster, broadcasts membership pings. - * 5. Channel interceptors, the ability to manipulate messages as they are sent or arrive + * that an application needs to be aware of. Through the channel the application can: + * + * send messages + * receive message (by registering a ChannelListener + * get all members of the group getMembers() + * receive notifications of members added and members disappeared by + *registering a MembershipListener + * + * The channel has 5 major components: + * + * Data receiver, with a built in thread pool to receive messages from other peers + * Data sender, an implementation for sending data using NIO or java.io + * Membership listener,listens for membership broadcasts + * Membership broadcaster, broadcasts membership pings. + * Channel interceptors, the ability to manipulate messages as they are sent or arrive + * * The channel layout is: * * ChannelListener_1..Channel
(tomcat) branch 9.0.x updated (ab0cd03763 -> 2de1db532d)
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 ab0cd03763 Improve debug log in DefaultServlet/WebdavServlet new 3ae984c224 Updates prior to applying automated code formatting new 1b7f7cf931 Code clean-up - formatting. No functional change. new 85cd50ceb1 Simplest way to retain formatting new 2de1db532d Re-apply code formatting - no functional change The 4 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: .DS_Store | Bin 0 -> 6148 bytes .../authenticator/DigestAuthenticator.java | 2 + .../authenticator/SpnegoAuthenticator.java | 4 +- .../jaspic/PersistentProviderRegistrations.java| 4 +- java/org/apache/catalina/connector/Connector.java | 4 +- .../catalina/core/ApplicationFilterFactory.java| 2 +- .../apache/catalina/core/AprLifecycleListener.java | 2 +- .../apache/catalina/filters/WebdavFixFilter.java | 2 +- .../apache/catalina/manager/StatusTransformer.java | 2 + java/org/apache/catalina/realm/JAASRealm.java | 3 +- java/org/apache/catalina/realm/RealmBase.java | 6 +- .../apache/catalina/servlets/WebdavServlet.java| 1 - java/org/apache/catalina/tribes/ByteMessage.java | 41 +- java/org/apache/catalina/tribes/Channel.java | 387 + .../apache/catalina/tribes/ChannelException.java | 62 +- .../apache/catalina/tribes/ChannelInterceptor.java | 137 ++-- .../apache/catalina/tribes/ChannelListener.java| 19 +- .../org/apache/catalina/tribes/ChannelMessage.java | 32 +- .../apache/catalina/tribes/ChannelReceiver.java| 21 +- java/org/apache/catalina/tribes/ChannelSender.java | 32 +- java/org/apache/catalina/tribes/ErrorHandler.java | 11 +- java/org/apache/catalina/tribes/Heartbeat.java | 4 +- java/org/apache/catalina/tribes/JmxChannel.java| 6 + .../org/apache/catalina/tribes/ManagedChannel.java | 19 +- java/org/apache/catalina/tribes/Member.java| 79 +- .../apache/catalina/tribes/MembershipListener.java | 8 +- .../apache/catalina/tribes/MembershipProvider.java | 32 +- .../apache/catalina/tribes/MembershipService.java | 64 +- .../apache/catalina/tribes/MessageListener.java| 6 +- .../catalina/tribes/RemoteProcessException.java| 6 +- java/org/apache/catalina/tribes/UniqueId.java | 20 +- .../catalina/tribes/util/ExecutorFactory.java | 4 +- .../apache/catalina/tribes/util/StringManager.java | 8 +- java/org/apache/coyote/AbstractProtocol.java | 4 +- .../coyote/http11/filters/ChunkedInputFilter.java | 4 +- .../apache/coyote/http2/Http2UpgradeHandler.java | 4 +- java/org/apache/coyote/http2/Stream.java | 3 + java/org/apache/el/parser/ELParser.java| 869 ++--- .../org/apache/el/parser/ELParserTokenManager.java | 701 +++-- 39 files changed, 1665 insertions(+), 950 deletions(-) create mode 100644 .DS_Store - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 02/04: 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 commit 51b9cd00e692f74767d7b98be1978a79b3545f6b Author: Mark Thomas AuthorDate: Wed Oct 2 11:00:34 2024 +0100 Code clean-up - formatting. No functional change. --- .DS_Store | Bin 0 -> 6148 bytes java/org/apache/catalina/tribes/ByteMessage.java | 31 +- java/org/apache/catalina/tribes/Channel.java | 311 - .../apache/catalina/tribes/ChannelException.java | 59 ++-- .../apache/catalina/tribes/ChannelInterceptor.java | 130 + .../apache/catalina/tribes/ChannelListener.java| 15 +- .../org/apache/catalina/tribes/ChannelMessage.java | 32 ++- .../apache/catalina/tribes/ChannelReceiver.java| 20 +- java/org/apache/catalina/tribes/ChannelSender.java | 31 +- java/org/apache/catalina/tribes/ErrorHandler.java | 11 +- java/org/apache/catalina/tribes/Heartbeat.java | 4 +- java/org/apache/catalina/tribes/JmxChannel.java| 6 + .../org/apache/catalina/tribes/ManagedChannel.java | 18 +- java/org/apache/catalina/tribes/Member.java| 66 +++-- .../apache/catalina/tribes/MembershipListener.java | 8 +- .../apache/catalina/tribes/MembershipProvider.java | 32 ++- .../apache/catalina/tribes/MembershipService.java | 63 +++-- .../apache/catalina/tribes/MessageListener.java| 6 +- .../catalina/tribes/RemoteProcessException.java| 4 +- java/org/apache/catalina/tribes/UniqueId.java | 20 +- 20 files changed, 525 insertions(+), 342 deletions(-) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00..1b83a3bed8 Binary files /dev/null and b/.DS_Store differ diff --git a/java/org/apache/catalina/tribes/ByteMessage.java b/java/org/apache/catalina/tribes/ByteMessage.java index bf3c4269a3..5afa7da900 100644 --- a/java/org/apache/catalina/tribes/ByteMessage.java +++ b/java/org/apache/catalina/tribes/ByteMessage.java @@ -22,21 +22,17 @@ import java.io.ObjectInput; import java.io.ObjectOutput; /** - * A byte message is not serialized and deserialized by the channel - * instead it is sent as a byte array. + * A byte message is not serialized and deserialized by the channel instead it is sent as a byte array. * - * By default Tribes uses java serialization when it receives an object - * to be sent over the wire. Java serialization is not the most - * efficient of serializing data, and Tribes might not even - * have access to the correct class loaders to deserialize the object properly. + * By default Tribes uses java serialization when it receives an object to be sent over the wire. Java serialization is + * not the most efficient of serializing data, and Tribes might not even have access to the correct class loaders to + * deserialize the object properly. * - * The ByteMessage class is a class where the channel when it receives it will - * not attempt to perform serialization, instead it will simply stream the getMessage() - * bytes. + * The ByteMessage class is a class where the channel when it receives it will not attempt to perform serialization, + * instead it will simply stream the getMessage() bytes. * - * If you are using multiple applications on top of Tribes you should add some sort of header - * so that you can decide with the ChannelListener.accept() whether this message was intended - * for you. + * If you are using multiple applications on top of Tribes you should add some sort of header so that you can decide + * with the ChannelListener.accept() whether this message was intended for you. */ public class ByteMessage implements Externalizable { /** @@ -55,6 +51,7 @@ public class ByteMessage implements Externalizable { /** * Creates a byte message with + * * @param data byte[] - the message contents */ public ByteMessage(byte[] data) { @@ -63,6 +60,7 @@ public class ByteMessage implements Externalizable { /** * Returns the message contents of this byte message + * * @return byte[] - message contents, can be null */ public byte[] getMessage() { @@ -71,6 +69,7 @@ public class ByteMessage implements Externalizable { /** * Sets the message contents of this byte message + * * @param message byte[] */ public void setMessage(byte[] message) { @@ -78,7 +77,7 @@ public class ByteMessage implements Externalizable { } @Override -public void readExternal(ObjectInput in ) throws IOException { +public void readExternal(ObjectInput in) throws IOException { int length = in.readInt(); message = new byte[length]; in.readFully(message); @@ -86,9 +85,9 @@ public class ByteMessage implements Externalizable { @Override public void writeExternal(ObjectOutput out) throws IOException { -out.writeInt(message!=null?message.le
(tomcat) branch 11.0.x updated (1ecf6870a5 -> 352efca575)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch 11.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git from 1ecf6870a5 Improve debug log in DefaultServlet/WebdavServlet new ee15e7567e Updates prior to applying automated code formatting new 51b9cd00e6 Code clean-up - formatting. No functional change. new 492dd4b7fc Simplest way to retain formatting new 352efca575 Re-apply code formatting - no functional change The 4 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: .DS_Store | Bin 0 -> 6148 bytes .../authenticator/SpnegoAuthenticator.java | 4 +- .../jaspic/AuthConfigFactoryImpl.java | 3 +- .../jaspic/PersistentProviderRegistrations.java| 4 +- .../catalina/core/ApplicationFilterFactory.java| 2 +- .../apache/catalina/core/AprLifecycleListener.java | 2 +- .../apache/catalina/manager/StatusTransformer.java | 2 + java/org/apache/catalina/realm/JAASRealm.java | 3 +- java/org/apache/catalina/realm/RealmBase.java | 6 +- .../apache/catalina/servlets/WebdavServlet.java| 1 - java/org/apache/catalina/tribes/ByteMessage.java | 41 +-- java/org/apache/catalina/tribes/Channel.java | 387 - .../apache/catalina/tribes/ChannelException.java | 62 ++-- .../apache/catalina/tribes/ChannelInterceptor.java | 137 +--- .../apache/catalina/tribes/ChannelListener.java| 19 +- .../org/apache/catalina/tribes/ChannelMessage.java | 32 +- .../apache/catalina/tribes/ChannelReceiver.java| 21 +- java/org/apache/catalina/tribes/ChannelSender.java | 32 +- java/org/apache/catalina/tribes/ErrorHandler.java | 11 +- java/org/apache/catalina/tribes/Heartbeat.java | 4 +- java/org/apache/catalina/tribes/JmxChannel.java| 6 + .../org/apache/catalina/tribes/ManagedChannel.java | 19 +- java/org/apache/catalina/tribes/Member.java| 79 +++-- .../apache/catalina/tribes/MembershipListener.java | 8 +- .../apache/catalina/tribes/MembershipProvider.java | 32 +- .../apache/catalina/tribes/MembershipService.java | 64 ++-- .../apache/catalina/tribes/MessageListener.java| 6 +- .../catalina/tribes/RemoteProcessException.java| 6 +- java/org/apache/catalina/tribes/UniqueId.java | 20 +- .../catalina/tribes/util/ExecutorFactory.java | 4 +- .../apache/catalina/tribes/util/StringManager.java | 6 +- java/org/apache/coyote/AbstractProtocol.java | 4 +- .../coyote/http11/filters/ChunkedInputFilter.java | 4 +- .../apache/coyote/http2/Http2UpgradeHandler.java | 4 +- java/org/apache/coyote/http2/Stream.java | 3 + 35 files changed, 637 insertions(+), 401 deletions(-) create mode 100644 .DS_Store - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 03/04: Simplest way to retain 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 commit 492dd4b7fc95fce0e91a043d41049960cf2c6369 Author: Mark Thomas AuthorDate: Wed Oct 2 11:46:51 2024 +0100 Simplest way to retain formatting --- java/org/apache/coyote/http2/Stream.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/org/apache/coyote/http2/Stream.java b/java/org/apache/coyote/http2/Stream.java index d0257ab17e..7d959e321e 100644 --- a/java/org/apache/coyote/http2/Stream.java +++ b/java/org/apache/coyote/http2/Stream.java @@ -805,8 +805,11 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { * * It is important that this method is not called until any concurrent processing for the stream has completed. This * is currently achieved by: + * * - only the StreamProcessor calls this method + * * - the Http2UpgradeHandler does not call this method + * * - this method is called once the StreamProcessor considers the Stream closed * * In theory, the protection against duplicate calls is not required in this method (the code in StreamProcessor - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 03/04: Simplest way to retain 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 commit 85cd50ceb16a4d6c7d9cf6105604d477c480f68f Author: Mark Thomas AuthorDate: Wed Oct 2 11:46:51 2024 +0100 Simplest way to retain formatting --- java/org/apache/coyote/http2/Stream.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/org/apache/coyote/http2/Stream.java b/java/org/apache/coyote/http2/Stream.java index 0384c513fe..c543ecd127 100644 --- a/java/org/apache/coyote/http2/Stream.java +++ b/java/org/apache/coyote/http2/Stream.java @@ -817,8 +817,11 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { * * It is important that this method is not called until any concurrent processing for the stream has completed. This * is currently achieved by: + * * - only the StreamProcessor calls this method + * * - the Http2UpgradeHandler does not call this method + * * - this method is called once the StreamProcessor considers the Stream closed * * In theory, the protection against duplicate calls is not required in this method (the code in StreamProcessor - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: (tomcat) branch main updated: BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
On 2024/10/02 10:41:38 Mark Thomas wrote: > On 02/10/2024 11:30, Michael Osipov wrote: > > On 2024/10/02 10:21:07 Mark Thomas wrote: > >> -1 veto > >> > >> This change is not compliant with RFC 9110. > >> > >> If Tomcat sends METHOD_NOT_ALLOWED it MUST also send an Allow header. > >> > > > > >>> diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java > >>> b/java/org/apache/catalina/servlets/WebdavServlet.java > >>> index d32868a9b3..c2cf8f3d78 100644 > >>> --- a/java/org/apache/catalina/servlets/WebdavServlet.java > >>> +++ b/java/org/apache/catalina/servlets/WebdavServlet.java > >>> @@ -1696,7 +1696,7 @@ public class WebdavServlet extends DefaultServlet > >>> implements PeriodicEventListen > >>> > >>>if (!resource.isDirectory()) { > >>>if (!resource.delete()) { > >>> -resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR); > >>> +resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); > >> > >> May be able to utilise sendNotAllowed() for this one. Thinking about it > >> probably not as WebDAV has additional methods that need to be taken > >> account of. It will need a dedicated method for WebDAV. > > > > I agree, infact I have written this in the BZ issue: > > https://bz.apache.org/bugzilla/show_bug.cgi?id=69360#c2 > > For a single resource (not collection) I will use the method mentioned. > > Agreed? > > If you mean write a WebDAV specific sendNotAllowed() method and use it > here then yes, that would be acceptable. I believe we have that already with an override: WebdavServlet#determineMethodsAllowed(HttpServletRequest) then the super sendNotAllowed() will use this. With a proper patch I get that now: > $ curl --negotiate -u : -X DELETE > 'https://example.com/backend-dev/dav/log/sadfs' --verbose > ...* Request completely sent off > < HTTP/1.1 405 > < Date: Wed, 02 Oct 2024 10:59:10 GMT > < Server: Apache > < X-Frame-Options: SAMEORIGIN > < Correlation-Id: Zv0nfp0p3XwFWtOGfc5vXRQ > < Cache-Control: private > < WWW-Authenticate: Negotiate oY... > < Allow: OPTIONS, GET, POST, HEAD, DELETE, PUT, LOCK, UNLOCK, PROPPATCH, > COPY, MOVE, PROPFIND > < Content-Type: text/html;charset=utf-8 > < Content-Language: en > < Content-Length: 656 Patch: > -resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); > +sendNotAllowed(req, resp); OK for you? - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Make WebdavServlet properly return the Allow header on NOT_ALLOWED status
This is an automated email from the ASF dual-hosted git repository. michaelo 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 b03fde0383 Make WebdavServlet properly return the Allow header on NOT_ALLOWED status b03fde0383 is described below commit b03fde03837da631c69226d19d67b751f5b05919 Author: Michael Osipov AuthorDate: Wed Oct 2 13:48:45 2024 +0200 Make WebdavServlet properly return the Allow header on NOT_ALLOWED status --- java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- webapps/docs/changelog.xml | 4 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index a392d729d5..455727ef63 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1695,7 +1695,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); +sendNotAllowed(req, resp); return false; } } else { diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index f4eb84d1b4..0ce26bd380 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -133,6 +133,10 @@ WebdavServlet and DefaultServlet. (michaelo) + +Make WebdavServlet properly return the Allow +header when deletion of a resource is not allowed. (michaelo) + - 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: Make WebdavServlet properly return the Allow header on NOT_ALLOWED status
This is an automated email from the ASF dual-hosted git repository. michaelo 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 33d26b4036 Make WebdavServlet properly return the Allow header on NOT_ALLOWED status 33d26b4036 is described below commit 33d26b403669541c9ef4ca3e568387f33412bae4 Author: Michael Osipov AuthorDate: Wed Oct 2 13:48:45 2024 +0200 Make WebdavServlet properly return the Allow header on NOT_ALLOWED status --- java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- webapps/docs/changelog.xml | 4 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 0ea34b4f34..2858219324 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1693,7 +1693,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); +sendNotAllowed(req, resp); return false; } } else { diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 51d0bf6233..7b00539192 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -152,6 +152,10 @@ WebdavServlet and DefaultServlet. (michaelo) + +Make WebdavServlet properly return the Allow +header when deletion of a resource is not allowed. (michaelo) + - 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: Make WebdavServlet properly return the Allow header on NOT_ALLOWED status
This is an automated email from the ASF dual-hosted git repository. michaelo 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 76fb7ec803 Make WebdavServlet properly return the Allow header on NOT_ALLOWED status 76fb7ec803 is described below commit 76fb7ec8036f96e7b4c14720809d96d63a361036 Author: Michael Osipov AuthorDate: Wed Oct 2 13:48:45 2024 +0200 Make WebdavServlet properly return the Allow header on NOT_ALLOWED status --- java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- webapps/docs/changelog.xml | 4 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index e8cb718295..daee33e435 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1692,7 +1692,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); +sendNotAllowed(req, resp); return false; } } else { diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 997c6d04e0..2693dddee0 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -147,6 +147,10 @@ WebdavServlet and DefaultServlet. (michaelo) + +Make WebdavServlet properly return the Allow +header when deletion of a resource is not allowed. (michaelo) + - 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: Make WebdavServlet properly return the Allow header on NOT_ALLOWED status
This is an automated email from the ASF dual-hosted git repository. michaelo 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 0207a660c7 Make WebdavServlet properly return the Allow header on NOT_ALLOWED status 0207a660c7 is described below commit 0207a660c76753f3fb2532da4b1c3c6ca940fb35 Author: Michael Osipov AuthorDate: Wed Oct 2 13:48:45 2024 +0200 Make WebdavServlet properly return the Allow header on NOT_ALLOWED status --- java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- webapps/docs/changelog.xml | 4 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 0ea34b4f34..2858219324 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1693,7 +1693,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); +sendNotAllowed(req, resp); return false; } } else { diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 0478f1068b..6de47811ab 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -152,6 +152,10 @@ WebdavServlet and DefaultServlet. (michaelo) + +Make WebdavServlet properly return the Allow +header when deletion of a resource is not allowed. (michaelo) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69360] Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 --- Comment #8 from Michael Osipov --- Incorporated Mark's objection. -- 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: (tomcat) branch main updated: Make WebdavServlet properly return the Allow header on NOT_ALLOWED status
On Wed, Oct 2, 2024 at 1:51 PM wrote: > > This is an automated email from the ASF dual-hosted git repository. > > michaelo 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 b03fde0383 Make WebdavServlet properly return the Allow header on > NOT_ALLOWED status > b03fde0383 is described below > > commit b03fde03837da631c69226d19d67b751f5b05919 > Author: Michael Osipov > AuthorDate: Wed Oct 2 13:48:45 2024 +0200 > > Make WebdavServlet properly return the Allow header on NOT_ALLOWED status > --- > java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- > webapps/docs/changelog.xml | 4 > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java > b/java/org/apache/catalina/servlets/WebdavServlet.java > index a392d729d5..455727ef63 100644 > --- a/java/org/apache/catalina/servlets/WebdavServlet.java > +++ b/java/org/apache/catalina/servlets/WebdavServlet.java > @@ -1695,7 +1695,7 @@ public class WebdavServlet extends DefaultServlet > implements PeriodicEventListen > > if (!resource.isDirectory()) { > if (!resource.delete()) { > -resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); > +sendNotAllowed(req, resp); > return false; > } > } else { > diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml > index f4eb84d1b4..0ce26bd380 100644 > --- a/webapps/docs/changelog.xml > +++ b/webapps/docs/changelog.xml > @@ -133,6 +133,10 @@ > WebdavServlet and DefaultServlet. > (michaelo) > > + > +Make WebdavServlet properly return the > Allow > +header when deletion of a resource is not allowed. (michaelo) > + We're going to remove the changelog entries from main eventually (all of the ones that are also in 11), although they're useful to cherry pick for now. Rémy > > > > > > - > 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
[Bug 69364] New: Godrej Neopolis Apartments
https://bz.apache.org/bugzilla/show_bug.cgi?id=69364 Bug ID: 69364 Summary: Godrej Neopolis Apartments Product: Tomcat 10 Version: 10.1.29 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Cluster Assignee: dev@tomcat.apache.org Reporter: godrejneopolislocat...@gmail.com Target Milestone: -- Godrej Neopolis is a magnificent 3.5-acre residential development with 350 opulent three- and four-bedroom homes situated in Kokapet, West Hyderabad. https://www.godrejneopolis.info/ -- 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 (142c45a427 -> 6dfefeefbe)
This is an automated email from the ASF dual-hosted git repository. michaelo pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git from 142c45a427 BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet add 6dfefeefbe Improve debug log in DefaultServlet/WebdavServlet No new revisions were added by this update. Summary of changes: java/org/apache/catalina/servlets/DefaultServlet.java | 2 +- java/org/apache/catalina/servlets/WebdavServlet.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69362] Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 --- Comment #1 from Remy Maucherat --- It's always being like that. The reason might have been to avoid being too redundant (if not deleting the contents, the intermediate parent folder is also obviously not getting deleted) but it seems possible to add that although there's probably no added value. -- 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 69362] Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 --- Comment #2 from Michael Osipov --- (In reply to Remy Maucherat from comment #1) > It's always being like that. The reason might have been to avoid being too > redundant (if not deleting the contents, the intermediate parent folder is > also obviously not getting deleted) but it seems possible to add that > although there's probably no added value. But what if the files can be deleted, but the directory is write-protected? For consistency reasons I'd like to add it. -- 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 69362] Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 --- Comment #3 from Remy Maucherat --- (In reply to Michael Osipov from comment #2) > (In reply to Remy Maucherat from comment #1) > > It's always being like that. The reason might have been to avoid being too > > redundant (if not deleting the contents, the intermediate parent folder is > > also obviously not getting deleted) but it seems possible to add that > > although there's probably no added value. > > But what if the files can be deleted, but the directory is write-protected? > For consistency reasons I'd like to add it. Ok. -- 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/02: Updates prior to applying automated code 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 commit 79234b2bb8cd9e1730b9ffac5183b69bcf7ce4ba Author: Mark Thomas AuthorDate: Wed Oct 2 10:57:22 2024 +0100 Updates prior to applying automated code formatting --- java/org/apache/catalina/tribes/ByteMessage.java | 14 +- java/org/apache/catalina/tribes/Channel.java | 194 - .../apache/catalina/tribes/ChannelException.java | 3 +- .../apache/catalina/tribes/ChannelInterceptor.java | 59 --- .../apache/catalina/tribes/ChannelListener.java| 4 +- .../org/apache/catalina/tribes/ChannelMessage.java | 4 +- .../apache/catalina/tribes/ChannelReceiver.java| 3 +- java/org/apache/catalina/tribes/ChannelSender.java | 5 +- .../org/apache/catalina/tribes/ManagedChannel.java | 1 - java/org/apache/catalina/tribes/Member.java| 19 +- .../apache/catalina/tribes/MembershipProvider.java | 20 ++- .../apache/catalina/tribes/MembershipService.java | 3 +- .../catalina/tribes/RemoteProcessException.java| 2 +- 13 files changed, 189 insertions(+), 142 deletions(-) diff --git a/java/org/apache/catalina/tribes/ByteMessage.java b/java/org/apache/catalina/tribes/ByteMessage.java index e6f4b5736b..bf3c4269a3 100644 --- a/java/org/apache/catalina/tribes/ByteMessage.java +++ b/java/org/apache/catalina/tribes/ByteMessage.java @@ -23,15 +23,17 @@ import java.io.ObjectOutput; /** * A byte message is not serialized and deserialized by the channel - * instead it is sent as a byte array + * instead it is sent as a byte array. + * * By default Tribes uses java serialization when it receives an object * to be sent over the wire. Java serialization is not the most * efficient of serializing data, and Tribes might not even * have access to the correct class loaders to deserialize the object properly. - * + * * The ByteMessage class is a class where the channel when it receives it will * not attempt to perform serialization, instead it will simply stream the getMessage() - * bytes. + * bytes. + * * If you are using multiple applications on top of Tribes you should add some sort of header * so that you can decide with the ChannelListener.accept() whether this message was intended * for you. @@ -44,8 +46,9 @@ public class ByteMessage implements Externalizable { /** - * Creates an empty byte message - * Constructor also for deserialization + * Creates an empty byte message. + * + * Constructor also for deserialization. */ public ByteMessage() { } @@ -88,5 +91,4 @@ public class ByteMessage implements Externalizable { out.write(message,0,message.length); } } - } diff --git a/java/org/apache/catalina/tribes/Channel.java b/java/org/apache/catalina/tribes/Channel.java index 73534d22b2..52d4c398db 100644 --- a/java/org/apache/catalina/tribes/Channel.java +++ b/java/org/apache/catalina/tribes/Channel.java @@ -25,23 +25,26 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; /** - * Channel interface * A channel is a representation of a group of nodes all participating in some sort of - * communication with each other. + * communication with each other. + * * The channel is the main API class for Tribes, this is essentially the only class - * that an application needs to be aware of. Through the channel the application can: - * 1. send messages - * 2. receive message (by registering a ChannelListener - * 3. get all members of the group getMembers() - * 4. receive notifications of members added and members disappeared by - *registering a MembershipListener - * - * The channel has 5 major components: - * 1. Data receiver, with a built in thread pool to receive messages from other peers - * 2. Data sender, an implementation for sending data using NIO or java.io - * 3. Membership listener,listens for membership broadcasts - * 4. Membership broadcaster, broadcasts membership pings. - * 5. Channel interceptors, the ability to manipulate messages as they are sent or arrive + * that an application needs to be aware of. Through the channel the application can: + * + * send messages + * receive message (by registering a ChannelListener + * get all members of the group getMembers() + * receive notifications of members added and members disappeared by + *registering a MembershipListener + * + * The channel has 5 major components: + * + * Data receiver, with a built in thread pool to receive messages from other peers + * Data sender, an implementation for sending data using NIO or java.io + * Membership listener,listens for membership broadcasts + * Membership broadcaster, broadcasts membership pings. + * Channel interceptors, the ability to manipulate messages as they are sent or arrive + * * The channel layout is: * * ChannelListener_1..ChannelL
(tomcat) 02/02: 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 commit eed64ff5806705ae5779e225d8242be35a1812c5 Author: Mark Thomas AuthorDate: Wed Oct 2 11:00:34 2024 +0100 Code clean-up - formatting. No functional change. --- .DS_Store | Bin 0 -> 6148 bytes java/org/apache/catalina/tribes/ByteMessage.java | 31 +- java/org/apache/catalina/tribes/Channel.java | 311 - .../apache/catalina/tribes/ChannelException.java | 59 ++-- .../apache/catalina/tribes/ChannelInterceptor.java | 130 + .../apache/catalina/tribes/ChannelListener.java| 15 +- .../org/apache/catalina/tribes/ChannelMessage.java | 32 ++- .../apache/catalina/tribes/ChannelReceiver.java| 20 +- java/org/apache/catalina/tribes/ChannelSender.java | 31 +- java/org/apache/catalina/tribes/ErrorHandler.java | 11 +- java/org/apache/catalina/tribes/Heartbeat.java | 4 +- java/org/apache/catalina/tribes/JmxChannel.java| 6 + .../org/apache/catalina/tribes/ManagedChannel.java | 18 +- java/org/apache/catalina/tribes/Member.java| 66 +++-- .../apache/catalina/tribes/MembershipListener.java | 8 +- .../apache/catalina/tribes/MembershipProvider.java | 32 ++- .../apache/catalina/tribes/MembershipService.java | 63 +++-- .../apache/catalina/tribes/MessageListener.java| 6 +- .../catalina/tribes/RemoteProcessException.java| 4 +- java/org/apache/catalina/tribes/UniqueId.java | 20 +- 20 files changed, 525 insertions(+), 342 deletions(-) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00..1b83a3bed8 Binary files /dev/null and b/.DS_Store differ diff --git a/java/org/apache/catalina/tribes/ByteMessage.java b/java/org/apache/catalina/tribes/ByteMessage.java index bf3c4269a3..5afa7da900 100644 --- a/java/org/apache/catalina/tribes/ByteMessage.java +++ b/java/org/apache/catalina/tribes/ByteMessage.java @@ -22,21 +22,17 @@ import java.io.ObjectInput; import java.io.ObjectOutput; /** - * A byte message is not serialized and deserialized by the channel - * instead it is sent as a byte array. + * A byte message is not serialized and deserialized by the channel instead it is sent as a byte array. * - * By default Tribes uses java serialization when it receives an object - * to be sent over the wire. Java serialization is not the most - * efficient of serializing data, and Tribes might not even - * have access to the correct class loaders to deserialize the object properly. + * By default Tribes uses java serialization when it receives an object to be sent over the wire. Java serialization is + * not the most efficient of serializing data, and Tribes might not even have access to the correct class loaders to + * deserialize the object properly. * - * The ByteMessage class is a class where the channel when it receives it will - * not attempt to perform serialization, instead it will simply stream the getMessage() - * bytes. + * The ByteMessage class is a class where the channel when it receives it will not attempt to perform serialization, + * instead it will simply stream the getMessage() bytes. * - * If you are using multiple applications on top of Tribes you should add some sort of header - * so that you can decide with the ChannelListener.accept() whether this message was intended - * for you. + * If you are using multiple applications on top of Tribes you should add some sort of header so that you can decide + * with the ChannelListener.accept() whether this message was intended for you. */ public class ByteMessage implements Externalizable { /** @@ -55,6 +51,7 @@ public class ByteMessage implements Externalizable { /** * Creates a byte message with + * * @param data byte[] - the message contents */ public ByteMessage(byte[] data) { @@ -63,6 +60,7 @@ public class ByteMessage implements Externalizable { /** * Returns the message contents of this byte message + * * @return byte[] - message contents, can be null */ public byte[] getMessage() { @@ -71,6 +69,7 @@ public class ByteMessage implements Externalizable { /** * Sets the message contents of this byte message + * * @param message byte[] */ public void setMessage(byte[] message) { @@ -78,7 +77,7 @@ public class ByteMessage implements Externalizable { } @Override -public void readExternal(ObjectInput in ) throws IOException { +public void readExternal(ObjectInput in) throws IOException { int length = in.readInt(); message = new byte[length]; in.readFully(message); @@ -86,9 +85,9 @@ public class ByteMessage implements Externalizable { @Override public void writeExternal(ObjectOutput out) throws IOException { -out.writeInt(message!=null?message.leng
Re: (tomcat) branch main updated: BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
On 2024/10/02 10:21:07 Mark Thomas wrote: > -1 veto > > This change is not compliant with RFC 9110. > > If Tomcat sends METHOD_NOT_ALLOWED it MUST also send an Allow header. > > That is why the default servlet has a dedicated method for sending > METHOD_NOT_ALLOWED. > > Further comments in-line. > > Mark > > On 02/10/2024 10:07, micha...@apache.org wrote: > > This is an automated email from the ASF dual-hosted git repository. > > > > michaelo 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 142c45a427 BZ 69360: Inconsistent DELETE behavior between > > DefaultServlet and WebdavServlet > > 142c45a427 is described below > > > > commit 142c45a4271e1fd8d400196a883fb560ebded110 > > Author: Michael Osipov > > AuthorDate: Wed Oct 2 11:04:44 2024 +0200 > > > > BZ 69360: Inconsistent DELETE behavior between DefaultServlet and > > WebdavServlet > > --- > > java/org/apache/catalina/servlets/WebdavServlet.java | 6 +++--- > > webapps/docs/changelog.xml | 5 + > > 2 files changed, 8 insertions(+), 3 deletions(-) > > > > diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java > > b/java/org/apache/catalina/servlets/WebdavServlet.java > > index d32868a9b3..c2cf8f3d78 100644 > > --- a/java/org/apache/catalina/servlets/WebdavServlet.java > > +++ b/java/org/apache/catalina/servlets/WebdavServlet.java > > @@ -1696,7 +1696,7 @@ public class WebdavServlet extends DefaultServlet > > implements PeriodicEventListen > > > > if (!resource.isDirectory()) { > > if (!resource.delete()) { > > -resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR); > > +resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); > > May be able to utilise sendNotAllowed() for this one. Thinking about it > probably not as WebDAV has additional methods that need to be taken > account of. It will need a dedicated method for WebDAV. I agree, infact I have written this in the BZ issue: https://bz.apache.org/bugzilla/show_bug.cgi?id=69360#c2 For a single resource (not collection) I will use the method mentioned. Agreed? > > return false; > > } > > } else { > > @@ -1705,7 +1705,7 @@ public class WebdavServlet extends DefaultServlet > > implements PeriodicEventListen > > > > deleteCollection(req, path, errorList); > > if (!resource.delete()) { > > -errorList.put(path, > > Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); > > +errorList.put(path, > > Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); > > This is going to be part of a multi-status response. The allow header > doesn't make sense for a multi-status response. There I think this is OK. Same here. > > } > > > > if (!errorList.isEmpty()) { > > @@ -1772,7 +1772,7 @@ public class WebdavServlet extends DefaultServlet > > implements PeriodicEventListen > > if (!childResource.isDirectory()) { > > // If it's not a collection, then it's an unknown > > // error > > -errorList.put(childName, > > Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); > > +errorList.put(childName, > > Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); > > As above. Ditto. > > } > > } > > } > > Generally, SC_METHOD_NOT_ALLOWED is probably the right status code as > the most likely failure mode is a lack of permissions. I just wonder if > there are circumstances where we would want to return > SC_INTERNAL_SERVER_ERROR and how we would determine if that were the case. This I have described here: https://bz.apache.org/bugzilla/show_bug.cgi?id=69360#c0 Files#delete(Path) can give us a proper exception to map to INTERNAL_SERVER_ERROR. It the first proposed change good for you pull back the vote? Michael > > diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml > > index ca652cd604..f4eb84d1b4 100644 > > --- a/webapps/docs/changelog.xml > > +++ b/webapps/docs/changelog.xml > > @@ -128,6 +128,11 @@ > > getRelativePath() method from super class with > > incorrect Javadoc. (michaelo) > > > > + > > +69360: Inconsistent DELETE behavior between > > +WebdavServlet and DefaultServlet. > > +(michaelo) > > + > > > > > > > > > > > > - > > 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) branch main updated (6dfefeefbe -> eed64ff580)
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 6dfefeefbe Improve debug log in DefaultServlet/WebdavServlet new 79234b2bb8 Updates prior to applying automated code formatting new eed64ff580 Code clean-up - formatting. No functional change. 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: .DS_Store | Bin 0 -> 6148 bytes java/org/apache/catalina/tribes/ByteMessage.java | 41 +-- java/org/apache/catalina/tribes/Channel.java | 387 - .../apache/catalina/tribes/ChannelException.java | 62 ++-- .../apache/catalina/tribes/ChannelInterceptor.java | 137 +--- .../apache/catalina/tribes/ChannelListener.java| 19 +- .../org/apache/catalina/tribes/ChannelMessage.java | 32 +- .../apache/catalina/tribes/ChannelReceiver.java| 21 +- java/org/apache/catalina/tribes/ChannelSender.java | 32 +- java/org/apache/catalina/tribes/ErrorHandler.java | 11 +- java/org/apache/catalina/tribes/Heartbeat.java | 4 +- java/org/apache/catalina/tribes/JmxChannel.java| 6 + .../org/apache/catalina/tribes/ManagedChannel.java | 19 +- java/org/apache/catalina/tribes/Member.java| 79 +++-- .../apache/catalina/tribes/MembershipListener.java | 8 +- .../apache/catalina/tribes/MembershipProvider.java | 32 +- .../apache/catalina/tribes/MembershipService.java | 64 ++-- .../apache/catalina/tribes/MessageListener.java| 6 +- .../catalina/tribes/RemoteProcessException.java| 6 +- java/org/apache/catalina/tribes/UniqueId.java | 20 +- 20 files changed, 608 insertions(+), 378 deletions(-) create mode 100644 .DS_Store - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69362] Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 --- Comment #4 from Mark Thomas --- See RFC 4918 section 9.6.1. I think this should remain as is. -- 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: Re-apply code 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 commit d605c66e907b2e2c1a30669af40f0ed1bf725af5 Author: Mark Thomas AuthorDate: Wed Oct 2 11:47:53 2024 +0100 Re-apply code formatting - no functional change --- java/org/apache/catalina/authenticator/SpnegoAuthenticator.java | 4 ++-- .../apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java | 3 ++- .../authenticator/jaspic/PersistentProviderRegistrations.java | 4 ++-- java/org/apache/catalina/core/ApplicationFilterFactory.java | 2 +- java/org/apache/catalina/core/AprLifecycleListener.java | 2 +- java/org/apache/catalina/manager/StatusTransformer.java | 2 ++ java/org/apache/catalina/realm/JAASRealm.java | 3 ++- java/org/apache/catalina/realm/RealmBase.java | 6 +++--- java/org/apache/catalina/servlets/WebdavServlet.java| 1 - java/org/apache/coyote/AbstractProtocol.java| 4 ++-- java/org/apache/coyote/http11/filters/ChunkedInputFilter.java | 4 ++-- java/org/apache/coyote/http2/Http2UpgradeHandler.java | 4 ++-- 12 files changed, 21 insertions(+), 18 deletions(-) diff --git a/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java b/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java index 570ce65413..9227238198 100644 --- a/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java +++ b/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java @@ -165,8 +165,8 @@ public class SpnegoAuthenticator extends AuthenticatorBase { authorizationBC.setStart(authorizationBC.getStart() + 10); byte[] encoded = new byte[authorizationBC.getLength()]; -System.arraycopy(authorizationBC.getBuffer(), authorizationBC.getStart(), -encoded, 0, authorizationBC.getLength()); +System.arraycopy(authorizationBC.getBuffer(), authorizationBC.getStart(), encoded, 0, +authorizationBC.getLength()); byte[] decoded = Base64.getDecoder().decode(encoded); if (getApplyJava8u40Fix()) { diff --git a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java index 73d95329f6..81acb0c4e2 100644 --- a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java +++ b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java @@ -658,7 +658,8 @@ public class AuthConfigFactoryImpl extends AuthConfigFactory { if (serverAuthConfig == null) { synchronized (serverAuthConfigLock) { if (serverAuthConfig == null) { -serverAuthConfig = new SingleContextServerAuthConfig(serverAuthModule, this.appContext, handler); +serverAuthConfig = +new SingleContextServerAuthConfig(serverAuthModule, this.appContext, handler); } } } diff --git a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java index 875ab1cff0..9295eb81bf 100644 --- a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java +++ b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java @@ -111,8 +111,8 @@ public final class PersistentProviderRegistrations { } if (!configParent.exists()) { if (!configParent.mkdirs()) { -throw new SecurityException(sm.getString("persistentProviderRegistrations.mkdirsFail", -configParent.getAbsolutePath())); +throw new SecurityException( + sm.getString("persistentProviderRegistrations.mkdirsFail", configParent.getAbsolutePath())); } } diff --git a/java/org/apache/catalina/core/ApplicationFilterFactory.java b/java/org/apache/catalina/core/ApplicationFilterFactory.java index fe5851bf90..052717e4e1 100644 --- a/java/org/apache/catalina/core/ApplicationFilterFactory.java +++ b/java/org/apache/catalina/core/ApplicationFilterFactory.java @@ -91,7 +91,7 @@ public final class ApplicationFilterFactory { // Acquire the information we will need to match filter mappings DispatcherType dispatcher = (DispatcherType) request.getAttribute(Globals.DISPATCHER_TYPE_ATTR); -String requestPath = FilterUtil.getRequestPath(request) ; +String requestPath = FilterUtil.getRequestPath(request); String servletName = wrapper.getName(); diff --git a/java/org/apache/catalina/core/AprLifecycleListener.java b/java/org/apache/catalina/core/AprLifecycleListener.java index 2502e1132b..665d15ff6a 100644
(tomcat) 01/02: Simplest way to retain 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 commit e0d8de393c1aace3f8c0de353030a61862bfaf5e Author: Mark Thomas AuthorDate: Wed Oct 2 11:46:51 2024 +0100 Simplest way to retain formatting --- java/org/apache/coyote/http2/Stream.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/org/apache/coyote/http2/Stream.java b/java/org/apache/coyote/http2/Stream.java index d0257ab17e..7d959e321e 100644 --- a/java/org/apache/coyote/http2/Stream.java +++ b/java/org/apache/coyote/http2/Stream.java @@ -805,8 +805,11 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { * * It is important that this method is not called until any concurrent processing for the stream has completed. This * is currently achieved by: + * * - only the StreamProcessor calls this method + * * - the Http2UpgradeHandler does not call this method + * * - this method is called once the StreamProcessor considers the Stream closed * * In theory, the protection against duplicate calls is not required in this method (the code in StreamProcessor - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: (tomcat) branch main updated: BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
On 02/10/2024 11:30, Michael Osipov wrote: On 2024/10/02 10:21:07 Mark Thomas wrote: -1 veto This change is not compliant with RFC 9110. If Tomcat sends METHOD_NOT_ALLOWED it MUST also send an Allow header. diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index d32868a9b3..c2cf8f3d78 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1696,7 +1696,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR); +resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); May be able to utilise sendNotAllowed() for this one. Thinking about it probably not as WebDAV has additional methods that need to be taken account of. It will need a dedicated method for WebDAV. I agree, infact I have written this in the BZ issue: https://bz.apache.org/bugzilla/show_bug.cgi?id=69360#c2 For a single resource (not collection) I will use the method mentioned. Agreed? If you mean write a WebDAV specific sendNotAllowed() method and use it here then yes, that would be acceptable. Generally, SC_METHOD_NOT_ALLOWED is probably the right status code as the most likely failure mode is a lack of permissions. I just wonder if there are circumstances where we would want to return SC_INTERNAL_SERVER_ERROR and how we would determine if that were the case. This I have described here: https://bz.apache.org/bugzilla/show_bug.cgi?id=69360#c0 Files#delete(Path) can give us a proper exception to map to INTERNAL_SERVER_ERROR. I'm not sure Files#delete(Path) can give us a proper exception given that a number of the detailed exceptions are optional. This wasn't a concern with the commit, more a wondering how likely it was that we would want to return SC_INTERNAL_SERVER_ERROR and, if we did, how easy it would be to differentiate the failure modes. The more I look at it the more I think it is unlikely we'd want to return SC_INTERNAL_SERVER_ERROR that often and when we did, differentiating the failure modes is likely to be tricky. Overall, I don't think it is worth doing at this point. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69362] Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 --- Comment #5 from Michael Osipov --- (In reply to Mark Thomas from comment #4) > See RFC 4918 section 9.6.1. I think this should remain as is. Are you referring to: If any resource identified by a member URL cannot be deleted, then all of the member's ancestors MUST NOT be deleted, so as to maintain URL namespace consistency. Note that this does not change the behavior of DELETE, but the error reporting. Reading this: If an error occurs deleting a member resource (a resource other than the resource identified in the Request-URI), then the response can be a 207 (Multi-Status). Multi-Status is used here to indicate which internal resources could NOT be deleted, including an error code, which should help the client understand which resources caused the failure. For example, the Multi-Status body could include a response with status 423 (Locked) if an internal resource was locked. I understand that the current response is incomplete. Can you please elaborate? -- 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 (eed64ff580 -> d605c66e90)
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 eed64ff580 Code clean-up - formatting. No functional change. new e0d8de393c Simplest way to retain formatting new d605c66e90 Re-apply code formatting - no functional change 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: java/org/apache/catalina/authenticator/SpnegoAuthenticator.java | 4 ++-- .../apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java | 3 ++- .../authenticator/jaspic/PersistentProviderRegistrations.java | 4 ++-- java/org/apache/catalina/core/ApplicationFilterFactory.java | 2 +- java/org/apache/catalina/core/AprLifecycleListener.java | 2 +- java/org/apache/catalina/manager/StatusTransformer.java | 2 ++ java/org/apache/catalina/realm/JAASRealm.java | 3 ++- java/org/apache/catalina/realm/RealmBase.java | 6 +++--- java/org/apache/catalina/servlets/WebdavServlet.java| 1 - java/org/apache/coyote/AbstractProtocol.java| 4 ++-- java/org/apache/coyote/http11/filters/ChunkedInputFilter.java | 4 ++-- java/org/apache/coyote/http2/Http2UpgradeHandler.java | 4 ++-- java/org/apache/coyote/http2/Stream.java| 3 +++ 13 files changed, 24 insertions(+), 18 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69362] Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 --- Comment #6 from Mark Thomas --- Final paragraph of 9.6.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
Re: (tomcat) branch main updated: BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
On 02/10/2024 12:00, Michael Osipov wrote: On 2024/10/02 10:41:38 Mark Thomas wrote: On 02/10/2024 11:30, Michael Osipov wrote: On 2024/10/02 10:21:07 Mark Thomas wrote: -1 veto This change is not compliant with RFC 9110. If Tomcat sends METHOD_NOT_ALLOWED it MUST also send an Allow header. diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index d32868a9b3..c2cf8f3d78 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1696,7 +1696,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR); +resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); May be able to utilise sendNotAllowed() for this one. Thinking about it probably not as WebDAV has additional methods that need to be taken account of. It will need a dedicated method for WebDAV. I agree, infact I have written this in the BZ issue: https://bz.apache.org/bugzilla/show_bug.cgi?id=69360#c2 For a single resource (not collection) I will use the method mentioned. Agreed? If you mean write a WebDAV specific sendNotAllowed() method and use it here then yes, that would be acceptable. I believe we have that already with an override: WebdavServlet#determineMethodsAllowed(HttpServletRequest) then the super sendNotAllowed() will use this. With a proper patch I get that now: $ curl --negotiate -u : -X DELETE 'https://example.com/backend-dev/dav/log/sadfs' --verbose ...* Request completely sent off < HTTP/1.1 405 < Date: Wed, 02 Oct 2024 10:59:10 GMT < Server: Apache < X-Frame-Options: SAMEORIGIN < Correlation-Id: Zv0nfp0p3XwFWtOGfc5vXRQ < Cache-Control: private < WWW-Authenticate: Negotiate oY... < Allow: OPTIONS, GET, POST, HEAD, DELETE, PUT, LOCK, UNLOCK, PROPPATCH, COPY, MOVE, PROPFIND < Content-Type: text/html;charset=utf-8 < Content-Language: en < Content-Length: 656 Patch: -resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); +sendNotAllowed(req, resp); OK for you? That works for me. Tx. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69362] Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 --- Comment #7 from Michael Osipov --- (In reply to Mark Thomas from comment #6) > Final paragraph of 9.6.1. I see: 424 (Failed Dependency) status codes SHOULD NOT be in the 207 (Multi- Status) response for DELETE. They can be safely left out because the client will know that the ancestors of a resource could not be deleted when the client receives an error for the ancestor's progeny. Additionally, 204 (No Content) errors SHOULD NOT be returned in the 207 (Multi-Status). The reason for this prohibition is that 204 (No Content) is the default success code. But it says SHOULD NOT and not MUST NOT. So if we are going to retain the current behavior I would at least update the comment with this reference. So, I am still in favor, but if you still object I would just add the comment and close this ticket. -- 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 69362] Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 --- Comment #8 from Michael Osipov --- My counter-proposal for code clarity: > diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java > b/java/org/apache/catalina/servlets/WebdavServlet.java > index e8cb718295..22df7343af 100644 > --- a/java/org/apache/catalina/servlets/WebdavServlet.java > +++ b/java/org/apache/catalina/servlets/WebdavServlet.java > @@ -1765,9 +1765,11 @@ public class WebdavServlet extends DefaultServlet > implements PeriodicEventListen > } > > if (!childResource.delete()) { > +/* According to RFC 4918, section 9.6.1, last paragraph > the multi-status response > + * SHOULD NOT contain the failed ancestor resource > collection because the client > + * will know that already. > + */ > if (!childResource.isDirectory()) { > -// If it's not a collection, then it's an unknown > -// error > errorList.put(childName, > Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); -- 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 9.0.x updated: BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc
This is an automated email from the ASF dual-hosted git repository. michaelo 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 7e68fa79dd BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc 7e68fa79dd is described below commit 7e68fa79dde2090a7f69343ec3ee3c355ef463ad Author: Michael Osipov AuthorDate: Wed Oct 2 10:18:36 2024 +0200 BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc --- java/org/apache/catalina/servlets/WebdavServlet.java | 5 - webapps/docs/changelog.xml | 5 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 0dbd2be2d9..35221a30c7 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -407,11 +407,6 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen * * @param request The servlet request we are processing */ -@Override -protected String getRelativePath(HttpServletRequest request) { -return getRelativePath(request, false); -} - @Override protected String getRelativePath(HttpServletRequest request, boolean allowEmptyPath) { String pathInfo; diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 4d9b158c2a..25726400ef 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -137,6 +137,11 @@ Avoid store config backup loss when storing one configuration more than once per second. (remm) + +69359: WebdavServlet duplicates +getRelativePath() method from super class with +incorrect Javadoc. (michaelo) + - 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: BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc
This is an automated email from the ASF dual-hosted git repository. michaelo 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 4d8e8d7969 BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc 4d8e8d7969 is described below commit 4d8e8d7969caa77916761c9aac6bb33850666563 Author: Michael Osipov AuthorDate: Wed Oct 2 10:18:36 2024 +0200 BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc --- java/org/apache/catalina/servlets/WebdavServlet.java | 5 - webapps/docs/changelog.xml | 5 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 09493fd879..7845f37ec4 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -408,11 +408,6 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen * * @param request The servlet request we are processing */ -@Override -protected String getRelativePath(HttpServletRequest request) { -return getRelativePath(request, false); -} - @Override protected String getRelativePath(HttpServletRequest request, boolean allowEmptyPath) { String pathInfo; diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index cdec618a5d..e2df458303 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -142,6 +142,11 @@ Avoid store config backup loss when storing one configuration more than once per second. (remm) + +69359: WebdavServlet duplicates +getRelativePath() method from super class with +incorrect Javadoc. (michaelo) + - 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: BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc
This is an automated email from the ASF dual-hosted git repository. michaelo 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 f476b10d9f BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc f476b10d9f is described below commit f476b10d9f128be2a9ff50e1dfacedb11773bbd7 Author: Michael Osipov AuthorDate: Wed Oct 2 10:18:36 2024 +0200 BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc --- java/org/apache/catalina/servlets/WebdavServlet.java | 5 - webapps/docs/changelog.xml | 5 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 09493fd879..7845f37ec4 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -408,11 +408,6 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen * * @param request The servlet request we are processing */ -@Override -protected String getRelativePath(HttpServletRequest request) { -return getRelativePath(request, false); -} - @Override protected String getRelativePath(HttpServletRequest request, boolean allowEmptyPath) { String pathInfo; diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 574c237583..a9971af3e1 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -142,6 +142,11 @@ Avoid store config backup loss when storing one configuration more than once per second. (remm) + +69359: WebdavServlet duplicates +getRelativePath() method from super class with +incorrect Javadoc. (michaelo) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc
This is an automated email from the ASF dual-hosted git repository. michaelo 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 2427059b2b BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc 2427059b2b is described below commit 2427059b2bc9629f9d53198be3ce0f607ee1bdb6 Author: Michael Osipov AuthorDate: Wed Oct 2 10:18:36 2024 +0200 BZ 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc --- java/org/apache/catalina/servlets/WebdavServlet.java | 5 - webapps/docs/changelog.xml | 5 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index dfe0461c9f..d32868a9b3 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -410,11 +410,6 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen * * @param request The servlet request we are processing */ -@Override -protected String getRelativePath(HttpServletRequest request) { -return getRelativePath(request, false); -} - @Override protected String getRelativePath(HttpServletRequest request, boolean allowEmptyPath) { String pathInfo; diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index b30a554613..ca652cd604 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -123,6 +123,11 @@ Remove default value (was catalina) for the secret init parameter of the WebDAV Servlet. (remm) + +69359: WebdavServlet duplicates +getRelativePath() method from super class with +incorrect Javadoc. (michaelo) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69360] Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 --- Comment #3 from Remy Maucherat --- METHOD_NOT_ALLOWED is not a bad status to return for WebDAV DELETE if it fails, although 500 is ok as well since the cause is not really known. -- 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: (tomcat) branch main updated: Update ByteBuddy to 1.15.3
On Wed, Oct 2, 2024 at 9:56 AM wrote: > > 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 52226a73d7 Update ByteBuddy to 1.15.3 > 52226a73d7 is described below > > commit 52226a73d7c3db494ebe148a0c5c571859625700 > Author: Mark Thomas > AuthorDate: Wed Oct 2 08:55:41 2024 +0100 > > Update ByteBuddy to 1.15.3 I would have thought the Java 24 incompatibility would be fixed by now but it's not. Rémy > --- > build.properties.default | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/build.properties.default b/build.properties.default > index e1896d7533..3874c0445d 100644 > --- a/build.properties.default > +++ b/build.properties.default > @@ -242,10 +242,10 @@ > objenesis.jar=${objenesis.home}/objenesis-${objenesis.version}.jar > > objenesis.loc=${base-maven.loc}/org/objenesis/objenesis/${objenesis.version}/objenesis-${objenesis.version}.jar > > # - byte-buddy, used by EasyMock, version 1.12.18 or later - > -bytebuddy.version=1.15.0 > +bytebuddy.version=1.15.3 > bytebuddy.checksum.enabled=true > bytebuddy.checksum.algorithm=MD5|SHA-1 > -bytebuddy.checksum.value=e830b0eae8ae0e4b7df4f4ddba23fbe1|a5b1159b91c5334015de0f22ab4b1188cd42bbff > +bytebuddy.checksum.value=3406712dd496bcda0136945c6e77711c|01b3069696cd9ed55d90b9114ffe3429035ff924 > bytebuddy.home=${base.path}/byte-buddy-${bytebuddy.version} > bytebuddy.jar=${bytebuddy.home}/byte-buddy-${bytebuddy.version}.jar > > bytebuddy.loc=${base-maven.loc}/net/bytebuddy/byte-buddy/${bytebuddy.version}/byte-buddy-${bytebuddy.version}.jar > > > - > 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
[Bug 69359] WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc
https://bz.apache.org/bugzilla/show_bug.cgi?id=69359 --- Comment #2 from Michael Osipov --- Fixed in: - main for 12.0.0-M1 and onwards - 11.0.x for 11.0.0 and onwards - 10.1.x for 10.1.31 and onwards - 9.0.x for 9.0.96 and 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
[Bug 69360] Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 --- Comment #4 from Michael Osipov --- (In reply to Remy Maucherat from comment #3) > METHOD_NOT_ALLOWED is not a bad status to return for WebDAV DELETE if it > fails, although 500 is ok as well since the cause is not really known. Well, for read-only it is false. The likelyhood for FS failures is smaller here, I guess. Are you OK with METHOD_NOT_ALLOWED consistency for both servlet? -- 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 69360] Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 --- Comment #5 from Remy Maucherat --- (In reply to Michael Osipov from comment #4) > (In reply to Remy Maucherat from comment #3) > > METHOD_NOT_ALLOWED is not a bad status to return for WebDAV DELETE if it > > fails, although 500 is ok as well since the cause is not really known. > > Well, for read-only it is false. The likelyhood for FS failures is smaller > here, I guess. Are you OK with METHOD_NOT_ALLOWED consistency for both > servlet? Yes, as I was saying, I verified in some docs that METHOD_NOT_ALLOWED is a good return status code in that situation for WebDAV DELETE. -- 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 69361] New: Make error list report in WebdavServlet to be sent in processing order
https://bz.apache.org/bugzilla/show_bug.cgi?id=69361 Bug ID: 69361 Summary: Make error list report in WebdavServlet to be sent in processing order Product: Tomcat 9 Version: 9.0.95 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: micha...@apache.org Target Milestone: - When a COPY or DELETE on a collection is perfomed via WebdavServlet and some resource fails here a map 'errorList' collects the actual errors for the upcoming MULTI_STATUS response. Since the errorList is a hash map which does not retain the processing order of COPY or DELETE, it returns first the failed deletion of the collection the its resources although a post-order traversal is performed. To properly reflect the order of processing here we simply need to swap the hash map for a linked hash map, that's it. If no one objects I will change it. -- 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 69361] Make error list report in WebdavServlet to be sent in processing order
https://bz.apache.org/bugzilla/show_bug.cgi?id=69361 Michael Osipov changed: What|Removed |Added CC||micha...@apache.org -- 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 69360] Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 --- Comment #6 from Michael Osipov --- (In reply to Remy Maucherat from comment #5) > (In reply to Michael Osipov from comment #4) > > (In reply to Remy Maucherat from comment #3) > > > METHOD_NOT_ALLOWED is not a bad status to return for WebDAV DELETE if it > > > fails, although 500 is ok as well since the cause is not really known. > > > > Well, for read-only it is false. The likelyhood for FS failures is smaller > > here, I guess. Are you OK with METHOD_NOT_ALLOWED consistency for both > > servlet? > > Yes, as I was saying, I verified in some docs that METHOD_NOT_ALLOWED is a > good return status code in that situation for WebDAV DELETE. Alright, thanks. -- 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/02: Better comment and some trace level logging
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 commit 82da53e84c2b1bf75da4d867970352aa1731ea9c Author: Mark Thomas AuthorDate: Tue Oct 1 18:23:07 2024 +0100 Better comment and some trace level logging --- java/org/apache/coyote/http2/Http2UpgradeHandler.java | 16 +++- java/org/apache/coyote/http2/LocalStrings.properties | 2 ++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java b/java/org/apache/coyote/http2/Http2UpgradeHandler.java index 22b4f37849..de0a69d2d5 100644 --- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java +++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java @@ -1803,9 +1803,23 @@ class Http2UpgradeHandler extends AbstractStream implements InternalHttpUpgradeH void replaceStream(AbstractNonZeroStream original, AbstractNonZeroStream replacement) { AbstractNonZeroStream current = streams.get(original.getIdentifier()); -// Only replace the stream if it currently uses the full implementation. +/* + * Only replace the Stream once. No point replacing one RecycledStream instance with another. + * + * This method is called from both StreamProcessor and Http2UpgradeHandler which may be operating on the Stream + * concurrently. It is therefore expected that there will be duplicate calls to this method - primarily + * triggered by stream errors when processing incoming frames. + */ if (current instanceof Stream) { +if (log.isTraceEnabled()) { +log.trace(sm.getString("upgradeHandler.replace.first", getConnectionId(), original.getIdAsString())); +} streams.put(original.getIdentifier(), replacement); +} else { +if (log.isTraceEnabled()) { +log.trace(sm.getString( +"upgradeHandler.replace.duplicate", getConnectionId(), original.getIdAsString())); +} } } diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties index 4861c582f3..2efeefedd8 100644 --- a/java/org/apache/coyote/http2/LocalStrings.properties +++ b/java/org/apache/coyote/http2/LocalStrings.properties @@ -148,6 +148,8 @@ upgradeHandler.pruneIncomplete=Connection [{0}], Stream [{1}], Failed to fully p upgradeHandler.pruneStart=Connection [{0}] Starting pruning of old streams. Limit is [{1}] and there are currently [{2}] streams. upgradeHandler.pruned=Connection [{0}] Pruned completed stream [{1}] upgradeHandler.releaseBacklog=Connection [{0}], Stream [{1}] released from backlog +upgradeHandler.replace.duplicate=Connection [{0}], Stream [{1}] duplicate attempt to replace stream with lightweight implementation has been ignored +upgradeHandler.replace.first=Connection [{0}], Stream [{1}] replaced with lightweight stream implementation upgradeHandler.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}] upgradeHandler.rst.debug=Connection [{0}], Stream [{1}], Error [{2}], Message [{3}], RST (closing stream) upgradeHandler.sendPrefaceFail=Connection [{0}], Failed to send preface to client - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 02/02: Split Stream.recycle() into replace() and recycle()
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 commit 9e840ccacb40881c03a03b1e0746bfba7369b3bd Author: Mark Thomas AuthorDate: Tue Oct 1 18:27:02 2024 +0100 Split Stream.recycle() into replace() and recycle() Ensures recycle() is called no more than once. There are some error conditions that now no longer call recycle() to avoid the risk of duplicate calls to recycle if a Stream is being processed by a StreamProcessor at the same time Http2UpgradeHandler detects a Stream level error. --- .../apache/coyote/http2/LocalStrings.properties| 3 +- java/org/apache/coyote/http2/Stream.java | 50 ++ java/org/apache/coyote/http2/StreamProcessor.java | 11 ++--- webapps/docs/changelog.xml | 6 +++ 4 files changed, 55 insertions(+), 15 deletions(-) diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties index 2efeefedd8..a25ead24a7 100644 --- a/java/org/apache/coyote/http2/LocalStrings.properties +++ b/java/org/apache/coyote/http2/LocalStrings.properties @@ -109,7 +109,8 @@ stream.inputBuffer.signal=Data added to inBuffer when read thread is waiting. Si stream.inputBuffer.swallowUnread=Swallowing [{0}] bytes previously read into input stream buffer stream.notWritable=Connection [{0}], Stream [{1}], This stream is not writable stream.outputBuffer.flush.debug=Connection [{0}], Stream [{1}], flushing output with buffer at position [{2}], writeInProgress [{3}] and closed [{4}] -stream.recycle=Connection [{0}], Stream [{1}] has been recycled +stream.recycle.duplicate=Connection [{0}], Stream [{1}] Duplicate request to recycle the associated request and response has been ignored +stream.recycle.first=Connection [{0}], Stream [{1}] The associated request and response have been recycled stream.reset.fail=Connection [{0}], Stream [{1}], Failed to reset stream stream.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}] stream.reset.send=Connection [{0}], Stream [{1}], Reset sent due to [{2}] diff --git a/java/org/apache/coyote/http2/Stream.java b/java/org/apache/coyote/http2/Stream.java index 08b1fc8a02..d0257ab17e 100644 --- a/java/org/apache/coyote/http2/Stream.java +++ b/java/org/apache/coyote/http2/Stream.java @@ -106,6 +106,9 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { private volatile int urgency = Priority.DEFAULT_URGENCY; private volatile boolean incremental = Priority.DEFAULT_INCREMENTAL; +private final Object recycledLock = new Object(); +private volatile boolean recycled = false; + Stream(Integer identifier, Http2UpgradeHandler handler) { this(identifier, handler, null); @@ -772,20 +775,15 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { } else { handler.closeConnection(http2Exception); } -recycle(); +replace(); } /* - * This method is called recycle for consistency with the rest of the Tomcat code base. Currently, it calls the - * handler to replace this stream with an implementation that uses less memory. It does not fully recycle the Stream - * ready for re-use since Stream objects are not re-used. This is useful because Stream instances are retained for a - * period after the Stream closes. + * This method calls the handler to replace this stream with an implementation that uses less memory. This is useful + * because Stream instances are retained for a period after the Stream closes. */ -final void recycle() { -if (log.isTraceEnabled()) { -log.trace(sm.getString("stream.recycle", getConnectionId(), getIdAsString())); -} +final void replace() { int remaining; // May be null if stream was closed before any DATA frames were processed. ByteBuffer inputByteBuffer = getInputByteBuffer(false); @@ -795,6 +793,40 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { remaining = inputByteBuffer.remaining(); } handler.replaceStream(this, new RecycledStream(getConnectionId(), getIdentifier(), state, remaining)); +} + + +/* + * This method is called recycle for consistency with the rest of the Tomcat code base. It does not recycle the + * Stream since Stream objects are not re-used. It does recycle the request and response objects and ensures that + * this is only done once. + * + * replace() should have been called before calling this method. + * + * It is important that this method is not called until any concurrent processing for the stream has completed. This + * is currently achieved by: + * - only the StreamProcessor calls this method + * - the Http2Upgra
(tomcat) branch 11.0.x updated (9c2cb75c79 -> 9e840ccacb)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch 11.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git from 9c2cb75c79 Fix test new 82da53e84c Better comment and some trace level logging new 9e840ccacb Split Stream.recycle() into replace() and recycle() 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: .../apache/coyote/http2/Http2UpgradeHandler.java | 16 ++- .../apache/coyote/http2/LocalStrings.properties| 5 ++- java/org/apache/coyote/http2/Stream.java | 50 ++ java/org/apache/coyote/http2/StreamProcessor.java | 11 ++--- webapps/docs/changelog.xml | 6 +++ 5 files changed, 72 insertions(+), 16 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 02/02: Split Stream.recycle() into replace() and recycle()
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 commit 146f94f87ea398fb592c7a20a5ccbef95e9dd72b Author: Mark Thomas AuthorDate: Tue Oct 1 18:27:02 2024 +0100 Split Stream.recycle() into replace() and recycle() Ensures recycle() is called no more than once. There are some error conditions that now no longer call recycle() to avoid the risk of duplicate calls to recycle if a Stream is being processed by a StreamProcessor at the same time Http2UpgradeHandler detects a Stream level error. --- .../apache/coyote/http2/LocalStrings.properties| 3 +- java/org/apache/coyote/http2/Stream.java | 50 ++ java/org/apache/coyote/http2/StreamProcessor.java | 11 ++--- webapps/docs/changelog.xml | 6 +++ 4 files changed, 55 insertions(+), 15 deletions(-) diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties index 48c7ab33f6..e1fd352878 100644 --- a/java/org/apache/coyote/http2/LocalStrings.properties +++ b/java/org/apache/coyote/http2/LocalStrings.properties @@ -109,7 +109,8 @@ stream.inputBuffer.signal=Data added to inBuffer when read thread is waiting. Si stream.inputBuffer.swallowUnread=Swallowing [{0}] bytes previously read into input stream buffer stream.notWritable=Connection [{0}], Stream [{1}], This stream is not writable stream.outputBuffer.flush.debug=Connection [{0}], Stream [{1}], flushing output with buffer at position [{2}], writeInProgress [{3}] and closed [{4}] -stream.recycle=Connection [{0}], Stream [{1}] has been recycled +stream.recycle.duplicate=Connection [{0}], Stream [{1}] Duplicate request to recycle the associated request and response has been ignored +stream.recycle.first=Connection [{0}], Stream [{1}] The associated request and response have been recycled stream.reset.fail=Connection [{0}], Stream [{1}], Failed to reset stream stream.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}] stream.reset.send=Connection [{0}], Stream [{1}], Reset sent due to [{2}] diff --git a/java/org/apache/coyote/http2/Stream.java b/java/org/apache/coyote/http2/Stream.java index b2a36fc2e2..c8596933be 100644 --- a/java/org/apache/coyote/http2/Stream.java +++ b/java/org/apache/coyote/http2/Stream.java @@ -109,6 +109,9 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { private volatile int urgency = Priority.DEFAULT_URGENCY; private volatile boolean incremental = Priority.DEFAULT_INCREMENTAL; +private final Object recycledLock = new Object(); +private volatile boolean recycled = false; + Stream(Integer identifier, Http2UpgradeHandler handler) { this(identifier, handler, null); @@ -784,20 +787,15 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { } else { handler.closeConnection(http2Exception); } -recycle(); +replace(); } /* - * This method is called recycle for consistency with the rest of the Tomcat code base. Currently, it calls the - * handler to replace this stream with an implementation that uses less memory. It does not fully recycle the Stream - * ready for re-use since Stream objects are not re-used. This is useful because Stream instances are retained for a - * period after the Stream closes. + * This method calls the handler to replace this stream with an implementation that uses less memory. This is useful + * because Stream instances are retained for a period after the Stream closes. */ -final void recycle() { -if (log.isTraceEnabled()) { -log.trace(sm.getString("stream.recycle", getConnectionId(), getIdAsString())); -} +final void replace() { int remaining; // May be null if stream was closed before any DATA frames were processed. ByteBuffer inputByteBuffer = getInputByteBuffer(false); @@ -807,6 +805,40 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { remaining = inputByteBuffer.remaining(); } handler.replaceStream(this, new RecycledStream(getConnectionId(), getIdentifier(), state, remaining)); +} + + +/* + * This method is called recycle for consistency with the rest of the Tomcat code base. It does not recycle the + * Stream since Stream objects are not re-used. It does recycle the request and response objects and ensures that + * this is only done once. + * + * replace() should have been called before calling this method. + * + * It is important that this method is not called until any concurrent processing for the stream has completed. This + * is currently achieved by: + * - only the StreamProcessor calls this method + * - the Http2Upgra
(tomcat) 02/02: Split Stream.recycle() into replace() and recycle()
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 47307ee27abcdea2ee40e33897aca760083de46a Author: Mark Thomas AuthorDate: Tue Oct 1 18:27:02 2024 +0100 Split Stream.recycle() into replace() and recycle() Ensures recycle() is called no more than once. There are some error conditions that now no longer call recycle() to avoid the risk of duplicate calls to recycle if a Stream is being processed by a StreamProcessor at the same time Http2UpgradeHandler detects a Stream level error. --- .../apache/coyote/http2/LocalStrings.properties| 3 +- java/org/apache/coyote/http2/Stream.java | 50 ++ java/org/apache/coyote/http2/StreamProcessor.java | 11 ++--- webapps/docs/changelog.xml | 6 +++ 4 files changed, 55 insertions(+), 15 deletions(-) diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties index 48c7ab33f6..e1fd352878 100644 --- a/java/org/apache/coyote/http2/LocalStrings.properties +++ b/java/org/apache/coyote/http2/LocalStrings.properties @@ -109,7 +109,8 @@ stream.inputBuffer.signal=Data added to inBuffer when read thread is waiting. Si stream.inputBuffer.swallowUnread=Swallowing [{0}] bytes previously read into input stream buffer stream.notWritable=Connection [{0}], Stream [{1}], This stream is not writable stream.outputBuffer.flush.debug=Connection [{0}], Stream [{1}], flushing output with buffer at position [{2}], writeInProgress [{3}] and closed [{4}] -stream.recycle=Connection [{0}], Stream [{1}] has been recycled +stream.recycle.duplicate=Connection [{0}], Stream [{1}] Duplicate request to recycle the associated request and response has been ignored +stream.recycle.first=Connection [{0}], Stream [{1}] The associated request and response have been recycled stream.reset.fail=Connection [{0}], Stream [{1}], Failed to reset stream stream.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}] stream.reset.send=Connection [{0}], Stream [{1}], Reset sent due to [{2}] diff --git a/java/org/apache/coyote/http2/Stream.java b/java/org/apache/coyote/http2/Stream.java index 5ddb007d9f..0384c513fe 100644 --- a/java/org/apache/coyote/http2/Stream.java +++ b/java/org/apache/coyote/http2/Stream.java @@ -110,6 +110,9 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { private volatile int urgency = Priority.DEFAULT_URGENCY; private volatile boolean incremental = Priority.DEFAULT_INCREMENTAL; +private final Object recycledLock = new Object(); +private volatile boolean recycled = false; + Stream(Integer identifier, Http2UpgradeHandler handler) { this(identifier, handler, null); @@ -784,20 +787,15 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { } else { handler.closeConnection(http2Exception); } -recycle(); +replace(); } /* - * This method is called recycle for consistency with the rest of the Tomcat code base. Currently, it calls the - * handler to replace this stream with an implementation that uses less memory. It does not fully recycle the Stream - * ready for re-use since Stream objects are not re-used. This is useful because Stream instances are retained for a - * period after the Stream closes. + * This method calls the handler to replace this stream with an implementation that uses less memory. This is useful + * because Stream instances are retained for a period after the Stream closes. */ -final void recycle() { -if (log.isTraceEnabled()) { -log.trace(sm.getString("stream.recycle", getConnectionId(), getIdAsString())); -} +final void replace() { int remaining; // May be null if stream was closed before any DATA frames were processed. ByteBuffer inputByteBuffer = getInputByteBuffer(false); @@ -807,6 +805,40 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { remaining = inputByteBuffer.remaining(); } handler.replaceStream(this, new RecycledStream(getConnectionId(), getIdentifier(), state, remaining)); +} + + +/* + * This method is called recycle for consistency with the rest of the Tomcat code base. It does not recycle the + * Stream since Stream objects are not re-used. It does recycle the request and response objects and ensures that + * this is only done once. + * + * replace() should have been called before calling this method. + * + * It is important that this method is not called until any concurrent processing for the stream has completed. This + * is currently achieved by: + * - only the StreamProcessor calls this method + * - the Http2Upgrad
(tomcat) branch 9.0.x updated (95449b8720 -> 47307ee27a)
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 95449b8720 Fix test new b4ceb9b506 Better comment and some trace level logging new 47307ee27a Split Stream.recycle() into replace() and recycle() 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: .../apache/coyote/http2/Http2UpgradeHandler.java | 16 ++- .../apache/coyote/http2/LocalStrings.properties| 5 ++- java/org/apache/coyote/http2/Stream.java | 50 ++ java/org/apache/coyote/http2/StreamProcessor.java | 11 ++--- webapps/docs/changelog.xml | 6 +++ 5 files changed, 72 insertions(+), 16 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 01/02: Better comment and some trace level logging
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 commit f7057dd177df0b35e50df371525d430056a2ea1a Author: Mark Thomas AuthorDate: Tue Oct 1 18:23:07 2024 +0100 Better comment and some trace level logging --- java/org/apache/coyote/http2/Http2UpgradeHandler.java | 16 +++- java/org/apache/coyote/http2/LocalStrings.properties | 2 ++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java b/java/org/apache/coyote/http2/Http2UpgradeHandler.java index 0e4d94ed5d..18e7dcdcb8 100644 --- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java +++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java @@ -1882,9 +1882,23 @@ class Http2UpgradeHandler extends AbstractStream implements InternalHttpUpgradeH void replaceStream(AbstractNonZeroStream original, AbstractNonZeroStream replacement) { AbstractNonZeroStream current = streams.get(original.getIdentifier()); -// Only replace the stream if it currently uses the full implementation. +/* + * Only replace the Stream once. No point replacing one RecycledStream instance with another. + * + * This method is called from both StreamProcessor and Http2UpgradeHandler which may be operating on the Stream + * concurrently. It is therefore expected that there will be duplicate calls to this method - primarily + * triggered by stream errors when processing incoming frames. + */ if (current instanceof Stream) { +if (log.isTraceEnabled()) { +log.trace(sm.getString("upgradeHandler.replace.first", getConnectionId(), original.getIdAsString())); +} streams.put(original.getIdentifier(), replacement); +} else { +if (log.isTraceEnabled()) { +log.trace(sm.getString( +"upgradeHandler.replace.duplicate", getConnectionId(), original.getIdAsString())); +} } } diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties index 6bdb05696a..48c7ab33f6 100644 --- a/java/org/apache/coyote/http2/LocalStrings.properties +++ b/java/org/apache/coyote/http2/LocalStrings.properties @@ -148,6 +148,8 @@ upgradeHandler.pruneIncomplete=Connection [{0}], Stream [{1}], Failed to fully p upgradeHandler.pruneStart=Connection [{0}] Starting pruning of old streams. Limit is [{1}] and there are currently [{2}] streams. upgradeHandler.pruned=Connection [{0}] Pruned completed stream [{1}] upgradeHandler.releaseBacklog=Connection [{0}], Stream [{1}] released from backlog +upgradeHandler.replace.duplicate=Connection [{0}], Stream [{1}] duplicate attempt to replace stream with lightweight implementation has been ignored +upgradeHandler.replace.first=Connection [{0}], Stream [{1}] replaced with lightweight stream implementation upgradeHandler.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}] upgradeHandler.rst.debug=Connection [{0}], Stream [{1}], Error [{2}], Message [{3}], RST (closing stream) upgradeHandler.sendPrefaceFail=Connection [{0}], Failed to send preface to client - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 01/02: Better comment and some trace level logging
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 b4ceb9b50634a27e20312d9fe1cf77462fd83177 Author: Mark Thomas AuthorDate: Tue Oct 1 18:23:07 2024 +0100 Better comment and some trace level logging --- java/org/apache/coyote/http2/Http2UpgradeHandler.java | 16 +++- java/org/apache/coyote/http2/LocalStrings.properties | 2 ++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java b/java/org/apache/coyote/http2/Http2UpgradeHandler.java index 8b31ebc319..49b9734561 100644 --- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java +++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java @@ -1879,9 +1879,23 @@ class Http2UpgradeHandler extends AbstractStream implements InternalHttpUpgradeH void replaceStream(AbstractNonZeroStream original, AbstractNonZeroStream replacement) { AbstractNonZeroStream current = streams.get(original.getIdentifier()); -// Only replace the stream if it currently uses the full implementation. +/* + * Only replace the Stream once. No point replacing one RecycledStream instance with another. + * + * This method is called from both StreamProcessor and Http2UpgradeHandler which may be operating on the Stream + * concurrently. It is therefore expected that there will be duplicate calls to this method - primarily + * triggered by stream errors when processing incoming frames. + */ if (current instanceof Stream) { +if (log.isTraceEnabled()) { +log.trace(sm.getString("upgradeHandler.replace.first", getConnectionId(), original.getIdAsString())); +} streams.put(original.getIdentifier(), replacement); +} else { +if (log.isTraceEnabled()) { +log.trace(sm.getString( +"upgradeHandler.replace.duplicate", getConnectionId(), original.getIdAsString())); +} } } diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties index 6bdb05696a..48c7ab33f6 100644 --- a/java/org/apache/coyote/http2/LocalStrings.properties +++ b/java/org/apache/coyote/http2/LocalStrings.properties @@ -148,6 +148,8 @@ upgradeHandler.pruneIncomplete=Connection [{0}], Stream [{1}], Failed to fully p upgradeHandler.pruneStart=Connection [{0}] Starting pruning of old streams. Limit is [{1}] and there are currently [{2}] streams. upgradeHandler.pruned=Connection [{0}] Pruned completed stream [{1}] upgradeHandler.releaseBacklog=Connection [{0}], Stream [{1}] released from backlog +upgradeHandler.replace.duplicate=Connection [{0}], Stream [{1}] duplicate attempt to replace stream with lightweight implementation has been ignored +upgradeHandler.replace.first=Connection [{0}], Stream [{1}] replaced with lightweight stream implementation upgradeHandler.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}] upgradeHandler.rst.debug=Connection [{0}], Stream [{1}], Error [{2}], Message [{3}], RST (closing stream) upgradeHandler.sendPrefaceFail=Connection [{0}], Failed to send preface to client - 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 (eb0c006d84 -> 146f94f87e)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git from eb0c006d84 Fix test new f7057dd177 Better comment and some trace level logging new 146f94f87e Split Stream.recycle() into replace() and recycle() 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: .../apache/coyote/http2/Http2UpgradeHandler.java | 16 ++- .../apache/coyote/http2/LocalStrings.properties| 5 ++- java/org/apache/coyote/http2/Stream.java | 50 ++ java/org/apache/coyote/http2/StreamProcessor.java | 11 ++--- webapps/docs/changelog.xml | 6 +++ 5 files changed, 72 insertions(+), 16 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated (63edfb3ec4 -> c50b8aa258)
This is an automated email from the ASF dual-hosted git repository. michaelo pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git from 63edfb3ec4 Split Stream.recycle() into replace() and recycle() add c50b8aa258 Consistently use HttpServletRequest#getContextPath() in WebdavServlet No new revisions were added by this update. Summary of changes: java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) - 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: Consistently use HttpServletRequest#getContextPath() in WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 7764e121f2 Consistently use HttpServletRequest#getContextPath() in WebdavServlet 7764e121f2 is described below commit 7764e121f2bc1bfeef08c1c014b5271fc4bb2b14 Author: Michael Osipov AuthorDate: Wed Oct 2 09:16:34 2024 +0200 Consistently use HttpServletRequest#getContextPath() in WebdavServlet --- java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index cd9d6a24d7..0dbd2be2d9 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1808,7 +1808,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen generatedXML.writeElement("D", "response", XMLWriter.OPENING); generatedXML.writeElement("D", "href", XMLWriter.OPENING); -generatedXML.writeText(getServletContext().getContextPath() + errorPath); +generatedXML.writeText(req.getContextPath() + errorPath); generatedXML.writeElement("D", "href", XMLWriter.CLOSING); generatedXML.writeElement("D", "status", XMLWriter.OPENING); - 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: Consistently use HttpServletRequest#getContextPath() in WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 34c1e9dde8 Consistently use HttpServletRequest#getContextPath() in WebdavServlet 34c1e9dde8 is described below commit 34c1e9dde87458db2633607a2c00b2d2e929acdf Author: Michael Osipov AuthorDate: Wed Oct 2 09:16:34 2024 +0200 Consistently use HttpServletRequest#getContextPath() in WebdavServlet --- java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index f3280fde49..09493fd879 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1809,7 +1809,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen generatedXML.writeElement("D", "response", XMLWriter.OPENING); generatedXML.writeElement("D", "href", XMLWriter.OPENING); -generatedXML.writeText(getServletContext().getContextPath() + errorPath); +generatedXML.writeText(req.getContextPath() + errorPath); generatedXML.writeElement("D", "href", XMLWriter.CLOSING); generatedXML.writeElement("D", "status", XMLWriter.OPENING); - 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: Consistently use HttpServletRequest#getContextPath() in WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 6fa72e264c Consistently use HttpServletRequest#getContextPath() in WebdavServlet 6fa72e264c is described below commit 6fa72e264c87280c2309f1f2fc61e1ea73fd208b Author: Michael Osipov AuthorDate: Wed Oct 2 09:16:34 2024 +0200 Consistently use HttpServletRequest#getContextPath() in WebdavServlet --- java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index f3280fde49..09493fd879 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1809,7 +1809,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen generatedXML.writeElement("D", "response", XMLWriter.OPENING); generatedXML.writeElement("D", "href", XMLWriter.OPENING); -generatedXML.writeText(getServletContext().getContextPath() + errorPath); +generatedXML.writeText(req.getContextPath() + errorPath); generatedXML.writeElement("D", "href", XMLWriter.CLOSING); generatedXML.writeElement("D", "status", XMLWriter.OPENING); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69359] New: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc
https://bz.apache.org/bugzilla/show_bug.cgi?id=69359 Bug ID: 69359 Summary: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc Product: Tomcat 9 Version: 9.0.95 Hardware: All OS: All Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: micha...@apache.org Target Milestone: - Method https://github.com/apache/tomcat/blob/c50b8aa2588c85df86c0c6e0cd03e79700822360/java/org/apache/catalina/servlets/WebdavServlet.java#L413-L416 duplicates https://github.com/apache/tomcat/blob/c50b8aa2588c85df86c0c6e0cd03e79700822360/java/org/apache/catalina/servlets/DefaultServlet.java#L430-L432. The Javadoc above https://github.com/apache/tomcat/blob/c50b8aa2588c85df86c0c6e0cd03e79700822360/java/org/apache/catalina/servlets/WebdavServlet.java#L406-L413 was very likely meant for the method below, the overridden one: https://github.com/apache/tomcat/blob/c50b8aa2588c85df86c0c6e0cd03e79700822360/java/org/apache/catalina/servlets/WebdavServlet.java#L419-L438 If no one will object, will simply delete the method and move the Javadoc comment down. -- 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 69359] WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc
https://bz.apache.org/bugzilla/show_bug.cgi?id=69359 Michael Osipov changed: What|Removed |Added CC||micha...@apache.org -- 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: Update to CheckStyle 10.18.2
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 e4aafbd525 Update to CheckStyle 10.18.2 e4aafbd525 is described below commit e4aafbd5251498bceaada4336a233136afc328ed Author: Mark Thomas AuthorDate: Wed Oct 2 09:04:48 2024 +0100 Update to CheckStyle 10.18.2 --- build.properties.default | 4 ++-- webapps/docs/changelog.xml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build.properties.default b/build.properties.default index 48c0ddc63c..9027b22629 100644 --- a/build.properties.default +++ b/build.properties.default @@ -260,10 +260,10 @@ unboundid.jar=${unboundid.home}/unboundid-ldapsdk-${unboundid.version}.jar unboundid.loc=${base-maven.loc}/com/unboundid/unboundid-ldapsdk/${unboundid.version}/unboundid-ldapsdk-${unboundid.version}.jar # - Checkstyle, version 6.16 or later - -checkstyle.version=10.18.0 +checkstyle.version=10.18.2 checkstyle.checksum.enabled=true checkstyle.checksum.algorithm=SHA-512 -checkstyle.checksum.value=4942c46443773ec31b2816249820e6825991f3ef0f7339e3f432692338cea4634811dc631c0d4b4c8d44205c7344603dab43e1196b50e9ab25206cda1921e1b4 +checkstyle.checksum.value=9c2be68e423fbbc301272c4a96824f84b8ccae23103e9653af3cea8546bc87695f17491a95daf66c19bfb1597cc3113e2656a5eb8256b0f5468d3cef56cc0e66 checkstyle.home=${base.path}/checkstyle-${checkstyle.version} checkstyle.jar=${checkstyle.home}/checkstyle-${checkstyle.version}-all.jar checkstyle.loc=${base-gh.loc}/checkstyle/checkstyle/releases/download/checkstyle-${checkstyle.version}/checkstyle-${checkstyle.version}-all.jar diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index bfbad742a9..574c237583 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -209,6 +209,9 @@ Update Byte Buddy to 1.15.3. (markt) + +Update CheckStyle to 10.18.2. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Update to CheckStyle 10.18.2
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 d70b3c8cd8 Update to CheckStyle 10.18.2 d70b3c8cd8 is described below commit d70b3c8cd8e4ac3c440799342c82c84a1f454ea4 Author: Mark Thomas AuthorDate: Wed Oct 2 09:04:48 2024 +0100 Update to CheckStyle 10.18.2 --- build.properties.default | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.properties.default b/build.properties.default index 3874c0445d..e053d77440 100644 --- a/build.properties.default +++ b/build.properties.default @@ -260,10 +260,10 @@ unboundid.jar=${unboundid.home}/unboundid-ldapsdk-${unboundid.version}.jar unboundid.loc=${base-maven.loc}/com/unboundid/unboundid-ldapsdk/${unboundid.version}/unboundid-ldapsdk-${unboundid.version}.jar # - Checkstyle, version 6.16 or later - -checkstyle.version=10.18.0 +checkstyle.version=10.18.2 checkstyle.checksum.enabled=true checkstyle.checksum.algorithm=SHA-512 -checkstyle.checksum.value=4942c46443773ec31b2816249820e6825991f3ef0f7339e3f432692338cea4634811dc631c0d4b4c8d44205c7344603dab43e1196b50e9ab25206cda1921e1b4 +checkstyle.checksum.value=9c2be68e423fbbc301272c4a96824f84b8ccae23103e9653af3cea8546bc87695f17491a95daf66c19bfb1597cc3113e2656a5eb8256b0f5468d3cef56cc0e66 checkstyle.home=${base.path}/checkstyle-${checkstyle.version} checkstyle.jar=${checkstyle.home}/checkstyle-${checkstyle.version}-all.jar checkstyle.loc=${base-gh.loc}/checkstyle/checkstyle/releases/download/checkstyle-${checkstyle.version}/checkstyle-${checkstyle.version}-all.jar - 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: Update to CheckStyle 10.18.2
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 15a63b962d Update to CheckStyle 10.18.2 15a63b962d is described below commit 15a63b962d11bea114091b578798b44d0f95722b Author: Mark Thomas AuthorDate: Wed Oct 2 09:04:48 2024 +0100 Update to CheckStyle 10.18.2 --- build.properties.default | 4 ++-- webapps/docs/changelog.xml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build.properties.default b/build.properties.default index 8b69bee5bf..b91df9a6a5 100644 --- a/build.properties.default +++ b/build.properties.default @@ -281,10 +281,10 @@ unboundid.jar=${unboundid.home}/unboundid-ldapsdk-${unboundid.version}.jar unboundid.loc=${base-maven.loc}/com/unboundid/unboundid-ldapsdk/${unboundid.version}/unboundid-ldapsdk-${unboundid.version}.jar # - Checkstyle, version 6.16 or later - -checkstyle.version=10.18.0 +checkstyle.version=10.18.2 checkstyle.checksum.enabled=true checkstyle.checksum.algorithm=SHA-512 -checkstyle.checksum.value=4942c46443773ec31b2816249820e6825991f3ef0f7339e3f432692338cea4634811dc631c0d4b4c8d44205c7344603dab43e1196b50e9ab25206cda1921e1b4 +checkstyle.checksum.value=9c2be68e423fbbc301272c4a96824f84b8ccae23103e9653af3cea8546bc87695f17491a95daf66c19bfb1597cc3113e2656a5eb8256b0f5468d3cef56cc0e66 checkstyle.home=${base.path}/checkstyle-${checkstyle.version} checkstyle.jar=${checkstyle.home}/checkstyle-${checkstyle.version}-all.jar checkstyle.loc=${base-gh.loc}/checkstyle/checkstyle/releases/download/checkstyle-${checkstyle.version}/checkstyle-${checkstyle.version}-all.jar diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 23212e7cd1..cdec618a5d 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -206,6 +206,9 @@ Update Byte Buddy to 1.15.3. (markt) + +Update CheckStyle to 10.18.2. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 02/02: Update to CheckStyle 10.18.2
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 50099e6a9aa9e92144a4f9a6bc32aa7b239d2105 Author: Mark Thomas AuthorDate: Wed Oct 2 09:04:48 2024 +0100 Update to CheckStyle 10.18.2 --- webapps/docs/changelog.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index c4750d38e9..4d9b158c2a 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -197,6 +197,9 @@ Update Byte Buddy to 1.15.3. (markt) + +Update CheckStyle to 10.18.2. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 01/02: Update CheckStyle to 10.18.2
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 0e23b8ad714e2ed12efac0de8fb429b5dbbaa24a Author: Mark Thomas AuthorDate: Wed Oct 2 09:01:31 2024 +0100 Update CheckStyle to 10.18.2 --- build.properties.default | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.properties.default b/build.properties.default index 4bbb959eee..2a528a7d8b 100644 --- a/build.properties.default +++ b/build.properties.default @@ -283,10 +283,10 @@ unboundid.jar=${unboundid.home}/unboundid-ldapsdk-${unboundid.version}.jar unboundid.loc=${base-maven.loc}/com/unboundid/unboundid-ldapsdk/${unboundid.version}/unboundid-ldapsdk-${unboundid.version}.jar # - Checkstyle, version 6.16 or later - -checkstyle.version=10.18.0 +checkstyle.version=10.18.2 checkstyle.checksum.enabled=true checkstyle.checksum.algorithm=SHA-512 -checkstyle.checksum.value=4942c46443773ec31b2816249820e6825991f3ef0f7339e3f432692338cea4634811dc631c0d4b4c8d44205c7344603dab43e1196b50e9ab25206cda1921e1b4 +checkstyle.checksum.value=9c2be68e423fbbc301272c4a96824f84b8ccae23103e9653af3cea8546bc87695f17491a95daf66c19bfb1597cc3113e2656a5eb8256b0f5468d3cef56cc0e66 checkstyle.home=${base.path}/checkstyle-${checkstyle.version} checkstyle.jar=${checkstyle.home}/checkstyle-${checkstyle.version}-all.jar checkstyle.loc=${base-gh.loc}/checkstyle/checkstyle/releases/download/checkstyle-${checkstyle.version}/checkstyle-${checkstyle.version}-all.jar - 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 (36834949cc -> 50099e6a9a)
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 36834949cc Update ByteBuddy to 1.15.3 new 0e23b8ad71 Update CheckStyle to 10.18.2 new 50099e6a9a Update to CheckStyle 10.18.2 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: build.properties.default | 4 ++-- webapps/docs/changelog.xml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: (tomcat) branch main updated: Make WebdavServlet properly return the Allow header on NOT_ALLOWED status
On 2024/10/02 11:58:12 Rémy Maucherat wrote: > On Wed, Oct 2, 2024 at 1:51 PM wrote: > > > > This is an automated email from the ASF dual-hosted git repository. > > > > michaelo 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 b03fde0383 Make WebdavServlet properly return the Allow header on > > NOT_ALLOWED status > > b03fde0383 is described below > > > > commit b03fde03837da631c69226d19d67b751f5b05919 > > Author: Michael Osipov > > AuthorDate: Wed Oct 2 13:48:45 2024 +0200 > > > > Make WebdavServlet properly return the Allow header on NOT_ALLOWED > > status > > --- > > java/org/apache/catalina/servlets/WebdavServlet.java | 2 +- > > webapps/docs/changelog.xml | 4 > > 2 files changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java > > b/java/org/apache/catalina/servlets/WebdavServlet.java > > index a392d729d5..455727ef63 100644 > > --- a/java/org/apache/catalina/servlets/WebdavServlet.java > > +++ b/java/org/apache/catalina/servlets/WebdavServlet.java > > @@ -1695,7 +1695,7 @@ public class WebdavServlet extends DefaultServlet > > implements PeriodicEventListen > > > > if (!resource.isDirectory()) { > > if (!resource.delete()) { > > -resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); > > +sendNotAllowed(req, resp); > > return false; > > } > > } else { > > diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml > > index f4eb84d1b4..0ce26bd380 100644 > > --- a/webapps/docs/changelog.xml > > +++ b/webapps/docs/changelog.xml > > @@ -133,6 +133,10 @@ > > WebdavServlet and DefaultServlet. > > (michaelo) > > > > + > > +Make WebdavServlet properly return the > > Allow > > +header when deletion of a resource is not allowed. (michaelo) > > + > > We're going to remove the changelog entries from main eventually (all > of the ones that are also in 11), although they're useful to cherry > pick for now. Exactly, for consistency and especially cherry-picking this is highly preferred. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 142c45a427 BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet 142c45a427 is described below commit 142c45a4271e1fd8d400196a883fb560ebded110 Author: Michael Osipov AuthorDate: Wed Oct 2 11:04:44 2024 +0200 BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet --- java/org/apache/catalina/servlets/WebdavServlet.java | 6 +++--- webapps/docs/changelog.xml | 5 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index d32868a9b3..c2cf8f3d78 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1696,7 +1696,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR); +resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); return false; } } else { @@ -1705,7 +1705,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen deleteCollection(req, path, errorList); if (!resource.delete()) { -errorList.put(path, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(path, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } if (!errorList.isEmpty()) { @@ -1772,7 +1772,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!childResource.isDirectory()) { // If it's not a collection, then it's an unknown // error -errorList.put(childName, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(childName, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } } } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index ca652cd604..f4eb84d1b4 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -128,6 +128,11 @@ getRelativePath() method from super class with incorrect Javadoc. (michaelo) + +69360: Inconsistent DELETE behavior between +WebdavServlet and DefaultServlet. +(michaelo) + - 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: BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 bb5bf0ac7a BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet bb5bf0ac7a is described below commit bb5bf0ac7a62148efb2d67d647c1f2be1addd755 Author: Michael Osipov AuthorDate: Wed Oct 2 11:04:44 2024 +0200 BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet --- java/org/apache/catalina/servlets/WebdavServlet.java | 6 +++--- webapps/docs/changelog.xml | 5 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 35221a30c7..aa35636bff 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1693,7 +1693,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR); +resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); return false; } } else { @@ -1702,7 +1702,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen deleteCollection(req, path, errorList); if (!resource.delete()) { -errorList.put(path, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(path, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } if (!errorList.isEmpty()) { @@ -1769,7 +1769,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!childResource.isDirectory()) { // If it's not a collection, then it's an unknown // error -errorList.put(childName, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(childName, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } } } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 25726400ef..997c6d04e0 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -142,6 +142,11 @@ getRelativePath() method from super class with incorrect Javadoc. (michaelo) + +69360: Inconsistent DELETE behavior between +WebdavServlet and DefaultServlet. +(michaelo) + - 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: BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 d975c2b0f1 BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet d975c2b0f1 is described below commit d975c2b0f1e17e4756933037f7dd834f82254a13 Author: Michael Osipov AuthorDate: Wed Oct 2 11:04:44 2024 +0200 BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet --- java/org/apache/catalina/servlets/WebdavServlet.java | 6 +++--- webapps/docs/changelog.xml | 5 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 7845f37ec4..7c871b2317 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1694,7 +1694,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR); +resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); return false; } } else { @@ -1703,7 +1703,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen deleteCollection(req, path, errorList); if (!resource.delete()) { -errorList.put(path, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(path, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } if (!errorList.isEmpty()) { @@ -1770,7 +1770,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!childResource.isDirectory()) { // If it's not a collection, then it's an unknown // error -errorList.put(childName, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(childName, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } } } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index a9971af3e1..51d0bf6233 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -147,6 +147,11 @@ getRelativePath() method from super class with incorrect Javadoc. (michaelo) + +69360: Inconsistent DELETE behavior between +WebdavServlet and DefaultServlet. +(michaelo) + - 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: BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
This is an automated email from the ASF dual-hosted git repository. michaelo 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 75b291f08e BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet 75b291f08e is described below commit 75b291f08e9e9d2b6c5c5c9a6b42172049e94146 Author: Michael Osipov AuthorDate: Wed Oct 2 11:04:44 2024 +0200 BZ 69360: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet --- java/org/apache/catalina/servlets/WebdavServlet.java | 6 +++--- webapps/docs/changelog.xml | 5 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java index 7845f37ec4..7c871b2317 100644 --- a/java/org/apache/catalina/servlets/WebdavServlet.java +++ b/java/org/apache/catalina/servlets/WebdavServlet.java @@ -1694,7 +1694,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!resource.isDirectory()) { if (!resource.delete()) { -resp.sendError(WebdavStatus.SC_INTERNAL_SERVER_ERROR); +resp.sendError(WebdavStatus.SC_METHOD_NOT_ALLOWED); return false; } } else { @@ -1703,7 +1703,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen deleteCollection(req, path, errorList); if (!resource.delete()) { -errorList.put(path, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(path, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } if (!errorList.isEmpty()) { @@ -1770,7 +1770,7 @@ public class WebdavServlet extends DefaultServlet implements PeriodicEventListen if (!childResource.isDirectory()) { // If it's not a collection, then it's an unknown // error -errorList.put(childName, Integer.valueOf(WebdavStatus.SC_INTERNAL_SERVER_ERROR)); +errorList.put(childName, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } } } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index e2df458303..0478f1068b 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -147,6 +147,11 @@ getRelativePath() method from super class with incorrect Javadoc. (michaelo) + +69360: Inconsistent DELETE behavior between +WebdavServlet and DefaultServlet. +(michaelo) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69360] Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 Michael Osipov changed: What|Removed |Added Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #7 from Michael Osipov --- Fixed in: - main for 12.0.0-M1 and onwards - 11.0.x for 11.0.0 and onwards - 10.1.x for 10.1.31 and onwards - 9.0.x for 9.0.96 and 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
[Bug 69359] WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc
https://bz.apache.org/bugzilla/show_bug.cgi?id=69359 Michael Osipov changed: What|Removed |Added Resolution|--- |FIXED Status|NEW |RESOLVED -- 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 69360] New: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 Bug ID: 69360 Summary: Inconsistent DELETE behavior between DefaultServlet and WebdavServlet Product: Tomcat 9 Version: 9.0.95 Hardware: All OS: All Status: NEW Severity: major Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: micha...@apache.org Target Milestone: - If a resource cannot be deleted by the DefaultServlet https://github.com/apache/tomcat/blob/c50b8aa2588c85df86c0c6e0cd03e79700822360/java/org/apache/catalina/servlets/DefaultServlet.java#L699-L700 METHOD_NOT_ALLOWED is returned. Either the resource is readOnly or java.io.File#delete() returns false. Reasonable. But the WebdavServlet says https://github.com/apache/tomcat/blob/c50b8aa2588c85df86c0c6e0cd03e79700822360/java/org/apache/catalina/servlets/WebdavServlet.java#L1703-L1714 INTERNAL_SERVER_ERROR which is inconsistent and not necessarily true. We can only return this if we use Files#delete(Path). If no one objects I will return METHOD_NOT_ALLOWED for both servlets. Took me some time to search for the exception in the catalina.out which I haven't found until I have found this inconsistency. -- 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 69360] Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 Michael Osipov changed: What|Removed |Added CC||micha...@apache.org -- 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 69360] Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 --- Comment #1 from Michael Osipov --- Moreover, I'd even use the method sendNotAllowed() for consistency reasons. -- 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: Update ByteBuddy to 1.15.3
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 52226a73d7 Update ByteBuddy to 1.15.3 52226a73d7 is described below commit 52226a73d7c3db494ebe148a0c5c571859625700 Author: Mark Thomas AuthorDate: Wed Oct 2 08:55:41 2024 +0100 Update ByteBuddy to 1.15.3 --- build.properties.default | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.properties.default b/build.properties.default index e1896d7533..3874c0445d 100644 --- a/build.properties.default +++ b/build.properties.default @@ -242,10 +242,10 @@ objenesis.jar=${objenesis.home}/objenesis-${objenesis.version}.jar objenesis.loc=${base-maven.loc}/org/objenesis/objenesis/${objenesis.version}/objenesis-${objenesis.version}.jar # - byte-buddy, used by EasyMock, version 1.12.18 or later - -bytebuddy.version=1.15.0 +bytebuddy.version=1.15.3 bytebuddy.checksum.enabled=true bytebuddy.checksum.algorithm=MD5|SHA-1 -bytebuddy.checksum.value=e830b0eae8ae0e4b7df4f4ddba23fbe1|a5b1159b91c5334015de0f22ab4b1188cd42bbff +bytebuddy.checksum.value=3406712dd496bcda0136945c6e77711c|01b3069696cd9ed55d90b9114ffe3429035ff924 bytebuddy.home=${base.path}/byte-buddy-${bytebuddy.version} bytebuddy.jar=${bytebuddy.home}/byte-buddy-${bytebuddy.version}.jar bytebuddy.loc=${base-maven.loc}/net/bytebuddy/byte-buddy/${bytebuddy.version}/byte-buddy-${bytebuddy.version}.jar - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69359] WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc
https://bz.apache.org/bugzilla/show_bug.cgi?id=69359 --- Comment #1 from Mark Thomas --- +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) branch 11.0.x updated: Update ECJ to 4.44 / 3.39.0
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 825d2982a9 Update ECJ to 4.44 / 3.39.0 825d2982a9 is described below commit 825d2982a97291214386ea380dcd6767190e9f4d Author: Mark Thomas AuthorDate: Wed Oct 2 08:44:21 2024 +0100 Update ECJ to 4.44 / 3.39.0 --- build.properties.default | 12 ++-- res/maven/tomcat-embed-jasper.pom | 2 +- res/maven/tomcat-jasper.pom | 2 +- webapps/docs/changelog.xml| 7 +++ 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/build.properties.default b/build.properties.default index 4254d0965e..5ebf038414 100644 --- a/build.properties.default +++ b/build.properties.default @@ -130,15 +130,15 @@ base-maven.loc=https://repo.maven.apache.org/maven2 # - Eclipse JDT, version 4.7 or later -# # See https://cwiki.apache.org/confluence/display/TOMCAT/Managing+Tomcat%27s+Dependency+on+the+Eclipse+JDT+Core+Batch+Compiler # -# Checksum is from "SHA512 Checksums for 4.31" link at -# https://download.eclipse.org/eclipse/downloads/drops4/R-4.31-202402290520/ -# https://download.eclipse.org/eclipse/downloads/drops4/R-4.31-202402290520/checksum/eclipse-4.31-SUMSSHA512 +# Checksum is from "SHA512 Checksums for 4.33" link at +# https://download.eclipse.org/eclipse/downloads/drops4/R-4.33-202409030240/ +# https://download.eclipse.org/eclipse/downloads/drops4/R-4.33-202409030240/checksum/eclipse-4.33-SUMSSHA512 # -jdt.version=4.32 -jdt.release=R-4.32-202406010610 +jdt.version=4.33 +jdt.release=R-4.33-202409030240 jdt.checksum.enabled=true jdt.checksum.algorithm=SHA-512 -jdt.checksum.value=8937dede817b8c37f23e0b42162bdd0f722e34e40f75a35b9ca45a17bc78c1a0d65ddaa81b5e6916c7cd8895023a04dd6112031c952ab4584e72e6a1f35f1608 +jdt.checksum.value=8b99bf69dc13a8b58a5507818be9222887f33b7120f4e92bcae89af108d38b9412715f6fe749eec0c07fc9bde9d84e5f8deacd74030559fab22f14697c12a1a9 jdt.home=${base.path}/ecj-${jdt.version} jdt.jar=${jdt.home}/ecj-${jdt.version}.jar # The download will be moved to the archive area eventually. We are taking care of that in advance. diff --git a/res/maven/tomcat-embed-jasper.pom b/res/maven/tomcat-embed-jasper.pom index 8cff6b9831..3029bc2225 100644 --- a/res/maven/tomcat-embed-jasper.pom +++ b/res/maven/tomcat-embed-jasper.pom @@ -48,7 +48,7 @@ org.eclipse.jdt ecj - 3.38.0 + 3.39.0 diff --git a/res/maven/tomcat-jasper.pom b/res/maven/tomcat-jasper.pom index 3ffe50a6e4..d410d6f6e6 100644 --- a/res/maven/tomcat-jasper.pom +++ b/res/maven/tomcat-jasper.pom @@ -60,7 +60,7 @@ org.eclipse.jdt ecj - 3.38.0 + 3.39.0 org.apache.tomcat diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 8b2c40f792..56f40e2c02 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -201,6 +201,13 @@ + + + +Update to the Eclipse JDT compiler 4.33. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Update ECJ to 4.44 / 3.39.0
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 2b7debdc9d Update ECJ to 4.44 / 3.39.0 2b7debdc9d is described below commit 2b7debdc9dea195cf4d249ee0d6c2333e3d9631c Author: Mark Thomas AuthorDate: Wed Oct 2 08:44:21 2024 +0100 Update ECJ to 4.44 / 3.39.0 --- build.properties.default | 12 ++-- res/maven/tomcat-embed-jasper.pom | 2 +- res/maven/tomcat-jasper.pom | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build.properties.default b/build.properties.default index fd3096d497..e1896d7533 100644 --- a/build.properties.default +++ b/build.properties.default @@ -130,15 +130,15 @@ base-maven.loc=https://repo.maven.apache.org/maven2 # - Eclipse JDT, version 4.7 or later -# # See https://cwiki.apache.org/confluence/display/TOMCAT/Managing+Tomcat%27s+Dependency+on+the+Eclipse+JDT+Core+Batch+Compiler # -# Checksum is from "SHA512 Checksums for 4.31" link at -# https://download.eclipse.org/eclipse/downloads/drops4/R-4.32-202406010610/ -# https://download.eclipse.org/eclipse/downloads/drops4/R-4.32-202406010610/checksum/eclipse-4.32-SUMSSHA512 +# Checksum is from "SHA512 Checksums for 4.33" link at +# https://download.eclipse.org/eclipse/downloads/drops4/R-4.33-202409030240/ +# https://download.eclipse.org/eclipse/downloads/drops4/R-4.33-202409030240/checksum/eclipse-4.33-SUMSSHA512 # -jdt.version=4.32 -jdt.release=R-4.32-202406010610 +jdt.version=4.33 +jdt.release=R-4.33-202409030240 jdt.checksum.enabled=true jdt.checksum.algorithm=SHA-512 -jdt.checksum.value=8937dede817b8c37f23e0b42162bdd0f722e34e40f75a35b9ca45a17bc78c1a0d65ddaa81b5e6916c7cd8895023a04dd6112031c952ab4584e72e6a1f35f1608 +jdt.checksum.value=8b99bf69dc13a8b58a5507818be9222887f33b7120f4e92bcae89af108d38b9412715f6fe749eec0c07fc9bde9d84e5f8deacd74030559fab22f14697c12a1a9 jdt.home=${base.path}/ecj-${jdt.version} jdt.jar=${jdt.home}/ecj-${jdt.version}.jar # The download will be moved to the archive area eventually. We are taking care of that in advance. diff --git a/res/maven/tomcat-embed-jasper.pom b/res/maven/tomcat-embed-jasper.pom index 8cff6b9831..3029bc2225 100644 --- a/res/maven/tomcat-embed-jasper.pom +++ b/res/maven/tomcat-embed-jasper.pom @@ -48,7 +48,7 @@ org.eclipse.jdt ecj - 3.38.0 + 3.39.0 diff --git a/res/maven/tomcat-jasper.pom b/res/maven/tomcat-jasper.pom index 3ffe50a6e4..d410d6f6e6 100644 --- a/res/maven/tomcat-jasper.pom +++ b/res/maven/tomcat-jasper.pom @@ -60,7 +60,7 @@ org.eclipse.jdt ecj - 3.38.0 + 3.39.0 org.apache.tomcat - 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: Update ByteBuddy to 1.15.3
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 fe33f2bf00 Update ByteBuddy to 1.15.3 fe33f2bf00 is described below commit fe33f2bf009f11aa4b55c5dad4af3d7aa51dd09c Author: Mark Thomas AuthorDate: Wed Oct 2 08:55:41 2024 +0100 Update ByteBuddy to 1.15.3 --- build.properties.default | 4 ++-- webapps/docs/changelog.xml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build.properties.default b/build.properties.default index 5ebf038414..48c0ddc63c 100644 --- a/build.properties.default +++ b/build.properties.default @@ -242,10 +242,10 @@ objenesis.jar=${objenesis.home}/objenesis-${objenesis.version}.jar objenesis.loc=${base-maven.loc}/org/objenesis/objenesis/${objenesis.version}/objenesis-${objenesis.version}.jar # - byte-buddy, used by EasyMock, version 1.12.18 or later - -bytebuddy.version=1.15.0 +bytebuddy.version=1.15.3 bytebuddy.checksum.enabled=true bytebuddy.checksum.algorithm=MD5|SHA-1 -bytebuddy.checksum.value=e830b0eae8ae0e4b7df4f4ddba23fbe1|a5b1159b91c5334015de0f22ab4b1188cd42bbff +bytebuddy.checksum.value=3406712dd496bcda0136945c6e77711c|01b3069696cd9ed55d90b9114ffe3429035ff924 bytebuddy.home=${base.path}/byte-buddy-${bytebuddy.version} bytebuddy.jar=${bytebuddy.home}/byte-buddy-${bytebuddy.version}.jar bytebuddy.loc=${base-maven.loc}/net/bytebuddy/byte-buddy/${bytebuddy.version}/byte-buddy-${bytebuddy.version}.jar diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 56f40e2c02..2e27db58ca 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -206,6 +206,9 @@ Update to the Eclipse JDT compiler 4.33. (markt) + +Update Byte Buddy to 1.15.0. (markt) + - 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: Update ByteBuddy to 1.15.3
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 36834949cc Update ByteBuddy to 1.15.3 36834949cc is described below commit 36834949cc3f596a78dc2ee6989dec67f6975146 Author: Mark Thomas AuthorDate: Wed Oct 2 08:55:41 2024 +0100 Update ByteBuddy to 1.15.3 --- build.properties.default | 4 ++-- webapps/docs/changelog.xml | 7 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/build.properties.default b/build.properties.default index 96eec0f208..4bbb959eee 100644 --- a/build.properties.default +++ b/build.properties.default @@ -265,10 +265,10 @@ objenesis.jar=${objenesis.home}/objenesis-${objenesis.version}.jar objenesis.loc=${base-maven.loc}/org/objenesis/objenesis/${objenesis.version}/objenesis-${objenesis.version}.jar # - byte-buddy, used by EasyMock, version 1.12.18 or later - -bytebuddy.version=1.15.0 +bytebuddy.version=1.15.3 bytebuddy.checksum.enabled=true bytebuddy.checksum.algorithm=MD5|SHA-1 -bytebuddy.checksum.value=e830b0eae8ae0e4b7df4f4ddba23fbe1|a5b1159b91c5334015de0f22ab4b1188cd42bbff +bytebuddy.checksum.value=3406712dd496bcda0136945c6e77711c|01b3069696cd9ed55d90b9114ffe3429035ff924 bytebuddy.home=${base.path}/byte-buddy-${bytebuddy.version} bytebuddy.jar=${bytebuddy.home}/byte-buddy-${bytebuddy.version}.jar bytebuddy.loc=${base-maven.loc}/net/bytebuddy/byte-buddy/${bytebuddy.version}/byte-buddy-${bytebuddy.version}.jar diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 5e72d13411..c4750d38e9 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -192,6 +192,13 @@ + + + +Update Byte Buddy to 1.15.3. (markt) + + + - 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: Update ByteBuddy to 1.15.3
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 ca9e688046 Update ByteBuddy to 1.15.3 ca9e688046 is described below commit ca9e68804611199f9fa8b231e6dd5d2b41e8c472 Author: Mark Thomas AuthorDate: Wed Oct 2 08:55:41 2024 +0100 Update ByteBuddy to 1.15.3 --- build.properties.default | 4 ++-- webapps/docs/changelog.xml | 7 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/build.properties.default b/build.properties.default index 82c3b1995a..8b69bee5bf 100644 --- a/build.properties.default +++ b/build.properties.default @@ -263,10 +263,10 @@ objenesis.jar=${objenesis.home}/objenesis-${objenesis.version}.jar objenesis.loc=${base-maven.loc}/org/objenesis/objenesis/${objenesis.version}/objenesis-${objenesis.version}.jar # - byte-buddy, used by EasyMock, version 1.12.18 or later - -bytebuddy.version=1.15.0 +bytebuddy.version=1.15.3 bytebuddy.checksum.enabled=true bytebuddy.checksum.algorithm=MD5|SHA-1 -bytebuddy.checksum.value=e830b0eae8ae0e4b7df4f4ddba23fbe1|a5b1159b91c5334015de0f22ab4b1188cd42bbff +bytebuddy.checksum.value=3406712dd496bcda0136945c6e77711c|01b3069696cd9ed55d90b9114ffe3429035ff924 bytebuddy.home=${base.path}/byte-buddy-${bytebuddy.version} bytebuddy.jar=${bytebuddy.home}/byte-buddy-${bytebuddy.version}.jar bytebuddy.loc=${base-maven.loc}/net/bytebuddy/byte-buddy/${bytebuddy.version}/byte-buddy-${bytebuddy.version}.jar diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index a2b6ee452f..23212e7cd1 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -201,6 +201,13 @@ + + + +Update Byte Buddy to 1.15.3. (markt) + + + - 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: Fix copy/paste error
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 a7a371e028 Fix copy/paste error a7a371e028 is described below commit a7a371e028db7386a2256e45916c94dde39a9675 Author: Mark Thomas AuthorDate: Wed Oct 2 08:59:13 2024 +0100 Fix copy/paste error --- 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 2e27db58ca..bfbad742a9 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -207,7 +207,7 @@ Update to the Eclipse JDT compiler 4.33. (markt) -Update Byte Buddy to 1.15.0. (markt) +Update Byte Buddy to 1.15.3. (markt) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69360] Inconsistent DELETE behavior between DefaultServlet and WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69360 --- Comment #2 from Michael Osipov --- (In reply to Michael Osipov from comment #1) > Moreover, I'd even use the method sendNotAllowed() for consistency reasons. Nope, won't work because when a collection is hit it could be partially deleted. I will stick to the status code for now. This change must be reviewed separately. -- 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 (217aca2641 -> 63edfb3ec4)
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 217aca2641 Fix test new 69435ddf50 Better comment and some trace level logging new 63edfb3ec4 Split Stream.recycle() into replace() and recycle() 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: .../apache/coyote/http2/Http2UpgradeHandler.java | 16 ++- .../apache/coyote/http2/LocalStrings.properties| 5 ++- java/org/apache/coyote/http2/Stream.java | 50 ++ java/org/apache/coyote/http2/StreamProcessor.java | 11 ++--- 4 files changed, 66 insertions(+), 16 deletions(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) 02/02: Split Stream.recycle() into replace() and recycle()
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 commit 63edfb3ecfc6b0d3aa909abecd7ab9ddc6bf Author: Mark Thomas AuthorDate: Tue Oct 1 18:27:02 2024 +0100 Split Stream.recycle() into replace() and recycle() Ensures recycle() is called no more than once. There are some error conditions that now no longer call recycle() to avoid the risk of duplicate calls to recycle if a Stream is being processed by a StreamProcessor at the same time Http2UpgradeHandler detects a Stream level error. --- .../apache/coyote/http2/LocalStrings.properties| 3 +- java/org/apache/coyote/http2/Stream.java | 50 ++ java/org/apache/coyote/http2/StreamProcessor.java | 11 ++--- 3 files changed, 49 insertions(+), 15 deletions(-) diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties index 2efeefedd8..a25ead24a7 100644 --- a/java/org/apache/coyote/http2/LocalStrings.properties +++ b/java/org/apache/coyote/http2/LocalStrings.properties @@ -109,7 +109,8 @@ stream.inputBuffer.signal=Data added to inBuffer when read thread is waiting. Si stream.inputBuffer.swallowUnread=Swallowing [{0}] bytes previously read into input stream buffer stream.notWritable=Connection [{0}], Stream [{1}], This stream is not writable stream.outputBuffer.flush.debug=Connection [{0}], Stream [{1}], flushing output with buffer at position [{2}], writeInProgress [{3}] and closed [{4}] -stream.recycle=Connection [{0}], Stream [{1}] has been recycled +stream.recycle.duplicate=Connection [{0}], Stream [{1}] Duplicate request to recycle the associated request and response has been ignored +stream.recycle.first=Connection [{0}], Stream [{1}] The associated request and response have been recycled stream.reset.fail=Connection [{0}], Stream [{1}], Failed to reset stream stream.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}] stream.reset.send=Connection [{0}], Stream [{1}], Reset sent due to [{2}] diff --git a/java/org/apache/coyote/http2/Stream.java b/java/org/apache/coyote/http2/Stream.java index 08b1fc8a02..d0257ab17e 100644 --- a/java/org/apache/coyote/http2/Stream.java +++ b/java/org/apache/coyote/http2/Stream.java @@ -106,6 +106,9 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { private volatile int urgency = Priority.DEFAULT_URGENCY; private volatile boolean incremental = Priority.DEFAULT_INCREMENTAL; +private final Object recycledLock = new Object(); +private volatile boolean recycled = false; + Stream(Integer identifier, Http2UpgradeHandler handler) { this(identifier, handler, null); @@ -772,20 +775,15 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { } else { handler.closeConnection(http2Exception); } -recycle(); +replace(); } /* - * This method is called recycle for consistency with the rest of the Tomcat code base. Currently, it calls the - * handler to replace this stream with an implementation that uses less memory. It does not fully recycle the Stream - * ready for re-use since Stream objects are not re-used. This is useful because Stream instances are retained for a - * period after the Stream closes. + * This method calls the handler to replace this stream with an implementation that uses less memory. This is useful + * because Stream instances are retained for a period after the Stream closes. */ -final void recycle() { -if (log.isTraceEnabled()) { -log.trace(sm.getString("stream.recycle", getConnectionId(), getIdAsString())); -} +final void replace() { int remaining; // May be null if stream was closed before any DATA frames were processed. ByteBuffer inputByteBuffer = getInputByteBuffer(false); @@ -795,6 +793,40 @@ class Stream extends AbstractNonZeroStream implements HeaderEmitter { remaining = inputByteBuffer.remaining(); } handler.replaceStream(this, new RecycledStream(getConnectionId(), getIdentifier(), state, remaining)); +} + + +/* + * This method is called recycle for consistency with the rest of the Tomcat code base. It does not recycle the + * Stream since Stream objects are not re-used. It does recycle the request and response objects and ensures that + * this is only done once. + * + * replace() should have been called before calling this method. + * + * It is important that this method is not called until any concurrent processing for the stream has completed. This + * is currently achieved by: + * - only the StreamProcessor calls this method + * - the Http2UpgradeHandler does not call this method + * - this method is ca
(tomcat) 01/02: Better comment and some trace level logging
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 commit 69435ddf503b233fcd6462f09c4d88aaa9e8add5 Author: Mark Thomas AuthorDate: Tue Oct 1 18:23:07 2024 +0100 Better comment and some trace level logging --- java/org/apache/coyote/http2/Http2UpgradeHandler.java | 16 +++- java/org/apache/coyote/http2/LocalStrings.properties | 2 ++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java b/java/org/apache/coyote/http2/Http2UpgradeHandler.java index 22b4f37849..de0a69d2d5 100644 --- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java +++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java @@ -1803,9 +1803,23 @@ class Http2UpgradeHandler extends AbstractStream implements InternalHttpUpgradeH void replaceStream(AbstractNonZeroStream original, AbstractNonZeroStream replacement) { AbstractNonZeroStream current = streams.get(original.getIdentifier()); -// Only replace the stream if it currently uses the full implementation. +/* + * Only replace the Stream once. No point replacing one RecycledStream instance with another. + * + * This method is called from both StreamProcessor and Http2UpgradeHandler which may be operating on the Stream + * concurrently. It is therefore expected that there will be duplicate calls to this method - primarily + * triggered by stream errors when processing incoming frames. + */ if (current instanceof Stream) { +if (log.isTraceEnabled()) { +log.trace(sm.getString("upgradeHandler.replace.first", getConnectionId(), original.getIdAsString())); +} streams.put(original.getIdentifier(), replacement); +} else { +if (log.isTraceEnabled()) { +log.trace(sm.getString( +"upgradeHandler.replace.duplicate", getConnectionId(), original.getIdAsString())); +} } } diff --git a/java/org/apache/coyote/http2/LocalStrings.properties b/java/org/apache/coyote/http2/LocalStrings.properties index 4861c582f3..2efeefedd8 100644 --- a/java/org/apache/coyote/http2/LocalStrings.properties +++ b/java/org/apache/coyote/http2/LocalStrings.properties @@ -148,6 +148,8 @@ upgradeHandler.pruneIncomplete=Connection [{0}], Stream [{1}], Failed to fully p upgradeHandler.pruneStart=Connection [{0}] Starting pruning of old streams. Limit is [{1}] and there are currently [{2}] streams. upgradeHandler.pruned=Connection [{0}] Pruned completed stream [{1}] upgradeHandler.releaseBacklog=Connection [{0}], Stream [{1}] released from backlog +upgradeHandler.replace.duplicate=Connection [{0}], Stream [{1}] duplicate attempt to replace stream with lightweight implementation has been ignored +upgradeHandler.replace.first=Connection [{0}], Stream [{1}] replaced with lightweight stream implementation upgradeHandler.reset.receive=Connection [{0}], Stream [{1}], Reset received due to [{2}] upgradeHandler.rst.debug=Connection [{0}], Stream [{1}], Error [{2}], Message [{3}], RST (closing stream) upgradeHandler.sendPrefaceFail=Connection [{0}], Failed to send preface to client - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 69362] Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 Michael Osipov changed: What|Removed |Added CC||micha...@apache.org -- 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 69362] New: Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet
https://bz.apache.org/bugzilla/show_bug.cgi?id=69362 Bug ID: 69362 Summary: Recursive nested collection DELETE not reflected in multi-status report from WebdavServlet Product: Tomcat 9 Version: 9.0.95 Hardware: All OS: All Status: NEW Severity: major Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: micha...@apache.org Target Milestone: - Consider the following tree: # tree log/foo/ log/foo/ ├── bar └── baz └── moo Let's try to delete it: osipovmi@deblndw011x:~/var/Projekte/tomcat (apache-main *=) $ curl --negotiate -u : -X DELETE 'https://example.com/backend-dev/dav/log/foo' | xmllint --format - /backend-dev/dav/log/foo/bar HTTP/1.1 500 /backend-dev/dav/log/foo/baz/moo HTTP/1.1 500 /backend-dev/dav/log/foo HTTP/1.1 500 Where is the status for baz/? Well, the problem is the following: While WebdavServlet#deleteResource() does a proper post-order traversal and then marks the actual collection is undeletable: deleteCollection(req, path, errorList); if (!resource.delete()) { errorList.put(path, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } WebdavServlet#deleteCollection() deviates from it: if (childResource.isDirectory()) { deleteCollection(req, childName, errorList); } if (!childResource.delete()) { if (!childResource.isDirectory()) { // If it's not a collection, then it's an unknown // error errorList.put(childName, Integer.valueOf(WebdavStatus.SC_METHOD_NOT_ALLOWED)); } } Reason: unclear. By removing the nested if clause it works: osipovmi@deblndw011x:~/var/Projekte/tomcat (apache-9.0.x =) $ curl --negotiate -u : -X DELETE 'https://example.com/backend-dev/dav/log/foo' | xmllint --format - /backend-dev/dav/log/foo/bar HTTP/1.1 500 /backend-dev/dav/log/foo/baz/moo HTTP/1.1 500 /backend-dev/dav/log/foo/baz HTTP/1.1 500 /backend-dev/dav/log/foo HTTP/1.1 500 Either I do not understand the reason here or it is clearly a bug. If you (Rémy?) confirm the bug, I will push the fix. -- 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