Re: [tomcat] branch main updated: Correct exception message.

2023-10-25 Thread Michael Osipov
On 2023/10/25 01:54:10 li...@apache.org wrote:
> This is an automated email from the ASF dual-hosted git repository.
> 
> lihan 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 76ac8d1b55 Correct exception message.
> 76ac8d1b55 is described below
> 
> commit 76ac8d1b55ba5c2ca08827d793bcf6e20d6c9e4e
> Author: lihan 
> AuthorDate: Wed Oct 25 09:53:56 2023 +0800
> 
> Correct exception message.
> ---
>  java/org/apache/tomcat/util/net/jsse/PEMFile.java | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/java/org/apache/tomcat/util/net/jsse/PEMFile.java 
> b/java/org/apache/tomcat/util/net/jsse/PEMFile.java
> index b051c539ea..b3f60ce0db 100644
> --- a/java/org/apache/tomcat/util/net/jsse/PEMFile.java
> +++ b/java/org/apache/tomcat/util/net/jsse/PEMFile.java
> @@ -406,7 +406,7 @@ public class PEMFile {
>  byte[] oidPRF = p.parseOIDAsBytes();
>  String prf = 
> OID_TO_PRF.get(HexUtils.toHexString(oidPRF));
>  if (prf == null) {
> -throw new 
> NoSuchAlgorithmException(sm.getString("pemFile.unknownPrfAlgorithm", prf));
> +throw new 
> NoSuchAlgorithmException(sm.getString("pemFile.unknownPrfAlgorithm", 
> HexUtils.toHexString(oidPRF)));
>  }
>  p.parseNull();

Looking at this change I must say the parameters to these bundle keys aren't 
helpful:
pemFile.unknownEncryptionAlgorithm
pemFile.unknownPkcs8Algorithm
pemFile.notPbkdf2
pemFile.unknownPrfAlgorithm

They all print the raw ASN.1 bytes as hex for the OID in question instead of 
the well-known dotted representation. That output cannot be read by people.

Since we don't know the OID ahead of time, we need to covert it for logging: 
https://learn.microsoft.com/en-us/windows/win32/seccertenroll/about-object-identifier?redirectedfrom=MSDN

I will file a BZ issue for this.

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



[Bug 67926] New: PEMFile prints unidentifiable string representation of ASN.1 OIDs

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67926

Bug ID: 67926
   Summary: PEMFile prints unidentifiable string representation of
ASN.1 OIDs
   Product: Tomcat 9
   Version: 9.0.82
  Hardware: All
OS: All
Status: NEW
  Severity: minor
  Priority: P2
 Component: Connectors
  Assignee: dev@tomcat.apache.org
  Reporter: micha...@apache.org
  Target Milestone: -

The following pattern is used:
> sm.getString("pemFile", HexUtils.toHexString(oidBytes))

The result is a hex string which is not helpful. The ASN.1 DER encoding of an
OID should be converted to a dotted string representation for users.

Affected keys:
pemFile.unknownEncryptionAlgorithm
pemFile.unknownPkcs8Algorithm
pemFile.notPbkdf2
pemFile.unknownPrfAlgorithm

Howto:
https://learn.microsoft.com/en-us/windows/win32/seccertenroll/about-object-identifier?redirectedfrom=MSDN

Reference: https://lists.apache.org/thread/2x709tc8ms5jnd1s6drf3pons009sqdl

E.g. for DES_EDE3_CBC as 1.2.840.113549.3.7 the output would be:
2a864886f70d0307. Little helpful.

-- 
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 67926] PEMFile prints unidentifiable string representation of ASN.1 OIDs

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67926

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



Re: [tomcat] branch main updated: Correct exception message.

2023-10-25 Thread Michael Osipov
Reported: https://bz.apache.org/bugzilla/show_bug.cgi?id=67926

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



[Bug 67926] PEMFile prints unidentifiable string representation of ASN.1 OIDs

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67926

Mark Thomas  changed:

   What|Removed |Added

   Severity|minor   |enhancement

--- Comment #1 from Mark Thomas  ---
Whether the user is provided with the OID in string or byte form doesn't change
the fact that the PEM file isn't going to be usable.

The byte string is sufficient for us to diagnose the issue (and matches what
Tomcat uses internally).

I wasn't (and still aren't) convinced it was worth the effort to provide byte
to string conversion for OIDs just for the error messages.

That said, if you want to write a byte to String formatter for OIDs then I'm
not going to object.

-- 
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 67926] PEMFile prints unidentifiable string representation of ASN.1 OIDs

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67926

--- Comment #2 from Michael Osipov  ---
(In reply to Mark Thomas from comment #1)
> Whether the user is provided with the OID in string or byte form doesn't
> change the fact that the PEM file isn't going to be usable.
> 
> The byte string is sufficient for us to diagnose the issue (and matches what
> Tomcat uses internally).
> 
> I wasn't (and still aren't) convinced it was worth the effort to provide
> byte to string conversion for OIDs just for the error messages.
> 
> That said, if you want to write a byte to String formatter for OIDs then I'm
> not going to object.

Agree, but from a user's PoV it makes it much much easier to seach online or
here: http://www.oid-info.com/

Let's leave it as an enhancement.

-- 
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 67666] TLSCertificateReloadListener does not detect all certificates to reload

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67666

--- Comment #4 from Michael Osipov  ---
Just build Tomcat from bec7a51d7fc3fb913c755b258169d1816b77bea5. I can confirm
that is works now.

-- 
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: Add test utilities similar to APR

2023-10-25 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm 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 17d119711c Add test utilities similar to APR
17d119711c is described below

commit 17d119711c369179ac3060742b81174535d71833
Author: remm 
AuthorDate: Wed Oct 25 14:38:45 2023 +0200

Add test utilities similar to APR
---
 .../catalina/core/OpenSSLLifecycleListener.java| 94 +++---
 .../util/net/openssl/panama/OpenSSLLibrary.java|  4 -
 2 files changed, 63 insertions(+), 35 deletions(-)

diff --git a/java/org/apache/catalina/core/OpenSSLLifecycleListener.java 
b/java/org/apache/catalina/core/OpenSSLLifecycleListener.java
index c5bb8f7e6f..98d7d7d6b0 100644
--- a/java/org/apache/catalina/core/OpenSSLLifecycleListener.java
+++ b/java/org/apache/catalina/core/OpenSSLLifecycleListener.java
@@ -25,6 +25,7 @@ import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.ExceptionUtils;
 import org.apache.tomcat.util.compat.JreCompat;
+import org.apache.tomcat.util.net.openssl.OpenSSLStatus;
 import org.apache.tomcat.util.res.StringManager;
 
 
@@ -44,6 +45,32 @@ public class OpenSSLLifecycleListener implements 
LifecycleListener {
  */
 protected static final StringManager sm = 
StringManager.getManager(OpenSSLLifecycleListener.class);
 
+protected static final Object lock = new Object();
+
+public static boolean isAvailable() {
+// https://bz.apache.org/bugzilla/show_bug.cgi?id=48613
+if (OpenSSLStatus.isInstanceCreated()) {
+synchronized (lock) {
+if (!JreCompat.isJre22Available()) {
+OpenSSLStatus.setInitialized(true);
+} else {
+try {
+Class openSSLLibraryClass = 
Class.forName("org.apache.tomcat.util.net.openssl.panama.OpenSSLLibrary");
+openSSLLibraryClass.getMethod("init").invoke(null);
+} catch (Throwable t) {
+t = ExceptionUtils.unwrapInvocationTargetException(t);
+ExceptionUtils.handleThrowable(t);
+log.error(sm.getString("openssllistener.sslInit"), t);
+}
+}
+}
+}
+return OpenSSLStatus.isAvailable();
+}
+
+public OpenSSLLifecycleListener() {
+OpenSSLStatus.setInstanceCreated(true);
+}
 
 // -- LifecycleListener Methods
 
@@ -61,40 +88,45 @@ public class OpenSSLLifecycleListener implements 
LifecycleListener {
 log.warn(sm.getString("listener.notServer",
 event.getLifecycle().getClass().getSimpleName()));
 }
-if (!JreCompat.isJre22Available()) {
-log.info(sm.getString("openssllistener.java22"));
-return;
-}
-try {
-Class openSSLLibraryClass = 
Class.forName("org.apache.tomcat.util.net.openssl.panama.OpenSSLLibrary");
-openSSLLibraryClass.getMethod("init").invoke(null);
-} catch (Throwable t) {
-t = ExceptionUtils.unwrapInvocationTargetException(t);
-ExceptionUtils.handleThrowable(t);
-log.error(sm.getString("openssllistener.sslInit"), t);
-initError = true;
-}
-// Failure to initialize FIPS mode is fatal
-if (!(null == getFIPSMode() || 
"off".equalsIgnoreCase(getFIPSMode())) && !isFIPSModeActive()) {
-String errorMessage = 
sm.getString("openssllistener.initializeFIPSFailed");
-Error e = new Error(errorMessage);
-// Log here, because thrown error might be not logged
-log.fatal(errorMessage, e);
-initError = true;
+synchronized (lock) {
+if (!JreCompat.isJre22Available()) {
+log.info(sm.getString("openssllistener.java22"));
+OpenSSLStatus.setInitialized(true);
+return;
+}
+try {
+Class openSSLLibraryClass = 
Class.forName("org.apache.tomcat.util.net.openssl.panama.OpenSSLLibrary");
+openSSLLibraryClass.getMethod("init").invoke(null);
+} catch (Throwable t) {
+t = ExceptionUtils.unwrapInvocationTargetException(t);
+ExceptionUtils.handleThrowable(t);
+log.error(sm.getString("openssllistener.sslInit"), t);
+initError = true;
+}
+// Failure to initialize FIPS mode is fatal
+if (!(null == getFIPSMode() || 
"off".equalsIgnoreCase(getFIPSMode())) && !isFIPSModeActive()) {
+

[tomcat] branch main updated: Refactor native tests setup

2023-10-25 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm 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 e9ab5f4b97 Refactor native tests setup
e9ab5f4b97 is described below

commit e9ab5f4b978fea783670e69427137f5aeafc5def
Author: remm 
AuthorDate: Wed Oct 25 14:41:58 2023 +0200

Refactor native tests setup
---
 test/org/apache/coyote/http2/TestLargeUpload.java  | 14 ++--
 .../org/apache/tomcat/util/net/TestClientCert.java | 14 ++--
 .../tomcat/util/net/TestClientCertTls13.java   | 17 -
 .../tomcat/util/net/TestCustomSslTrustManager.java | 14 ++--
 .../tomcat/util/net/TestSSLHostConfigCompat.java   | 14 ++--
 .../util/net/TestSSLHostConfigIntegration.java | 14 ++--
 test/org/apache/tomcat/util/net/TestSsl.java   | 40 +++---
 test/org/apache/tomcat/util/net/TesterSupport.java | 27 ---
 .../websocket/TestWebSocketFrameClientSSL.java | 14 ++--
 .../websocket/TestWsWebSocketContainerSSL.java | 14 ++--
 10 files changed, 40 insertions(+), 142 deletions(-)

diff --git a/test/org/apache/coyote/http2/TestLargeUpload.java 
b/test/org/apache/coyote/http2/TestLargeUpload.java
index 1a8b48ffa0..02da50e4bb 100644
--- a/test/org/apache/coyote/http2/TestLargeUpload.java
+++ b/test/org/apache/coyote/http2/TestLargeUpload.java
@@ -30,7 +30,6 @@ import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 
 import org.junit.Assert;
-import org.junit.Assume;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -39,8 +38,6 @@ import org.junit.runners.Parameterized.Parameters;
 
 import org.apache.catalina.Context;
 import org.apache.catalina.LifecycleException;
-import org.apache.catalina.core.AprLifecycleListener;
-import org.apache.catalina.core.StandardServer;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.coyote.http11.AbstractHttp11Protocol;
 import org.apache.tomcat.util.net.TesterSupport;
@@ -58,7 +55,7 @@ public class TestLargeUpload extends Http2TestBase {
 "org.apache.tomcat.util.net.jsse.JSSEImplementation" });
 parameterSets.add(new Object[] { base[0], base[1], "OpenSSL", 
Boolean.TRUE,
 "org.apache.tomcat.util.net.openssl.OpenSSLImplementation" 
});
-parameterSets.add(new Object[] { base[0], base[1], "OpenSSL-FFM", 
Boolean.FALSE,
+parameterSets.add(new Object[] { base[0], base[1], "OpenSSL-FFM", 
Boolean.TRUE,
 
"org.apache.tomcat.util.net.openssl.panama.OpenSSLImplementation" });
 }
 
@@ -162,13 +159,6 @@ public class TestLargeUpload extends Http2TestBase {
 
 Tomcat tomcat = getTomcatInstance();
 
-TesterSupport.configureSSLImplementation(tomcat, 
sslImplementationName);
-
-if (needApr) {
-AprLifecycleListener listener = new AprLifecycleListener();
-Assume.assumeTrue(AprLifecycleListener.isAprAvailable());
-StandardServer server = (StandardServer) tomcat.getServer();
-server.addLifecycleListener(listener);
-}
+TesterSupport.configureSSLImplementation(tomcat, 
sslImplementationName, needApr);
 }
 }
diff --git a/test/org/apache/tomcat/util/net/TestClientCert.java 
b/test/org/apache/tomcat/util/net/TestClientCert.java
index 38a9ef28c4..7ebfb4c308 100644
--- a/test/org/apache/tomcat/util/net/TestClientCert.java
+++ b/test/org/apache/tomcat/util/net/TestClientCert.java
@@ -22,15 +22,12 @@ import java.util.Collection;
 import java.util.List;
 
 import org.junit.Assert;
-import org.junit.Assume;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameter;
 
 import org.apache.catalina.Context;
-import org.apache.catalina.core.AprLifecycleListener;
-import org.apache.catalina.core.StandardServer;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
 import org.apache.tomcat.util.buf.ByteChunk;
@@ -51,7 +48,7 @@ public class TestClientCert extends TomcatBaseTest {
 parameterSets.add(new Object[] {
 "OpenSSL", Boolean.TRUE, 
"org.apache.tomcat.util.net.openssl.OpenSSLImplementation"});
 parameterSets.add(new Object[] {
-"OpenSSL-FFM", Boolean.FALSE, 
"org.apache.tomcat.util.net.openssl.panama.OpenSSLImplementation"});
+"OpenSSL-FFM", Boolean.TRUE, 
"org.apache.tomcat.util.net.openssl.panama.OpenSSLImplementation"});
 
 return parameterSets;
 }
@@ -219,13 +216,6 @@ public class TestClientCert extends TomcatBaseTest {
 
 TesterSupport.configureClientSsl();
 
-TesterSupport.configureSSLImplementation(tomcat, 
sslImplementationName);
-
-if (needApr) {
-AprLifecycleLis

[tomcat] branch main updated: Add support to EL for Records

2023-10-25 Thread markt
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 b7186591a7 Add support to EL for Records
b7186591a7 is described below

commit b7186591a7364d6493b8ad093432cfbf2c52b1c0
Author: Mark Thomas 
AuthorDate: Mon Oct 9 15:40:12 2023 -0300

Add support to EL for Records
---
 java/jakarta/el/RecordELResolver.java   | 220 
 java/jakarta/el/StandardELContext.java  |   1 +
 java/org/apache/jasper/el/ELContextImpl.java|   2 +
 java/org/apache/jasper/el/JasperELResolver.java |   2 +
 test/jakarta/el/TestRecordELResolver.java   |  75 
 test/jakarta/el/TesterRecordA.java  |  20 +++
 webapps/docs/changelog.xml  |   7 +
 7 files changed, 327 insertions(+)

diff --git a/java/jakarta/el/RecordELResolver.java 
b/java/jakarta/el/RecordELResolver.java
new file mode 100644
index 00..b12bd66bd0
--- /dev/null
+++ b/java/jakarta/el/RecordELResolver.java
@@ -0,0 +1,220 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package jakarta.el;
+
+import java.lang.reflect.Method;
+import java.util.Objects;
+
+/**
+ * Defines property resolution behavior on instances of {@link Record}.
+ * 
+ * The resolver handles base objects of type {@link Record}. It accepts any 
object as a property and coerces it to a
+ * String using {@code String#valueOf(Object)}. The property string is used to 
find find an accessor method for a field
+ * with the same name.
+ * 
+ * This resolver is always read-only since {@link Record}s are always 
read-only.
+ * 
+ * {@code ELResolver}s are combined together using {@link 
CompositeELResolver}s to define rich semantics for evaluating
+ * an expression. See the javadocs for {@link ELResolver} for details.
+ */
+public class RecordELResolver extends ELResolver {
+
+/**
+ * If the base object is an instance of {@link Record}, returns the value 
of the given field of this {@link Record}.
+ * 
+ * If the base object is an instance of {@link Record}, the {@code 
propertyResolved} property of the provided
+ * {@link ELContext} must be set to {@code true} by this resolver before 
returning. If this property is not {@code
+ * true} after this method is called, the caller should ignore the return 
value.
+ *
+ * @param context  The context of this evaluation.
+ * @param base The {@link Record} on which to get the property.
+ * @param property The property to get. Will be coerced to a String.
+ *
+ * @return If the {@code propertyResolved} property of the provided {@link 
ELContext} was set to {@code true} then
+ * the value of the given property. Otherwise, undefined.
+ *
+ * @throws NullPointerException  if the provided {@link ELContext} is 
{@code null}.
+ * @throws PropertyNotFoundException if the {@code base} is an instance of 
{@link Record} and the specified property
+ *   does not exist.
+ * @throws ELException   if an exception was throws while 
performing the property resolution. The thrown
+ *   exception must be included as the 
cause of this exception, if available.
+ */
+@Override
+public Object getValue(ELContext context, Object base, Object property) {
+Objects.requireNonNull(context);
+
+if (base instanceof Record) {
+context.setPropertyResolved(base, property);
+
+String propertyName = String.valueOf(property);
+
+Method method;
+try {
+method = base.getClass().getMethod(propertyName);
+} catch (NoSuchMethodException nsme) {
+throw new PropertyNotFoundException(
+Util.message(context, "propertyNotFound", 
base.getClass().getName(), property.toString()),
+nsme);
+}
+
+try {
+return method.invoke(base);
+} catch (ReflectiveOperationException e) {
+thro

[Bug 67927] New: TLSCertificateReloadListener triggers race condition (?) in OpenSSL code which causes the JVM to die

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67927

Bug ID: 67927
   Summary: TLSCertificateReloadListener triggers race condition
(?) in OpenSSL code which causes the JVM to die
   Product: Tomcat 9
   Version: 9.0.x
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: Connectors
  Assignee: dev@tomcat.apache.org
  Reporter: micha...@apache.org
  Target Milestone: -

This has been verified on Tomcat 9 from
bec7a51d7fc3fb913c755b258169d1816b77bea5, but I guess this happens on all
Tomcat versions.

* OS: Windows 10 and HP-UX
* Java 8 in both cases
* tomcat-native 1.2.39 and 1.2.38
* OpenSSL 3.0.11 and 1.1.1t

Reproducing on Windows is harder, on HP-UX it fails quite fast.

Reproducer:
* Take the connector configs from
https://bz.apache.org/bugzilla/show_bug.cgi?id=67666#c0.
* Configure listener: 
>  className="org.apache.catalina.security.TLSCertificateReloadListener" 
> checkPeriod="30" daysBefore="1" />
* Generate a soon to expire certificate or already expired which will trigger
the listener
* Start Tomcat and you should start to see the listener warning you
* Run:
> while true ; do for port in 20001 20002 20003 20004 30001 30002 ; do echo -n 
> "$port: "; echo Q | openssl s_client -connect localhost:$port -brief 2>&1 | 
> grep -e DONE -e errno  ; done; done
You should see repeating:
> ...
> 20001: DONE
> 20002: DONE
> 20003: DONE
> 20004: DONE
> 30001: DONE
> 30002: DONE
> ...
> 20004: DONE
> 30001: write:errno=232
> 30002: write:errno=232
> 20001: connect:errno=239
> 20002: connect:errno=239
> 20003: connect:errno=239
> 20004: connect:errno=239
> ...
* Run:
> tail -f logs/catalina.out
and see the JVM crash.

On Windows I see:
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  EXCEPTION_ACCESS_VIOLATION (0xc005) at pc=0x01ec4bf30f9a, 
> pid=5240, tid=0x5b40
> #
> # JRE version: OpenJDK Runtime Environment (Zulu 8.68.0.21-CA-win64) 
> (8.0_362-b09) (build 1.8.0_362-b09)
> # Java VM: OpenJDK 64-Bit Server VM (25.362-b09 mixed mode windows-amd64 
> compressed oops)
> # Problematic frame:
> # C  [tcnative-1.dll+0x80f9a]
> #
> 
> 
> Stack: [0x00978520,0x00978530],  sp=0x0097852febb0,  free 
> space=1018k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
> code)
> C  [tcnative-1.dll+0x80f9a]
> C  [tcnative-1.dll+0x2d580]
> C  [tcnative-1.dll+0x10256]
> C  [tcnative-1.dll+0x10c8f]
> C  0x01ec2f0e9d8e
> 
> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
> j  org.apache.tomcat.jni.SSLSocket.attach(JJ)I+0
> j  
> org.apache.tomcat.util.net.AprEndpoint.setSocketOptions(Lorg/apache/tomcat/util/net/SocketWrapperBase;)Z+114
> j  org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run()V+32
> j  
> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(Lorg/apache/tomcat/util/threads/ThreadPoolExecutor$Worker;)V+92
> j  org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run()V+5
> j  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run()V+4
> j  java.lang.Thread.run()V+11
> v  ~StubRoutines::call_stub

On HP-UX I see:
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  SIGSEGV (11) at pc=c97d00b0, pid=6253, tid=80
> #
> # JRE version: Java(TM) SE Runtime Environment (8.0) (build 1.8.0.26-hp-ux-b1)
> # Java VM: Java HotSpot(TM) Server VM (25.26-b1 mixed mode hp-ux-ia64 )
> # Problematic frame:
> # C  [libcrypto.so.1.1+0x4ab727a0]  OPENSSL_sk_dup+0x4ac131b0
> #
> # Core dump written. Default location: /var/opt/tomcat90-eval/core or 
> core.6253 (max size 2097151 kB). To ensure a full core dump, try "ulimit -c 
> unlimited" before starting Java again
> #
> #  Please report this error to HPE customer support.
> #
> 
> ---  T H R E A D  ---
> 
> Current thread (018dd000):  JavaThread "https-openssl-apr-30002-exec-1" 
> daemon [_thread_in_native, id=80, lwp_id=7915536, stack(54b01000,54b41000)]
> 
> siginfo: si_signo: 11 (SIGSEGV), si_code: 2 (SEGV_ACCERR), si_addr: 0008
> ...
> Stack: [54b01000,54b41000],  sp=54b40a90,  free space=254k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
> code)
> C  [libcrypto.so.1.1+0x4ab727a0]  OPENSSL_sk_dup+0x4ac131b0
> 
> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
> j  org.apache.tomcat.jni.SSLSocket.attach(JJ)I+0
> j  
> org.apache.tomcat.util.net.AprEndpoint.setSocketOptions(Lorg/apache/tomcat/util/net/SocketWrapperBase;)Z+114
> j  org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run()V+32
> j  
> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(Lorg/apache/tomcat/util/threads/ThreadPoolExecutor$Worker;)V+92
> j  org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run()V+5
> j  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(

[Bug 67927] TLSCertificateReloadListener triggers race condition (?) in OpenSSL code which causes the JVM to die

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67927

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 67927] TLSCertificateReloadListener triggers race condition (?) in OpenSSL code which causes the JVM to die

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67927

--- Comment #1 from Michael Osipov  ---
Before you ask: Yes, I know the low checkPeriod is silly, but it still should
not cause a crash, at most a performance degregation during the reload phase.

-- 
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 67927] TLSCertificateReloadListener triggers race condition (?) in OpenSSL code which causes the JVM to die

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67927

--- Comment #2 from Michael Osipov  ---
Mapping from errno.h on HP-UX:
> #  define ECONNRESET232 /* Connection reset by peer */
> #  define ECONNREFUSED  239 /* Connection refused */

-- 
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 67927] TLSCertificateReloadListener triggers race condition (?) in OpenSSL code which causes the JVM to die

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67927

--- Comment #3 from Mark Thomas  ---
Can you reproduce this with NioEndpoint+OpenSSL or is this AprEndpoint
specific?

-- 
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: Better alignment with BeanELResolver

2023-10-25 Thread markt
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 0d78d573d3 Better alignment with BeanELResolver
0d78d573d3 is described below

commit 0d78d573d31abb95c901a8171e718ea534d4ee15
Author: Mark Thomas 
AuthorDate: Wed Oct 25 18:04:02 2023 +0100

Better alignment with BeanELResolver
---
 java/jakarta/el/RecordELResolver.java | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/java/jakarta/el/RecordELResolver.java 
b/java/jakarta/el/RecordELResolver.java
index b12bd66bd0..55ba2f5baf 100644
--- a/java/jakarta/el/RecordELResolver.java
+++ b/java/jakarta/el/RecordELResolver.java
@@ -22,8 +22,8 @@ import java.util.Objects;
 /**
  * Defines property resolution behavior on instances of {@link Record}.
  * 
- * The resolver handles base objects of type {@link Record}. It accepts any 
object as a property and coerces it to a
- * String using {@code String#valueOf(Object)}. The property string is used to 
find find an accessor method for a field
+ * The resolver handles base objects of type {@link Record}. It accepts any 
non-{@code null} object as a property and coerces it to a
+ * String using {@link Object#toString()}. The property string is used to find 
find an accessor method for a field
  * with the same name.
  * 
  * This resolver is always read-only since {@link Record}s are always 
read-only.
@@ -57,17 +57,17 @@ public class RecordELResolver extends ELResolver {
 public Object getValue(ELContext context, Object base, Object property) {
 Objects.requireNonNull(context);
 
-if (base instanceof Record) {
+if (base instanceof Record && property != null) {
 context.setPropertyResolved(base, property);
 
-String propertyName = String.valueOf(property);
+String propertyName = property.toString();
 
 Method method;
 try {
 method = base.getClass().getMethod(propertyName);
 } catch (NoSuchMethodException nsme) {
 throw new PropertyNotFoundException(
-Util.message(context, "propertyNotFound", 
base.getClass().getName(), property.toString()),
+Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName),
 nsme);
 }
 
@@ -75,7 +75,7 @@ public class RecordELResolver extends ELResolver {
 return method.invoke(base);
 } catch (ReflectiveOperationException e) {
 throw new ELException(
-Util.message(context, "propertyReadError", 
base.getClass().getName(), property.toString()), e);
+Util.message(context, "propertyReadError", 
base.getClass().getName(), propertyName), e);
 }
 }
 return null;
@@ -103,16 +103,16 @@ public class RecordELResolver extends ELResolver {
 @Override
 public Class getType(ELContext context, Object base, Object property) {
 Objects.requireNonNull(context);
-if (base instanceof Record) {
+if (base instanceof Record && property != null) {
 context.setPropertyResolved(base, property);
 
-String propertyName = String.valueOf(property);
+String propertyName = property.toString();
 
 try {
 base.getClass().getMethod(propertyName);
 } catch (NoSuchMethodException nsme) {
 throw new PropertyNotFoundException(
-Util.message(context, "propertyNotFound", 
base.getClass().getName(), property.toString()),
+Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName),
 nsme);
 }
 }
@@ -141,16 +141,16 @@ public class RecordELResolver extends ELResolver {
 @Override
 public void setValue(ELContext context, Object base, Object property, 
Object value) {
 Objects.requireNonNull(context);
-if (base instanceof Record) {
+if (base instanceof Record && property != null) {
 context.setPropertyResolved(base, property);
 
-String propertyName = String.valueOf(property);
+String propertyName = property.toString();
 
 try {
 base.getClass().getMethod(propertyName);
 } catch (NoSuchMethodException nsme) {
 throw new PropertyNotFoundException(
-Util.message(context, "propertyNotFound", 
base.getClass().getName(), property.toString()),
+Util.message(context, "propertyNotFound", 
base.getClass().getName(), propertyName),
 nsme);
 }
 
@@ -178,16 +178,16 @@ public class RecordELResolver extends ELResolv

[Bug 67927] TLSCertificateReloadListener triggers race condition (?) in OpenSSL code which causes the JVM to die

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67927

--- Comment #4 from Michael Osipov  ---
(In reply to Mark Thomas from comment #3)
> Can you reproduce this with NioEndpoint+OpenSSL or is this AprEndpoint
> specific?

Unfortunately, yes:

> Stack: [0x004466a0,0x004466b0],  sp=0x004466afee10,  free 
> space=1019k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
> code)
> C  [tcnative-1.dll+0x2d31c]
> C  [tcnative-1.dll+0xa9d2]
> C  0x0232523b9d8e
> 
> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
> j  org.apache.tomcat.jni.SSL.newSSL(JZ)J+0
> j  
> org.apache.tomcat.util.net.openssl.OpenSSLEngine.(JLjava/lang/String;ZLorg/apache/tomcat/util/net/openssl/OpenSSLSessionContext;ZZIZ)V+75
> j  
> org.apache.tomcat.util.net.openssl.OpenSSLContext.createSSLEngine()Ljavax/net/ssl/SSLEngine;+68
> j  
> org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLEngine(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)Ljavax/net/ssl/SSLEngine;+54
> j  org.apache.tomcat.util.net.SecureNioChannel.processSNI()I+368
> j  org.apache.tomcat.util.net.SecureNioChannel.handshake(ZZ)I+17
> j  org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun()V+118
> j  org.apache.tomcat.util.net.SocketProcessorBase.run()V+32
> j  
> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(Lorg/apache/tomcat/util/threads/ThreadPoolExecutor$Worker;)V+92
> j  org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run()V+5
> j  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run()V+4
> j  java.lang.Thread.run()V+11
> v  ~StubRoutines::call_stub

-- 
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 67927] TLSCertificateReloadListener triggers race condition (?) in OpenSSL code which causes the JVM to die

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67927

--- Comment #5 from Michael Osipov  ---
I will continue testing on Friday. I have an idea how to provoke this. I
noticed this especially with I tested
https://github.com/apache/tomcat-native/pull/22 locally.

-- 
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 67783] Fault when starting tomcat with a pkcs12 keystore that contains the TrustedKeyUsage OID

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67783

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #1 from Mark Thomas  ---
Based on a review of the openssl issue and
https://github.com/kaikramer/keystore-explorer/issues/452 and taking into
account Tomcat is using the standard KeyStore API here, I ma resolving this as
invalid as it looks like the Trusted Key Usage OID wasn't being used as Oracle
intended.

-- 
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 67628] OpenSSLCipherConfigurationParser#parse() produces misleading false positive cipher warnings

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67628

--- Comment #3 from Mark Thomas  ---
I think this is a documentation issue.

The intention was to:
- allow OpenSSL notation to be used with JSSE
- track ciphers and behaviour of latest OpenSSL development branch
- have consistent (as possible) behaviour between JSSE and OpenSSL for the same
cipher definition

It does this by converting the notation to a list of ciphers and then passing
that to JSSE or OpenSSL.

That behaviour changes if you use a different version of OpenSSL is something
that I think is good to highlight.

We could better document this by:
- adding most of the above (not necessarily exactly in that form) to the docs
for ciphers
- amend the log message to note that this is expected if you run on older JDKs
and/or older OpenSSL and reference the cipher docs

Thoughts?

-- 
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: Fix typo.

2023-10-25 Thread lihan
This is an automated email from the ASF dual-hosted git repository.

lihan 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 7400288181 Fix typo.
7400288181 is described below

commit 74002881816ff47dbfa0430962f12a63a93891f4
Author: lihan 
AuthorDate: Thu Oct 26 10:26:10 2023 +0800

Fix typo.
---
 java/jakarta/el/RecordELResolver.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/java/jakarta/el/RecordELResolver.java 
b/java/jakarta/el/RecordELResolver.java
index 55ba2f5baf..0f21bb1e38 100644
--- a/java/jakarta/el/RecordELResolver.java
+++ b/java/jakarta/el/RecordELResolver.java
@@ -23,7 +23,7 @@ import java.util.Objects;
  * Defines property resolution behavior on instances of {@link Record}.
  * 
  * The resolver handles base objects of type {@link Record}. It accepts any 
non-{@code null} object as a property and coerces it to a
- * String using {@link Object#toString()}. The property string is used to find 
find an accessor method for a field
+ * String using {@link Object#toString()}. The property string is used to find 
an accessor method for a field
  * with the same name.
  * 
  * This resolver is always read-only since {@link Record}s are always 
read-only.


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



[Bug 67926] PEMFile prints unidentifiable string representation of ASN.1 OIDs

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67926

Han Li  changed:

   What|Removed |Added

   Keywords||Beginner

-- 
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: [PR] Fix NioChannel's toString() throwing NullPointerException in some cases [tomcat]

2023-10-25 Thread via GitHub


aooohan merged PR #671:
URL: https://github.com/apache/tomcat/pull/671


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[tomcat] branch main updated: Fix Nio/Nio2Channel's toString() throwing NPE in some cases (#671)

2023-10-25 Thread lihan
This is an automated email from the ASF dual-hosted git repository.

lihan 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 3ef8fb6fb6 Fix Nio/Nio2Channel's toString() throwing NPE in some cases 
(#671)
3ef8fb6fb6 is described below

commit 3ef8fb6fb6fda60dce304ba4842a5b32dc28b459
Author: chenggwang <90715678+chenggw...@users.noreply.github.com>
AuthorDate: Thu Oct 26 10:33:14 2023 +0800

Fix Nio/Nio2Channel's toString() throwing NPE in some cases (#671)

* Fix NioChannel and Nio2Channel's toString() throwing NPE in some cases

NioChannel's toString() causes NioEndpoint's setSocketOptions method to 
throw a NullPointerException in some scenarios (e.g. idea breakpoint debugging).
---
 java/org/apache/tomcat/util/net/Nio2Channel.java | 2 +-
 java/org/apache/tomcat/util/net/NioChannel.java  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/tomcat/util/net/Nio2Channel.java 
b/java/org/apache/tomcat/util/net/Nio2Channel.java
index 603c43f416..be816eb280 100644
--- a/java/org/apache/tomcat/util/net/Nio2Channel.java
+++ b/java/org/apache/tomcat/util/net/Nio2Channel.java
@@ -136,7 +136,7 @@ public class Nio2Channel implements AsynchronousByteChannel 
{
 
 @Override
 public String toString() {
-return super.toString() + ":" + sc.toString();
+return super.toString() + ":" + sc;
 }
 
 @Override
diff --git a/java/org/apache/tomcat/util/net/NioChannel.java 
b/java/org/apache/tomcat/util/net/NioChannel.java
index d263ce9ae6..6ddf5637f0 100644
--- a/java/org/apache/tomcat/util/net/NioChannel.java
+++ b/java/org/apache/tomcat/util/net/NioChannel.java
@@ -185,7 +185,7 @@ public class NioChannel implements ByteChannel, 
ScatteringByteChannel, Gathering
 
 @Override
 public String toString() {
-return super.toString() + ":" + sc.toString();
+return super.toString() + ":" + sc;
 }
 
 public int getOutboundRemaining() {


-
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: Fix Nio/Nio2Channel's toString() throwing NPE in some cases (#671)

2023-10-25 Thread lihan
This is an automated email from the ASF dual-hosted git repository.

lihan 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 011860ca74 Fix Nio/Nio2Channel's toString() throwing NPE in some cases 
(#671)
011860ca74 is described below

commit 011860ca7461fcb26cb464f751792db7bb2886da
Author: chenggwang <90715678+chenggw...@users.noreply.github.com>
AuthorDate: Thu Oct 26 10:33:14 2023 +0800

Fix Nio/Nio2Channel's toString() throwing NPE in some cases (#671)

* Fix NioChannel and Nio2Channel's toString() throwing NPE in some cases

NioChannel's toString() causes NioEndpoint's setSocketOptions method to 
throw a NullPointerException in some scenarios (e.g. idea breakpoint debugging).

(cherry picked from commit 3ef8fb6fb6fda60dce304ba4842a5b32dc28b459)
---
 java/org/apache/tomcat/util/net/Nio2Channel.java | 2 +-
 java/org/apache/tomcat/util/net/NioChannel.java  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/tomcat/util/net/Nio2Channel.java 
b/java/org/apache/tomcat/util/net/Nio2Channel.java
index 603c43f416..be816eb280 100644
--- a/java/org/apache/tomcat/util/net/Nio2Channel.java
+++ b/java/org/apache/tomcat/util/net/Nio2Channel.java
@@ -136,7 +136,7 @@ public class Nio2Channel implements AsynchronousByteChannel 
{
 
 @Override
 public String toString() {
-return super.toString() + ":" + sc.toString();
+return super.toString() + ":" + sc;
 }
 
 @Override
diff --git a/java/org/apache/tomcat/util/net/NioChannel.java 
b/java/org/apache/tomcat/util/net/NioChannel.java
index d263ce9ae6..6ddf5637f0 100644
--- a/java/org/apache/tomcat/util/net/NioChannel.java
+++ b/java/org/apache/tomcat/util/net/NioChannel.java
@@ -185,7 +185,7 @@ public class NioChannel implements ByteChannel, 
ScatteringByteChannel, Gathering
 
 @Override
 public String toString() {
-return super.toString() + ":" + sc.toString();
+return super.toString() + ":" + sc;
 }
 
 public int getOutboundRemaining() {


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



[tomcat] branch 9.0.x updated: Fix Nio/Nio2Channel's toString() throwing NPE in some cases (#671)

2023-10-25 Thread lihan
This is an automated email from the ASF dual-hosted git repository.

lihan 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 ea7db77568 Fix Nio/Nio2Channel's toString() throwing NPE in some cases 
(#671)
ea7db77568 is described below

commit ea7db77568b293ad371969d9ee034b39a668b8b9
Author: chenggwang <90715678+chenggw...@users.noreply.github.com>
AuthorDate: Thu Oct 26 10:33:14 2023 +0800

Fix Nio/Nio2Channel's toString() throwing NPE in some cases (#671)

* Fix NioChannel and Nio2Channel's toString() throwing NPE in some cases

NioChannel's toString() causes NioEndpoint's setSocketOptions method to 
throw a NullPointerException in some scenarios (e.g. idea breakpoint debugging).

(cherry picked from commit 3ef8fb6fb6fda60dce304ba4842a5b32dc28b459)
---
 java/org/apache/tomcat/util/net/Nio2Channel.java | 2 +-
 java/org/apache/tomcat/util/net/NioChannel.java  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/tomcat/util/net/Nio2Channel.java 
b/java/org/apache/tomcat/util/net/Nio2Channel.java
index a2612fd0c1..181f12913c 100644
--- a/java/org/apache/tomcat/util/net/Nio2Channel.java
+++ b/java/org/apache/tomcat/util/net/Nio2Channel.java
@@ -136,7 +136,7 @@ public class Nio2Channel implements AsynchronousByteChannel 
{
 
 @Override
 public String toString() {
-return super.toString() + ":" + sc.toString();
+return super.toString() + ":" + sc;
 }
 
 @Override
diff --git a/java/org/apache/tomcat/util/net/NioChannel.java 
b/java/org/apache/tomcat/util/net/NioChannel.java
index 8e3cb4f0e1..96493ed75a 100644
--- a/java/org/apache/tomcat/util/net/NioChannel.java
+++ b/java/org/apache/tomcat/util/net/NioChannel.java
@@ -203,7 +203,7 @@ public class NioChannel implements ByteChannel, 
ScatteringByteChannel, Gathering
 
 @Override
 public String toString() {
-return super.toString() + ":" + sc.toString();
+return super.toString() + ":" + sc;
 }
 
 public int getOutboundRemaining() {


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



[tomcat] branch 8.5.x updated: Fix Nio/Nio2Channel's toString() throwing NPE in some cases (#671)

2023-10-25 Thread lihan
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 9b3c28da7e Fix Nio/Nio2Channel's toString() throwing NPE in some cases 
(#671)
9b3c28da7e is described below

commit 9b3c28da7ec8ddbd721b127f7f3b0a7d475ab797
Author: chenggwang <90715678+chenggw...@users.noreply.github.com>
AuthorDate: Thu Oct 26 10:33:14 2023 +0800

Fix Nio/Nio2Channel's toString() throwing NPE in some cases (#671)

* Fix NioChannel and Nio2Channel's toString() throwing NPE in some cases

NioChannel's toString() causes NioEndpoint's setSocketOptions method to 
throw a NullPointerException in some scenarios (e.g. idea breakpoint debugging).

(cherry picked from commit 3ef8fb6fb6fda60dce304ba4842a5b32dc28b459)
---
 java/org/apache/tomcat/util/net/Nio2Channel.java | 2 +-
 java/org/apache/tomcat/util/net/NioChannel.java  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/tomcat/util/net/Nio2Channel.java 
b/java/org/apache/tomcat/util/net/Nio2Channel.java
index a2612fd0c1..181f12913c 100644
--- a/java/org/apache/tomcat/util/net/Nio2Channel.java
+++ b/java/org/apache/tomcat/util/net/Nio2Channel.java
@@ -136,7 +136,7 @@ public class Nio2Channel implements AsynchronousByteChannel 
{
 
 @Override
 public String toString() {
-return super.toString() + ":" + sc.toString();
+return super.toString() + ":" + sc;
 }
 
 @Override
diff --git a/java/org/apache/tomcat/util/net/NioChannel.java 
b/java/org/apache/tomcat/util/net/NioChannel.java
index 8e3cb4f0e1..96493ed75a 100644
--- a/java/org/apache/tomcat/util/net/NioChannel.java
+++ b/java/org/apache/tomcat/util/net/NioChannel.java
@@ -203,7 +203,7 @@ public class NioChannel implements ByteChannel, 
ScatteringByteChannel, Gathering
 
 @Override
 public String toString() {
-return super.toString() + ":" + sc.toString();
+return super.toString() + ":" + sc;
 }
 
 public int getOutboundRemaining() {


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



Re: [PR] Fix NioChannel's toString() throwing NullPointerException in some cases [tomcat]

2023-10-25 Thread via GitHub


aooohan commented on PR #671:
URL: https://github.com/apache/tomcat/pull/671#issuecomment-1780324734

   Thanks for the PR.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Add support for CIDR notation in `RemoteIpFilter` [tomcat]

2023-10-25 Thread via GitHub


aooohan commented on PR #632:
URL: https://github.com/apache/tomcat/pull/632#issuecomment-1780327810

   Hi, If you want this PR to merge smoothly, please modify this change 
according to marktā€˜s comment.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



Re: [PR] Fix NioChannel's toString() throwing NullPointerException in some cases [tomcat]

2023-10-25 Thread via GitHub


chenggwang commented on PR #671:
URL: https://github.com/apache/tomcat/pull/671#issuecomment-1780424297

   > Thanks for the PR.
   Thanks for all the REVIEWS!
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[Bug 67926] PEMFile prints unidentifiable string representation of ASN.1 OIDs

2023-10-25 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=67926

--- Comment #3 from Michael Osipov  ---
I think the easiest solution is to use org.ietf.jgss.Oid.Oid(byte[]) and the
invoke #toString()

-- 
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