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
commit f64544006e9714541e1b472cef5be58148a3fd01 Author: emmanuel lecharny <elecha...@apache.org> AuthorDate: Tue Mar 15 14:31:41 2022 +0100 o Renamed SSLxxx classes to Sslxxx to keep an ascendant compatibility o Used meaningful variable nales o Removed useless 'this' o Removed useless 'final' o Transmitted the nexwt filter to the throw_pending_error() method in order to be able to write back the Alert to the remote peer o Write the Alter back to the remote peer in the receive_loop() method when the inbound has been closed following an error while processing a task o Quick exit the receive_loop() method if the read message is empty o Minor formatting (added nl, etc) o Added missing javadoc --- .../org/apache/mina/filter/ssl/SSLHandlerG0.java | 381 ++++++++++++++------- ...LContextFactory.java => SslContextFactory.java} | 2 +- .../filter/ssl/{SSLEvent.java => SslEvent.java} | 2 +- .../filter/ssl/{SSLFilter.java => SslFilter.java} | 30 +- .../ssl/{SSLHandler.java => SslHandler.java} | 6 +- .../transport/socket/nio/NioSocketSession.java | 4 +- .../SSLTestHandshakeExceptionDIRMINA1077Test.java | 6 +- .../ssl/{SSLFilterMain.java => SslFilterMain.java} | 8 +- .../java/org/apache/mina/example/chat/Main.java | 4 +- .../example/chat/client/ChatClientSupport.java | 4 +- .../org/apache/mina/example/echoserver/Main.java | 4 +- .../apache/mina/example/tcp/perf/TcpSslClient.java | 4 +- .../apache/mina/example/tcp/perf/TcpSslServer.java | 4 +- .../org/apache/mina/example/chat/serverContext.xml | 4 +- .../mina/example/echoserver/AbstractTest.java | 4 +- .../mina/example/echoserver/ConnectorTest.java | 10 +- .../ssl/{SSLFilterTest.java => SslFilterTest.java} | 8 +- 17 files changed, 304 insertions(+), 181 deletions(-) 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 76f2d53..31c35f5 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 @@ -42,7 +42,7 @@ import org.apache.mina.core.write.WriteRequest; * @author Jonathan Valliere * @author <a href="http://mina.apache.org">Apache MINA Project</a> */ -public class SSLHandlerG0 extends SSLHandler { +public class SSLHandlerG0 extends SslHandler { /** * Maximum number of queued messages waiting for encoding @@ -102,12 +102,12 @@ public class SSLHandlerG0 extends SSLHandler { /** * Instantiates a new handler * - * @param p engine - * @param e executor - * @param s session + * @param sslEngine The SSLEngine instance + * @param executor The executor instance to use to process tasks + * @param session The session to handle */ - public SSLHandlerG0(SSLEngine p, Executor e, IoSession s) { - super(p, e, s); + public SSLHandlerG0(SSLEngine sslEngine, Executor executor, IoSession session) { + super(sslEngine, executor, session); } /** @@ -115,7 +115,7 @@ public class SSLHandlerG0 extends SSLHandler { */ @Override public boolean isOpen() { - return this.mEngine.isOutboundDone() == false; + return mEngine.isOutboundDone() == false; } /** @@ -123,21 +123,24 @@ public class SSLHandlerG0 extends SSLHandler { */ @Override public boolean isConnected() { - return this.mHandshakeComplete && isOpen(); + return mHandshakeComplete && isOpen(); } /** * {@inheritDoc} */ - synchronized public void open(final NextFilter next) throws SSLException { - if (this.mHandshakeStarted == false) { - this.mHandshakeStarted = true; - if (this.mEngine.getUseClientMode()) { + @Override + synchronized public void open(NextFilter next) throws SSLException { + if (mHandshakeStarted == false) { + mHandshakeStarted = true; + + if (mEngine.getUseClientMode()) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} open() - begin handshaking", toString()); } - this.mEngine.beginHandshake(); - this.write_handshake(next); + + mEngine.beginHandshake(); + write_handshake(next); } } } @@ -145,51 +148,75 @@ public class SSLHandlerG0 extends SSLHandler { /** * {@inheritDoc} */ - synchronized public void receive(final NextFilter next, final IoBuffer message) throws SSLException { - if (this.mDecodeThread == null) { + @Override + synchronized public void receive(NextFilter next, IoBuffer message) throws SSLException { + if (mDecodeThread == null) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive() - message {}", toString(), message); } - this.mDecodeThread = Thread.currentThread(); - final IoBuffer source = resume_decode_buffer(message); + + mDecodeThread = Thread.currentThread(); + IoBuffer source = resume_decode_buffer(message); + try { - this.receive_loop(next, source); + receive_loop(next, source); } finally { suspend_decode_buffer(source); - this.mDecodeThread = null; + mDecodeThread = null; } } else { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive() - recursion", toString()); } - this.receive_loop(next, this.mDecodeBuffer); + + receive_loop(next, mDecodeBuffer); } - this.throw_pending_error(); + throw_pending_error(next); } /** * Process a received message * - * @param next - * @param message + * @param next The next filter + * @param message The message to process * - * @throws SSLException + * @throws SSLException If we get some error while processing the message */ @SuppressWarnings("incomplete-switch") - protected void receive_loop(final NextFilter next, final IoBuffer message) throws SSLException { + protected void receive_loop(NextFilter next, IoBuffer message) throws SSLException { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive_loop() - source {}", toString(), message); } if (mEngine.isInboundDone()) { - throw new IllegalStateException("closed"); + switch (mEngine.getHandshakeStatus()) { + case NEED_WRAP: + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("{} receive_loop() - handshake needs wrap, invoking write", toString()); + } + + write_handshake(next); + break; + } + + if ( mPendingError != null ) { + throw mPendingError; + } else { + throw new IllegalStateException("closed"); + } } - final IoBuffer source = message; - final IoBuffer dest = allocate_app_buffer(source.remaining()); + IoBuffer source = message; + + // No need to fo for another loop if the message is empty + if (source.remaining() == 0) { + return; + } + + IoBuffer dest = allocate_app_buffer(source.remaining()); - final SSLEngineResult result = mEngine.unwrap(source.buf(), dest.buf()); + SSLEngineResult result = mEngine.unwrap(source.buf(), dest.buf()); if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive_loop() - bytes-consumed {}, bytes-produced {}, status {}, handshake {}", @@ -201,10 +228,12 @@ public class SSLHandlerG0 extends SSLHandler { dest.free(); } else { dest.flip(); + if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive_loop() - result {}", toString(), dest); } - next.messageReceived(this.mSession, dest); + + next.messageReceived(mSession, dest); } switch (result.getHandshakeStatus()) { @@ -213,34 +242,44 @@ public class SSLHandlerG0 extends SSLHandler { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive_loop() - handshake needs unwrap, looping", toString()); } - this.receive_loop(next, message); + + receive_loop(next, message); } + break; case NEED_TASK: if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive_loop() - handshake needs task, scheduling", toString()); } - this.schedule_task(next); + + execute_task(next); + break; case NEED_WRAP: if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive_loop() - handshake needs wrap, invoking write", toString()); } - this.write_handshake(next); + + write_handshake(next); break; + case FINISHED: if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive_loop() - handshake finished, flushing queue", toString()); } - this.finish_handshake(next); + + finish_handshake(next); break; + case NOT_HANDSHAKING: if ((result.bytesProduced() != 0 || result.bytesConsumed() != 0) && message.hasRemaining()) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} receive_loop() - trying to decode more messages, looping", toString()); } - this.receive_loop(next, message); + + receive_loop(next, message); } + break; } } @@ -248,55 +287,62 @@ public class SSLHandlerG0 extends SSLHandler { /** * {@inheritDoc} */ - synchronized public void ack(final NextFilter next, final WriteRequest request) throws SSLException { - if (this.mAckQueue.remove(request)) { + @Override + synchronized public void ack(NextFilter next, WriteRequest request) throws SSLException { + if (mAckQueue.remove(request)) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} ack() - {}", toString(), request); } + if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} ack() - checking to see if any messages can be flushed", toString(), request); } - this.flush(next); + + flush(next); } - this.throw_pending_error(); + throw_pending_error(next); } /** * {@inheritDoc} */ - synchronized public void write(final NextFilter next, final WriteRequest request) - throws SSLException, WriteRejectedException { + @Override + synchronized public void write(NextFilter next, WriteRequest request) throws SSLException, WriteRejectedException { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write() - source {}", toString(), request); } - if (this.mOutboundClosing) { + if (mOutboundClosing) { throw new WriteRejectedException(request, "closing"); } - if (this.mEncodeQueue.isEmpty()) { - if (this.write_user_loop(next, request) == false) { + if (mEncodeQueue.isEmpty()) { + if (write_user_loop(next, request) == false) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write() - unable to write right now, saving request for later", toString(), request); } - if (this.mEncodeQueue.size() == MAX_QUEUED_MESSAGES) { + + if (mEncodeQueue.size() == MAX_QUEUED_MESSAGES) { throw new BufferOverflowException(); } - this.mEncodeQueue.add(request); + + mEncodeQueue.add(request); } } else { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write() - unable to write right now, saving request for later", toString(), request); } - if (this.mEncodeQueue.size() == MAX_QUEUED_MESSAGES) { + + if (mEncodeQueue.size() == MAX_QUEUED_MESSAGES) { throw new BufferOverflowException(); } - this.mEncodeQueue.add(request); + + mEncodeQueue.add(request); } - this.throw_pending_error(); + throw_pending_error(next); } /** @@ -311,16 +357,15 @@ public class SSLHandlerG0 extends SSLHandler { * @throws SSLException */ @SuppressWarnings("incomplete-switch") - synchronized protected boolean write_user_loop(final NextFilter next, final WriteRequest request) - throws SSLException { + synchronized protected boolean write_user_loop(NextFilter next, WriteRequest request) throws SSLException { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_user_loop() - source {}", toString(), request); } - final IoBuffer source = IoBuffer.class.cast(request.getMessage()); - final IoBuffer dest = allocate_encode_buffer(source.remaining()); + IoBuffer source = IoBuffer.class.cast(request.getMessage()); + IoBuffer dest = allocate_encode_buffer(source.remaining()); - final SSLEngineResult result = this.mEngine.wrap(source.buf(), dest.buf()); + SSLEngineResult result = mEngine.wrap(source.buf(), dest.buf()); if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_user_loop() - bytes-consumed {}, bytes-produced {}, status {}, handshake {}", @@ -334,32 +379,42 @@ public class SSLHandlerG0 extends SSLHandler { if (result.bytesConsumed() == 0) { // an handshaking message must have been produced EncryptedWriteRequest encrypted = new EncryptedWriteRequest(dest, null); + if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_user_loop() - result {}", toString(), encrypted); } - next.filterWrite(this.mSession, encrypted); + + next.filterWrite(mSession, encrypted); // do not return because we want to enter the handshake switch } else { // then we probably consumed some data dest.flip(); + if (source.hasRemaining()) { EncryptedWriteRequest encrypted = new EncryptedWriteRequest(dest, null); - this.mAckQueue.add(encrypted); + mAckQueue.add(encrypted); + if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_user_loop() - result {}", toString(), encrypted); } - next.filterWrite(this.mSession, encrypted); - if (this.mAckQueue.size() < MAX_UNACK_MESSAGES) { + + next.filterWrite(mSession, encrypted); + + if (mAckQueue.size() < MAX_UNACK_MESSAGES) { return write_user_loop(next, request); // write additional chunks } + return false; } else { EncryptedWriteRequest encrypted = new EncryptedWriteRequest(dest, request); - this.mAckQueue.add(encrypted); + mAckQueue.add(encrypted); + if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_user_loop() - result {}", toString(), encrypted); } - next.filterWrite(this.mSession, encrypted); + + next.filterWrite(mSession, encrypted); + return true; } // we return because there is not reason to enter the handshake switch @@ -371,19 +426,26 @@ public class SSLHandlerG0 extends SSLHandler { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_user_loop() - handshake needs task, scheduling", toString()); } - this.schedule_task(next); + + //schedule_task(next); + execute_task(next); break; + case NEED_WRAP: if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_user_loop() - handshake needs wrap, looping", toString()); } - return this.write_user_loop(next, request); + + return write_user_loop(next, request); + case FINISHED: if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_user_loop() - handshake finished, flushing queue", toString()); } - this.finish_handshake(next); - return this.write_user_loop(next, request); + + finish_handshake(next); + + return write_user_loop(next, request); } return false; @@ -403,8 +465,9 @@ public class SSLHandlerG0 extends SSLHandler { LOGGER.debug("{} write_handshake() - internal", toString()); } - final IoBuffer source = ZERO; - final IoBuffer dest = allocate_encode_buffer(source.remaining()); + IoBuffer source = ZERO; + IoBuffer dest = allocate_encode_buffer(source.remaining()); + return write_handshake_loop(next, source, dest); } @@ -424,11 +487,11 @@ public class SSLHandlerG0 extends SSLHandler { */ @SuppressWarnings("incomplete-switch") protected boolean write_handshake_loop(NextFilter next, IoBuffer source, IoBuffer dest) throws SSLException { - if (this.mOutboundClosing && this.mEngine.isOutboundDone()) { + if (mOutboundClosing && mEngine.isOutboundDone()) { return false; } - final SSLEngineResult result = this.mEngine.wrap(source.buf(), dest.buf()); + SSLEngineResult result = mEngine.wrap(source.buf(), dest.buf()); if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_handshake_loop() - bytes-consumed {}, bytes-produced {}, status {}, handshake {}", @@ -455,23 +518,26 @@ public class SSLHandlerG0 extends SSLHandler { LOGGER.debug("{} write_handshake_loop() - handshake needs wrap, fast looping", toString()); } + return write_handshake_loop(next, source, dest); } break; } } - final boolean success = dest.position() != 0; + boolean success = dest.position() != 0; if (success == false) { dest.free(); } else { dest.flip(); + if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_handshake_loop() - result {}", toString(), dest); } - final EncryptedWriteRequest encrypted = new EncryptedWriteRequest(dest, null); - next.filterWrite(this.mSession, encrypted); + + EncryptedWriteRequest encrypted = new EncryptedWriteRequest(dest, null); + next.filterWrite(mSession, encrypted); } switch (result.getHandshakeStatus()) { @@ -479,25 +545,33 @@ public class SSLHandlerG0 extends SSLHandler { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_handshake_loop() - handshake needs unwrap, invoking receive", toString()); } - this.receive(next, ZERO); + + receive(next, ZERO); break; + case NEED_WRAP: if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_handshake_loop() - handshake needs wrap, looping", toString()); } - this.write_handshake(next); + + write_handshake(next); break; + case NEED_TASK: if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_handshake_loop() - handshake needs task, scheduling", toString()); } - this.schedule_task(next); + + //schedule_task(next); + execute_task(next); break; + case FINISHED: if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} write_handshake_loop() - handshake finished, flushing queue", toString()); } - this.finish_handshake(next); + + finish_handshake(next); break; } @@ -510,17 +584,18 @@ public class SSLHandlerG0 extends SSLHandler { * @param next * @throws SSLException */ - synchronized protected void finish_handshake(final NextFilter next) throws SSLException { - if (this.mHandshakeComplete == false) { - this.mHandshakeComplete = true; - this.mSession.setAttribute(SSLFilter.SSL_SECURED, this.mEngine.getSession()); - next.event(this.mSession, SSLEvent.SECURED); + synchronized protected void finish_handshake(NextFilter next) throws SSLException { + if (mHandshakeComplete == false) { + mHandshakeComplete = true; + mSession.setAttribute(SslFilter.SSL_SECURED, mEngine.getSession()); + next.event(mSession, SslEvent.SECURED); } + /** * There exists a bug in the JDK which emits FINISHED twice instead of once. */ - this.receive(next, ZERO); - this.flush(next); + receive(next, ZERO); + flush(next); } /** @@ -530,33 +605,38 @@ public class SSLHandlerG0 extends SSLHandler { * * @throws SSLException */ - synchronized public void flush(final NextFilter next) throws SSLException { - if (this.mOutboundClosing && this.mOutboundLinger == false) { + synchronized public void flush(NextFilter next) throws SSLException { + if (mOutboundClosing && mOutboundLinger == false) { return; } - if (this.mEncodeQueue.size() == 0) { + if (mEncodeQueue.size() == 0) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} flush() - no saved messages", toString()); } + return; } WriteRequest current = null; - while ((this.mAckQueue.size() < MAX_UNACK_MESSAGES) && (current = this.mEncodeQueue.poll()) != null) { + + while ((mAckQueue.size() < MAX_UNACK_MESSAGES) && (current = mEncodeQueue.poll()) != null) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} flush() - {}", toString(), current); } - if (this.write_user_loop(next, current) == false) { - this.mEncodeQueue.addFirst(current); + + if (write_user_loop(next, current) == false) { + mEncodeQueue.addFirst(current); + break; } } - if (this.mOutboundClosing && this.mEncodeQueue.size() == 0) { - this.mEngine.closeOutbound(); + if (mOutboundClosing && mEncodeQueue.size() == 0) { + mEngine.closeOutbound(); + if (ENABLE_SOFT_CLOSURE) { - this.write_handshake(next); + write_handshake(next); } } } @@ -564,77 +644,105 @@ public class SSLHandlerG0 extends SSLHandler { /** * {@inheritDoc} */ - synchronized public void close(final NextFilter next, final boolean linger) throws SSLException { - if (this.mOutboundClosing) + @Override + synchronized public void close(NextFilter next, boolean linger) throws SSLException { + if (mOutboundClosing) { return; + } if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} close() - closing session", toString()); } - if (this.mHandshakeComplete) { - next.event(this.mSession, SSLEvent.UNSECURED); + if (mHandshakeComplete) { + next.event(mSession, SslEvent.UNSECURED); } - this.mOutboundLinger = linger; - this.mOutboundClosing = true; + mOutboundLinger = linger; + mOutboundClosing = true; if (linger == false) { - if (this.mEncodeQueue.size() != 0) { - next.exceptionCaught(this.mSession, - new WriteRejectedException(new ArrayList<>(this.mEncodeQueue), "closing")); - this.mEncodeQueue.clear(); + if (mEncodeQueue.size() != 0) { + next.exceptionCaught(mSession, new WriteRejectedException(new ArrayList<>(mEncodeQueue), "closing")); + mEncodeQueue.clear(); } - this.mEngine.closeOutbound(); + + mEngine.closeOutbound(); + if (ENABLE_SOFT_CLOSURE) { - this.write_handshake(next); + write_handshake(next); } } else { - this.flush(next); + flush(next); } } - synchronized protected void throw_pending_error() throws SSLException { - final SSLException e = this.mPendingError; - if (e != null) { - this.mPendingError = null; - throw e; + /** + * Process the pending error and loop to send the associated alert if we have some. + * + * @param next The next filter in the chain + * @throws SSLException The rethrown pending error + */ + synchronized protected void throw_pending_error(NextFilter next) throws SSLException { + SSLException sslException = mPendingError; + + if (sslException != null) { + // Loop to send back the alert messages + receive_loop(next, null); + + mPendingError = null; + + // And finally rethrow the exception + throw sslException; } } - synchronized protected void store_pending_error(SSLException e) { - SSLException x = this.mPendingError; - if (x == null) { - this.mPendingError = e; + /** + * Store any error we've got during the handshake or message handling + * + * @param sslException The exfeption to store + */ + synchronized protected void store_pending_error(SSLException sslException) { + if (mPendingError == null) { + mPendingError = sslException; } } - protected void schedule_task(final NextFilter next) { - if (ENABLE_ASYNC_TASKS) { - if (this.mExecutor == null) { - this.execute_task(next); - } else { - this.mExecutor.execute(new Runnable() { - @Override - public void run() { - SSLHandlerG0.this.execute_task(next); - } - }); - } + /** + * Schedule a SSLEngine task for execution, either using an Executor, or immediately. + * + * @param next The next filter to call + */ + protected void schedule_task(NextFilter next) { + if (ENABLE_ASYNC_TASKS && (mExecutor != null)) { + mExecutor.execute(new Runnable() { + @Override + public void run() { + SSLHandlerG0.this.execute_task(next); + } + }); } else { - this.execute_task(next); + execute_task(next); } } - synchronized protected void execute_task(final NextFilter next) { - Runnable t = null; - while ((t = mEngine.getDelegatedTask()) != null) { + /** + * Execute a SSLEngine task. We may have more than one. + * + * If we get any exception during the processing, an error is stored and thrown. + * + * @param next The next filer in the chain + */ + synchronized protected void execute_task(NextFilter next) { + Runnable task = null; + + while ((task = mEngine.getDelegatedTask()) != null) { try { if (LOGGER.isDebugEnabled()) { - LOGGER.debug("{} task() - executing {}", toString(), t); + LOGGER.debug("{} task() - executing {}", toString(), task); } - t.run(); + task.run(); if (LOGGER.isDebugEnabled()) { LOGGER.debug("{} task() - writing handshake messages", toString()); @@ -642,7 +750,14 @@ public class SSLHandlerG0 extends SSLHandler { write_handshake(next); } catch (SSLException e) { - this.store_pending_error(e); + store_pending_error(e); + + try { + throw_pending_error(next); + } catch ( SSLException ssle) { + // ... + } + if (LOGGER.isErrorEnabled()) { LOGGER.error("{} task() - storing error {}", toString(), e); } diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLContextFactory.java b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslContextFactory.java similarity index 99% rename from mina-core/src/main/java/org/apache/mina/filter/ssl/SSLContextFactory.java rename to mina-core/src/main/java/org/apache/mina/filter/ssl/SslContextFactory.java index 9763954..d19b9b3 100644 --- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLContextFactory.java +++ b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslContextFactory.java @@ -49,7 +49,7 @@ import javax.net.ssl.TrustManagerFactory; * * @author <a href="http://mina.apache.org">Apache MINA Project</a> */ -public class SSLContextFactory { +public class SslContextFactory { private String provider = null; diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLEvent.java b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslEvent.java similarity index 95% rename from mina-core/src/main/java/org/apache/mina/filter/ssl/SSLEvent.java rename to mina-core/src/main/java/org/apache/mina/filter/ssl/SslEvent.java index 21ad1d3..bd75845 100644 --- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLEvent.java +++ b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslEvent.java @@ -27,6 +27,6 @@ import org.apache.mina.filter.FilterEvent; * * @author <a href="http://mina.apache.org">Apache MINA Project</a> */ -public enum SSLEvent implements FilterEvent { +public enum SslEvent implements FilterEvent { SECURED, UNSECURED } 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 similarity index 93% rename from mina-core/src/main/java/org/apache/mina/filter/ssl/SSLFilter.java rename to mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java index 61f0917..2503d26 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 @@ -50,21 +50,21 @@ import org.slf4j.LoggerFactory; * @author Jonathan Valliere * @author <a href="http://mina.apache.org">Apache MINA Project</a> */ -public class SSLFilter extends IoFilterAdapter { +public class SslFilter extends IoFilterAdapter { /** * SSLSession object when the session is secured, otherwise null. */ - static public final AttributeKey SSL_SECURED = new AttributeKey(SSLFilter.class, "status"); + static public final AttributeKey SSL_SECURED = new AttributeKey(SslFilter.class, "status"); /** * Returns the SSL2Handler object */ - static protected final AttributeKey SSL_HANDLER = new AttributeKey(SSLFilter.class, "handler"); + static protected final AttributeKey SSL_HANDLER = new AttributeKey(SslFilter.class, "handler"); /** * The logger */ - static protected final Logger LOGGER = LoggerFactory.getLogger(SSLFilter.class); + static protected final Logger LOGGER = LoggerFactory.getLogger(SslFilter.class); /** * Task executor for processing handshakes @@ -103,7 +103,7 @@ public class SSLFilter extends IoFilterAdapter { * * @param sslContext The SSLContext to use */ - public SSLFilter(SSLContext sslContext) { + public SslFilter(SSLContext sslContext) { Objects.requireNonNull(sslContext, "ssl must not be null"); this.sslContext = sslContext; @@ -191,7 +191,7 @@ public class SSLFilter extends IoFilterAdapter { @Override public void onPreAdd(IoFilterChain parent, String name, NextFilter next) throws Exception { // Check that we don't have a SSL filter already present in the chain - if (parent.contains(SSLFilter.class)) { + if (parent.contains(SslFilter.class)) { throw new IllegalStateException("Only one SSL filter is permitted in a chain"); } @@ -232,7 +232,7 @@ public class SSLFilter extends IoFilterAdapter { * @throws SSLException Any exception thrown by the SslHandler closing */ synchronized protected void onConnected(NextFilter next, IoSession session) throws SSLException { - SSLHandler sslHandler = SSLHandler.class.cast(session.getAttribute(SSL_HANDLER)); + SslHandler sslHandler = SslHandler.class.cast(session.getAttribute(SSL_HANDLER)); if (sslHandler == null) { InetSocketAddress s = InetSocketAddress.class.cast(session.getRemoteAddress()); @@ -254,7 +254,7 @@ public class SSLFilter extends IoFilterAdapter { */ synchronized protected void onClose(NextFilter next, IoSession session, boolean linger) throws SSLException { session.removeAttribute(SSL_SECURED); - SSLHandler sslHandler = SSLHandler.class.cast(session.removeAttribute(SSL_HANDLER)); + SslHandler sslHandler = SslHandler.class.cast(session.removeAttribute(SSL_HANDLER)); if (sslHandler != null) { sslHandler.close(next, linger); @@ -318,11 +318,19 @@ public class SSLFilter extends IoFilterAdapter { */ @Override public void messageReceived(NextFilter next, IoSession session, Object message) throws Exception { + //if (session.isServer()) { + //System.out.println( ">>> Server messageReceived" ); + //} else { + //System.out.println( ">>> Client messageReceived" ); + //} + + //System.out.println( message ); + if (LOGGER.isDebugEnabled()) { LOGGER.debug("session {} received {}", session, message); } - SSLHandler sslHandler = SSLHandler.class.cast(session.getAttribute(SSL_HANDLER)); + SslHandler sslHandler = SslHandler.class.cast(session.getAttribute(SSL_HANDLER)); sslHandler.receive(next, IoBuffer.class.cast(message)); } @@ -337,7 +345,7 @@ public class SSLFilter extends IoFilterAdapter { if (request instanceof EncryptedWriteRequest) { EncryptedWriteRequest encryptedWriteRequest = EncryptedWriteRequest.class.cast(request); - SSLHandler sslHandler = SSLHandler.class.cast(session.getAttribute(SSL_HANDLER)); + SslHandler sslHandler = SslHandler.class.cast(session.getAttribute(SSL_HANDLER)); sslHandler.ack(next, request); if (encryptedWriteRequest.getOriginalRequest() != encryptedWriteRequest) { @@ -360,7 +368,7 @@ public class SSLFilter extends IoFilterAdapter { if (request instanceof EncryptedWriteRequest || request instanceof DisableEncryptWriteRequest) { super.filterWrite(next, session, request); } else { - SSLHandler sslHandler = SSLHandler.class.cast(session.getAttribute(SSL_HANDLER)); + SslHandler sslHandler = SslHandler.class.cast(session.getAttribute(SSL_HANDLER)); sslHandler.write(next, request); } } diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLHandler.java b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslHandler.java similarity index 98% rename from mina-core/src/main/java/org/apache/mina/filter/ssl/SSLHandler.java rename to mina-core/src/main/java/org/apache/mina/filter/ssl/SslHandler.java index d1a0ffe..fd2c528 100644 --- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SSLHandler.java +++ b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslHandler.java @@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory; * @author Jonathan Valliere * @author <a href="http://mina.apache.org">Apache MINA Project</a> */ -public abstract class SSLHandler { +public abstract class SslHandler { /** * Minimum size of encoder buffer in packets @@ -61,7 +61,7 @@ public abstract class SSLHandler { /** * Static logger */ - static protected final Logger LOGGER = LoggerFactory.getLogger(SSLHandler.class); + static protected final Logger LOGGER = LoggerFactory.getLogger(SslHandler.class); /** * Write Requests which are enqueued prior to the completion of the handshaking @@ -100,7 +100,7 @@ public abstract class SSLHandler { * @param e executor * @param s session */ - public SSLHandler(SSLEngine p, Executor e, IoSession s) { + public SslHandler(SSLEngine p, Executor e, IoSession s) { this.mEngine = p; this.mExecutor = e; this.mSession = s; diff --git a/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java b/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java index e7ab682..69e1cc1 100644 --- a/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java +++ b/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java @@ -32,7 +32,7 @@ import org.apache.mina.core.service.IoProcessor; import org.apache.mina.core.service.IoService; import org.apache.mina.core.service.TransportMetadata; import org.apache.mina.core.session.IoSession; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.AbstractSocketSessionConfig; import org.apache.mina.transport.socket.SocketSessionConfig; @@ -340,6 +340,6 @@ class NioSocketSession extends NioSession { */ @Override public final boolean isSecured() { - return (this.getAttribute(SSLFilter.SSL_SECURED) != null); + return (this.getAttribute(SslFilter.SSL_SECURED) != null); } } diff --git a/mina-core/src/test/java/org/apache/mina/core/service/SSLTestHandshakeExceptionDIRMINA1077Test.java b/mina-core/src/test/java/org/apache/mina/core/service/SSLTestHandshakeExceptionDIRMINA1077Test.java index cc03fef..157e5a2 100644 --- a/mina-core/src/test/java/org/apache/mina/core/service/SSLTestHandshakeExceptionDIRMINA1077Test.java +++ b/mina-core/src/test/java/org/apache/mina/core/service/SSLTestHandshakeExceptionDIRMINA1077Test.java @@ -40,7 +40,7 @@ import org.apache.mina.core.future.ConnectFuture; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.TextLineCodecFactory; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; import org.apache.mina.transport.socket.nio.NioSocketConnector; import org.apache.mina.util.AvailablePortFinder; @@ -90,7 +90,7 @@ public class SSLTestHandshakeExceptionDIRMINA1077Test { DefaultIoFilterChainBuilder filters = acceptor.getFilterChain(); // Inject the SSL filter - SSLFilter sslFilter = new SSLFilter(createSSLContext(true)); + SslFilter sslFilter = new SslFilter(createSSLContext(true)); filters.addLast("sslFilter", sslFilter); sslFilter.setNeedClientAuth(true); @@ -111,7 +111,7 @@ public class SSLTestHandshakeExceptionDIRMINA1077Test { DefaultIoFilterChainBuilder filters = nioSocketConnector.getFilterChain(); // Inject the SSL filter - SSLFilter sslFilter = new SSLFilter(createSSLContext(false)); + SslFilter sslFilter = new SslFilter(createSSLContext(false)); filters.addLast("sslFilter", sslFilter); address = InetAddress.getByName("localhost"); diff --git a/mina-core/src/test/java/org/apache/mina/filter/ssl/SSLFilterMain.java b/mina-core/src/test/java/org/apache/mina/filter/ssl/SslFilterMain.java similarity index 95% rename from mina-core/src/test/java/org/apache/mina/filter/ssl/SSLFilterMain.java rename to mina-core/src/test/java/org/apache/mina/filter/ssl/SslFilterMain.java index aeb75c6..a2dd900 100644 --- a/mina-core/src/test/java/org/apache/mina/filter/ssl/SSLFilterMain.java +++ b/mina-core/src/test/java/org/apache/mina/filter/ssl/SslFilterMain.java @@ -26,7 +26,7 @@ import org.apache.mina.transport.socket.nio.NioSocketConnector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class SSLFilterMain { +public class SslFilterMain { public static void main(String[] args) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException, CertificateException, IOException { @@ -40,8 +40,8 @@ public class SSLFilterMain { final char[] password = "password".toCharArray(); - ks.load(SSLFilterMain.class.getResourceAsStream("keystore.jks"), password); - ts.load(SSLFilterMain.class.getResourceAsStream("truststore.jks"), password); + ks.load(SslFilterMain.class.getResourceAsStream("keystore.jks"), password); + ts.load(SslFilterMain.class.getResourceAsStream("truststore.jks"), password); kmf.init(ks, password); tmf.init(ts); @@ -49,7 +49,7 @@ public class SSLFilterMain { final SSLContext context = SSLContext.getInstance("TLSv1.3"); context.init(kmf.getKeyManagers(), tmf.getTrustManagers(), new SecureRandom()); - final SSLFilter filter = new SSLFilter(context); + final SslFilter filter = new SslFilter(context); filter.setEnabledCipherSuites(new String[] { "TLS_AES_128_GCM_SHA256", "TLS_AES_256_GCM_SHA384" }); filter.setEnabledProtocols(new String[] { "TLSv1.3" }); diff --git a/mina-example/src/main/java/org/apache/mina/example/chat/Main.java b/mina-example/src/main/java/org/apache/mina/example/chat/Main.java index b2637f3..a936974 100644 --- a/mina-example/src/main/java/org/apache/mina/example/chat/Main.java +++ b/mina-example/src/main/java/org/apache/mina/example/chat/Main.java @@ -28,7 +28,7 @@ import org.apache.mina.filter.codec.textline.TextLineCodecFactory; import org.apache.mina.filter.compression.CompressionFilter; import org.apache.mina.filter.logging.LoggingFilter; import org.apache.mina.filter.logging.MdcInjectionFilter; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; /** @@ -72,7 +72,7 @@ public class Main { private static void addSSLSupport(DefaultIoFilterChainBuilder chain) throws Exception { - SSLFilter sslFilter = new SSLFilter(BogusSSLContextFactory + SslFilter sslFilter = new SslFilter(BogusSSLContextFactory .getInstance(true)); chain.addLast("sslFilter", sslFilter); System.out.println("SSL ON"); diff --git a/mina-example/src/main/java/org/apache/mina/example/chat/client/ChatClientSupport.java b/mina-example/src/main/java/org/apache/mina/example/chat/client/ChatClientSupport.java index f5c2543..cae59ad 100644 --- a/mina-example/src/main/java/org/apache/mina/example/chat/client/ChatClientSupport.java +++ b/mina-example/src/main/java/org/apache/mina/example/chat/client/ChatClientSupport.java @@ -33,7 +33,7 @@ import org.apache.mina.filter.codec.textline.TextLineCodecFactory; import org.apache.mina.filter.compression.CompressionFilter; import org.apache.mina.filter.logging.LoggingFilter; import org.apache.mina.filter.logging.MdcInjectionFilter; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.nio.NioSocketConnector; /** @@ -79,7 +79,7 @@ public class ChatClientSupport { if (useSsl) { SSLContext sslContext = BogusSSLContextFactory .getInstance(false); - SSLFilter sslFilter = new SSLFilter(sslContext); + SslFilter sslFilter = new SslFilter(sslContext); connector.getFilterChain().addFirst("sslFilter", sslFilter); } diff --git a/mina-example/src/main/java/org/apache/mina/example/echoserver/Main.java b/mina-example/src/main/java/org/apache/mina/example/echoserver/Main.java index 7e1c7aa..078f79e 100644 --- a/mina-example/src/main/java/org/apache/mina/example/echoserver/Main.java +++ b/mina-example/src/main/java/org/apache/mina/example/echoserver/Main.java @@ -24,7 +24,7 @@ import java.net.InetSocketAddress; import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; import org.apache.mina.example.echoserver.ssl.BogusSSLContextFactory; import org.apache.mina.filter.compression.CompressionFilter; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.SocketAcceptor; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; @@ -68,7 +68,7 @@ public class Main { private static void addSSLSupport(DefaultIoFilterChainBuilder chain) throws Exception { - SSLFilter sslFilter = new SSLFilter(BogusSSLContextFactory + SslFilter sslFilter = new SslFilter(BogusSSLContextFactory .getInstance(true)); chain.addLast("sslFilter", sslFilter); System.out.println("SSL ON"); diff --git a/mina-example/src/main/java/org/apache/mina/example/tcp/perf/TcpSslClient.java b/mina-example/src/main/java/org/apache/mina/example/tcp/perf/TcpSslClient.java index dd469bf..dca3501 100644 --- a/mina-example/src/main/java/org/apache/mina/example/tcp/perf/TcpSslClient.java +++ b/mina-example/src/main/java/org/apache/mina/example/tcp/perf/TcpSslClient.java @@ -32,7 +32,7 @@ import org.apache.mina.core.service.IoConnector; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.core.session.IoSession; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.nio.NioSocketConnector; /** @@ -70,7 +70,7 @@ public class TcpSslClient extends IoHandlerAdapter { // Inject teh SSL filter SSLContext sslContext = BogusSSLContextFactory .getInstance(false); - SSLFilter sslFilter = new SSLFilter(sslContext); + SslFilter sslFilter = new SslFilter(sslContext); connector.getFilterChain().addFirst("sslFilter", sslFilter); connector.setHandler(this); diff --git a/mina-example/src/main/java/org/apache/mina/example/tcp/perf/TcpSslServer.java b/mina-example/src/main/java/org/apache/mina/example/tcp/perf/TcpSslServer.java index 9bb972c..96b1f50 100644 --- a/mina-example/src/main/java/org/apache/mina/example/tcp/perf/TcpSslServer.java +++ b/mina-example/src/main/java/org/apache/mina/example/tcp/perf/TcpSslServer.java @@ -29,7 +29,7 @@ import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.core.session.IoSession; import org.apache.mina.example.echoserver.ssl.BogusSSLContextFactory; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; /** @@ -136,7 +136,7 @@ public class TcpSslServer extends IoHandlerAdapter { // Inject the SSL filter DefaultIoFilterChainBuilder chain = acceptor.getFilterChain(); - SSLFilter sslFilter = new SSLFilter(BogusSSLContextFactory + SslFilter sslFilter = new SslFilter(BogusSSLContextFactory .getInstance(true)); chain.addLast("sslFilter", sslFilter); diff --git a/mina-example/src/main/resources/org/apache/mina/example/chat/serverContext.xml b/mina-example/src/main/resources/org/apache/mina/example/chat/serverContext.xml index c5b7810..6e78e15 100644 --- a/mina-example/src/main/resources/org/apache/mina/example/chat/serverContext.xml +++ b/mina-example/src/main/resources/org/apache/mina/example/chat/serverContext.xml @@ -49,7 +49,7 @@ <bean id="bogusTrustManagerFactory" class="org.apache.mina.filter.ssl.BogusTrustManagerFactory"/> <!-- SSLContext to be used --> - <bean id="sslContextFactory" class="org.apache.mina.filter.ssl.SSLContextFactory"> + <bean id="sslContextFactory" class="org.apache.mina.filter.ssl.SslContextFactory"> <property name="protocol" value="TLS"/> <property name="keyManagerFactoryAlgorithm" value="SunX509"/> <property name="keyManagerFactoryKeyStore"><ref local="keyStore"/></property> @@ -75,7 +75,7 @@ <bean id="loggingFilter" class="org.apache.mina.filter.logging.LoggingFilter" /> - <bean id="sslFilter" class="org.apache.mina.filter.ssl.SSLFilter"> + <bean id="sslFilter" class="org.apache.mina.filter.ssl.SslFilter"> <constructor-arg ref="sslContext"/> </bean> diff --git a/mina-example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java b/mina-example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java index 733017d..6f5e7df 100644 --- a/mina-example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java +++ b/mina-example/src/test/java/org/apache/mina/example/echoserver/AbstractTest.java @@ -30,7 +30,7 @@ import org.apache.mina.core.service.IoAcceptor; import org.apache.mina.core.session.IoSession; import org.apache.mina.example.echoserver.ssl.BogusSSLContextFactory; import org.apache.mina.filter.FilterEvent; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.DatagramSessionConfig; import org.apache.mina.transport.socket.nio.NioDatagramAcceptor; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; @@ -122,7 +122,7 @@ public abstract class AbstractTest { try { session.getFilterChain().addFirst( "SSL", - new SSLFilter(BogusSSLContextFactory + new SslFilter(BogusSSLContextFactory .getInstance(true))); } catch (GeneralSecurityException e) { LOGGER.error("", e); diff --git a/mina-example/src/test/java/org/apache/mina/example/echoserver/ConnectorTest.java b/mina-example/src/test/java/org/apache/mina/example/echoserver/ConnectorTest.java index d78f923..18b6a6a 100644 --- a/mina-example/src/test/java/org/apache/mina/example/echoserver/ConnectorTest.java +++ b/mina-example/src/test/java/org/apache/mina/example/echoserver/ConnectorTest.java @@ -33,7 +33,7 @@ import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IoSession; import org.apache.mina.core.write.WriteException; import org.apache.mina.example.echoserver.ssl.BogusSSLContextFactory; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.nio.NioDatagramConnector; import org.apache.mina.transport.socket.nio.NioSocketConnector; import org.apache.mina.util.AvailablePortFinder; @@ -58,7 +58,7 @@ public class ConnectorTest extends AbstractTest { private final int DATA_SIZE = 16; private EchoConnectorHandler handler; - private SSLFilter connectorSSLFilter; + private SslFilter connectorSslFilter; public ConnectorTest() { // Do nothing @@ -68,7 +68,7 @@ public class ConnectorTest extends AbstractTest { public void setUp() throws Exception { super.setUp(); handler = new EchoConnectorHandler(); - connectorSSLFilter = new SSLFilter(BogusSSLContextFactory + connectorSslFilter = new SslFilter(BogusSSLContextFactory .getInstance(false)); } @@ -86,7 +86,7 @@ public class ConnectorTest extends AbstractTest { IoConnector connector = new NioSocketConnector(); // Add an SSL filter to connector - connector.getFilterChain().addLast("SSL", connectorSSLFilter); + connector.getFilterChain().addLast("SSL", connectorSslFilter); testConnector(connector); } @@ -159,7 +159,7 @@ public class ConnectorTest extends AbstractTest { assertEquals((byte) '.', handler.readBuf.get()); // Now start TLS connection - session.getFilterChain().addFirst("SSL", connectorSSLFilter); + session.getFilterChain().addFirst("SSL", connectorSslFilter); testConnector0(session); } diff --git a/mina-example/src/test/java/org/apache/mina/example/echoserver/ssl/SSLFilterTest.java b/mina-example/src/test/java/org/apache/mina/example/echoserver/ssl/SslFilterTest.java similarity index 97% rename from mina-example/src/test/java/org/apache/mina/example/echoserver/ssl/SSLFilterTest.java rename to mina-example/src/test/java/org/apache/mina/example/echoserver/ssl/SslFilterTest.java index f95d0cc..1f5bd99 100644 --- a/mina-example/src/test/java/org/apache/mina/example/echoserver/ssl/SSLFilterTest.java +++ b/mina-example/src/test/java/org/apache/mina/example/echoserver/ssl/SslFilterTest.java @@ -41,7 +41,7 @@ import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.TextLineCodecFactory; -import org.apache.mina.filter.ssl.SSLFilter; +import org.apache.mina.filter.ssl.SslFilter; import org.apache.mina.transport.socket.SocketAcceptor; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; import org.junit.After; @@ -53,7 +53,7 @@ import org.junit.Test; * * @author <a href="http://mina.apache.org">Apache MINA Project</a> */ -public class SSLFilterTest { +public class SslFilterTest { private int port; private SocketAcceptor acceptor; @@ -84,9 +84,9 @@ public class SSLFilterTest { // http://java.sun.com/javase/javaseforbusiness/docs/TLSReadme.html java.lang.System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true"); - SSLFilter sslFilter = null; + SslFilter sslFilter = null; if (useSSL) { - sslFilter = new SSLFilter(BogusSSLContextFactory.getInstance(true)); + sslFilter = new SslFilter(BogusSSLContextFactory.getInstance(true)); acceptor.getFilterChain().addLast("sslFilter", sslFilter); } acceptor.getFilterChain().addLast("codec",