History log of /haiku/src/add-ons/mail_daemon/inbound_protocols/imap/IMAPProtocol.h
Revision Date Author Comments
# 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>


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

BMailProtocol: Removed delete/append methods.

* The mail system is file based which makes these methods pretty much
superfluous.


# 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.


# 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.


# 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.


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

IMAP: sync when requested.


# 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.


# 229c7773 14-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: Testing for new messages is now working.

* There is now a CheckSubscribedFoldersCommand that is issued on the main
connection that triggers everything.
* The new CheckMailboxesCommand divides the new mail check into several
portions, and requeues itself until the next step, ie. the
FetchHeadersCommand.
* The headers of the new mails are downloaded, but nothing is done with
them yet.
* The actual check for the new mails doesn't scale that well yet, not sure
how to properly do this without having to rely on the mail indices. Might
be sensible to solve this via some simple heuristic.


# 7993ddfa 10-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: Fleshed out command processing.

* Still doesn't do anything useful, though.


# 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.


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

IMAP: The connection workers are now started.

* On SyncMessages(), the main connection worker is started if it is not already
running (it may only run already in idle mode).
* This will then list the subscribed folders, and create as many more connection
workers as allowed and make sense.
* Finally, it will distribute the folders to the workers which don't do anything
further yet.


# 186c96d5 18-Jan-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: Early work in progress of main protocol class.


# 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.


# 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.


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

IMAP: sync when requested.


# 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.


# 229c7773234389164b47efc09f348b248b8caf47 14-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: Testing for new messages is now working.

* There is now a CheckSubscribedFoldersCommand that is issued on the main
connection that triggers everything.
* The new CheckMailboxesCommand divides the new mail check into several
portions, and requeues itself until the next step, ie. the
FetchHeadersCommand.
* The headers of the new mails are downloaded, but nothing is done with
them yet.
* The actual check for the new mails doesn't scale that well yet, not sure
how to properly do this without having to rely on the mail indices. Might
be sensible to solve this via some simple heuristic.


# 7993ddfabaa0069192062289b4fb18c0034cdf76 10-Apr-2013 Axel Dörfler <axeld@pinc-software.de>

imap: Fleshed out command processing.

* Still doesn't do anything useful, though.


# 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.


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

IMAP: The connection workers are now started.

* On SyncMessages(), the main connection worker is started if it is not already
running (it may only run already in idle mode).
* This will then list the subscribed folders, and create as many more connection
workers as allowed and make sense.
* Finally, it will distribute the folders to the workers which don't do anything
further yet.


# 186c96d50c1df03eb711dce3d1d22ebae88c18ae 18-Jan-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: Early work in progress of main protocol class.