Hello community, here is the log from the commit of package kdepimlibs4 for openSUSE:Factory checked in at 2014-06-19 13:15:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdepimlibs4 (Old) and /work/SRC/openSUSE:Factory/.kdepimlibs4.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdepimlibs4" Changes: -------- --- /work/SRC/openSUSE:Factory/kdepimlibs4/kdepimlibs4.changes 2014-05-22 06:49:10.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kdepimlibs4.new/kdepimlibs4.changes 2014-06-19 13:15:10.000000000 +0200 @@ -1,0 +2,7 @@ +Sun Jun 8 18:28:06 UTC 2014 - [email protected] + +- Update to 4.13.2 + * KDE 4.13 release + * See http://www.kde.org/announcements/announce-4.13.2.php + +------------------------------------------------------------------- Old: ---- kdepimlibs-4.13.1.tar.xz New: ---- kdepimlibs-4.13.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdepimlibs4.spec ++++++ --- /var/tmp/diff_new_pack.0sGKt2/_old 2014-06-19 13:15:11.000000000 +0200 +++ /var/tmp/diff_new_pack.0sGKt2/_new 2014-06-19 13:15:11.000000000 +0200 @@ -17,7 +17,7 @@ Name: kdepimlibs4 -Version: 4.13.1 +Version: 4.13.2 Release: 0 Summary: KDE PIM Libraries License: LGPL-2.1+ ++++++ kdepimlibs-4.13.1.tar.xz -> kdepimlibs-4.13.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/CMakeLists.txt new/kdepimlibs-4.13.2/CMakeLists.txt --- old/kdepimlibs-4.13.1/CMakeLists.txt 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/CMakeLists.txt 2014-06-06 00:12:42.000000000 +0200 @@ -7,7 +7,7 @@ ############### The kdepimlibs version (used e.g. in KdepimLibsConfig.cmake) ############### set(KDEPIMLIBS_VERSION_MAJOR 4) set(KDEPIMLIBS_VERSION_MINOR 13) -set(KDEPIMLIBS_VERSION_PATCH 1) +set(KDEPIMLIBS_VERSION_PATCH 2) set(KDEPIMLIBS_VERSION ${KDEPIMLIBS_VERSION_MAJOR}.${KDEPIMLIBS_VERSION_MINOR}.${KDEPIMLIBS_VERSION_PATCH}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/akonadi/tagcreatejob.h new/kdepimlibs-4.13.2/akonadi/tagcreatejob.h --- old/kdepimlibs-4.13.1/akonadi/tagcreatejob.h 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/akonadi/tagcreatejob.h 2014-06-06 00:12:42.000000000 +0200 @@ -42,7 +42,7 @@ * @param tag The tag to create. * @param parent The parent object. */ - TagCreateJob(const Tag &tag, QObject *parent = 0); + explicit TagCreateJob(const Tag &tag, QObject *parent = 0); /** * Returns the created tag with the new unique id, or an invalid tag if the job failed. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/akonadi/tagdeletejob.h new/kdepimlibs-4.13.2/akonadi/tagdeletejob.h --- old/kdepimlibs-4.13.1/akonadi/tagdeletejob.h 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/akonadi/tagdeletejob.h 2014-06-06 00:12:42.000000000 +0200 @@ -37,8 +37,8 @@ Q_OBJECT public: - TagDeleteJob(const Tag &tag, QObject *parent = 0); - TagDeleteJob(const Tag::List &tag, QObject *parent = 0); + explicit TagDeleteJob(const Tag &tag, QObject *parent = 0); + explicit TagDeleteJob(const Tag::List &tag, QObject *parent = 0); /** * Returns the tags passed to the constructor. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/akonadi/tagfetchjob.h new/kdepimlibs-4.13.2/akonadi/tagfetchjob.h --- old/kdepimlibs-4.13.1/akonadi/tagfetchjob.h 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/akonadi/tagfetchjob.h 2014-06-06 00:12:42.000000000 +0200 @@ -29,7 +29,13 @@ class TagFetchJobPrivate; /** - * @short Job that fetches tags. + * @short Job that fetches tags from the Akonadi storage. + * + * This class is used to fetch tags from the Akonadi storage. + * + * If you want to fetch all items with given tag, use ItemFetchJob and the + * ItemFetchJob(const Tag &tag, QObject *parent = 0) constructor (since 4.14) + * * @since 4.13 */ class AKONADI_EXPORT TagFetchJob : public Job @@ -37,14 +43,68 @@ Q_OBJECT public: + /** + * Constructs a new tag fetch job that retrieves all tags stored in Akonadi. + * + * @param parent The parent object. + */ + explicit TagFetchJob(QObject *parent = 0); + + /** + * Constructs a new tag fetch job that retrieves the specified tag. + * If the tag has a uid set, this is used to identify the tag on the Akonadi + * server. If only a remote identifier is available, that is used. However + * as remote identifiers are internal to resources, it's necessary to set + * the resource context (see ResourceSelectJob). + * + * @param tag The tag to fetch. + * @param parent The parent object. + */ + explicit TagFetchJob(const Tag &tag, QObject *parent = 0); + + /** + * Constructs a new tag fetch job that retrieves specified tags. + * If the tags have a uid set, this is used to identify the tags on the Akonadi + * server. If only a remote identifier is available, that is used. However + * as remote identifiers are internal to resources, it's necessary to set + * the resource context (see ResourceSelectJob). + * + * @param tags Tags to fetch. + * @param parent The parent object. + */ + explicit TagFetchJob(const Tag::List &tags, QObject *parent = 0); - TagFetchJob(QObject *parent = 0); - TagFetchJob(const Tag &tag, QObject *parent = 0); - TagFetchJob(const Tag::List &tags, QObject *parent = 0); - TagFetchJob(const QList<Tag::Id> &ids, QObject *parent = 0); + /** + * Convenience ctor equivalent to ItemFetchJob(const Item::List &items, QObject *parent = 0) + * + * @param ids UIDs of tags to fetch. + * @param parent The parent object. + */ + explicit TagFetchJob(const QList<Tag::Id> &ids, QObject *parent = 0); + /** + * Sets the tag fetch scope. + * + * The TagFetchScope controls how much of an tags's data is fetched + * from the server. + * + * @param fetchScope The new fetch scope for tag fetch operations. + * @see fetchScope() + */ void setFetchScope(const TagFetchScope &fetchScope); + /** + * Returns the tag fetch scope. + * + * Since this returns a reference it can be used to conveniently modify the + * current scope in-place, i.e. by calling a method on the returned reference + * without storing it in a local variable. See the TagFetchScope documentation + * for an example. + * + * @return a reference to the current tag fetch scope + * + * @see setFetchScope() for replacing the current tag fetch scope + */ TagFetchScope &fetchScope(); /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/akonadi/tagmodifyjob.h new/kdepimlibs-4.13.2/akonadi/tagmodifyjob.h --- old/kdepimlibs-4.13.1/akonadi/tagmodifyjob.h 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/akonadi/tagmodifyjob.h 2014-06-06 00:12:42.000000000 +0200 @@ -42,7 +42,7 @@ * @param tag The tag to modify. * @param parent The parent object. */ - TagModifyJob(const Tag &tag, QObject *parent = 0); + explicit TagModifyJob(const Tag &tag, QObject *parent = 0); /** * Returns the modified tag. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/akonadi/tests/testresource/knutresource.desktop new/kdepimlibs-4.13.2/akonadi/tests/testresource/knutresource.desktop --- old/kdepimlibs-4.13.1/akonadi/tests/testresource/knutresource.desktop 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/akonadi/tests/testresource/knutresource.desktop 2014-06-06 00:12:42.000000000 +0200 @@ -8,6 +8,7 @@ Name[de]=Knut Name[el]=Knut Name[es]=Knut +Name[et]=Knut Name[fi]=Knut Name[fr]=Knut Name[gl]=Knut @@ -43,6 +44,7 @@ Comment[de]=Agent für die Fehlersuche Comment[el]=Πράκτορας για αποσφαλμάτωση Comment[es]=Un agente para el propósito de depuración +Comment[et]=Silumiseks mõeldud agent Comment[fi]=Vianjäljitykseen tarkoitettu agentti Comment[fr]=Un agent à des fins de débogage Comment[gl]=Un axente de depuración diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop new/kdepimlibs-4.13.2/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop --- old/kdepimlibs-4.13.1/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/akonadi/tests/testsearchplugin/akonaditestsearchplugin.desktop 2014-06-06 00:12:42.000000000 +0200 @@ -8,8 +8,10 @@ Name[de]=Akonadi-Testsuchmodul Name[el]=Πρόσθετο δοκιμαστικής αναζήτησης Akonadi Name[es]=Complemento de prueba de búsqueda de Akonadi +Name[et]=Akonadi otsingu testplugin Name[fi]=Akonadin hakuliitännäinen testaustarkoituksiin Name[fr]=Module externe de test pour les recherches Akonadi +Name[gl]=Engadido de busca de proba de Akonadi Name[hu]=Akonadi teszt keresés bővítmény Name[ia]=Plug-in de cerca de essayo de Akonadi Name[it]=Plugin di ricerca di test per Akonadi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kabc/plugins/dir/dir.desktop new/kdepimlibs-4.13.2/kabc/plugins/dir/dir.desktop --- old/kdepimlibs-4.13.1/kabc/plugins/dir/dir.desktop 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kabc/plugins/dir/dir.desktop 2014-06-06 00:12:42.000000000 +0200 @@ -60,6 +60,7 @@ Comment[de]=Ermöglicht Zugriff auf Kontakte, die in einzelnen Dateien in einem vorgegebenen Ordner gespeichert sind. Unterstützt Standard-vCard-Dateien und andere Formate abhängig von den verfügbaren Modulen. Comment[el]=Προσφέρει πρόσβαση σε επαφές, αποθηκευμένες σε ξεχωριστά αρχεία, σε ένα δοσμένο φάκελο. Υποστηρίζει τυπικά αρχεία vCard και άλλες μορφές αρχείων ανάλογα με τη διαθεσιμότητα των πρόσθετων. Comment[es]=Proporciona acceso a los contactos, cada uno almacenado en un archivo diferente, dentro de una carpeta determinada. Admite archivos vCard estándar y otros formatos dependiendo de la disponibilidad de los complementos. +Comment[et]=Võimaldab kasutada eraldi failidesse salvestatud kontakte määratud kataloogis. Toetab standardseid vCard-faile ja teisi vorminguid sõltuvalt pluginate olemasolust. Comment[fi]=Tarjoaa pääsyn annetun kansion yksittäisiin tiedostoihin tallennettuihin yhteystietoihin. Tukee vakiomuotoista vCard-tiedostoa sekä muita tiedostomuotoja liitännäisistä riippuen. Comment[fr]=Fournit un accès aux contacts dont chacun est enregistré dans un fichier, dans le dossier indiqué. Le format « vCard » et d'autres formats sont pris en charge selon les modules externes disponibles. Comment[gl]=Fornece acceso aos contactos, cada un gardado nun ficheiro nun cartafol dado. Admite ficheiros vCard estándar e outros formatos, en función da dispoñibilidade de engadidos. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kabc/plugins/file/file.desktop new/kdepimlibs-4.13.2/kabc/plugins/file/file.desktop --- old/kdepimlibs-4.13.1/kabc/plugins/file/file.desktop 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kabc/plugins/file/file.desktop 2014-06-06 00:12:42.000000000 +0200 @@ -65,6 +65,7 @@ Comment[de]=Ermöglicht Zugriff auf Kontakte, die in einer einzigen Datei lokal gespeichert sind. Unterstützt Standard-vCard-Dateien und andere Formate abhängig von den verfügbaren Modulen. Comment[el]=Προσφέρει πρόσβαση σε επαφές, αποθηκευμένες σε ένα τοπικό αρχείο. Υποστηρίζει τυπικά αρχεία vCard και άλλες μορφές αρχείων ανάλογα με τη διαθεσιμότητα των πρόσθετων. Comment[es]=Proporciona acceso a los contactos almacenados en un único archivo local. Admite archivos vCard estándar y otros formatos dependiendo de la disponibilidad de los complementos. +Comment[et]=Võimaldab kasutada kohalikku faili salvestatud kontakte. Toetab standardseid vCard-faile ja teisi vorminguid sõltuvalt pluginate olemasolust. Comment[fi]=Tarjoaa pääsyn yksittäiseen paikalliseen tiedostoon tallennettuihin yhteystietoihin. Tukee vakiomuotoisia vCard-tiedostoja sekä muita tiedostomuotoja liitännäisistä riippuen. Comment[fr]=Fournit un accès aux contacts enregistrés dans un unique fichier local. Le format « vCard » et d'autres formats sont pris en charge selon les modules externes disponibles. Comment[gl]=Fornece acceso a contactos gardados nun único ficheiro local. Admite ficheiros vCard estándar e outros formatos en función dos engadidos dispoñíbeis. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kabc/plugins/net/net.desktop new/kdepimlibs-4.13.2/kabc/plugins/net/net.desktop --- old/kdepimlibs-4.13.1/kabc/plugins/net/net.desktop 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kabc/plugins/net/net.desktop 2014-06-06 00:12:42.000000000 +0200 @@ -65,6 +65,7 @@ Comment[de]=Ermöglicht Zugriff auf Kontakte in entfernten Dateien durch das KIO-Netzwerksystem von KDE. Unterstützt Standard-vCard-Dateien und andere Formate abhängig von den verfügbaren Modulen. Comment[el]=Προσφέρει πρόσβαση σε επαφές σε απομακρυσμένα αρχεία με τη χρήση του συστήματος KIO του KDE. Υποστηρίζει τυπικά αρχεία vCard και άλλες μορφές αρχείων ανάλογα με τη διαθεσιμότητα των πρόσθετων. Comment[es]=Proporciona acceso a los contactos en un archivo remoto utilizando la infraestructura de red KIO de KDE. Admite archivos vCard estándar y otros formatos dependiendo en la disponibilidad de los complementos. +Comment[et]=Võimaldab kasutada võrgufaile KDE võrguraamistiku KIO abil. Toetab standardseid vCard-faile ja teisi vorminguid sõltuvalt pluginate olemasolust. Comment[fi]=Tarjoaa pääsyn etätiedostoissa oleviin yhteystietoihin KDE:n verkkokehyksen KIOn välityksellä. Tukee vakiomuotoisia vCard-tiedostoja sekä muita tiedostomuotoja liitännäisistä riippuen. Comment[fr]=Fournit un accès aux contacts enregistrés dans des fichiers distants en utilisant le mécanisme réseau KIO de KDE. Le format « vCard » et d'autres formats sont pris en charge selon les modules externes disponibles. Comment[gl]=Fornece acceso a contactos gardados en ficheiros remotos mediante a infraestrutura de rede KIO, de KDE. Admite ficheiros vCard estándar e outros formatos en función dos engadidos dispoñíbeis. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kcalcore/tests/testicaltimezones.cpp new/kdepimlibs-4.13.2/kcalcore/tests/testicaltimezones.cpp --- old/kdepimlibs-4.13.1/kcalcore/tests/testicaltimezones.cpp 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kcalcore/tests/testicaltimezones.cpp 2014-06-06 00:12:42.000000000 +0200 @@ -40,8 +40,8 @@ static icalcomponent *loadCALENDAR(const char *vcal); static icalcomponent *loadVTIMEZONE(const char *vtz); -#define QDTUtc(y,mo,d,h,mi,s) QDateTime(QDate(y,mo,d), QTime(h,mi,d), Qt::UTC) -#define QDTLocal(y,mo,d,h,mi,s) QDateTime(QDate(y,mo,d), QTime(h,mi,d), Qt::LocalTime) +#define QDTUtc(y,mo,d,h,mi,s) QDateTime(QDate(y,mo,d), QTime(h,mi,s), Qt::UTC) +#define QDTLocal(y,mo,d,h,mi,s) QDateTime(QDate(y,mo,d), QTime(h,mi,s), Qt::LocalTime) static QDateTime start(QDate(1967,10,29), QTime(6,0,0), Qt::UTC); static QDateTime daylight87(QDate(1987,4,5), QTime(7,0,0), Qt::UTC); @@ -335,6 +335,10 @@ QVERIFY(tz.isValid()); // Standard time: start of definitions at 2:00:00 local time + QCOMPARE(tz.offsetAtZoneTime(QDTLocal(1967,10,29, 0,59,59), &offset2), -4 * 3600); + QCOMPARE(offset2, -4 * 3600); + QCOMPARE(tz.offsetAtZoneTime(QDTLocal(1967,10,29, 1,0,0), &offset2), -4 * 3600); + QCOMPARE(offset2, -5 * 3600); QCOMPARE(tz.offsetAtZoneTime(QDTLocal(1967,10,29, 1,59,59), &offset2), -4 * 3600); QCOMPARE(offset2, -5 * 3600); QCOMPARE(tz.offsetAtZoneTime(QDTLocal(1967,10,29, 2,0,0), &offset2), -5 * 3600); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kholidays/holidays/plan1/holiday_fi_fi new/kdepimlibs-4.13.2/kholidays/holidays/plan1/holiday_fi_fi --- old/kdepimlibs-4.13.1/kholidays/holidays/plan1/holiday_fi_fi 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kholidays/holidays/plan1/holiday_fi_fi 2014-06-06 00:12:42.000000000 +0200 @@ -35,7 +35,7 @@ red "Pitkäperjantai" weekend on easter minus 2 days red "Pääsiäinen" weekend on easter red "2. pääsiäispäivä" weekend on easter plus 1 days -red "Rukoussunnnuntai" weekend on easter plus 35 days +red "Rukoussunnuntai" weekend on easter plus 35 days red "Helatorstai" weekend on easter plus 39 days red "Helluntaipäivä" on easter plus 49 days diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kholidays/holidays/plan2/holiday_fi_fi new/kdepimlibs-4.13.2/kholidays/holidays/plan2/holiday_fi_fi --- old/kdepimlibs-4.13.1/kholidays/holidays/plan2/holiday_fi_fi 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kholidays/holidays/plan2/holiday_fi_fi 2014-06-06 00:12:42.000000000 +0200 @@ -6,7 +6,7 @@ :: Author: Steven Wahlberg <[email protected]> :: Lasse Liehu <[email protected]> :: -:: Updated: 2011-10-19 +:: Updated: 2014-05-18 :: :: Source: University of Helsinki Almanac office (http://almanakka.helsinki.fi) :: @@ -56,7 +56,7 @@ : Easter Monday "2. pääsiäispäivä" weekend on easter plus 1 days : Rogation Sunday -"Rukoussunnnuntai" weekend on easter plus 35 days +"Rukoussunnuntai" weekend on easter plus 35 days : Ascension "Helatorstai" weekend on easter plus 39 days : : Whitsunday diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kimap/getmetadatajob.cpp new/kdepimlibs-4.13.2/kimap/getmetadatajob.cpp --- old/kdepimlibs-4.13.1/kimap/getmetadatajob.cpp 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kimap/getmetadatajob.cpp 2014-06-06 00:12:42.000000000 +0200 @@ -73,12 +73,9 @@ } if ( d->entries.size() > 1 ) { parameters[parameters.length() - 1 ] = ')'; - } else { - parameters.truncate( parameters.length() - 1 ); + parameters += ' '; } - parameters += ' '; - if ( d->attributes.size() > 1 ) { parameters += '('; } @@ -92,14 +89,20 @@ } } else { + + QByteArray options; if ( d->depth != "0" ) { - parameters += "(DEPTH " + d->depth; + options = "DEPTH " + d->depth; } if ( d->maxSize != -1 ) { - parameters += "(MAXSIZE " + QByteArray::number( d->maxSize ) + ')'; + if ( !options.isEmpty() ) { + options += ' '; + } + options += "MAXSIZE " + QByteArray::number( d->maxSize ); } - if ( d->depth != "0" ) { - parameters += ") "; + + if ( !options.isEmpty() ) { + parameters = "(" + options + ") " + parameters; } if ( d->entries.size() >= 1 ) { @@ -108,14 +111,11 @@ parameters += entry + " "; } parameters[parameters.length() - 1 ] = ')'; + } else { + parameters.truncate( parameters.length() - 1 ); } } - if ( d->entries.isEmpty() ) { { - parameters += ')'; - } - } - d->tags << d->sessionInternal()->sendCommand( command, parameters ); // kDebug() << "SENT: " << command << " " << parameters; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kimap/tests/getmetadatajobtest.cpp new/kdepimlibs-4.13.2/kimap/tests/getmetadatajobtest.cpp --- old/kdepimlibs-4.13.1/kimap/tests/getmetadatajobtest.cpp 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kimap/tests/getmetadatajobtest.cpp 2014-06-06 00:12:42.000000000 +0200 @@ -44,7 +44,7 @@ //FIXME requesting /shared and getting /private back doesn't make sense => fix scenario QList<QByteArray> scenario; scenario << FakeServer::preauth() - << "C: A000001 GETMETADATA \"Folder1\" (DEPTH infinity) (/shared)" + << "C: A000001 GETMETADATA (DEPTH infinity) \"Folder1\" (/shared)" << "S: * METADATA \"Folder1\" (/shared/comment \"Shared comment\")" << "S: * METADATA \"Folder1\" (/private/comment \"My own comment\")" << "S: A000001 OK GETMETADATA complete"; @@ -56,7 +56,7 @@ { QList<QByteArray> scenario; scenario << FakeServer::preauth() - << "C: A000001 GETMETADATA \"Folder1\" (DEPTH infinity) (/shared)" + << "C: A000001 GETMETADATA (DEPTH infinity) \"Folder1\" (/shared)" << "S: * METADATA \"Folder1\" (/shared/comment \"Shared comment\" /private/comment \"My own comment\")" << "S: A000001 OK GETMETADATA complete"; QMap<QByteArray, QByteArray> expected; @@ -67,7 +67,7 @@ { QList<QByteArray> scenario; scenario << FakeServer::preauth() - << "C: A000001 GETMETADATA \"Folder1\" (DEPTH infinity) (/shared)" + << "C: A000001 GETMETADATA (DEPTH infinity) \"Folder1\" (/shared)" << "S: * METADATA \"Folder1\" (/shared/comment \"NIL\" /private/comment \"NIL\")" << "S: A000001 OK GETMETADATA complete"; QMap<QByteArray, QByteArray> expected; @@ -109,6 +109,125 @@ fakeServer.quit(); } +void testMetadataParameter() +{ + FakeServer fakeServer; + QList<QByteArray> scenario; + + scenario << FakeServer::preauth() + << "C: A000001 GETMETADATA \"Folder1\" (/shared)" + << "S: A000001 OK GETMETADATA complete" + << "C: A000002 GETMETADATA (DEPTH 1) \"Folder1\" (/shared)" + << "S: A000002 OK GETMETADATA complete" + << "C: A000003 GETMETADATA (MAXSIZE 1234) \"Folder1\" (/shared)" + << "S: A000003 OK GETMETADATA complete" + << "C: A000004 GETMETADATA (DEPTH 1 MAXSIZE 1234) \"Folder1\" (/shared)" + << "S: A000004 OK GETMETADATA complete" + << "C: A000005 GETMETADATA (DEPTH 1 MAXSIZE 1234) \"Folder1\" (/shared /shared2)" + << "S: A000005 OK GETMETADATA complete" + << "C: A000006 GETMETADATA (DEPTH 1 MAXSIZE 1234) \"Folder1\"" + << "S: A000006 OK GETMETADATA complete" + << "C: A000007 GETMETADATA (DEPTH 1) \"Folder1\"" + << "S: A000007 OK GETMETADATA complete" + << "C: A000008 GETMETADATA (MAXSIZE 1234) \"Folder1\"" + << "S: A000008 OK GETMETADATA complete" + << "C: A000009 GETMETADATA \"Folder1\"" + << "S: A000009 OK GETMETADATA complete" + << "C: A000010 GETMETADATA \"\"" + << "S: A000010 OK GETMETADATA complete"; + fakeServer.setScenario( scenario ); + fakeServer.startAndWait(); + + KIMAP::Session session( "127.0.0.1", 5989 ); + + //C: A000001 GETMETADATA "Folder1" (/shared) + KIMAP::GetMetaDataJob *getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->addRequestedEntry( "/shared" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::NoDepth ); + QVERIFY( getMetadataJob->exec() ); + + QCOMPARE( getMetadataJob->allMetaData( "Folder1" ).size(), 0 ); + + //C: A000002 GETMETADATA "Folder1" (DEPTH 1) (/shared) + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->addRequestedEntry( "/shared" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::OneLevel ); + QVERIFY( getMetadataJob->exec() ); + + //C: A000003 GETMETADATA "Folder1" (MAXSIZE 1234) (/shared) + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->addRequestedEntry( "/shared" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::NoDepth ); + getMetadataJob->setMaximumSize( 1234 ); + QVERIFY( getMetadataJob->exec() ); + + //C: A000004 GETMETADATA "Folder1" (DEPTH 1) (MAXSIZE 1234) (/shared) + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->addRequestedEntry( "/shared" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::OneLevel ); + getMetadataJob->setMaximumSize( 1234 ); + QVERIFY( getMetadataJob->exec() ); + + //C: A000005 GETMETADATA "Folder1" (DEPTH 1) (MAXSIZE 1234) (/shared /shared2) + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->addRequestedEntry( "/shared" ); + getMetadataJob->addRequestedEntry( "/shared2" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::OneLevel ); + getMetadataJob->setMaximumSize( 1234 ); + QVERIFY( getMetadataJob->exec() ); + + //C: A000006 GETMETADATA "Folder1" (DEPTH 1) (MAXSIZE 1234) + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::OneLevel ); + getMetadataJob->setMaximumSize( 1234 ); + QVERIFY( getMetadataJob->exec() ); + + //C: A000007 GETMETADATA "Folder1" (DEPTH 1) + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::OneLevel ); + QVERIFY( getMetadataJob->exec() ); + + //C: A000008 GETMETADATA "Folder1" (MAXSIZE 1234) + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::NoDepth ); + getMetadataJob->setMaximumSize( 1234 ); + QVERIFY( getMetadataJob->exec() ); + + //C: A000009 GETMETADATA "Folder1" + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::NoDepth ); + QVERIFY( getMetadataJob->exec() ); + + //C: A000010 GETMETADATA "" + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Metadata ); + getMetadataJob->setMailBox( "" ); + getMetadataJob->setDepth( KIMAP::GetMetaDataJob::NoDepth ); + QVERIFY( getMetadataJob->exec() ); + + QVERIFY(fakeServer.isAllScenarioDone()); + fakeServer.quit(); +} + + void annotatemore_data() { QTest::addColumn<QList<QByteArray> >( "scenario" ); @@ -176,6 +295,40 @@ fakeServer.quit(); } +void testAnnotateEntires() +{ + FakeServer fakeServer; + QList<QByteArray> scenario; + + scenario << FakeServer::preauth() + << "C: A000001 GETANNOTATION \"Folder1\"" + << "S: A000001 OK annotations retrieved" + << "C: A000002 GETANNOTATION \"Folder1\" (\"/comment\" \"/motd\") (\"value.shared\" \"value.priv\")" + << "S: A000002 OK annotations retrieved"; + fakeServer.setScenario( scenario ); + fakeServer.startAndWait(); + + KIMAP::Session session( "127.0.0.1", 5989 ); + + //C: A000001 GETANNOTATION "Folder1" + KIMAP::GetMetaDataJob *getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Annotatemore ); + getMetadataJob->setMailBox( "Folder1" ); + QVERIFY( getMetadataJob->exec() ); + + QCOMPARE( getMetadataJob->allMetaData( "Folder1" ).size(), 0 ); + + //C: A000002 GETANNOTATION "Folder1" ("/comment" "/motd") ("value.shared" "value.priv") + getMetadataJob = new KIMAP::GetMetaDataJob( &session ); + getMetadataJob->setServerCapability( KIMAP::MetaDataJobBase::Annotatemore ); + getMetadataJob->setMailBox( "Folder1" ); + getMetadataJob->addRequestedEntry( "/shared/comment" ); + getMetadataJob->addRequestedEntry( "/private/motd" ); + QVERIFY( getMetadataJob->exec() ); + + QVERIFY(fakeServer.isAllScenarioDone()); + fakeServer.quit(); +} }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kldap/ldapconfigwidget.cpp new/kdepimlibs-4.13.2/kldap/ldapconfigwidget.cpp --- old/kdepimlibs-4.13.1/kldap/ldapconfigwidget.cpp 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kldap/ldapconfigwidget.cpp 2014-06-06 00:12:42.000000000 +0200 @@ -321,27 +321,20 @@ void LdapConfigWidget::Private::sendQuery() { - LdapUrl _url; + LdapServer _server( mParent->server() ); mQResult.clear(); mCancelled = true; - _url.setProtocol( ( mSecSSL && mSecSSL->isChecked() ) ? QLatin1String("ldaps") : QLatin1String("ldap") ); - if ( mHost ) { - _url.setHost( mHost->text() ); - } - if ( mPort ) { - _url.setPort( mPort->value() ); + if ( mAttr == QLatin1String("supportedsaslmechanisms") ) { + _server.setAuth( LdapServer::Anonymous ); } + + LdapUrl _url( _server.url() ); + _url.setDn( LdapDN( QLatin1String("") ) ); _url.setAttributes( QStringList( mAttr ) ); _url.setScope( LdapUrl::Base ); - if ( mVersion ) { - _url.setExtension( QLatin1String("x-ver"), QString::number( mVersion->value() ) ); - } - if ( mSecTLS && mSecTLS->isChecked() ) { - _url.setExtension( QLatin1String("x-tls"), QLatin1String("") ); - } kDebug() << "sendQuery url:" << _url.prettyUrl(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepimlibs-4.13.1/kldap/ldapserver.cpp new/kdepimlibs-4.13.2/kldap/ldapserver.cpp --- old/kdepimlibs-4.13.1/kldap/ldapserver.cpp 2014-05-08 09:26:48.000000000 +0200 +++ new/kdepimlibs-4.13.2/kldap/ldapserver.cpp 2014-06-06 00:12:42.000000000 +0200 @@ -352,12 +352,12 @@ url.setProtocol( d->mSecurity == SSL ? QLatin1String("ldaps") : QLatin1String("ldap") ); url.setPort( d->mPort ); url.setHost( d->mHost ); - url.setPassword( d->mPassword ); url.setDn( d->mBaseDn ); url.setFilter( d->mFilter ); url.setScope( d->mScope ); if ( d->mAuth == SASL ) { url.setUser( d->mUser ); + url.setPassword( d->mPassword ); url.setExtension( QLatin1String("bindname"), d->mBindDn, true ); url.setExtension( QLatin1String("x-sasl"), QString() ); if ( !d->mMech.isEmpty() ) { @@ -366,8 +366,9 @@ if ( !d->mRealm.isEmpty() ) { url.setExtension( QLatin1String("x-realm"), d->mRealm ); } - } else { + } else if (d->mAuth == Simple ) { url.setUser( d->mBindDn ); + url.setPassword( d->mPassword ); } if ( d->mVersion == 2 ) { url.setExtension( QLatin1String("x-version"), d->mVersion ); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
