You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2022/04/01 16:58:52 UTC
[mina] branch 2.2.X updated: o Fixed an issue with the setting of both NEED and WANT flags o Some minor code formatting
This is an automated email from the ASF dual-hosted git repository.
elecharny pushed a commit to branch 2.2.X
in repository https://gitbox.apache.org/repos/asf/mina.git
The following commit(s) were added to refs/heads/2.2.X by this push:
new d57397c o Fixed an issue with the setting of both NEED and WANT flags o Some minor code formatting
d57397c is described below
commit d57397c3db02b3a8148cd8ff6034f54b212f136a
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Fri Apr 1 18:58:25 2022 +0200
o Fixed an issue with the setting of both NEED and WANT flags
o Some minor code formatting
---
.../org/apache/mina/filter/logging/MdcInjectionFilter.java | 8 ++++++--
.../main/java/org/apache/mina/filter/ssl/SSLHandlerG0.java | 6 ++----
.../src/main/java/org/apache/mina/filter/ssl/SslFilter.java | 12 ++++++++++--
3 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/mina-core/src/main/java/org/apache/mina/filter/logging/MdcInjectionFilter.java b/mina-core/src/main/java/org/apache/mina/filter/logging/MdcInjectionFilter.java
index 45f7afc..ed3979f 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/logging/MdcInjectionFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/logging/MdcInjectionFilter.java
@@ -20,11 +20,11 @@
package org.apache.mina.filter.logging;
import java.net.InetSocketAddress;
+import java.util.Arrays;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import java.util.Arrays;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.mina.core.filterchain.IoFilterEvent;
@@ -136,7 +136,7 @@ public class MdcInjectionFilter extends CommonEventFilter {
* Create a new MdcInjectionFilter instance
*/
public MdcInjectionFilter() {
- this.mdcKeys = EnumSet.allOf(MdcKey.class);
+ mdcKeys = EnumSet.allOf(MdcKey.class);
}
/**
@@ -166,6 +166,7 @@ public class MdcInjectionFilter extends CommonEventFilter {
for (String key : context.keySet()) {
MDC.remove(key);
}
+
callDepth.remove();
} else {
callDepth.set(currentCallDepth);
@@ -175,9 +176,11 @@ public class MdcInjectionFilter extends CommonEventFilter {
private Map<String, String> getAndFillContext(final IoSession session) {
Map<String, String> context = getContext(session);
+
if (context.isEmpty()) {
fillContext(session, context);
}
+
return context;
}
@@ -189,6 +192,7 @@ public class MdcInjectionFilter extends CommonEventFilter {
context = new ConcurrentHashMap<>();
session.setAttribute(CONTEXT_KEY, context);
}
+
return context;
}
diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLHandlerG0.java b/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLHandlerG0.java
index 31c35f5..53d2da9 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLHandlerG0.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLHandlerG0.java
@@ -427,8 +427,7 @@ public class SSLHandlerG0 extends SslHandler {
LOGGER.debug("{} write_user_loop() - handshake needs task, scheduling", toString());
}
- //schedule_task(next);
- execute_task(next);
+ schedule_task(next);
break;
case NEED_WRAP:
@@ -562,8 +561,7 @@ public class SSLHandlerG0 extends SslHandler {
LOGGER.debug("{} write_handshake_loop() - handshake needs task, scheduling", toString());
}
- //schedule_task(next);
- execute_task(next);
+ schedule_task(next);
break;
case FINISHED:
diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
index 2503d26..1b93f5e 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
@@ -271,8 +271,16 @@ public class SslFilter extends IoFilterAdapter {
protected SSLEngine createEngine(IoSession session, InetSocketAddress addr) {
SSLEngine sslEngine = (addr != null) ? sslContext.createSSLEngine(addr.getHostString(), addr.getPort())
: sslContext.createSSLEngine();
- sslEngine.setNeedClientAuth(needClientAuth);
- sslEngine.setWantClientAuth(wantClientAuth);
+
+ // Always start with WANT, which will be squashed by NEED if NEED is true.
+ // Actually, it makes not a lot of sense to select NEED and WANT. NEED >> WANT...
+ if (wantClientAuth) {
+ sslEngine.setWantClientAuth(true);
+ }
+
+ if (needClientAuth) {
+ sslEngine.setNeedClientAuth(true);
+ }
if (enabledCipherSuites != null) {
sslEngine.setEnabledCipherSuites(enabledCipherSuites);