#
29871039 |
|
21-Dec-2015 |
Axel Dörfler <axeld@pinc-software.de> |
IMAP: Use BStringList instead of STL vector.
|
#
46019292 |
|
18-Jul-2013 |
Axel Dörfler <axeld@pinc-software.de> |
IMAP: let mail retrieval scale better. * We now also maintain a mail index -> UID array in IMAPMailbox. * Instead of fetching the message entries by a fixed range of UIDs, we use the message count, and get the entries by index. * Likewise, in FetchHeadersCommand, we now get a list of UIDs rather than a range. This makes it possible to only download exactly the headers we want. * Extended FetchCommand to be able to dynamically build a sequence list from a list of UIDs. * Besides the suboptimal body fetching (one at a time, due to holes in the IMAP specification), we should now be able to retrieve the messages with pretty much optimal performance, while retaining an acceptable responsiveness to user requests.
|
#
c1f779e3 |
|
29-May-2013 |
Axel Dörfler <axeld@pinc-software.de> |
IMAP: FetchMessageEntriesCommand now also works without UIDs * This will be used to solve the TODO in CheckMailboxesCommand::Process() when the initial message sizes/flags are retrieved. * Also fixed imap_tester build.
|
#
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.
|
#
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.
|
#
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.
|
#
cc3aa99c |
|
05-Jan-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Use GETQUOTAROOT instead of GETQUOTA. * At least with my ISP, there is no "" root, so the command would fail when used as is. * Now we always use the GETQUOTAROOT command instead, by default for the INBOX mailbox. This isn't entirely correct either, but better than nothing.
|
#
fe262847 |
|
18-Dec-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Added support for decoding RFC-3501 mailbox names. * Added new RFC3501Encoding class that implements modified UTF-7 as specified in RFC-3501; only decoding is implemented right now. * ListCommand now uses this new class to encode, and decode the folder names.
|
#
9192d4dc |
|
14-Dec-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Started working on the IMAP add-on itself. * Renamed imap_config.cpp to ConfigView.cpp, IMAPFolderConfig.(h|cpp) to FolderConfigWindow.(h|cpp). * Got the latter to build. * Added Settings class to simplify and unify the BMessage based settings access. * Removed the InboundProtocol[Thread] implementation from the build for now.
|
#
17044801 |
|
02-Dec-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Read some more specs, cleaned Protocol a bit. * Added some TODO comments based on the various IMAP specs and extensions. * Removed SelectMailbox() functionality from the Protocol class; it's not really useful to have it there. * Removed some other methods that don't belong into the Protocol class.
|
#
db0a4f2c |
|
01-Dec-2011 |
Axel Dörfler <axeld@pinc-software.de> |
More work in progress of the IMAP rework. * Implemented FetchCommand, and some more. * Improved and extended the imap_tester. * The base to implement the new InboundProtocol on is now mostly done, at least for a start.
|
#
a5170470 |
|
30-Nov-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Got rid of the ConnectionReader, and implemented parsing literals. * The parser now works on a BDataIO instead. It's now even a bit simpler overall. * Implemented ParseLiteral() - the default implementation just reads the data into a string. Thanks to BDataIO this was now very simple to do. * Tested the code: imap_tester can now successfully read mails (using the raw command only, at the moment).
|
#
37d26ae5 |
|
29-Nov-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Work in progress of rewrite; IMAP doesn't even compile at this point.
|
#
46019292630b815296175cf61031f574dc15a69e |
|
18-Jul-2013 |
Axel Dörfler <axeld@pinc-software.de> |
IMAP: let mail retrieval scale better. * We now also maintain a mail index -> UID array in IMAPMailbox. * Instead of fetching the message entries by a fixed range of UIDs, we use the message count, and get the entries by index. * Likewise, in FetchHeadersCommand, we now get a list of UIDs rather than a range. This makes it possible to only download exactly the headers we want. * Extended FetchCommand to be able to dynamically build a sequence list from a list of UIDs. * Besides the suboptimal body fetching (one at a time, due to holes in the IMAP specification), we should now be able to retrieve the messages with pretty much optimal performance, while retaining an acceptable responsiveness to user requests.
|
#
c1f779e3500b6157de46ccdf7ddccd70850beab9 |
|
29-May-2013 |
Axel Dörfler <axeld@pinc-software.de> |
IMAP: FetchMessageEntriesCommand now also works without UIDs * This will be used to solve the TODO in CheckMailboxesCommand::Process() when the initial message sizes/flags are retrieved. * Also fixed imap_tester build.
|
#
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.
|
#
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.
|
#
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.
|
#
cc3aa99cb3ca7796ae4a199e445608fc478d4f45 |
|
05-Jan-2012 |
Axel Dörfler <axeld@pinc-software.de> |
Use GETQUOTAROOT instead of GETQUOTA. * At least with my ISP, there is no "" root, so the command would fail when used as is. * Now we always use the GETQUOTAROOT command instead, by default for the INBOX mailbox. This isn't entirely correct either, but better than nothing.
|
#
fe26284795c623afb2448bf19b116d5ce4c70b94 |
|
18-Dec-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Added support for decoding RFC-3501 mailbox names. * Added new RFC3501Encoding class that implements modified UTF-7 as specified in RFC-3501; only decoding is implemented right now. * ListCommand now uses this new class to encode, and decode the folder names.
|
#
9192d4dcf36ca64087e0702be1ef464c1e49d208 |
|
14-Dec-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Started working on the IMAP add-on itself. * Renamed imap_config.cpp to ConfigView.cpp, IMAPFolderConfig.(h|cpp) to FolderConfigWindow.(h|cpp). * Got the latter to build. * Added Settings class to simplify and unify the BMessage based settings access. * Removed the InboundProtocol[Thread] implementation from the build for now.
|
#
1704480100a35875a8742f3c7a11426d92bb1b46 |
|
02-Dec-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Read some more specs, cleaned Protocol a bit. * Added some TODO comments based on the various IMAP specs and extensions. * Removed SelectMailbox() functionality from the Protocol class; it's not really useful to have it there. * Removed some other methods that don't belong into the Protocol class.
|
#
db0a4f2c001485adccd9b344987ec8a6055626c8 |
|
01-Dec-2011 |
Axel Dörfler <axeld@pinc-software.de> |
More work in progress of the IMAP rework. * Implemented FetchCommand, and some more. * Improved and extended the imap_tester. * The base to implement the new InboundProtocol on is now mostly done, at least for a start.
|
#
a5170470701b5d51ede5a4ec9ef60b28aff62a3f |
|
30-Nov-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Got rid of the ConnectionReader, and implemented parsing literals. * The parser now works on a BDataIO instead. It's now even a bit simpler overall. * Implemented ParseLiteral() - the default implementation just reads the data into a string. Thanks to BDataIO this was now very simple to do. * Tested the code: imap_tester can now successfully read mails (using the raw command only, at the moment).
|
#
37d26ae5e2143d8c7f8d190cc6913880f2f5ae81 |
|
29-Nov-2011 |
Axel Dörfler <axeld@pinc-software.de> |
Work in progress of rewrite; IMAP doesn't even compile at this point.
|