Fix integration tests and always activate their modules
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
--- a/server/core-inttest/src/main/config/bogus_mina_tls.cert
+++ b/server/core-inttest/src/main/config/bogus_mina_tls.cert
Binary files 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.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 @@
         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 @@
                     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 @@
         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 @@
         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 @@
         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 @@
         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 @@
             }
             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 @@
      */
     @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
--- 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
Binary files 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>