You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jo...@apache.org on 2021/08/06 16:29:43 UTC

[mina] branch bugfix/DIRMINA1132 updated: improves engine customization

This is an automated email from the ASF dual-hosted git repository.

johnnyv pushed a commit to branch bugfix/DIRMINA1132
in repository https://gitbox.apache.org/repos/asf/mina.git


The following commit(s) were added to refs/heads/bugfix/DIRMINA1132 by this push:
     new 86119e3  improves engine customization
86119e3 is described below

commit 86119e3c8ce9a9a2363dbe7d4d928ef42790f298
Author: Jonathan Valliere <jo...@apache.org>
AuthorDate: Fri Aug 6 12:29:07 2021 -0400

    improves engine customization
    
    - removes #onEngineCreated and adds #createEngine.  Using #createEngine
    allows for overrides to apply more customizations such as the
    InetSocketAddress and other properties earlier in the pipeline.
---
 .../org/apache/mina/filter/ssl2/SSL2Filter.java    | 34 ++++++++++++----------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java
index d5119ac..0b36259 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java
@@ -213,18 +213,8 @@ public class SSL2Filter extends IoFilterAdapter {
 		SSL2Handler x = SSL2Handler.class.cast(session.getAttribute(SSL_HANDLER));
 
 		if (x == null) {
-			InetSocketAddress s = InetSocketAddress.class.cast(session.getRemoteAddress());
-			SSLEngine e = mContext.createSSLEngine(s.getHostString(), s.getPort());
-			e.setNeedClientAuth(mNeedClientAuth);
-			e.setWantClientAuth(mWantClientAuth);
-			if (this.mEnabledCipherSuites != null) {
-				e.setEnabledCipherSuites(this.mEnabledCipherSuites);
-			}
-			if (this.mEnabledProtocols != null) {
-				e.setEnabledProtocols(this.mEnabledProtocols);
-			}
-			e.setUseClientMode(!session.isServer());
-			this.onEngineCreated(session, e);
+			final InetSocketAddress s = InetSocketAddress.class.cast(session.getRemoteAddress());
+			final SSLEngine e = this.createEngine(session, s);
 			x = new SSL2HandlerG0(e, EXECUTOR, session);
 			session.setAttribute(SSL_HANDLER, x);
 		}
@@ -233,13 +223,25 @@ public class SSL2Filter extends IoFilterAdapter {
 	}
 
 	/**
-	 * Customization handler for init of the engine
+	 * Customization handler for creating the engine
 	 * 
 	 * @param session
-	 * @param engine
+	 * @param s
+	 * @return an SSLEngine
 	 */
-	protected void onEngineCreated(IoSession session, SSLEngine engine) {
-
+	protected SSLEngine createEngine(IoSession session, InetSocketAddress s) {
+		SSLEngine e = (s != null) ? mContext.createSSLEngine(s.getHostString(), s.getPort())
+				: mContext.createSSLEngine();
+		e.setNeedClientAuth(mNeedClientAuth);
+		e.setWantClientAuth(mWantClientAuth);
+		if (this.mEnabledCipherSuites != null) {
+			e.setEnabledCipherSuites(this.mEnabledCipherSuites);
+		}
+		if (this.mEnabledProtocols != null) {
+			e.setEnabledProtocols(this.mEnabledProtocols);
+		}
+		e.setUseClientMode(!session.isServer());
+		return e;
 	}
 
 	/**