History log of /haiku/src/add-ons/mail_daemon/inbound_protocols/imap/IMAPFolder.cpp
Revision Date Author Comments
# fef51ded 24-Jun-2023 Niels Sascha Reedijk <niels.reedijk@gmail.com>

mail_daemon: warn about unused return value

GCC 13 warns that using the `begin()` method on a container is marked as
`[[nodiscard]]`. This makes sure that this warning is not treated as an error.

The code actually looks like it does not do much if anything of use. As a
follow-up ticket #18478 is raised.

Change-Id: Ie149f7e02cacda2bcd0be59617583605d5905747
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6655
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 6fa27973 08-Dec-2018 Peter Kosyh <p.kosyh@gmail.com>

IMAP: sync fixes

This patch should fix:

- deadlocks while manual syncing/shutdown;
- crashes while manual syncing/shutdown.

Change-Id: I0962ff5580c19cbf740d002b6f62681ed5f558ab
Reviewed-on: https://review.haiku-os.org/758
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>


# eef12cec 05-Nov-2018 Peter Kosyh <p.kosyh@gmail.com>

mail_daemon: IMAP delete messages on the server only when delete_remote_when_local setting is set

Change-Id: I88fcc7a185cede080af7c3b85f9466a02f895809
Reviewed-on: https://review.haiku-os.org/674
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>


# 15216b26 03-Feb-2016 Axel Dörfler <axeld@pinc-software.de>

IMAP: Retrieve on-disk folder state async.

* Messages that we don't have info for during synchronization are now
collected, and synchronized once the folder state is available,
instead of waiting for that particular entry to become available
(without proper means to wait).


# aeaf68cf 14-Jan-2016 Axel Dörfler <axeld@pinc-software.de>

IMAP: Extra local messages are now deleted.

* When a message on the server is deleted, it will now be deleted
locally, too.


# 81805393 04-Jan-2016 Axel Dörfler <axeld@pinc-software.de>

IMAP: setting flags, and body fetching works now.

* The direct methods in BMailProtocol now forward the request to the
looper; it's no longer the mail_daemon's responsibility to know
anything about that protocol.
* It's in desperate need of refactoring, but it doesn't hurt to add
it to the repository as is.


# b9962cea 08-Jan-2015 Jérôme Duval <jerome.duval@gmail.com>

IMAP,POP3,NewMailNotification: fixed x86_64 build.

* Notifier::HeaderFetched(): fixed the method signature (go figure how it could
build on x86).
* POP3: fSizes type is now std::vector<size_t> instead of BList. Please review.
off_t might be a better choice.
* added the mail_daemon add-ons to the Haiku package again.


# d33e4744 03-Jul-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: downloading mails is now working.

* Changed the way the attributes are written to make sure that everything
that can be written once is in fact written just once.
* The rename code in BMailProtocol::_ProcessFetchedHeader() was broken,
and caused the hang of the last commit.


# 549949b2 26-Jun-2013 Axel Dörfler <axeld@pinc-software.de>

Mail Kit: Changed how filter changes work.

* BMailFilter::HeaderFetched() now only alters the entry_ref, and returns
B_MOVE_MAIL_ACTION to move a mail.
* Instead of potentially moving the file around several times, the
BMailProtocol now takes care of carrying out the filter action just once,
including trying to make the file name unique.
* This also allows the IMAP add-on to know the final location of the mail,
and thus downloading a message actually works.
* However, with my test inbox, it currently hangs, and a current Debugger does
not work on my older system -- I guess I need to update.
* Replaced the duplicated space mechanism within the "HaikuMailFormatFilter"
that is substantially faster, and handles all whitespace, not just spaces.
It will also replace tabs with spaces.


# 1052525d 22-May-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: work in progress of downloading the mail body.

* Most things are in place now, we just try to download the body to the
wrong file, as the final location is currently unknown.
* Added local only kPartialMessage flag for mails, but it's not being
used yet.


# aebdd0c1 13-May-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: call the folder's handler like the mailbox.


# 47b68f58 25-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: IMAPFolder now stores the last UID.

* So mails are no longer downloaded every time.


# eba458b9 24-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: Fetching headers is now working.

* No state is stored yet, though, so that all messages will be downloaded
over and over again.


# 3302df14 19-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: WIP of getting fetching headers to work.

* Changed the FetchListener mechanism quite a bit.
* Doesn't seem to work correctly yet, although most pieces are in
place now.


# a4bdd26d 05-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: Work in progress of connection setup.

* SelectCommand now correctly encodes the mailbox name again.
* Hierarchy separators from the LIST/LSUB commands are now properly parsed,
and taken into account.
* Folders in the file system are now created for mailboxes on the server,
supporting hierarchical mailbox names.
* A connection worker now has an IMAPFolder that handles the local side of the
mailbox, and an IMAPMailbox that handles the server side.
* Connection workers are now created/deleted, and setup correctly. They will
now also wait in case they don't have a mailbox until they get some.


# f06916d5 09-Aug-2012 Axel Dörfler <axeld@pinc-software.de>

Initial work on a class that manages an IMAP folder on disk.


# b9962ceac27aadd13801512005638300e059d06f 08-Jan-2015 Jérôme Duval <jerome.duval@gmail.com>

IMAP,POP3,NewMailNotification: fixed x86_64 build.

* Notifier::HeaderFetched(): fixed the method signature (go figure how it could
build on x86).
* POP3: fSizes type is now std::vector<size_t> instead of BList. Please review.
off_t might be a better choice.
* added the mail_daemon add-ons to the Haiku package again.


# d33e4744df1542a1350f55c25ce7b691560d7345 03-Jul-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: downloading mails is now working.

* Changed the way the attributes are written to make sure that everything
that can be written once is in fact written just once.
* The rename code in BMailProtocol::_ProcessFetchedHeader() was broken,
and caused the hang of the last commit.


# 549949b26f4df07ba280792c18a515553f489388 26-Jun-2013 Axel Dörfler <axeld@pinc-software.de>

Mail Kit: Changed how filter changes work.

* BMailFilter::HeaderFetched() now only alters the entry_ref, and returns
B_MOVE_MAIL_ACTION to move a mail.
* Instead of potentially moving the file around several times, the
BMailProtocol now takes care of carrying out the filter action just once,
including trying to make the file name unique.
* This also allows the IMAP add-on to know the final location of the mail,
and thus downloading a message actually works.
* However, with my test inbox, it currently hangs, and a current Debugger does
not work on my older system -- I guess I need to update.
* Replaced the duplicated space mechanism within the "HaikuMailFormatFilter"
that is substantially faster, and handles all whitespace, not just spaces.
It will also replace tabs with spaces.


# 1052525dc5cfda3563a36ad82b4a900d7beb5221 22-May-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: work in progress of downloading the mail body.

* Most things are in place now, we just try to download the body to the
wrong file, as the final location is currently unknown.
* Added local only kPartialMessage flag for mails, but it's not being
used yet.


# aebdd0c14bb3c216f000f5ffa99912383c1e9dba 13-May-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: call the folder's handler like the mailbox.


# 47b68f5806099ae651be808e3b119c2a6ee06be9 25-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: IMAPFolder now stores the last UID.

* So mails are no longer downloaded every time.


# eba458b9407056235aeb184a038e202b2d7bfe5e 24-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: Fetching headers is now working.

* No state is stored yet, though, so that all messages will be downloaded
over and over again.


# 3302df142ef8f47c0c0a7d6020b38a63c7cb7403 19-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: WIP of getting fetching headers to work.

* Changed the FetchListener mechanism quite a bit.
* Doesn't seem to work correctly yet, although most pieces are in
place now.


# a4bdd26d61967231469220573c4b5ee09e29dd49 05-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: Work in progress of connection setup.

* SelectCommand now correctly encodes the mailbox name again.
* Hierarchy separators from the LIST/LSUB commands are now properly parsed,
and taken into account.
* Folders in the file system are now created for mailboxes on the server,
supporting hierarchical mailbox names.
* A connection worker now has an IMAPFolder that handles the local side of the
mailbox, and an IMAPMailbox that handles the server side.
* Connection workers are now created/deleted, and setup correctly. They will
now also wait in case they don't have a mailbox until they get some.


# f06916d5726232b9e535ef50a5b7e860b793be6b 09-Aug-2012 Axel Dörfler <axeld@pinc-software.de>

Initial work on a class that manages an IMAP folder on disk.