Skip to content

Commit f7587e6

Browse files
authored
Log remote address on multiple Logon (#301)
* Log remote address on multiple Logon. * Also log remote address for already established connection.
1 parent d65b7b8 commit f7587e6

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import java.net.InetSocketAddress;
4040
import java.net.SocketAddress;
4141
import java.util.Optional;
42+
import quickfix.Responder;
4243

4344
class AcceptorIoHandler extends AbstractIoHandler {
4445
private final EventHandlingStrategy eventHandlingStrategy;
@@ -67,10 +68,12 @@ protected void processMessage(IoSession protocolSession, Message message) throws
6768
qfSession = sessionProvider.getSession(sessionID, eventHandlingStrategy.getSessionConnector());
6869
if (qfSession != null) {
6970
final Log sessionLog = qfSession.getLog();
70-
if (qfSession.hasResponder()) {
71+
Responder responder = qfSession.getResponder();
72+
if (responder != null) {
7173
// Session is already bound to another connection
72-
sessionLog
73-
.onErrorEvent("Multiple logons/connections for this session are not allowed");
74+
sessionLog.onErrorEvent("Multiple logons/connections for this session are not allowed."
75+
+ " Closing connection from " + protocolSession.getRemoteAddress()
76+
+ " since session is already established from " + responder.getRemoteAddress());
7477
protocolSession.closeNow();
7578
return;
7679
}

0 commit comments

Comments
 (0)