2c4349f25ae850ffff0543bdbbbd7806b9af3c80 |
|
19-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Make index_mail_want_cache() global |
87490012895b4f371635ded00add04c9107dcfef |
|
18-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: convert index to use container_of |
b2723d68898e4a6a6e6ba2a06926dcaa1911daf5 |
|
24-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add index_mail_get_cached_body[structure]()
This just moves the code to these functions without changing any of the
logic. |
b674bd911aaab7e8b1a77c106a0b5bccb603439f |
|
30-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-mail: message-part-data: Renamed struct message_part_envelope_data to message_part_envelope. |
424633d1a1e22139a5ab9345f807a89d0792ead3 |
|
30-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add index_mail_get_vsize_extension() |
134987bc3b685d7ec71c04e9337f7125cff0698f |
|
30-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Move index_mail.vsize_ext_id to mailbox.mail_vsize_ext_id
It's mailbox-specific, so it doesn't have to be looked up every time.
Also this is needed for the following fix. |
ae2bad232435e5f81f37dd4b8ddb631a564d3dc2 |
|
16-Jan-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Add vsize extension to index
Keep virtual size in index, instead of cache
when it's less than 2^32-1. This helps when
cache becomes corrupted, and goes away, we
still have virtual sizes for quota calculations. |
21aaa6affb9f134112b75b5db737309fc35ef1cf |
|
27-Oct-2016 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: rename get_real_mail to get_backend_mail
Also change the function signature so that it returns an int to indicate
success or failure. |
0206dc57f2c04da69599dea5816235cfeb2b897a |
|
13-Aug-2016 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: remove set_cache_corrupted_reason from mail_vfuncs
Change set_cache_corrupted signature to what set_cache_corrupted_reason
used to be. |
02b78558dc03daa2e7da2010b63f247b49936a38 |
|
03-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
Use mail_get_*stream_because() wherever possible. |
0dffa25d211be541ee3c953b23566a1a990789df |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: unsigned int:1 -> bool:1
perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch] |
489301ee88b2174e3171875e979e667de2c4a174 |
|
28-Feb-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: When cached mime.parts is detected to be inconsistent, log it as hex-encoded. |
6de6ec228a41275ddda972d4a554699ea75cd06d |
|
28-Feb-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Added mail_set_cache_corrupted_reason() |
52fbebc87d7ae4fc4585863d38cb87f166a6521a |
|
16-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added MAIL_FETCH_BODY_SNIPPET. |
823af4a2cc4e2ce90d12f9ec362160546aa4c4b8 |
|
05-Dec-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mail prefetching was still not working right.
I wonder if it ever actually worked (except for SEARCH TEXT). |
96a410ecef6d2e08c8bce325eec084ce1edce100 |
|
25-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't fetch wanted_fields for messages that don't match the search query.
For example "doveadm fetch text subject foo" was opening all the mails, even
though only a few matched the subject (that was hopefully already in cache
file).
The behavior still isn't perfect though. The wanted_fields should probably
be split into search_wanted_fields and fetch_wanted_fields, but the current
behavior is likely good enough for now. |
70612e07102b75a8511aa7f9de60771176b18de0 |
|
24-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Headers were sometimes added to dovecot.index.cache with wrong line number value.
This happened if the header parsing was done multiple times for the same
mail. The end result being that when fetching multiple headers as a stream,
the headers could have been returned in the wrong order. This messed up at
least dsync's header hash comparisons. |
bc15c6934f69be09cca1e9f87f9dc344f77e8b7c |
|
04-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: istream-mail updates mail->expunged if it notices ENOENT from parent stream. |
d052dcfff0c96a0af17a3158e51f709edf4b93a1 |
|
04-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Log mail istream read failures in one place.
Also handle ENOENT errors by checking if the mail has already been expunged,
and if so don't log an error, just return "mail is already expunged" error
to client. |
884228e5496378bada39a932db67aa3d9478198f |
|
28-May-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: "Message has no NUL characters" flag was being set wrong to cache file.
Only the first MIME part was checked for its existence.
When this flag was wrong, IMAP FETCH may have returned NUL characters
instead of converting them to 0x80 character. This apparently caused Outlook
to hang. |
ceac44e7560fcbf6fc2f932c7b624a5055dc3bc9 |
|
30-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Partially reverted the mail.get_real_mail() API change for backwards compatibility.
I hadn't realized Pigeonhole was also using it. (I thought it was using only
the mail_get_real_mail() public API.) This fixes Pigeonhole v0.4.2 to work
again. |
541b251a99a55cb0fa2eaf02645a7c39ad997092 |
|
15-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Replaced mail_get_real_mail() with mail_get_backend_mail() that can fail.
For now the mail_get_real_mail() can still be used for backwards
compatibility. |
147a788fea2a88f7125b27226451271d55cf5b01 |
|
26-May-2013 |
Timo Sirainen <tss@iki.fi> |
dbox: Added support for POP3 message order. |
49be238e250e99af8c69321264a461d8f6ceef62 |
|
22-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Catch input stream errors when parsing mail. |
f46885a5b78b15a8d2419f6e5d13b643bd85e41f |
|
04-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for "private modseqs" for INDEXPVT index.
Used by dsync (next commit). |
50de46721446795c42943c572625f2f1a9abfe01 |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Check and log stream errors when parsing/searching messages. |
e53ab6c7081246c865917f9aa0eff031a08ad1e7 |
|
23-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
imap: URLFETCH BINARY BODYPARTSTRUCTURE returns binary-decoded line counts. |
4906414a3e02e7750b0e702ec992afba20a0338a |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: struct mail.close() now clears all of its data. |
5f44975ec6c5755dd74bcd4c47a123a7242ecab3 |
|
15-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved index_mail.data_pool to mail_private.data_pool |
4ee00532a265bdfb38539d811fcd12d51210ac35 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Easy way to update your existing code:
perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch] |
6e8f0036cad59d1d6bcd9ef69bfe712d01656ca3 |
|
11-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added caching for mail_get_binary_size() |
306b3f41b05da642d87e7ca7a1496efce9f5902f |
|
11-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
IMAP BINARY extension supports now FETCH BINARY command. |
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 |
|
23-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
The non-obvious APIs where NULL parameter was changed to "" are
master_service_init() and auth_master_user_list_init().
These checks can currently be enabled only on a patched clang:
http://llvm.org/bugs/show_bug.cgi?id=6786 |
46c903eac3abcc7d32780da76ee6a79c26d185b6 |
|
04-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
maildir: Remember the mail's GUID/filename in memory once it's fetched once.
This allows retrieving it later even if the message gets expunged. |
e8dc3747de75e2bf208f0f2dbdbae4a279b5ee6f |
|
18-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Preserve from_envelope in save context's dest_mail even if it's temporary.
This allows looking it up while the mail is being saved. |
ecd69c4e8371853667e01b0c16d436ef7f7393e2 |
|
12-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_log_update_wanted_fields() |
15979d11259a2391c943bb47af4d174df52d9eb9 |
|
05-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Fixed closing mail properly. |
7c3f90095b4168d89a268ac1ec820c5925d48fd3 |
|
04-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Verify that cached message size matches actually read size. |
421d30619384e72a27e2a5d13ff6525aff4d17fe |
|
31-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
Redesigned mail precaching APIs.
There's no longer a one monolithic mailbox_sync(MAILBOX_SYNC_FLAG_PRECACHE)
call, but rather one mail_precache() call for each mail to be precached.
This allows the callers to show the progress and in general is cleaner. |
7631f16156aca373004953fe6b01a7f343fb47e0 |
|
28-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail->saving was set too late, which could have caused crashes. |
c7e14824e4e1ca9dc5d48d1eddc4a38d3041218f |
|
05-May-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_parse(). |
1af0a59380337d4d9adc634da47888c150869f65 |
|
04-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail prefetching support for searching. |
e15b305e90c9834734ccf35ed78f0ad29d570ee9 |
|
31-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Search supports now prefetching data for returned mails. Dropped imapc's own prefetching.
mail_prefetch_count specifies how many mails can be kept open and issue a
prefetch.
This works using posix_fadvise(POSIX_FADV_WILLNEED) for maildir, sdbox and
cydir backends. Apparently only Linux supports this.
imapc backend also implements this internally by sending wanted IMAP
commands to remote server. The command pipelining helps with latency. This
change also makes it actually possible for imapc backend to first check if
wanted data is already cached in local index and avoid sending unnecessary
IMAP commands to remote server. |
eef4ba0cc3e78f8c26804c1c9251a76580a41f0c |
|
29-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Changed mailbox_search_*() API to return pointer struct mail.
This reduces the flexibility, because now different mailbox_search_next()
calls can't have different mail parameters with possibly different
wanted_fields settings. This flexibility was never used though, and removing
it gives a couple of benefits:
* it's now easier for backends to implement prefetch and parallel search
* usage is easier since mail_alloc()/mail_free() is no longer needed |
bc6ef0b01b99c43ee46aa796420516e89a744c30 |
|
29-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Small optimizations to setting mail's access_parts. |
1fdae276436f31f1d50a2ab21e8007ee46f17f3c |
|
24-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed unused index_mail.uid_validity. |
94a77d6e5d7600859e4c5e4a7ea19dc3e91998b9 |
|
30-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Send UID FETCH commands with larger uidset parameter if possible.
This code assumes that server doesn't reorganize FETCH replies when it's
given an increasing UID range, which in theory IMAP server would be allowed
to do, but I doubt there are any. |
a4f09749814b93e8ad3ec8a0dc18885b874d6f8c |
|
06-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Unvirtualized mailbox_header_lookup_*() |
c04f9a724a7b3cc649485a61b0a540868d25d71b |
|
05-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed struct index_transaction_context.
All of its contents are now in struct mailbox_transaction_context. |
6564208826b0f46a00f010d1b5711d85944c3c88 |
|
20-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added istream_opened() method to struct mail.
This can be hooked into by plugins that want to do something with the
message's stream in the message file, rather than the virtual resulting
stream visible to client. For example when using dbox attachments, this stream
contains only the data in the dbox files without any external attachments. |
a0aedab7cd06125e4d73638b1bd0c01c7caa2626 |
|
29-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
Maildir: If mail's virtual size can be found from filename/uidlist, do it instead of using cache.
This is especially useful with POP3 to avoid opening cache file. |
de9d79337eca11a7f9c1cd476c74dfe4f09a4bd7 |
|
30-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Removed mail_update_uid() / mail_index_update_uid().
It was working properly only with mdbox and there wasn't really a need for it.
--HG--
branch : HEAD |
9af6cc9ebc9986c1275ebdfa29c39e152af1557e |
|
12-May-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_get_real_mail() that returns physical mail in a virtual mailbox.
--HG--
branch : HEAD |
c0225f7f6b43d34dc58c17d3304f0fd60ab89894 |
|
27-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail_get_parts() no longer returns const pointer.
The struct message_part contained context-pointer and other APIs were using
it, so the pointer really couldn't be const without casting it away
sometimes.
--HG--
branch : HEAD |
6df86fcb245e7cf8f199026269be644116efde9a |
|
12-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If plugin changes mail's input stream, don't assert-crash on close.
--HG--
branch : HEAD |
d22301419109ed4a38351715e6760011421dadec |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: *_mailboxes don't descend from index_mailbox anymore, it's now a context.
--HG--
branch : HEAD |
573f0491a5733fe21fa062a455acb4790b4e0499 |
|
13-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
Use separate read block sizes when reading only message header vs. full message.
--HG--
branch : HEAD |
6f6f3dc5b33b09097192124bce17b7017d6bbfcf |
|
06-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
index-mail: Expose tee_stream so plugins can read the stream too while mail is being read.
--HG--
branch : HEAD |
129cc29ae6d8ad64d6d2b72f18da18fa134d0f3e |
|
03-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Use less memory from data stack.
--HG--
branch : HEAD |
ad48319996942463675b53877092ab7e13a7a75a |
|
29-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Added ability to specify message's minimum modseq value.
--HG--
branch : HEAD |
bddd52cb7f3e5a894c080f60750aa76b5aeaf103 |
|
28-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Added ability to change existing messages' UIDs with mail_[index_]update_uid().
--HG--
branch : HEAD |
b0a901f1dbe9e05ac1c92a0974af6bce0274f31a |
|
29-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
struct mail_private now contains all kinds of statistics about file accesses.
--HG--
branch : HEAD |
e217d6fce33746e198ecc21bff0bc658664c9ef4 |
|
23-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Don't cache Date: header if we don't really want it.
--HG--
branch : HEAD |
942312f81841c0e3a8b5609c7530826afa5a7f3b |
|
23-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
Don't cache Date: header if we don't really want it.
--HG--
branch : HEAD |
aa247243412a49f9bdebf7255e131dc6ece4ed46 |
|
25-Feb-2009 |
Timo Sirainen <tss@iki.fi> |
Mail copying: Avoid updating cache file because of copying.
The mail is being opened in any case, so it's unlikely to help anything.
--HG--
branch : HEAD |
3fe9483b2b412a14493e3120751b0e99ecfe9388 |
|
14-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
mail_get_flags/keywords() now returns updated values if they've been changed within transaction.
--HG--
branch : HEAD |
b19a1420da0618a10edf67c2cfd13c8c8633057a |
|
07-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Added the concept of Global UIDs that are preserved across copies.
They can be fetched, searched and specified for the save API. dbox format
supports them correctly, but with maildir the base filename is used so
maildir_copy_preserve_filename=yes is required to preserve GUIDs when copying.
--HG--
branch : HEAD |
4b95b3147352f12e5f5df7267c3021ac6cfa8deb |
|
02-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
dbox: Forgot to add pop3.uidl cache variables in previous commit.
--HG--
branch : HEAD |
ea4f28398a0e4fb46be074307d512925c1fe7fc1 |
|
14-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
struct mail can't necessarily be casted to struct index_mail. Added a new
get_index_mail() method to return it.
--HG--
branch : HEAD |
01404d41657a104c5ea1c12bb87f9c321e9c1ac4 |
|
14-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
struct mail can't necessarily be casted to struct index_mail. Added a new
get_index_mail() method to return it.
--HG--
branch : HEAD |
a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Initial CONDSTORE support.
--HG--
branch : HEAD |
838e367716bbd5e44b4a1691db9cbf72af53e9f0 |
|
14-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Added mail_set_cache_corrupted() to rebuild the cache file and force
recalculating the given field.
--HG--
branch : HEAD |
277506e6e05cdac79bacfb57e629e2fa0aa1ffdc |
|
14-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Added mail_set_cache_corrupted() to rebuild the cache file and force
recalculating the given field.
--HG--
branch : HEAD |
2d1663351e67fd778ed34df09b8ad5fe29da23d9 |
|
25-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
If mail saving fails, don't try to update cache file (only to have the
changes rollbacked).
--HG--
branch : HEAD |
eb85b91195d29df67077cc02a60b7851b6293eff |
|
22-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Assert-crash if mail's input stream is closed too early or too late.
--HG--
branch : HEAD |
a757f31393b9d6fc7760a9dec8363404ab3ae576 |
|
09-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_get_keyword_indexes()
--HG--
branch : HEAD |
ae1b268ffff743ad9927c304a1344c5cbd7f909d |
|
22-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Cleanups/rewrites to how/when date/size caching is done.
--HG--
branch : HEAD |
86ad841251a38aa9ffcf4db4ee2c9fd449121bcb |
|
22-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Don't cache all headers just because they're listed in cache file. First
check if we actually want to cache them.
--HG--
branch : HEAD |
c25356d5978632df6203437e1953bcb29e0c736f |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed .h ifdef/defines to use <NAME>_H format.
--HG--
branch : HEAD |
4bab017ff69d6877253dde54b5a5f1f3f5e92fdf |
|
13-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail.close() virtual function finishing.
--HG--
branch : HEAD |
0d86aa0d47f7393c669c084b34c0537b193688ad |
|
13-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail.close() virtual function.
--HG--
branch : HEAD |
83bb013a99f0936995f9c7a1077822662d8fefdb |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_*() APIs changed to return int and return the actual data as pointer.
Changed some code to do error handling a bit better.
--HG--
branch : HEAD |
73b50eecfc31750a312e2f940023f522eb07178c |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
mail_index_lookup*() can't fail anymore. Changed several APIs not to return
failure anymore.
--HG--
branch : HEAD |
a6816f64a17982a1c23416d3dd168e82a5fafda6 |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Don't store data->rec. It may not stay usable.
--HG--
branch : HEAD |
7a54d58280aad8a64f266c61273ea1e8dff511a3 |
|
11-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Cache received date, sent date, save date and physical size when saving
mails if they're wanted.
--HG--
branch : HEAD |
dce5a2719df4fc64a8762d2aa94ba98dcf9cd6fe |
|
19-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_get_first_header_utf8() and mail_get_headers_utf8().
--HG--
branch : HEAD |
e54512a5189192fe72d1e2c53927c98c5ac920b4 |
|
18-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Moved tee stream handling to index-mail code.
--HG--
branch : HEAD |
45b2a27617d8475f71fdfc870690e46cd63849f2 |
|
15-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
We didn't cache correctly headers that existed in cache file for other
messages, but we weren't currently interested of.
--HG--
branch : HEAD |
c36ec256c1bd1abe1c12e792cf64f0b7e3b3135a |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Store virtual sizes to dovecot-uidlist if we want to use them all the time.
If nothing else than virtual size is wanted to be known (ie. POP3 or
POP3-like IMAP client), don't bother updating cache file at all.
--HG--
branch : HEAD |
77af0bd168cf3e3ddc3ae68abc82bfad7e9b5ff4 |
|
04-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Don't feed index_mail_parser headers while searching message bodies, unless
we actually need something from there.
--HG--
branch : HEAD |
31be5ed1551c98cddeb2295a594f010aaf4b76bc |
|
02-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Compiling fix
--HG--
branch : HEAD |
e192a3b1ca8ae857e7d87298ea507d32977ba570 |
|
13-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Don't use time_t anymore in cache file. uint32_t is large enough and makes
cache files compatible between 32bit and 64bit systems.
--HG--
branch : HEAD |
5cda0bfea032000c4a51134c748d9efe6614870b |
|
31-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
index_mail_cache_add() was used with lib-storage's internal indexes for most
of the received date, physical size and virtual size cache additions. This
may have caused all kinds of trouble, but since it went unnoticed this long
perhaps not..
--HG--
branch : HEAD |
90adcaa0a00eba29b7fbd50ca66be11c8d086d6a |
|
29-Jun-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Added mail_get_save_date() and some cleanups.
--HG--
branch : HEAD |
8d80659e504ffb34bb0c6a633184fece35751b18 |
|
28-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
Array API redesigned to work using unions. It now provides type safety
without having to enable DEBUG, as long as the compiler supports typeof().
Its API changed a bit. It now allows directly accessing the array contents,
although that's not necessarily recommended. Changed existing array usage to
be type safe in a bit more places. Removed array_t completely. Also did
s/modifyable/modifiable/.
--HG--
branch : HEAD |
a12399903f415a7e14c2816cffa2f7a09dcbb097 |
|
15-May-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Added mail_set_uid() to select a mail by UID.
--HG--
branch : HEAD |
2ebeb22b9a8a8bb7fbe2f2e2908478a220792b87 |
|
09-May-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Changed mailbox_save_*() API a bit: Moved the struct mail *dest_mail to
save_init() instead of being in save_finish(). This way you can request
wanted fields from the mail while it's being saved.
With maildir the message is being parsed at the same time as it's being
saved, and the results are stored into cache file.
--HG--
branch : HEAD |
bb6a0eeab27569790d58a036f67dcd2a965fc539 |
|
08-May-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Cleanups and minor logic changes as to what should be cached.
--HG--
branch : HEAD |
97511ac4d7607e1ba64ce151eda3d9b5f9775519 |
|
18-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added mail_cache_min_mail_count setting.
--HG--
branch : HEAD |
3af0a1a2c2ef22a14c6b3c5cc4f780a2ea4df438 |
|
13-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Header caching was more or less broken.
--HG--
branch : HEAD |
d2b94d25f842cd1b7acaf4dd7de858f7c6a821c9 |
|
03-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Mark *all* non-found headers that are registered in cache file as non-found
at the end of header parsing.
--HG--
branch : HEAD |
1b4441e3e6f9e78ebeae8218de971959cd55bf60 |
|
03-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_CACHE_FLAG_TEXT_PLAIN_7BIT_ASCII to compress simple BODY and
BODYSTRUCTURE replies into a single flag + message parts. Also did other
cleanups.
--HG--
branch : HEAD |
55773f17bccf6361d6599ffcbe072d7c9fe205bf |
|
03-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Try to be a bit smarter about when to parse header/body.
--HG--
branch : HEAD |
bb10ebcf076c959c752f583746d83805d7686df8 |
|
02-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Keywords are now stored in X-Keywords headers in mbox. Did several related
API changes to get better performance.
--HG--
branch : HEAD |
87460b08cb97b31cde640d4975a6aa2c1d0e7226 |
|
29-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Renamed mail_get_header() to mail_get_first_header() and mail_gets_headers()
to mail_get_header_stream(). Added new mail_get_headers() which returns
NULL-terminated string list of all found headers.
--HG--
branch : HEAD |
cf52b37d807553e91a2d6fb7cb2c8b4c34589e1d |
|
29-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Changed some buffers to arrays.
--HG--
branch : HEAD |
fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79 |
|
15-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Major mail-storage API changes. It's now a bit cleaner and much more plugin
friendly. Removed proxy_mailbox* stuff, they were difficult to use and
there's now much easier way to replace them.
--HG--
branch : HEAD |
41e1c7380edda701719d8ce1fb4d465d2ec4c84d |
|
10-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
Keyword fixes.
--HG--
branch : HEAD |
b093b87c303d420bd14aeb53498f881ef2944aa0 |
|
07-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
mail->expunged field wasn't actually set. Now it's always set if
wanted_fields contains message header or body.
--HG--
branch : HEAD |
33a266b34369641349d5116de6fd76b2e2bd13c8 |
|
28-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Removed "mail.uid". It's not used and will not be used.
--HG--
branch : HEAD |
16c89b1260c9d07c01c83a9219424d3727069b2e |
|
26-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Initial support for keywords. Syncing to mbox/maildir doesn't work yet.
--HG--
branch : HEAD |
bcd8a160ce32e5afe3566793b5a144028063b2fb |
|
04-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Cache field indexes are cache file specific, not globals.
--HG--
branch : HEAD |
e667602217af55105d44d8d9b75f09a8a9ac2f14 |
|
04-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Fixed cache flags to work again. Flags are cached by default now.
--HG--
branch : HEAD |
d67fde1a8ebc1d85704c5986d8f93aae97eccef3 |
|
28-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Added mail.get_physical_size().
--HG--
branch : HEAD |
a58e4aec412a30352d9d45e63726cac044aa6aa5 |
|
23-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Fixed a crash with fetch (rfc822.size body). Also fixed it so it doesn't
anymore parse the message body twice.
--HG--
branch : HEAD |
98dd8e6e81f11f1e6040ca72f4916242d246c863 |
|
23-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
get_index() wasn't working with caching disabled
--HG--
branch : HEAD |
2aecf7be5834e7f6520f8deaad683a6fa1de4d61 |
|
18-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
header caching fixes
--HG--
branch : HEAD |
e015e2f7e7f48874495f9df8b0dd192b7ffcb5cc |
|
18-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Header caching redesigned. New design allows caching decisions per field, so
they can be divided to temporary/permanent. Cached headers are now always
returned in original order, old code didn't guarantee it. Some other caching
changes. (still missing code to store changes in caching decisions)
--HG--
branch : HEAD |
1efb8b95e87ca3940cc74f9553a3c8ca5d85ead3 |
|
09-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Always create cache transaction. Easier that way .. and fixes a crash.
--HG--
branch : HEAD |
992a13add4eea0810e4db0f042a595dddf85536a |
|
08-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache file fixes, API changes, etc. It's still in somewhat ugly state, but
getting better..
--HG--
branch : HEAD |
1171f0abf442638bac1827bb24a0b6b8eb682a82 |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache API updates. Don't return direct pointers to mmaped cache file anymore.
--HG--
branch : HEAD |
72cbf33ae81fde08384d30c779ff540752d9256c |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache updating is done now by first reserving space where to write, and then
writing to it whenever buffer gets full. There is no persistent cache file
locks anymore because of this, but it also means that the same cached field
may be written multiple times to the file by different processes. Also since
we reserve more space than we actually need at first, it some space can be
wasted if multiple processes are updating the cache.
--HG--
branch : HEAD |
33d63688ed8b26dc333e3c2edbfb2fe6e412604d |
|
23-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added a framework for getting POP3 UIDL strings from mail-storage. The
default still is uidvalidity.uid. Added beginnings of overriding it from
X-UIDL header in mbox.
--HG--
branch : HEAD |
8fcff4c5b52f24d9c681805fdf06b486f1d0fcbe |
|
06-May-2004 |
Timo Sirainen <tss@iki.fi> |
mbox code compiles again, but syncing is only partially implemented so
accessing mboxes fails..
Also some cleanups to index-storage and maildir code.
--HG--
branch : HEAD |
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834 |
|
27-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
importing new index code. mbox still broken.
--HG--
branch : HEAD |
644268f7848a7c4221146d0b11feb8ed5bbed233 |
|
08-Sep-2003 |
Timo Sirainen <tss@iki.fi> |
Stop parsing cached headers when we've got everything.
--HG--
branch : HEAD |
96541d31299bb40b5a6efdbf9b4cb3d4f4b4a069 |
|
21-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Message parsing can now be done in two parts - header and body. We're now
more eager at parsing MIME structure for message. It's done whenever body
has to be fully read (eg. rfc822.size).
--HG--
branch : HEAD |
645f258ea29afaf09b673fc65d1bd788dfec8db8 |
|
20-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
If BODY/BODYSTRUCTURE is requested with some other headers, parse the
headers only once. If body contains multiple MIME parts, cache the internal
MIME structure so BODY[part] fetching doesn't need to parse it again.
--HG--
branch : HEAD |
1bdda5c0c30463160c47151537e6bb2c6c994841 |
|
18-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Changed how cached headers are stored. Previously when we added new headers,
all the old headers were duplicated as well which wasted space. Also fixed
several bugs in caching.
--HG--
branch : HEAD |
6789ed17e7ca4021713507baf0dcf6979bb42e0c |
|
06-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Index cache file rewrite. It's not finished yet and mbox support is
completely broken. But it's getting difficult to maintain outside cvs :)
--HG--
branch : HEAD |
dbb1fb1c51727e2050792f8c333b212e22a36d69 |
|
26-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API change for expunging messages. Not exactly what I wanted, but good
enough.
--HG--
branch : HEAD |
6389aeec8c26b585e583c364b48ad12adf741898 |
|
23-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API change for updating message flags.
--HG--
branch : HEAD |
5bc4a5fd9a421f4c5763e03c0449479cedcf9f06 |
|
26-Mar-2003 |
Timo Sirainen <tss@iki.fi> |
Better handling for multiline headers. Before we skipped headers larger than
input buffer size (8k with read (default), 256k with mmap). The skipping was
also a bit buggy.
Now we parse the lines one at a time. There's also a way to read the header
fully into memory before parsing it, if really needed.
--HG--
branch : HEAD |
b7f14c9568e7edc75d1d7fd86751c02bc97cde3e |
|
21-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
FETCH ENVELOPE failed if it wasn't already cached.
--HG--
branch : HEAD |
e8a59a1671127f87e2d22f42e84c572f28299d81 |
|
21-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Forgot to add
--HG--
branch : HEAD |