Skip to content

Commit c494170

Browse files
committed
Merge pull request #923 from the-thing/post-mina-ssl-filter-update
Post mina update custom SSL filter removal (cherry picked from commit c4a795a)
1 parent e25fd01 commit c494170

File tree

4 files changed

+19
-59
lines changed

4 files changed

+19
-59
lines changed

quickfixj-core/src/main/java/quickfix/mina/CustomSslFilter.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

quickfixj-core/src/main/java/quickfix/mina/acceptor/AbstractSocketAcceptor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import quickfix.SessionID;
4040
import quickfix.SessionSettings;
4141
import quickfix.mina.CompositeIoFilterChainBuilder;
42-
import quickfix.mina.CustomSslFilter;
4342
import quickfix.mina.EventHandlingStrategy;
4443
import quickfix.mina.NetworkingOptions;
4544
import quickfix.mina.ProtocolFactory;
@@ -133,7 +132,7 @@ private void installSSL(AcceptorSocketDescriptor descriptor,
133132
log.info("Installing SSL filter for {}", descriptor.getAddress());
134133
SSLConfig sslConfig = descriptor.getSslConfig();
135134
SSLContext sslContext = SSLContextFactory.getInstance(sslConfig);
136-
SslFilter sslFilter = new CustomSslFilter(sslContext);
135+
SslFilter sslFilter = new SslFilter(sslContext);
137136
sslFilter.setNeedClientAuth(sslConfig.isNeedClientAuth());
138137
sslFilter.setEnabledCipherSuites(sslConfig.getEnabledCipherSuites() != null ? sslConfig.getEnabledCipherSuites()
139138
: SSLSupport.getDefaultCipherSuites(sslContext));

quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import quickfix.SessionID;
3434
import quickfix.SystemTime;
3535
import quickfix.mina.CompositeIoFilterChainBuilder;
36-
import quickfix.mina.CustomSslFilter;
3736
import quickfix.mina.EventHandlingStrategy;
3837
import quickfix.mina.NetworkingOptions;
3938
import quickfix.mina.ProtocolFactory;
@@ -151,9 +150,8 @@ private void setupIoConnector() throws ConfigError, GeneralSecurityException {
151150

152151
boolean hasProxy = proxyType != null && proxyPort > 0 && socketAddresses[nextSocketAddressIndex] instanceof InetSocketAddress;
153152

154-
SslFilter sslFilter = null;
155153
if (sslEnabled) {
156-
sslFilter = installSslFilter(ioFilterChainBuilder);
154+
installSslFilter(ioFilterChainBuilder);
157155
}
158156

159157
ioFilterChainBuilder.addLast(FIXProtocolCodecFactory.FILTER_NAME, new ProtocolCodecFilter(new FIXProtocolCodecFactory()));
@@ -184,17 +182,16 @@ private void setupIoConnector() throws ConfigError, GeneralSecurityException {
184182
ioConnector = newConnector;
185183
}
186184

187-
private SslFilter installSslFilter(CompositeIoFilterChainBuilder ioFilterChainBuilder)
185+
private void installSslFilter(CompositeIoFilterChainBuilder ioFilterChainBuilder)
188186
throws GeneralSecurityException {
189187
final SSLContext sslContext = SSLContextFactory.getInstance(sslConfig);
190-
final SslFilter sslFilter = new CustomSslFilter(sslContext, false);
188+
final SslFilter sslFilter = new SslFilter(sslContext, false);
191189
sslFilter.setEnabledCipherSuites(sslConfig.getEnabledCipherSuites() != null ? sslConfig.getEnabledCipherSuites()
192190
: SSLSupport.getDefaultCipherSuites(sslContext));
193191
sslFilter.setEnabledProtocols(sslConfig.getEnabledProtocols() != null ? sslConfig.getEnabledProtocols()
194192
: SSLSupport.getSupportedProtocols(sslContext));
195193
sslFilter.setEndpointIdentificationAlgorithm(sslConfig.getEndpointIdentificationAlgorithm());
196194
ioFilterChainBuilder.addLast(SSLSupport.FILTER_NAME, sslFilter);
197-
return sslFilter;
198195
}
199196

200197
@Override

quickfixj-core/src/test/java/quickfix/mina/ssl/SecureSocketTest.java

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@
1919

2020
package quickfix.mina.ssl;
2121

22-
import junit.framework.TestCase;
2322
import org.apache.mina.core.filterchain.IoFilterAdapter;
2423
import org.apache.mina.core.session.IoSession;
24+
import org.junit.Before;
25+
import org.junit.Test;
2526
import org.slf4j.Logger;
2627
import org.slf4j.LoggerFactory;
2728
import quickfix.ApplicationAdapter;
2829
import quickfix.ConfigError;
2930
import quickfix.DefaultMessageFactory;
3031
import quickfix.FixVersions;
31-
import quickfix.Initiator;
3232
import quickfix.MemoryStoreFactory;
3333
import quickfix.Session;
3434
import quickfix.SessionID;
@@ -43,14 +43,20 @@
4343
import java.util.concurrent.CountDownLatch;
4444
import java.util.concurrent.TimeUnit;
4545

46-
public class SecureSocketTest extends TestCase {
46+
import static org.junit.Assert.assertNotNull;
47+
import static org.junit.Assert.assertTrue;
48+
49+
public class SecureSocketTest {
50+
4751
private final Logger log = LoggerFactory.getLogger(getClass());
4852
private final int transportProtocol = ProtocolFactory.SOCKET;
4953

50-
protected void setUp() throws Exception {
54+
@Before
55+
public void setUp() throws Exception {
5156
SystemTime.setTimeSource(null);
5257
}
5358

59+
@Test
5460
public void testLogonWithBadCertificate() throws Exception {
5561
ServerThread serverThread = new ServerThread("nonexistent", "pwd");
5662
try {
@@ -85,10 +91,12 @@ public void exceptionCaught(NextFilter nextFilter, IoSession session, Throwable
8591
}
8692
}
8793

94+
@Test
8895
public void testLogonWithDefaultCertificate() throws Exception {
8996
doLogonTest(null, null);
9097
}
9198

99+
@Test
92100
public void testLogonWithCustomCertificate() throws Exception {
93101
doLogonTest("test.keystore", "quickfixjtestpw");
94102
}
@@ -103,6 +111,7 @@ public void testLogonWithCustomCertificate() throws Exception {
103111
* so that it's not cached by another test so that there are no false failures.
104112
* The test-client.keystore key store is just a copy of test.keystore under a different name.
105113
*/
114+
@Test
106115
public void testLogonWithBadCertificateOnInitiatorSide() throws Exception {
107116
SessionID clientSessionID = new SessionID(FixVersions.BEGINSTRING_FIX42, "TW", "ISLD");
108117
SessionSettings settings = getClientSessionSettings(clientSessionID);
@@ -177,14 +186,8 @@ private void assertLoggedOn(ClientApplication clientApplication, Session clientS
177186
}
178187

179188
private class ClientApplication extends ApplicationAdapter {
180-
public CountDownLatch logonLatch;
181-
private Initiator initiator;
182-
private boolean stopAfterLogon;
183189

184-
//public void stopAfterLogon(Initiator initiator) {
185-
// this.initiator = initiator;
186-
// this.stopAfterLogon = true;
187-
//}
190+
public CountDownLatch logonLatch;
188191

189192
public void setUpLogonExpectation() {
190193
logonLatch = new CountDownLatch(1);
@@ -195,14 +198,11 @@ public void onLogon(SessionID sessionId) {
195198
log.info("Releasing logon latch");
196199
logonLatch.countDown();
197200
}
198-
if (stopAfterLogon) {
199-
log.info("Stopping after logon");
200-
initiator.stop();
201-
}
202201
}
203202
}
204203

205204
private class ServerThread extends Thread {
205+
206206
private final ATServer server;
207207

208208
public ServerThread(String keyStoreName, String keyStorePassword) {
@@ -223,5 +223,4 @@ public void waitForInitialization() throws InterruptedException {
223223
server.waitForInitialization();
224224
}
225225
}
226-
227226
}

0 commit comments

Comments
 (0)