You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by be...@apache.org on 2008/04/22 09:23:21 UTC

svn commit: r650398 - in /labs/vysper/src: main/java/org/apache/vysper/xmpp/protocol/ main/java/org/apache/vysper/xmpp/protocol/worker/ test/java/org/apache/vysper/xmpp/protocol/

Author: berndf
Date: Tue Apr 22 00:23:11 2008
New Revision: 650398

URL: http://svn.apache.org/viewvc?rev=650398&view=rev
Log:
[vysper] return unsupported-stanza error instead of more general bad-format

Modified:
    labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/ResponseWriter.java
    labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java
    labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java
    labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java
    labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java
    labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolEncryptionStartedTestCase.java
    labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolStateTestCase.java

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/ResponseWriter.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/ResponseWriter.java?rev=650398&r1=650397&r2=650398&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/ResponseWriter.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/ResponseWriter.java Tue Apr 22 00:23:11 2008
@@ -30,11 +30,11 @@
  */
 public class ResponseWriter {
     
-    public void writeStreamNotOpenedError(SessionContext sessionContext) {
+    public void writeUnsupportedStanzaError(SessionContext sessionContext) {
 
-        Stanza errorStanza = ServerErrorResponses.getInstance().getStreamError(StreamErrorCondition.BAD_FORMAT,
+        Stanza errorStanza = ServerErrorResponses.getInstance().getStreamError(StreamErrorCondition.UNSUPPORTED_STANZA_TYPE,
                 sessionContext.getXMLLang(),
-                "could not parse incoming stanza",
+                "service unavailable at this session state",
                 null);
         Stanza streamOpener = new ServerResponses().getStreamOpenerForError(false, sessionContext.getServerJID(), XMPPVersion.VERSION_1_0, errorStanza);
 

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java?rev=650398&r1=650397&r2=650398&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java Tue Apr 22 00:23:11 2008
@@ -32,7 +32,7 @@
     protected boolean checkState(SessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza, StanzaHandler stanzaHandler, ResponseWriter responseWriter) {
         if (stanzaHandler instanceof StreamStartHandler) return true;
         if (stanzaHandler.verify(stanza)) return true;
-        responseWriter.writeStreamNotOpenedError(sessionContext);
+        responseWriter.writeUnsupportedStanzaError(sessionContext);
         return false;
     }
 

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java?rev=650398&r1=650397&r2=650398&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java Tue Apr 22 00:23:11 2008
@@ -37,7 +37,7 @@
     protected boolean checkState(SessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza, StanzaHandler stanzaHandler, ResponseWriter responseWriter) {
         if (stanzaHandler instanceof StreamStartHandler) return true;
         if (stanzaHandler instanceof AuthHandler) return true;
-        responseWriter.writeStreamNotOpenedError(sessionContext);
+        responseWriter.writeUnsupportedStanzaError(sessionContext);
         return false;
     }
 }

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java?rev=650398&r1=650397&r2=650398&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java Tue Apr 22 00:23:11 2008
@@ -37,7 +37,7 @@
     protected boolean checkState(SessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza, StanzaHandler stanzaHandler, ResponseWriter responseWriter) {
         if (stanzaHandler instanceof XMLPrologHandler) return true;
         if (stanzaHandler instanceof StreamStartHandler) return true;
-        responseWriter.writeStreamNotOpenedError(sessionContext);
+        responseWriter.writeUnsupportedStanzaError(sessionContext);
         return false;
     }
 }

Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java?rev=650398&r1=650397&r2=650398&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java Tue Apr 22 00:23:11 2008
@@ -35,7 +35,7 @@
 
     protected boolean checkState(SessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza, StanzaHandler stanzaHandler, ResponseWriter responseWriter) {
         if (stanzaHandler instanceof StartTLSHandler) return true;
-        responseWriter.writeStreamNotOpenedError(sessionContext); // TODO remove this temporary solution
+        responseWriter.writeUnsupportedStanzaError(sessionContext); 
         return false;
     }
 }

Modified: labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolEncryptionStartedTestCase.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolEncryptionStartedTestCase.java?rev=650398&r1=650397&r2=650398&view=diff
==============================================================================
--- labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolEncryptionStartedTestCase.java (original)
+++ labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolEncryptionStartedTestCase.java Tue Apr 22 00:23:11 2008
@@ -33,7 +33,12 @@
     }
 
     public void testDontAcceptArbitraryStanzaWhileNotAuthenticated() {
-        skeleton_testDontAcceptArbitraryStanzaWhileNotAuthenticated();
+        try {
+            skeleton_testDontAcceptArbitraryStanzaWhileNotAuthenticated();
+            fail();
+        } catch (RuntimeException e) {
+            // worker is not implemented
+        }
     }
 
 

Modified: labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolStateTestCase.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolStateTestCase.java?rev=650398&r1=650397&r2=650398&view=diff
==============================================================================
--- labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolStateTestCase.java (original)
+++ labs/vysper/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolStateTestCase.java Tue Apr 22 00:23:11 2008
@@ -98,7 +98,13 @@
         protocolWorker.processStanza(sessionContext, stanzaBuilder.getFinalStanza(), sessionStateHolder);
 
         Stanza response = sessionContext.getRecordedResponse();
+        
         XMLElementVerifier responseVerifier = response.getVerifier();
+        // error might be wrapped within a stream opener
+        if (responseVerifier.nameEquals("stream")) {
+            responseVerifier = response.getFirstInnerElement().getVerifier();
+        }
+        
         assertTrue(responseVerifier.nameEquals("error"));
         assertTrue("error", responseVerifier.subElementPresent(StreamErrorCondition.UNSUPPORTED_STANZA_TYPE.value()));
         assertTrue(sessionContext.isClosed());



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org