summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Remove Factory from QMailCryptographicServiceFactoryDamien Caliste2024-04-101-5/+5
| | | | | | | | | | | This class is not simply a factory creating instances of crypto plugins, but it's more like a service, providing methods on QMailMessagePart to execute cryptographic operations like signing or signature verification. Change-Id: I74f65f27137e3bfe78c0f9614728eca37a031b0c Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Adjust crypto sign() APIDamien Caliste2024-04-101-2/+2
| | | | | | | | | | Make sign() API to operate on a pointer on a part, instead of a reference, to emphasis the fact that it will change the part itself, making it a multipart/signed container. Change-Id: I55a1e2d15ee170909ae4aa8f2c0e8f8e88c9134c Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Remove cruft from some .pro files and remove pointless common.priPekka Vuorela2024-03-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | messageserver.pri not used anywhere. Neither PLUGIN_INTERNAL definition is no longer used anywhere. The common.pri isn't too good a common file as it's mostly included outside the src tree, only src/tools/messageserver uses it from the actual sources. Hence removing QMF_ENABLE_LOGGING shouldn't affect anything since it's used only in the libqmfclient for one thing. To use that properly one has needed the definition value passed externally. The win/mac special case release mode I didn't understand too well and neither did qtbase run_pro2cmake.py I was testing to proceed with cmake build. Unsure was that CONFIG_WIN working even in qt5 or was that some earlier thing. The mac bundle would have been used only for unit tests and such, so feels pointless. As neither target now even works because of d-bus ipc, let's just remove this part. Removing these makes the common.pri even more pointless so just moved the INSTALL=target to few places that were using the common.pri Change-Id: Ibfe6da554e0d452e09d08e184e22508c1af958e0 Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Christopher Adams <chris.adams@qinetic.com.au>
* Properly compare uint with static valuesDamien Caliste2024-02-281-4/+4
| | | | | | | | | Avoid link issues with certain Qt versions, when using QCOMPARE() with static int values clashes with methods returning uint. Change-Id: I1eb20dbf6d140e77234e794cb1500288ea5637ba Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Reset parts when setting a bodyDamien Caliste2024-02-262-10/+58
| | | | | | | | | | | | | | | | | | | | | Currently, setBody() is called to set content to an empty part. Everywhere in the code, this method is called like an initializer, or behind a test checking that the part is indeed MultipartNone. But setBody() being in the public API, nothing restrain the user to call it on a part that already contains something, including several subparts. Ensure that subparts are removed when setting a body with content. Similar to what is done in addAttachmentsToMultipart(), unset the attachment flag if the part we set a body to is actually a message itself. Change-Id: I245c5543cd85afed1176987e190900ff930efdbb Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Exclude parts containing signature data only in multipart/signed contextsDamien Caliste2024-01-151-0/+10
| | | | | | | | | | | Allow to list *.asc and *.sig (i.e. signature data) as attachments when they are not used in a multipart/signed context. Only hide such files when they are used as second part in a multipart/signed email. Change-Id: Ie4ac7af88f30c817b10c044d986aba44e27faaf1 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Avoid deprecated APIPekka Vuorela2023-12-141-1/+1
| | | | | | | | | | | QWARN() is deprecated in Qt6 and QByteArray::count() in Qt 6.4. Both easy to avoid. Translatable output in a unit test seems silly. Change-Id: I9fab798cff548534789bb2830c00c650bed84143 Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Don't readd received IPC signals in the event loopDamien Caliste2023-11-211-1/+0
| | | | | | | | | | | | | | | With QCop IPC implementation, received signals where put in a message queue to be processed in the next event loop iteration. This is not needed anymore with the DBus implementation, since the receiving process lives in a different thread and already submit received signals in the event loop of the main thread. Change-Id: I4ebfb2b03f7ab21a27642d380b5dc2fe5c281791 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Discover authentication for SMTP/IMAPDamien Caliste2023-11-213-1/+159
| | | | | | | | | | Use the announced capabilities in SMTP/IMAP plugin to setup the authentication method to use. Add handling for error 504 on authentication in SMTP. Change-Id: I556281895e650768537fc6169816c3e8e6a81362 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Fix some compiler warningsPekka Vuorela2023-11-131-1/+1
| | | | | | | | | Avoid unused variable, QString conversion from ascii and move fall through note so GCC detects it. Change-Id: Id50a2b90c8c8c345a117c713849f65f45515eddb Reviewed-by: Christopher Adams <chris.adams@qinetic.com.au> Reviewed-by: Damien Caliste <dcaliste@free.fr>
* Switch to DBus for IPCDamien Caliste2023-11-063-276/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two IPC mechanisms in QMF: - one between the messageserver and clients to perform actions like fetch emails, search, etc. - one between every mailstore instances to notify other instances of changes in the mail database. QCop being discontinued, this patch switchs to use DBus as an IPC transport layer. The first mechanism is implemented by registering an object on the session bus (/messageserver) providing a service (org.qt.messageserver). The second mechanism is implemented by registering each client as an object to the session bus (/mailstore/client) for the interface org.qt.mailstore. Other clients can then listen to updated() signal on this interface. DBus IPC requires to implement operator<<() and operator>>() with QDBusArgument for the objects that need to be transported. In all cases, each objects are serialised up to unitary elemental elements like int, byte arrays, etc. Except for the QMailKeyArgument that uses first a serialisation into a byte array before being sent. This is due to the recursive declaration of QMailKeyArgument with the subKeys members, not working well with QDBusArgument serialisation. Change-Id: I8f10b8b00f73d4b75dad778b591159a765e9fb89 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Add missing slash character as protected in header parametersDamien Caliste2021-04-091-0/+8
| | | | | | | | | | | For some reason the '/' character that is defined as a protected character in RFC2045 for values of parameters in header Content-Type field, was missing. As a result the protocol parameter for multipart/signed emails was not escaped which is faulty and was confusing some email clients. Change-Id: Id9d43b883187317ec152eea56819822612bfe307 Reviewed-by: Christopher Adams <chris.adams@jolla.com>
* Fix some unit test failures resulting from recent qtbase changesChris Adams2021-04-082-28/+28
| | | | | | | | Explicitly construct QByteArray or QString test data Change-Id: Ibfb8f1e0da4af3c2309c2e5a39ab3da42a6c700c Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Fix some warningsChris Adams2021-04-081-2/+2
| | | | | | Change-Id: Ifad72f55ca3988e84749d9f8868ec6d8d6c986ec Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Use QmfList where required to maintain stable referencesChris Adams2021-04-082-11/+8
| | | | | | | | | | Any case where the address of an element is taken and stored or used, must be changed to use QmfList instead of QList, otherwise non-const operations will cause the reference to become invalid. Change-Id: Ic0017cb9eddcf27b93d26adb3ea9c71682c4421b Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Add QmfList for reference-stable list semanticsChris Adams2021-04-083-1/+306
| | | | | | | | | | QmfList provides some QList-esque syntax sugar around std::list, providing a container with reference-stability (i.e. references and iterators are not invalidated after non-const operations). Change-Id: I9ecc2a6f5b926a9ea98425d960d2f915c26975a9 Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Fix QChar from unicode value conversionsChris Adams2021-04-085-12/+46
| | | | | | Change-Id: I834645859e56a793f875892b038467c5d48291ef Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Fix disappearance of QDateTime(QDate)Damien Caliste2021-04-0810-92/+92
| | | | | | Change-Id: I3ec351829dfa65b158b276630fc5c4fec42f751f Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Update to QTextStream handling only UTF-8 encodingDamien Caliste2021-04-082-41/+39
| | | | | | | Change-Id: I01f034b6099b414dce1bb59de79f6a50f61ad4de Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com> Reviewed-by: Christopher Adams <chris.adams@jolla.com>
* Replace deprecated QRegExp by QRegularExpression in src/librariesDamien Caliste2021-04-082-2/+4
| | | | | | Change-Id: I51d2a292275f100f1250ae46c223098b6fedfd11 Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Use range constructors for lists and setsDamien Caliste2021-04-083-17/+23
| | | | | | Change-Id: Iccea2c86266b4c20777d939b291084cb709bf592 Reviewed-by: Christopher Adams <chris.adams@jolla.com> Reviewed-by: David Llewellyn-Jones <david.llewellyn-jones@jolla.com>
* Ensure that setting empty preview results in non-null valueChris Adams2019-03-152-1/+11
| | | | | | | | | | | | | | | QMailStore specifies a NOT NULL constraint for the preview field of the mailmessages table. If a client attempts to clear the preview for the message by passing in a default-constructed QString(), the subsequent database operation will fail due to the violated constraint. This commit ensures that the preview field is handled similarly to other fields (like rfcId) such that a non-null (but still empty) string value is used in that case. Change-Id: Ia527adea1f68de4d59b8837c3f8ce288d454a7d7 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Also generate boundaries when serializing QMailMessagePartDamien Caliste2018-12-181-0/+50
| | | | | | | | | | | | In a multipart messages, boundaries are generated when calling QMailMessage::toRfc2822(). For signature purposes, there is a need to generate RFC2822 compliant output for QMailMessagePart only. Previous implementation of QMailMessagePart::toRfc2822() introduced for signature purposes was lacking boundary generation. Change-Id: I7381cf2cb3a8bf83267f36e2f3f7369e8b040cef Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* Exclude parts containing signature data from attachment listDamien Caliste2018-12-131-91/+116
| | | | | | | | | | | | | | | | | | | | | | The signature data of PGP or S/MIME standards requires to be checked on the undecoded data of another part of the email. This other part is available internally through the undecoded() method, but is not available outside QMF. There is thus no point to propose the signature data as an attachment that may become visible to the user. This patch remove the signature data of these two protocols from the list of attachment, as it was done for the calendar data for instance. It also updates and extends the tests of the findAttachmentLocations() method. Since imap plugin is using findAttachmentLocations() to decide to retrieve parts or full message, a modification was required to ensure that signature data are properly parsed in case of full message download. Change-Id: If0da27ce06d78b15a44c40bfb409f84635a3a8f6 Reviewed-by: Christopher Adams <chris.adams@jollamobile.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Correct signature data in GPGme pluginDamien Caliste2018-11-083-56/+73
| | | | | | | | | | | A mistake in 9312c7 substituted the signature data with the body data in the crypto interface implementation using GPGme. The tests for crypto have been updated to track this kind of issue. Change-Id: I0a3d77eb9ab5785d066e063182dd846f880191df Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Ensure that specific header fields are present only onceDamien Caliste2018-10-241-0/+36
| | | | | | | | | | | | | | | | | The following usage of API is creating RFC not compliant emails: QMailMessage m; m.setFrom(QMailAddress("bla@bla.org")); m.appendHeaderField("From:", "bla@bla.org"); This construction may happen for instance if the appendHeaderField() call is done in a for loop copying all headers from another email. Several header fields from RFC2822, 3.6, are mentioned to be present at maximum only once. A filter based on field name is set to change the append call into an update call for these specific fields. Change-Id: Iece09438b3252e2a6888b7a6aafb3c9cc280558c Reviewed-by: Christopher Adams <chris.adams@jollamobile.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Add an interface for cryptographic operationsDamien Caliste2018-10-2414-0/+867
| | | | | | | | | | | | | | Create a new interface for cryptographic operations like digital signatures. Also implement two plug-ins based on GPGme implementing the OpenPGP and S/MIME protocols. To allow digital signature checking to work, pristine data as received from the server need to be stored. This patch is adding such "undecodedData()" information to the content manager. The IMAP implementation has been updated also to ensure that pristine data can be retrieved and saved. Change-Id: Ic801b0de84b42c16f6c64fffdd67dc51c2b8b9b9 Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* Do not allow to pass full content type description to setType() methodDamien Caliste2018-09-291-0/+8
| | | | | | | | | | Nothing avoid or warn when calling setType("text/plain; charset=UTF-8"). Later calls to subType() or charset() return a wrong value then. Patch simply checks that ';' or '/' is not part of the argument in setType(). Change-Id: I1839c2a5800328e00f422054d5c19e9797be1a94 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Add tests for attachment finderDamien Caliste2018-09-291-0/+106
| | | | | | | | | | | Add two tests to check that attachment finder is working for level 1 and level 2 attachment locations. It's a follow up of previous commit "Add recursion when looking for attachments". It also check that calendar invitation is not returned as an attachment. Change-Id: If84bc67687d50720ab1bc0458e7b57ed21650348 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Use codec detection when charset is unknownDamien Caliste2018-09-291-0/+11
| | | | | | | | | | | | | | | | | | | | For emails where the plain text (or the HTML version) is declared with an unknown charset, the body()->data() of the text part (or the HTML one) is QString() empty. Example of wrong declaration: --0ec52789c76dd9f8e88d72dc967821ec Content-Type: text/plain; charset=quoted-printable Content-Transfer-Encoding: quoted-printable Emails like that are definitely violating the standard and are indeed broken. But having an empty display when viewing the email is not useful neither. The issue is in QMailCodec::decode(), where the "if (codecForName())" has no fallback if the codec does not exist. This commit is adding a fallback, assuming UTF-8 encoding. Change-Id: I7b67cea999a2c1eb4211749d87a4ccb54daa332d Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Escape last space on a lineDamien Caliste2018-09-291-0/+9
| | | | | | | | | | | According to Rule#3 of http://www.ietf.org/rfc/rfc2045.txt page 19 last space on a line should be escaped to ensure that any trailing spaces are preserved. Change-Id: I68c885e5fef0dc98585caa9b235c51da94aa944f Reviewed-by: Christopher Adams <chris.adams@jollamobile.com> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Insert status as QUINT64 in mailmessages database, not intDamien Caliste2018-09-121-0/+2
| | | | | | | | | SQlite is storing signed 64bit integers. With the static_cast<int>, the value is truncated. It is not necessary to cast the value as a qint64 neither since the sign-bit is not used anyway to store a flag (there are maximum 63 flags). Change-Id: Ia2a093ec2e14fe1ee8222cb01ce1b42fafcb90af Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Remove dead codePekka Vuorela2018-08-201-8/+0
| | | | | Change-Id: I1cb0a54cbfeffe613d23931c29fbdde9cab1f2d1 Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* Add missing xml element closing in tests.xmlPekka Vuorela2018-08-161-0/+1
| | | | | Change-Id: Ia882dbdc7d01fae5cfafc338f73a72e0807bc18e Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* [qmf] IMAP: encode folder name with non-US charactersMichael Nosov2018-08-031-0/+34
| | | | | | | | | | | | | | | | | Part 1: Encode folder name on create/rename according to RFC 3501, section 5.1.3. Part 2: Move decode/encode implementation in separate files, because decodeFolderName also needs to be used in ImapRenameFolderStrategy::folderRenamed Testing (Gmail): ------- - Create folder with non-English chars (e.g. "Папка") using onlineCreateFolder API - In web interface - verify that folder name is correct - Rename folder to some another non-English name using onlineRenameFolder API - Verify that folder is renamed correctly (Web interface and local device) Change-Id: Ifb93cacb8832992d796037eb3fb47c4253e08d14 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* [qmf] Fix of update folder when parent folder id is changedMichael Nosov2018-08-031-0/+82
| | | | | | | | | | | | | | | | Scenario: a) Let's have the following hierarchy: f0->f1->f2->f3->f4 f5->f6 b) Change parent folder id of 'f2' from 'f1' to 'f6' c) Query descendant folders of f1. Expected result: no folders shall be returned Actual result: folders f3 and f4 are returned Appropriate test case is also added in tst_qmailstore.cpp Change-Id: I2546429cd71e9194389bacaeacb4dfcf82eba849 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* Compile with GCC 6 -Werror=zero-as-null-pointer-constantChris Adams2018-07-191-1/+1
| | | | | Change-Id: I67eb29e13c5e643ee2f58a0696400e085999c01c Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* tests.pri: CONFIG += testcase, not unittest.Robin Burchell2016-01-032-5/+11
| | | | | | | | | | | unittest does absolutely nothing. testcase enables make check, which means the CI will be able to run unit tests soon. To make this pass CI, we also modify the tests a bit, as some tests don't build/pass on Windows at this time. Change-Id: I12b077f8818883a253c8aecc5efca3092d8bcca8 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* fix a lot of compiler warningsRolf Eike Beer2015-12-221-1/+1
| | | | | | | | | Mostly by splattering QLatin1String all over the place, with some minor variations. Change-Id: I7e01ed0bf8dcaa20f16d92e370796de9bd98a0f1 Reviewed-by: Valerio Valerio <vdv100@gmail.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* tst_qmailmessage: Fix unit testsValerio Valerio2015-09-191-1/+1
| | | | | | | Adapt to the change introduced by 7562fd2ed60c62dac98dd77458eb421cb0da4a38. Change-Id: Id5d8ecfd89598946b9143e32b804703633ec6868 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* tst_longstream: Ensure the temp file is closed before trying cleanup.Robin Burchell2015-09-151-4/+9
| | | | | | | | | Windows doesn't allow the removal of open files, so the test was failing. We also improve the debug output in the case of the test failing. Suggested-by: John Brooks <john.brooks@dereferenced.net> Change-Id: Idd071b6a8e07ba0f586161c5ef61501ba8c66828 Reviewed-by: Valerio Valerio <vdv100@gmail.com>
* tst_qlogsystem: Don't try test syslogger on non-Unix platforms (e.g. Windows)Robin Burchell2015-09-151-0/+2
| | | | | | | | | ...it won't build. Longer term, we should look at getting rid of QMF's log system and using the categorized logging from QtCore, but this is not yet the time. Change-Id: I58d9bafd30b87068c36de074b787639adda921d1 Reviewed-by: Valerio Valerio <vdv100@gmail.com>
* Mark tst_qmailstorageaction insignificant for now.Robin Burchell2015-09-151-0/+3
| | | | | | | | It requires a running messageserver instance, which we can't yet ensure on the CI environment, so mark it insignificant so it won't fail builds. Change-Id: I0e150425fe4e5e9e5aaa75ca6b997b2329c56c96 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* tst_python_email: Make test pass reliably on all platforms.Robin Burchell2015-09-151-19/+13
| | | | | | | | | | Test data can't be located reliably with relative paths (e.g. on OS X, tests are presently application bundles. While inconvenient, this is perfectly valid!) - thus, instead of attempting to pile more fixes on top of this, just replace it with Qt 5's QFINDTESTDATA. Change-Id: I54a2957b2945bb5b3a1e9ee1189046069a9b5781 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Update licensing to match latest approach in QtCore.Robin Burchell2015-08-2825-550/+350
| | | | | Change-Id: Icce55517963f0cbc35211e9fc6f1a0fc413f5676 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* tests.pri: Remove QMAKE_MACOSX_DEPLOYMENT_TARGET setting.Robin Burchell2015-08-281-4/+0
| | | | | | | | | From 4.4.0 onwards, this has been set for us by qtbase, so I think it's safe to say that we don't need to try force it ourselves now (especially when we set it too low for 5.7's qtbase) Change-Id: I17c289c3f3619032142bf99e355b99821e51f9d5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Make implementation header privateMatt Vogt2014-10-041-1/+1
| | | | | | | | qprivateimplementationdef_p.h should not be exported as a public hedaer, as it is an implementation detail. Change-Id: Ie03548d15428d467db4b8d084bd7f2a184baac91 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Fields which are matched case-insensitive should sort similarlyMatt Vogt2014-09-251-29/+29
| | | | | | | | | | | | | Text fields that are matched with case-insensitive matching should also be sorted with case-insensitive collation. Also includes fix to extend case insensitivity to matching for mail thread keys. Includes test fixes from Valerio. Change-Id: Id4921d1249bf10957b6f78f16168f786cbe9849d Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com>
* Correctly parse display names having comments after the quoted string.Valerio Valerio2014-08-211-9/+130
| | | | | | | | | According to rfc2822 display names in the format: '"Example" (nested-comments)' are valid and any existent nested comment should not be quoted. Change-Id: Iaa3abef2307d2bf572ee7789574f2359549743b8 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au> Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com>
* [SIC]: Remove QMail::lastSystemErrorMessage().Robin Burchell2014-05-091-2/+0
| | | | | | | | This sort of thing doesn't really belong in QMail's namespace, and it was unused now anyway. Change-Id: I6c9dc3a5618ca8f76946c68d838a480364fef07c Reviewed-by: Valerio Valerio <valerio.valerio@jollamobile.com>