RFC 3921bis-03 has a special requirements for roster set queries:

   The following rules apply to roster sets:

   1.  The <query/> element MUST contain one and only one <item/>
       element.
   ...

psi-plus currently ignores that and tries to send multiple items to the
server. Different servers like Isode M-Link 14.5v10 implement these
rules in a strict way and would answer a request with multiple items
with

   <error type="modify" code="400" >
   <bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
   </error>

A roster import must be done with multiple roster set queries to
fulfill this requirement.

Signed-off-by: Sven Eckelmann <sven.eckelm...@gmx.de>
---
 src/contactmanager/contactmanagerdlg.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/contactmanager/contactmanagerdlg.cpp 
b/src/contactmanager/contactmanagerdlg.cpp
index 3a0598d..7a57cde 100644
--- a/src/contactmanager/contactmanagerdlg.cpp
+++ b/src/contactmanager/contactmanagerdlg.cpp
@@ -291,11 +291,11 @@ void ContactManagerDlg::importRoster()
                if (confirmDlg.exec() == QMessageBox::Yes) {
                        um->startBatch();
                        um->clear();
-                       JT_Roster *r = new JT_Roster(pa_->client()->rootTask());
                        foreach (QString jid, jids) {
+                               JT_Roster *r = new 
JT_Roster(pa_->client()->rootTask());
                                r->set(Jid(jid), nicks[jid], groups[jid]);
+                               r->go(true);
                        }
-                       r->go(true);
                        pa_->client()->rosterRequest(); // через ж.., 
но пускай пока так.
                }
                file.close();
-- 
1.6.6.1




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to