Opened 11 years ago

Last modified 9 years ago

#5778 new defect

pidgin doesn't read the response of the server for deletion request

Reported by: niraj19july Owned by: deryni
Milestone: Component: XMPP
Version: 2.5.8 Keywords:
Cc:

Description

Deleting an xmpp buddy is always successful irrespective of whether the request was successful at the server side or not.

If the server sends the InfoQuery? error packet for the deletion request, pidgin must not delete the contact from UI. However, pidgin ignores the response of the server completely.

Workaround Logout and login back to see the contact again.

Change History (9)

comment:1 Changed 11 years ago by deryni

  • pending changed from 0 to 1
  • Summary changed from PIDGIN DOESN'T READ THE RESPONSE OF THE SERVER FOR DELETION REQUEST to pidgin doesn't read the response of the server for deletion request

Do you have Debug Window output of this happening? Can you pastebin it here?

comment:2 Changed 11 years ago by niraj19july

  • pending changed from 1 to 0

Here is the output from the debugging console required by you:

(11:23:36) blist: Removing 'neeraj@example.com' from buddy list.
(11:23:36) jabber: Sending (ssl): <iq type='set' id='purple35aee901'><query xmlns='jabber:iq:roster'><item jid='neeraj@example.com' subscription='remove'/></query></iq>
(11:23:41) util: Writing file blist.xml to directory C:\Documents and Settings\NEESHARM\Application Data\.purple
(11:23:54) jabber: Recv (ssl)(277): <iq id="purple35aee901" type="error" to="hari@example.com/qwer77"><query xmlns="jabber:iq:roster"><item jid="neeraj@example.com" subscription="remove"></item></query><error code="500" type="wait"><internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>

Server returns the error for the deletion request but the buddy is removed from the client.

Please let me know if you need something else from my side.

comment:3 Changed 11 years ago by deryni

  • Owner changed from nwalp to deryni

What server is this which is returning that error there? I'm not at all certain that returning that error is in fact legal XMPP and I'm not certain what the right thing to do in that case is (assuming it is legal).

comment:4 Changed 11 years ago by niraj19july

We have written xmpp server and we are sending the error as per xep-0086. Other jabber clients honor this error code and don't delete the entry from the roster. However, pidgin doesn't even wait for the server response and deletes the roster entry from the buddy list. If you think error is not legal, can u tell me the error which needs to be sent to make pidgin understand. By the way, how come other jabber clients are able to understand this error?

comment:5 Changed 11 years ago by niraj19july

If response to IQ(InfoQuery?) packet is not of the type "result" and if it is of the type "error" then buddy should not be deleted from the roster.

comment:6 Changed 11 years ago by deryni

XEP-0086 is not an indication of what error messages are allowed where, it is a mapping from XMPP error messages to "legacy" error messages/codes and directions for what XMPP entities should send to legacy entities. Since XMPP clients are by-definition not legacy entities using the legacy code mapping is certainly not correct. That being said returning an error does seem to be acceptable and so pidgin is in fact doing this wrong and should be fixed.

comment:7 Changed 10 years ago by bernmeister

Does this still happen in Pidgin 2.5.8? Can you please verify?

comment:8 Changed 10 years ago by darkrain42

  • Version changed from 2.1.0 to 2.5.8

Yes.

comment:9 Changed 9 years ago by darkrain42

Related: #10650

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!