Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libexmdbpp for openSUSE:Factory checked in at 2023-09-06 18:56:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libexmdbpp (Old) and /work/SRC/openSUSE:Factory/.libexmdbpp.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libexmdbpp" Wed Sep 6 18:56:33 2023 rev:3 rq:1108952 version:1.11.0.58baa16 Changes: -------- --- /work/SRC/openSUSE:Factory/libexmdbpp/libexmdbpp.changes 2023-03-30 22:51:34.976676230 +0200 +++ /work/SRC/openSUSE:Factory/.libexmdbpp.new.1766/libexmdbpp.changes 2023-09-06 18:58:05.943357176 +0200 @@ -1,0 +2,6 @@ +Mon Sep 4 18:40:21 UTC 2023 - Jan Engelhardt <[email protected]> + +- Update to release 1.11 + * Switch to empty_folder RPC to new v2 signature + +------------------------------------------------------------------- Old: ---- libexmdbpp-1.10.4.b7a36f2.tar.xz New: ---- libexmdbpp-1.11.0.58baa16.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libexmdbpp.spec ++++++ --- /var/tmp/diff_new_pack.6OfaYJ/_old 2023-09-06 18:58:07.419409794 +0200 +++ /var/tmp/diff_new_pack.6OfaYJ/_new 2023-09-06 18:58:07.423409937 +0200 @@ -18,7 +18,7 @@ %define lname libexmdbpp0 Name: libexmdbpp -Version: 1.10.4.b7a36f2 +Version: 1.11.0.58baa16 Release: 0 Summary: A C++ implementation of the exmdb wire protocol License: AGPL-3.0-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.6OfaYJ/_old 2023-09-06 18:58:07.451410935 +0200 +++ /var/tmp/diff_new_pack.6OfaYJ/_new 2023-09-06 18:58:07.455411078 +0200 @@ -1,15 +1,15 @@ <services> - <service name="tar_scm" mode="disabled"> + <service name="tar_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://github.com/grommunio/libexmdbpp</param> <param name="filename">libexmdbpp</param> <param name="revision">master</param> <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param> </service> - <service name="recompress" mode="disabled"> + <service name="recompress" mode="manual"> <param name="file">*.tar</param> <param name="compression">xz</param> </service> - <service name="set_version" mode="disabled"/> + <service name="set_version" mode="manual"/> </services> ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.6OfaYJ/_old 2023-09-06 18:58:07.471411648 +0200 +++ /var/tmp/diff_new_pack.6OfaYJ/_new 2023-09-06 18:58:07.475411791 +0200 @@ -1,4 +1,4 @@ -libexmdbpp (1.10.4.b7a36f2) unstable; urgency=low +libexmdbpp (1.11.0.58baa16) unstable; urgency=low * Initial package. ++++++ libexmdbpp-1.10.4.b7a36f2.tar.xz -> libexmdbpp-1.11.0.58baa16.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libexmdbpp-1.10.4.b7a36f2/CMakeLists.txt new/libexmdbpp-1.11.0.58baa16/CMakeLists.txt --- old/libexmdbpp-1.10.4.b7a36f2/CMakeLists.txt 2023-03-28 00:38:29.000000000 +0200 +++ new/libexmdbpp-1.11.0.58baa16/CMakeLists.txt 2023-08-07 12:27:10.000000000 +0200 @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.14) -project(libexmdbpp VERSION 1.10) +project(libexmdbpp VERSION 1.11) include(GNUInstallDirs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libexmdbpp-1.10.4.b7a36f2/include/exmdbpp/constants.h new/libexmdbpp-1.11.0.58baa16/include/exmdbpp/constants.h --- old/libexmdbpp-1.10.4.b7a36f2/include/exmdbpp/constants.h 2023-03-28 00:38:29.000000000 +0200 +++ new/libexmdbpp-1.11.0.58baa16/include/exmdbpp/constants.h 2023-08-07 12:27:10.000000000 +0200 @@ -34,7 +34,6 @@ static const uint8_t GET_FOLDER_PROPERTIES = 0x17; static const uint8_t SET_FOLDER_PROPERTIES = 0x18; static const uint8_t DELETE_FOLDER = 0x1a; -static const uint8_t EMPTY_FOLDER = 0x1b; static const uint8_t DELETE_MESSAGES = 0x23; static const uint8_t LOAD_HIERARCHY_TABLE = 0x26; static const uint8_t LOAD_CONTENT_TABLE = 0x28; @@ -52,6 +51,7 @@ static const uint8_t READ_MESSAGE = 0x6f; static const uint8_t LOAD_PERMISSION_TABLE = 0x7d; //was 0x29, changed table_flags from uint8_t to uint32_t static const uint8_t UNLOAD_STORE = 0x80; +static const uint8_t EMPTY_FOLDER = 0x84; } namespace PublicFid diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libexmdbpp-1.10.4.b7a36f2/include/exmdbpp/requests.h new/libexmdbpp-1.11.0.58baa16/include/exmdbpp/requests.h --- old/libexmdbpp-1.10.4.b7a36f2/include/exmdbpp/requests.h 2023-03-28 00:38:29.000000000 +0200 +++ new/libexmdbpp-1.11.0.58baa16/include/exmdbpp/requests.h 2023-08-07 12:27:10.000000000 +0200 @@ -418,20 +418,27 @@ /** * @brief Empty a folder * + * * @param string homedir * @param uint32_t cpid * @param string username * @param uint64_t folderId - * @param bool hard - * @param bool normal - * @param bool associated - * @param bool sub + * @param uint32_t flags * * @return Response<EmptyFolderRequest::callId> */ struct EmptyFolderRequest : public Request<constants::CallId::EMPTY_FOLDER, - uint32_t, std::string, uint64_t, bool, bool, bool, bool> -{}; + uint32_t, std::string, uint64_t, uint32_t> +{ + enum DeleteFlags : uint32_t + { + DEL_MESSAGES = 0x1, + DEL_FOLDERS = 0x4, + DEL_ASSOCIATED = 0x8, + HARD_DELETE = 0x10, + ALL = DEL_MESSAGES | DEL_FOLDERS | DEL_ASSOCIATED | HARD_DELETE, + }; +}; template<> struct Response<EmptyFolderRequest::callId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libexmdbpp-1.10.4.b7a36f2/src/queries.cpp new/libexmdbpp-1.11.0.58baa16/src/queries.cpp --- old/libexmdbpp-1.10.4.b7a36f2/src/queries.cpp 2023-03-28 00:38:29.000000000 +0200 +++ new/libexmdbpp-1.11.0.58baa16/src/queries.cpp 2023-08-07 12:27:10.000000000 +0200 @@ -269,7 +269,7 @@ bool ExmdbQueries::deleteFolder(const std::string& homedir, uint64_t folderId, bool clear) { if(clear) - send<EmptyFolderRequest>(homedir, 0, "", folderId, true, true, true, true); + send<EmptyFolderRequest>(homedir, 0, "", folderId, EmptyFolderRequest::ALL); return send<DeleteFolderRequest>(homedir, 0, folderId, true).success; } @@ -330,7 +330,8 @@ { FolderMemberList members = getFolderMemberList(homedir, folderId); auto it = std::find_if(members.members.begin(), members.members.end(), - [&username](const FolderMemberList::Member& m){return m.mail == username;}); + [&username](const FolderMemberList::Member& m) + {return !strcasecmp(m.mail.c_str(), username.c_str());}); FolderMemberList::Member existing = it == members.members.end()? FolderMemberList::Member() : *it; existing.mail = username; return setFolderMember(homedir, folderId, existing, rights, mode); @@ -539,6 +540,7 @@ */ bool ExmdbQueries::removeDevice(const std::string& homedir, const std::string& folderName, const std::string& deviceId) { + using Flags = EmptyFolderRequest::DeleteFlags; uint64_t rootFolderId = util::makeEidEx(1, PublicFid::ROOT); auto syncFolder = send<GetFolderByNameRequest>(homedir, rootFolderId, folderName); if(!syncFolder.folderId) @@ -546,7 +548,7 @@ auto deviceFolder = send<GetFolderByNameRequest>(homedir, syncFolder.folderId, deviceId); if(!deviceFolder.folderId) return true; - send<EmptyFolderRequest>(homedir, 0, "", deviceFolder.folderId, true, false, true, false); + send<EmptyFolderRequest>(homedir, 0, "", deviceFolder.folderId, Flags::HARD_DELETE | Flags::DEL_ASSOCIATED); return send<DeleteFolderRequest>(homedir, 0, deviceFolder.folderId, true).success; } @@ -561,11 +563,13 @@ */ bool ExmdbQueries::removeSyncStates(const std::string& homedir, const std::string& folderName) { + using Flags = EmptyFolderRequest::DeleteFlags; uint64_t rootFolderId = util::makeEidEx(1, PublicFid::ROOT); auto syncFolder = send<GetFolderByNameRequest>(homedir, rootFolderId, folderName); if(!syncFolder.folderId) return true; - send<EmptyFolderRequest>(homedir, 0, "", syncFolder.folderId, true, false, true, true); + send<EmptyFolderRequest>(homedir, 0, "", syncFolder.folderId, + Flags::HARD_DELETE | Flags::DEL_ASSOCIATED | Flags::DEL_FOLDERS); return send<DeleteFolderRequest>(homedir, 0, syncFolder.folderId, true).success; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libexmdbpp-1.10.4.b7a36f2/src/requests.cpp new/libexmdbpp-1.11.0.58baa16/src/requests.cpp --- old/libexmdbpp-1.10.4.b7a36f2/src/requests.cpp 2023-03-28 00:38:29.000000000 +0200 +++ new/libexmdbpp-1.11.0.58baa16/src/requests.cpp 2023-08-07 12:27:10.000000000 +0200 @@ -246,7 +246,7 @@ template struct Request<constants::CallId::CREATE_FOLDER_BY_PROPERTIES, uint32_t, Collection<uint16_t, structures::TaggedPropval>>; template struct Request<constants::CallId::DELETE_FOLDER, uint32_t, uint64_t, bool>; template struct Request<constants::CallId::DELETE_MESSAGES, uint32_t, uint32_t, const std::string&, uint64_t, Collection<uint32_t, uint64_t>, bool>; -template struct Request<constants::CallId::EMPTY_FOLDER, uint32_t, std::string, uint64_t, bool, bool, bool, bool>; +template struct Request<constants::CallId::EMPTY_FOLDER, uint32_t, std::string, uint64_t, uint32_t>; template struct Request<constants::CallId::GET_FOLDER_ALL_PROPTAGS, uint64_t>; template struct Request<constants::CallId::GET_FOLDER_BY_NAME, uint64_t, std::string>; template struct Request<constants::CallId::GET_FOLDER_PROPERTIES, uint32_t, uint64_t, Collection<uint16_t, uint32_t>>; ++++++ libexmdbpp.dsc ++++++ --- /var/tmp/diff_new_pack.6OfaYJ/_old 2023-09-06 18:58:07.591415926 +0200 +++ /var/tmp/diff_new_pack.6OfaYJ/_new 2023-09-06 18:58:07.591415926 +0200 @@ -1,7 +1,7 @@ Format: 1.0 Source: libexmdbpp Architecture: any -Version: 1.10.4.b7a36f2 +Version: 1.11.0.58baa16 DEBTRANSFORM-RELEASE: 1 Maintainer: Grommunio <[email protected]> Homepage: https://grommunio.com
