Hello community,
here is the log from the commit of package kdenetwork3
checked in at Wed May 9 15:18:16 CEST 2007.
--------
--- KDE/kdenetwork3/kdenetwork3.changes 2007-03-09 15:16:44.000000000 +0100
+++ /mounts/work_src_done/STABLE/kdenetwork3/kdenetwork3.changes 2007-05-09 15:15:34.000000000 +0200
@@ -1,0 +2,6 @@
+Wed May 9 15:14:18 CEST 2007 - wstephenson@suse.de
+
+- Fix useless error message from Kopete on failing to add a contact
+ and sync problem thereafter (#209604).
+
+-------------------------------------------------------------------
New:
----
3_5_BRANCH-r660112.diff
kopete_groupwise_better_error_reporting.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdenetwork3.spec ++++++
--- /var/tmp/diff_new_pack.i29518/_old 2007-05-09 15:18:00.000000000 +0200
+++ /var/tmp/diff_new_pack.i29518/_new 2007-05-09 15:18:00.000000000 +0200
@@ -17,7 +17,7 @@
Summary: KDE Network Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Version: 3.5.6
-Release: 9
+Release: 22
Provides: kdenetwork3-lan:/opt/kde3/bin/kpf
Source0: kdenetwork-%{version}.tar.bz2
Source1: init.lisa
@@ -39,6 +39,9 @@
Patch19: wifi-without-arts.patch
Patch20: groupwise_SP2_keepalive.diff
Patch21: fileshare-desktop-icon.diff
+# ignores ICQ6 plugin messages
+Patch22: 3_5_BRANCH-r660112.diff
+Patch23: kopete_groupwise_better_error_reporting.diff
Patch100: knewsticker_sources.patch
Url: http://www.kde.org
Requires: kdelibs3 >= %( echo `rpm -q --queryformat '%{VERSION}' kdelibs3`)
@@ -247,6 +250,8 @@
%patch19
%patch20
%patch21
+%patch22
+%patch23
%patch100
# remove ktalkd for security reasons
rm -rf ktalkd doc/ktalkd doc/kcontrol/kcmktalkd
@@ -636,6 +641,9 @@
%endif
%changelog
+* Wed May 09 2007 - wstephenson@suse.de
+- Fix useless error message from Kopete on failing to add a contact
+ and sync problem thereafter (#209604).
* Fri Mar 09 2007 - stbinner@suse.de
- fix build (new icon location check)
* Thu Feb 15 2007 - wstephenson@suse.de
++++++ 3_5_BRANCH-r660112.diff ++++++
Index: kopete/protocols/oscar/liboscar/messagereceivertask.cpp
===================================================================
--- kopete/protocols/oscar/liboscar/messagereceivertask.cpp (revision 660111)
+++ kopete/protocols/oscar/liboscar/messagereceivertask.cpp (revision 660112)
@@ -237,6 +237,12 @@
kdDebug(OSCAR_RAW_DEBUG) << k_funcinfo << "Got a TLV 2711" << endl;
Buffer tlv2711Buffer( tlv.data );
parseRendezvousData( &tlv2711Buffer, &msg );
+ if ( msg.messageType() == 0x1A )
+ {
+ kdDebug(OSCAR_RAW_DEBUG) << k_funcinfo << "Received plugin message" << endl;
+ break;
+ }
+
switch ( requestType )
{
case 0x00: // some request
@@ -404,7 +410,8 @@
int fgcolor = 0x00000000;
int bgcolor = 0x00ffffff;
- if ( b->length() >= 8 )
+ // Don't parse plugin message
+ if ( b->length() >= 8 && messageType != 0x1A )
{
fgcolor = b->getLEDWord();
bgcolor = b->getLEDWord();
++++++ kopete_groupwise_better_error_reporting.diff ++++++
Index: kopete/protocols/groupwise/libgroupwise/task.cpp
===================================================================
--- kopete/protocols/groupwise/libgroupwise/task.cpp (revision 662117)
+++ kopete/protocols/groupwise/libgroupwise/task.cpp (working copy)
@@ -197,7 +197,10 @@ void Task::setError(int code, const QStr
if(!d->done) {
d->success = false;
d->statusCode = code;
- d->statusString = str;
+ if ( str.isEmpty() )
+ d->statusString = GroupWise::errorCodeToString( code );
+ else
+ d->statusString = str;
done();
}
}
Index: kopete/protocols/groupwise/libgroupwise/gwerror.h
===================================================================
--- kopete/protocols/groupwise/libgroupwise/gwerror.h (revision 662117)
+++ kopete/protocols/groupwise/libgroupwise/gwerror.h (working copy)
@@ -1,9 +1,9 @@
/*
gwerror.h - Kopete Groupwise Protocol
- Copyright (c) 2004 SUSE Linux AG http://www.suse.com
+ Copyright (c) 2004-2007 Novell, Inc http://www.novell.com/linux
- Kopete (c) 2002-2004 by the Kopete developers
+ Kopete (c) 2002-2007 by the Kopete developers
*************************************************************************
* *
@@ -94,6 +94,8 @@ namespace GroupWise
Closed = 0x10000000
};
+ QString errorCodeToString( int errorCode );
+
// helpful structs used to pass data between the client library and the application using it
class ConferenceGuid : public QString
{
Index: kopete/protocols/groupwise/libgroupwise/tasks/modifycontactlisttask.cpp
===================================================================
--- kopete/protocols/groupwise/libgroupwise/tasks/modifycontactlisttask.cpp (revision 662117)
+++ kopete/protocols/groupwise/libgroupwise/tasks/modifycontactlisttask.cpp (working copy)
@@ -20,7 +20,7 @@
#include "client.h"
#include "response.h"
-
+#include "gwerror.h"
#include "modifycontactlisttask.h"
ModifyContactListTask::ModifyContactListTask(Task* parent): RequestTask(parent)
@@ -72,9 +72,9 @@ bool ModifyContactListTask::take( Transf
}
}
// TODO: call virtual here to read any fields after the contact list...
- if ( response->resultCode() == GroupWise::None )
+ if ( GroupWise::None )
setSuccess();
- else
+ else
setError( response->resultCode() );
return true;
}
Index: kopete/protocols/groupwise/libgroupwise/task.h
===================================================================
--- kopete/protocols/groupwise/libgroupwise/task.h (revision 662117)
+++ kopete/protocols/groupwise/libgroupwise/task.h (working copy)
@@ -64,6 +64,9 @@ protected:
virtual void onDisconnect();
void send( Request * request );
void setSuccess( int code=0, const QString &str="" );
+ /**
+ * If an empty string is passed, this sets the error string based on the error code using GroupWise::errorCodeToString
+ */
void setError( int code=0, const QString &str="" );
// void debug( const char *, ... );
void debug( const QString & );
Index: kopete/protocols/groupwise/libgroupwise/gwerror.cpp
===================================================================
--- kopete/protocols/groupwise/libgroupwise/gwerror.cpp (revision 0)
+++ kopete/protocols/groupwise/libgroupwise/gwerror.cpp (revision 0)
@@ -0,0 +1,151 @@
+/*
+ gwerror.cpp - Kopete Groupwise Protocol
+
+ Copyright (c) 2007 Novell, Inc http://www.novell.com/linux
+
+ Kopete (c) 2002-2007 by the Kopete developers
+
+ *************************************************************************
+ * *
+ * This library is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Lesser General Public *
+ * License as published by the Free Software Foundation; either *
+ * version 2 of the License, or (at your option) any later version. *
+ * *
+ *************************************************************************
+*/
+
+#include
+
+#include "gwerror.h"
+
+QString GroupWise::errorCodeToString( int errorCode )
+{
+ QString errorString;
+ switch ( errorCode )
+ {
+ case NMERR_ACCESS_DENIED:
+ errorString = i18n( "Access denied" );
+ break;
+ case NMERR_NOT_SUPPORTED:
+ errorString = i18n( "Not supported" );
+ break;
+ case NMERR_PASSWORD_EXPIRED:
+ errorString = i18n( "Password expired" );
+ break;
+ case NMERR_PASSWORD_INVALID:
+ errorString = i18n( "Invalid password" );
+ break;
+ case NMERR_USER_NOT_FOUND:
+ errorString = i18n( "User not found" );
+ break;
+ case NMERR_ATTRIBUTE_NOT_FOUND:
+ errorString = i18n( "Attribute not found" );
+ break;
+ case NMERR_USER_DISABLED:
+ errorString = i18n( "User is disabled" );
+ break;
+ case NMERR_DIRECTORY_FAILURE:
+ errorString = i18n( "Directory failure" );
+ break;
+ case NMERR_HOST_NOT_FOUND:
+ errorString = i18n( "Host not found" );
+ break;
+ case NMERR_ADMIN_LOCKED:
+ errorString = i18n( "Locked by admin" );
+ break;
+ case NMERR_DUPLICATE_PARTICIPANT:
+ errorString = i18n( "Duplicate participant" );
+ break;
+ case NMERR_SERVER_BUSY:
+ errorString = i18n( "Server busy" );
+ break;
+ case NMERR_OBJECT_NOT_FOUND:
+ errorString = i18n( "Object not found" );
+ break;
+ case NMERR_DIRECTORY_UPDATE:
+ errorString = i18n( "Directory update" );
+ break;
+ case NMERR_DUPLICATE_FOLDER:
+ errorString = i18n( "Duplicate folder" );
+ break;
+ case NMERR_DUPLICATE_CONTACT:
+ errorString = i18n( "Contact list entry already exists" );
+ break;
+ case NMERR_USER_NOT_ALLOWED:
+ errorString = i18n( "User not allowed" );
+ break;
+ case NMERR_TOO_MANY_CONTACTS:
+ errorString = i18n( "Too many contacts" );
+ break;
+ case NMERR_CONFERENCE_NOT_FOUND_2:
+ errorString = i18n( "Conference not found" );
+ break;
+ case NMERR_TOO_MANY_FOLDERS:
+ errorString = i18n( "Too many folders" );
+ break;
+ case NMERR_SERVER_PROTOCOL:
+ errorString = i18n( "Server protocol error" );
+ break;
+ case NMERR_CONVERSATION_INVITE:
+ errorString = i18n( "Conversation invitation error" );
+ break;
+ case NMERR_USER_BLOCKED:
+ errorString = i18n( "User is blocked" );
+ break;
+ case NMERR_MASTER_ARCHIVE_MISSING:
+ errorString = i18n( "Master archive is missing" );
+ break;
+ case NMERR_PASSWORD_EXPIRED_2:
+ errorString = i18n( "Expired password in use" );
+ break;
+ case NMERR_CREDENTIALS_MISSING:
+ errorString = i18n( "Credentials missing" );
+ break;
+ case NMERR_AUTHENTICATION_FAILED:
+ errorString = i18n( "Authentication failed" );
+ break;
+ case NMERR_EVAL_CONNECTION_LIMIT:
+ errorString = i18n( "Eval connection limit" );
+ break;
+ case MSGPRES_ERR_UNSUPPORTED_CLIENT_VERSION:
+ errorString = i18n( "Unsupported client version" );
+ break;
+ case MSGPRES_ERR_DUPLICATE_CHAT:
+ errorString = i18n( "A duplicate chat was found" );
+ break;
+ case MSGPRES_ERR_CHAT_NOT_FOUND:
+ errorString = i18n( "Chat not found" );
+ break;
+ case MSGPRES_ERR_INVALID_NAME:
+ errorString = i18n( "Invalid chat name" );
+ break;
+ case MSGPRES_ERR_CHAT_ACTIVE:
+ errorString = i18n( "The chat is active" );
+ break;
+ case MSGPRES_ERR_CHAT_BUSY:
+ errorString = i18n( "Chat is busy; try again" );
+ break;
+ case MSGPRES_ERR_REQUEST_TOO_SOON:
+ errorString = i18n( "Tried request too soon after another; try again" );
+ break;
+ case MSGPRES_ERR_CHAT_NOT_ACTIVE:
+ errorString = i18n( "Server's chat subsystem is not active" );
+ break;
+ case MSGPRES_ERR_INVALID_CHAT_UPDATE:
+ errorString = i18n( "The chat update request is invalid" );
+ break;
+ case MSGPRES_ERR_DIRECTORY_MISMATCH:
+ errorString = i18n( "Write failed due to directory mismatch" );
+ break;
+ case MSGPRES_ERR_RECIPIENT_TOO_OLD:
+ errorString = i18n( "Recipient's client version is too old" );
+ break;
+ case MSGPRES_ERR_CHAT_NO_LONGER_VALID:
+ errorString = i18n( "Chat has been removed from server" );
+ break;
+ default:
+ errorString = i18n("Unrecognized error code: %s").arg( errorCode );
+ }
+ return errorString;
+}
\ No newline at end of file
Index: kopete/protocols/groupwise/libgroupwise/Makefile.am
===================================================================
--- kopete/protocols/groupwise/libgroupwise/Makefile.am (revision 662117)
+++ kopete/protocols/groupwise/libgroupwise/Makefile.am (working copy)
@@ -19,12 +19,12 @@ noinst_HEADERS = connector.h tlshandler.
noinst_LTLIBRARIES = libgroupwise.la libgwtest.la
libgroupwise_la_COMPILE_FIRST = securestream.moc
-libgroupwise_la_SOURCES = connector.cpp bytestream.cpp tlshandler.cpp \
- qcatlshandler.cpp gwclientstream.cpp securestream.cpp stream.cpp coreprotocol.cpp \
- gwfield.cpp transferbase.cpp usertransfer.cpp eventtransfer.cpp transfer.cpp \
- request.cpp requestfactory.cpp safedelete.cpp response.cpp client.cpp task.cpp \
- rtf.cc userdetailsmanager.cpp eventprotocol.cpp inputprotocolbase.cpp \
- responseprotocol.cpp privacymanager.cpp gwglobal.cpp chatroommanager.cpp
+libgroupwise_la_SOURCES = bytestream.cpp chatroommanager.cpp client.cpp \
+ connector.cpp coreprotocol.cpp eventprotocol.cpp eventtransfer.cpp gwclientstream.cpp \
+ gwerror.cpp gwfield.cpp gwglobal.cpp inputprotocolbase.cpp privacymanager.cpp \
+ qcatlshandler.cpp request.cpp requestfactory.cpp response.cpp responseprotocol.cpp rtf.cc \
+ safedelete.cpp securestream.cpp stream.cpp task.cpp tlshandler.cpp transfer.cpp \
+ transferbase.cpp userdetailsmanager.cpp usertransfer.cpp
libgroupwise_la_LDFLAGS = -no-undefined $(all_libraries)
libgroupwise_la_LIBADD = tasks/libgroupwise_tasks.la -lqt-mt qca/src/libqca.la
Index: kopete/protocols/groupwise/gwaccount.cpp
===================================================================
--- kopete/protocols/groupwise/gwaccount.cpp (revision 662117)
+++ kopete/protocols/groupwise/gwaccount.cpp (working copy)
@@ -1176,10 +1176,14 @@ void GroupWiseAccount::receiveContactCre
Kopete::Contact * c = contacts()[ protocol()->dnToDotted( cct->userId() ) ];
if ( c )
{
- if ( c->metaContact()->contacts().count() == 1 )
- Kopete::ContactList::self()->removeMetaContact( c->metaContact() );
- else
- delete c;
+ // if the contact creation failed because it already exists on the server, don't delete it
+ if (!cct->statusCode() == NMERR_DUPLICATE_CONTACT )
+ {
+ if ( c->metaContact()->contacts().count() == 1 )
+ Kopete::ContactList::self()->removeMetaContact( c->metaContact() );
+ else
+ delete c;
+ }
}
KMessageBox::queuedMessageBox( Kopete::UI::Global::mainWidget (), KMessageBox::Error,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org