This is an automated email from the ASF dual-hosted git repository. ralaoui pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mina-vysper.git
The following commit(s) were added to refs/heads/master by this push: new 6a09010 Fix integration tests and always activate their modules 6a09010 is described below commit 6a09010e469ff49d340b73c9c195ab6990ef98da Author: Réda Housni Alaoui <reda.housniala...@gmail.com> AuthorDate: Tue Aug 20 02:17:15 2019 +0200 Fix integration tests and always activate their modules --- pom.xml | 2 +- .../src/main/config/bogus_mina_tls.cert | Bin 937 -> 2623 bytes .../apache/vysper/mina/XmppIoHandlerAdapter.java | 42 +++++++++++---------- .../xmpp/server/s2s/ServerConnectorIoHandler.java | 22 ++++++----- server/extensions/pom.xml | 15 +------- .../src/main/config/bogus_mina_tls.cert | Bin 937 -> 2623 bytes server/pom.xml | 12 +----- 7 files changed, 38 insertions(+), 55 deletions(-) diff --git a/pom.xml b/pom.xml index 575a92b..e1ca8a0 100644 --- a/pom.xml +++ b/pom.xml @@ -108,7 +108,7 @@ <dependency> <groupId>org.apache.mina</groupId> <artifactId>mina-core</artifactId> - <version>2.0.21</version> + <version>2.1.3</version> </dependency> <dependency> diff --git a/server/core-inttest/src/main/config/bogus_mina_tls.cert b/server/core-inttest/src/main/config/bogus_mina_tls.cert index d34502d..5a8e025 100644 Binary files a/server/core-inttest/src/main/config/bogus_mina_tls.cert and b/server/core-inttest/src/main/config/bogus_mina_tls.cert differ diff --git a/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java b/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java index 3d07c3b..23e1cbe 100644 --- a/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java +++ b/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java @@ -25,6 +25,8 @@ import org.apache.mina.core.service.IoHandler; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.core.session.IoSession; import org.apache.mina.core.write.WriteToClosedSessionException; +import org.apache.mina.filter.FilterEvent; +import org.apache.mina.filter.ssl.SslEvent; import org.apache.mina.filter.ssl.SslFilter; import org.apache.vysper.xml.fragment.XMLText; import org.apache.vysper.xmpp.protocol.SessionStateHolder; @@ -58,6 +60,7 @@ public class XmppIoHandlerAdapter implements IoHandler { this.serverRuntimeContext = serverRuntimeContext; } + @Override public void messageReceived(IoSession ioSession, Object message) throws Exception { if (!(message instanceof Stanza)) { if (message instanceof XMLText) { @@ -67,8 +70,8 @@ public class XmppIoHandlerAdapter implements IoHandler { return; } - messageReceivedNoStanza(ioSession, message); - return; + throw new IllegalArgumentException("xmpp handler only accepts Stanza-typed messages, but received type " + + message.getClass()); } Stanza stanza = (Stanza) message; @@ -79,27 +82,11 @@ public class XmppIoHandlerAdapter implements IoHandler { serverRuntimeContext.getStanzaProcessor().processStanza(serverRuntimeContext, session, stanza, stateHolder); } - private void messageReceivedNoStanza(IoSession ioSession, Object message) { - if (message == SslFilter.SESSION_SECURED) { - SessionContext session = extractSession(ioSession); - SessionStateHolder stateHolder = (SessionStateHolder) ioSession - .getAttribute(ATTRIBUTE_VYSPER_SESSIONSTATEHOLDER); - serverRuntimeContext.getStanzaProcessor().processTLSEstablished(session, stateHolder); - return; - } else if (message == SslFilter.SESSION_UNSECURED) { - // TODO - return; - // throw new IllegalStateException("server must close session!"); - } - - throw new IllegalArgumentException("xmpp handler only accepts Stanza-typed messages, but received type " - + message.getClass()); - } - private SessionContext extractSession(IoSession ioSession) { return (SessionContext) ioSession.getAttribute(ATTRIBUTE_VYSPER_SESSION); } + @Override public void messageSent(IoSession ioSession, Object o) throws Exception { // TODO implement } @@ -109,6 +96,19 @@ public class XmppIoHandlerAdapter implements IoHandler { ioSession.closeNow(); } + @Override + public void event(IoSession ioSession, FilterEvent event) throws Exception { + if (event == SslEvent.SECURED) { + SessionContext session = extractSession(ioSession); + SessionStateHolder stateHolder = (SessionStateHolder) ioSession + .getAttribute(ATTRIBUTE_VYSPER_SESSIONSTATEHOLDER); + serverRuntimeContext.getStanzaProcessor().processTLSEstablished(session, stateHolder); + } else if (event == SslEvent.UNSECURED) { + // TODO + } + } + + @Override public void sessionCreated(IoSession ioSession) throws Exception { SessionStateHolder stateHolder = new SessionStateHolder(); SessionContext sessionContext = new MinaBackedSessionContext(serverRuntimeContext, stateHolder, ioSession); @@ -117,10 +117,12 @@ public class XmppIoHandlerAdapter implements IoHandler { ioSession.setAttribute(ATTRIBUTE_VYSPER_TERMINATE_REASON, SessionTerminationCause.CLIENT_BYEBYE); } + @Override public void sessionOpened(IoSession ioSession) throws Exception { logger.info("new session from {} has been opened", ioSession.getRemoteAddress()); } + @Override public void sessionClosed(IoSession ioSession) throws Exception { SessionContext sessionContext = extractSession(ioSession); SessionTerminationCause cause = (SessionTerminationCause) ioSession.getAttribute(ATTRIBUTE_VYSPER_TERMINATE_REASON); @@ -132,11 +134,13 @@ public class XmppIoHandlerAdapter implements IoHandler { logger.info("session {} has been closed", sessionId); } + @Override public void sessionIdle(IoSession ioSession, IdleStatus idleStatus) throws Exception { logger.debug("session {} is idle", ((SessionContext) ioSession.getAttribute(ATTRIBUTE_VYSPER_SESSION)) .getSessionId()); } + @Override public void exceptionCaught(IoSession ioSession, Throwable throwable) throws Exception { SessionContext sessionContext = extractSession(ioSession); diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/server/s2s/ServerConnectorIoHandler.java b/server/core/src/main/java/org/apache/vysper/xmpp/server/s2s/ServerConnectorIoHandler.java index e1ed160..f6299ee 100644 --- a/server/core/src/main/java/org/apache/vysper/xmpp/server/s2s/ServerConnectorIoHandler.java +++ b/server/core/src/main/java/org/apache/vysper/xmpp/server/s2s/ServerConnectorIoHandler.java @@ -1,23 +1,24 @@ package org.apache.vysper.xmpp.server.s2s; +import java.io.IOException; + import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IoSession; -import org.apache.mina.filter.ssl.SslFilter; +import org.apache.mina.filter.ssl.SslEvent; import org.apache.vysper.xmpp.addressing.Entity; import org.apache.vysper.xmpp.stanza.Stanza; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; - /** * handler for server-to-server connections -*/ + */ public class ServerConnectorIoHandler extends IoHandlerAdapter { - + private static final Logger LOG = LoggerFactory.getLogger(ServerConnectorIoHandler.class); - + protected final Entity remoteServer; + protected final XMPPServerConnector serverConnector; ServerConnectorIoHandler(Entity remoteServer, XMPPServerConnector serverConnector) { @@ -40,7 +41,8 @@ public class ServerConnectorIoHandler extends IoHandlerAdapter { } serverConnector.close(); } else { - LOG.warn("Exception {} thrown by XMPP server connector to " + remoteServer + ", probably a bug in Vysper: {}", cause.getClass().getName(), cause.getMessage()); + LOG.warn("Exception {} thrown by XMPP server connector to " + remoteServer + + ", probably a bug in Vysper: {}", cause.getClass().getName(), cause.getMessage()); } } @@ -49,12 +51,12 @@ public class ServerConnectorIoHandler extends IoHandlerAdapter { */ @Override public void messageReceived(IoSession session, Object message) { - if(message == SslFilter.SESSION_SECURED) { + if (message == SslEvent.SECURED) { serverConnector.handleSessionSecured(); - } else if(message == SslFilter.SESSION_UNSECURED) { + } else if (message == SslEvent.UNSECURED) { // unsecured, closing serverConnector.close(); - } else if(message instanceof Stanza) { + } else if (message instanceof Stanza) { Stanza stanza = (Stanza) message; serverConnector.handleReceivedStanza(stanza); } else { diff --git a/server/extensions/pom.xml b/server/extensions/pom.xml index ecc6513..f785d50 100644 --- a/server/extensions/pom.xml +++ b/server/extensions/pom.xml @@ -33,23 +33,10 @@ <modules> <module>xep0060-pubsub</module> <module>xep0045-muc</module> + <module>xep0045-muc-inttest</module> <module>xep0065-socks</module> <module>xep0124-xep0206-bosh</module> <module>websockets</module> </modules> - <profiles> - <profile> - <id>inttest</id> - <modules> - <module>xep0060-pubsub</module> - <module>xep0045-muc</module> - <module>xep0045-muc-inttest</module> - <module>xep0124-xep0206-bosh</module> - <module>xep0065-socks</module> - <module>websockets</module> - </modules> - </profile> - </profiles> - </project> diff --git a/server/extensions/xep0045-muc-inttest/src/main/config/bogus_mina_tls.cert b/server/extensions/xep0045-muc-inttest/src/main/config/bogus_mina_tls.cert index d34502d..5a8e025 100644 Binary files a/server/extensions/xep0045-muc-inttest/src/main/config/bogus_mina_tls.cert and b/server/extensions/xep0045-muc-inttest/src/main/config/bogus_mina_tls.cert differ diff --git a/server/pom.xml b/server/pom.xml index baea78c..1b4ea2f 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -32,22 +32,12 @@ <modules> <module>core</module> + <module>core-inttest</module> <module>extensions</module> <module>storage</module> <module>admin-console</module> </modules> - <profiles> - <profile> - <id>inttest</id> - <modules> - <module>core</module> - <module>core-inttest</module> - <module>extensions</module> - </modules> - </profile> - </profiles> - <properties> <maven.compile.source>1.8</maven.compile.source> <maven.compile.target>1.8</maven.compile.target>