Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-14194

Invalid JID is generated for private chat in XMPP component

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.24.2, 3.0.0.RC3
    • 2.24.3, 3.0.0, 2.25.0
    • camel-xmpp
    • None
    • Unknown

    Description

      An invalid JID, containing non-LDH characters, is created for the receiver (participant) when a private chat is started. As a result it is not possible to send chat messages directly to an user.

      Group chats are not affected by the issue.

      See: https://stackoverflow.com/questions/58168566/problem-sending-messages-from-camel-xmpp-jid-malformed

       

      Exception seen in Openfire (4.4.3): 

      java.lang.IllegalArgumentException: The input 'xxxx.xxx.xx@chat:xxxxx@xxxx.xxx.xx:camel' is not a valid JID domain part: Contains non-LDH characters.
      

       

      The issue can be fixed by removing the thread name when the JID is created: 

      diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
      index b1b30a117ed..6eb1b9cb59c 100644
      --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
      +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
      @@ -97,7 +97,7 @@ public class XmppPrivateChatProducer extends DefaultProducer {     private Chat getOrCreateChat(ChatManager chatManager, final String participant, String thread) throws XmppStringprepException {
               // this starts a new chat or retrieves the pre-existing one in a threadsafe manner
      -        return chatManager.chatWith(JidCreate.entityBareFrom(participant + "@" + thread));
      +        return chatManager.chatWith(JidCreate.entityBareFrom(participant));
           }     private synchronized void reconnect() throws InterruptedException, IOException, SmackException, XMPPException {
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              pramming Johan Pramming
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m