[ 
https://issues.apache.org/jira/browse/VYSPER-329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13471303#comment-13471303
 ] 

Niklas Gustavsson edited comment on VYSPER-329 at 10/7/12 7:59 PM:
-------------------------------------------------------------------

> However, it makes me wonder how s2s worked before?

Edit: reread the code properly

The way it's supposed to work is that jabber:server namespaced stanzas are 
rewritten into jabber:client in ProtocolWorker but that clearly comes too late. 
I haven't tested s2s for some time, so I'm not sure what broke it. When 
implemented, Openfire was one of the servers that it was tested against.

                
      was (Author: niklas):
    > However, it makes me wonder how s2s worked before?

jabber:server namespaced stanzas are rewritten into jabber:client in 
ProtocolWorker, not sure what causes the Openfire stanzas not to work properly 
in Vysper. jabber:server stanzas should indeed be supported.
                  
> Server To Server inbound messages in jabber:server namespace, delivery fails
> ----------------------------------------------------------------------------
>
>                 Key: VYSPER-329
>                 URL: https://issues.apache.org/jira/browse/VYSPER-329
>             Project: VYSPER
>          Issue Type: Bug
>          Components: server-to-server
>    Affects Versions: 0.8
>            Reporter: Justin Spears
>            Priority: Critical
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When recieving messages from external servers, if the message is in the 
> jabber:server namespace the message is not recognized and is sent to the 
> ServiceUnavailableHandler.  This includes all IQ/Presence/... messages.   
> This was discovered testing against Openfire 3.2.  According to a quick look 
> of the rfc these should be accepted.  
> Easy fix it is to change XMPPCoreStanzaHandler to check for either namespace
>  protected boolean verifyNamespace(Stanza stanza) {
>       String namespaceUri = stanza.getNamespaceURI();
>         return NamespaceURIs.JABBER_SERVER.equals(namespaceUri) || 
> NamespaceURIs.JABBER_CLIENT.equals(namespaceUri);
>     }
> I am not entirely sure this the correct way to handle it... but it works.
> It should also log at least debug level when StanzaHandlerLookup  returns 
> SERVICE_UNAVAILABLE_STANZA_ERROR_HANDLER  it would have saved days of 
> debugging.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to