Bug 132611 - MUC conference.jabber.org: Your message could not be delivered, Reason: "If set, the 'from' attribute must be set to the user's full JID."
Summary: MUC conference.jabber.org: Your message could not be delivered, Reason: "If s...
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: Jabber Plugin (show other bugs)
Version: unspecified
Platform: Mandriva RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
: 134305 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-08-18 21:30 UTC by Helge Hielscher
Modified: 2006-10-06 02:14 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Helge Hielscher 2006-08-18 21:30:12 UTC
Version:           Kopete 0.12.1 (using KDE KDE 3.5.4)
Installed from:    Mandriva RPMs

While trying to chat on wikipedia@conference.jabber.org I got the message:
Your message could not be delivered: "test message", Reason: "If set, the 'from' attribute must be set to the user's full JID."

I am not sure if this is a bug in kopete or with conference.jabber.org or a configuration error. If it is about configuration maybe a paragraph about it could be added to the FAQ or manual?
Comment 1 Olivier Goffart 2006-08-18 23:03:38 UTC
I think it's a bug in the google's server implementation.
Are you using a google talk account ?
Comment 2 Olivier Goffart 2006-08-18 23:18:51 UTC
actually the bug is in Kopete, and in all others server that let Kopete not respect XMPP :-)

Kopete use his room jid as form attribute for his stanza, which is wrong.

I'll fix the problem.
Comment 3 Olivier Goffart 2006-08-19 00:04:45 UTC
SVN commit 574390 by ogoffart:

Fix Bug 132611: MUC error: Your message could not be delivered, Reason: "If set, the 'from' attribute must be set to the user's full JID."a

Kopete was using the room nick JID instead of the normal JID as the XMPP core require.





 M  +3 -8      jabberchatsession.cpp  
 M  +3 -4      jabbergroupchatmanager.cpp  


--- branches/KDE/3.5/kdenetwork/kopete/protocols/jabber/jabberchatsession.cpp #574389:574390
@@ -185,10 +185,6 @@
                ++listIterator;
                if ( contact->isContactRequestingEvent( event ) )
                {
-                       // create JID for us as sender
-                       XMPP::Jid fromJid = static_cast<const JabberBaseContact*>(myself())->rosterItem().jid();
-                       fromJid.setResource ( account()->resource () );
-       
                        // create JID for the recipient
                        XMPP::Jid toJid = contact->rosterItem().jid();
        
@@ -198,7 +194,7 @@
        
                        XMPP::Message message;
        
-                       message.setFrom ( fromJid );
+                       message.setFrom ( account()->client()->jid() );
                        message.setTo ( toJid );
                        message.setEventId ( contact->lastReceivedMessageId () );
                        // store composing event depending on state
@@ -243,10 +239,9 @@
                XMPP::Message jabberMessage;
                JabberBaseContact *recipient = static_cast<JabberBaseContact*>(message.to().first());
 
-               XMPP::Jid jid = static_cast<const JabberBaseContact*>(message.from())->rosterItem().jid();
-               jid.setResource ( account()->configGroup()->readEntry( "Resource", QString::null ) );
-               jabberMessage.setFrom ( jid );
+               jabberMessage.setFrom ( account()->client()->jid() );
 
+
                XMPP::Jid toJid = recipient->rosterItem().jid();
 
                if( !resource().isEmpty () )
--- branches/KDE/3.5/kdenetwork/kopete/protocols/jabber/jabbergroupchatmanager.cpp #574389:574390
@@ -79,8 +79,8 @@
        {
                XMPP::Message jabberMessage;
 
-               XMPP::Jid jid = static_cast<const JabberBaseContact*>(message.from())->rosterItem().jid() ;
-               jabberMessage.setFrom ( jid );
+               jabberMessage.setFrom ( account()->client()->jid() );
+               
 
                XMPP::Jid toJid ( mRoomJid );
 
@@ -142,8 +142,7 @@
                //NOTE: this is the obsolete, NOT RECOMMANDED protocol.
                //      iris doesn't implement groupchat yet
                XMPP::Message jabberMessage;
-               XMPP::Jid jid = static_cast<const JabberBaseContact*>(account()->myself())->rosterItem().jid() ;
-               jabberMessage.setFrom ( jid );
+               jabberMessage.setFrom ( account()->client()->jid() );
                jabberMessage.setTo ( contactId );
                jabberMessage.setInvite( mRoomJid.userHost() );
                jabberMessage.setBody( i18n("You have been invited to %1").arg( mRoomJid.userHost() ) );
Comment 4 Matt Rogers 2006-10-06 02:14:18 UTC
*** Bug 134305 has been marked as a duplicate of this bug. ***