293f69e28bd1cbe882907e8444d6b82f9995d6cb |
|
02-Mar-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix memory leak when search accessed headers but found no mails
For example fetching headers with UID FETCH for a nonexistent UID. |
caf4c4b9637a71d643f03ee75514f34aa3f432ff |
|
02-Mar-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Code cleanup - remove unnecessary temporary variable |
2c4349f25ae850ffff0543bdbbbd7806b9af3c80 |
|
19-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Make index_mail_want_cache() global |
eb34def8809d7509cfdcc1ce60a353c2585ec9e9 |
|
19-Feb-2018 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: move snippet generation to mail-save-finish
This is necessary because some storage backends (most notably sdbox) do
not allow getting the mail stream before the mail is fully written out.
(See written_to_disk in sdbox-file.h.)
If we could avoid getting the stream to generate a snippet we could
leave this where it is. |
ceb8c97c6c9fe0ee7eb544645c6bdb74dfcb519d |
|
31-Jan-2018 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on mailbox_header_lookup_unref(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- mailbox_header_lookup_unref(&E);
- }
+ mailbox_header_lookup_unref(&E); |
54d0a5a308ed4fe649d0c7a02431756feeb52b96 |
|
24-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix adding body.snippet to cache
Unless body.snippet was in mail_always_cache_fields, it didn't get added to
the cache file. |
f22e0ce9bba0f419aae0ee636c9a73710298a3ae |
|
24-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add comment to how mail_cache_field_can/want_add() is used |
677b75f90d81eafe742896d6570a2f63ce501d05 |
|
19-Jan-2018 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: don't cast NULL to void *
NULL is guaranteed to be a void * thanks to
dd6043c05e32a8e8db1233ed711a2c74d1477a89. |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
c499c40caf37f766968a551909190c5b009a9b15 |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail.event |
d4002fe1f64d25a792f76fb102ef7dc519cd4e24 |
|
11-Dec-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Use mail_set_critical() and mailbox_set_critical() if possible
Replace calls to mail_storage_set_critical() with mail_set_critical()
or mailbox_set_critical() in places where mailbox or mail are easily
available. |
c147bff818798a979d93537f72f5c1f68f5d5ba8 |
|
24-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Use t_buffer_create
sed -i -e 's/buffer_create_dynamic(pool_datastack_create(), */t_buffer_create(/g' |
12c57531519d66e237e865c6ee3f7eadfe148550 |
|
05-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Remove dead code
Found with clang static analyzer. |
6307d76096764e66bddc63d4a3e5a1aa19cc528f |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on buffer_free(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- buffer_free(&E);
- }
+ buffer_free(&E); |
204ee6ed414f5e4eeb6f6c10763b55daf56f11ac |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on [io]_stream_unref(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- i_stream_unref(&E);
- }
+ i_stream_unref(&E);
@@
expression E;
@@
- if (E != NULL) {
- o_stream_unref(&E);
- }
+ o_stream_unref(&E); |
87490012895b4f371635ded00add04c9107dcfef |
|
18-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-storage: convert index to use container_of |
5f9ee4f6e043d184cd9891ef64a3cbd9eecce6f2 |
|
25-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: index_mail_set_cache_corrupted() - Don't reset internal error string
It's already set correctly by the earlier functions. |
c3fab8b44c2b1e5835b8f79bd7a783b781de2ef4 |
|
21-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Call mail_cache_close_mail() when mail is closed
Fixes caching problems with INDEX=MEMORY |
e1c762cb4c9cce5e7677ad1906ead2a951403ddf |
|
17-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Don't allow removing \Recent flags with mail_update_flags()
Reverts an ancient commit 7deb24e7453249d09741641bff0f269f68165033. I don't
know why it was added in the first place. Normally \Recent flags are
removed during sync with MAIL_INDEX_SYNC_FLAG_DROP_RECENT. This should be
enough, especially since it's not even possible to remove a single \Recent
flag - only update the first_recent_uid.
The code was also wrong: It was dropping \Recent flags even when
modify_type/flags combination didn't ask for it. Even if this was fixed,
there would still be race conditions with multiple processes since this
update is done without locking.
Fixes:
Error: Recent flags state corrupted for mailbox |
d7c917c4b2855cf46196572df1301f6340eae770 |
|
25-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_add_temp_wanted_fields() - delay opening stream
Allows plugins to call it in mail.get_stream() without infinite loop. |
c44fcb83f26c0a86fbcdef05036aa4daa5e1da2e |
|
20-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Don't crash if cache is thought broken for a newly saved mail
It's a bug that it happens, but the resulting crash is confusing.
Although arguably this new error could be i_panic() instead.
Fixes:
Panic: file mail-index-transaction-update.c: line 1018 (mail_index_update_ext): assertion failed: (seq > 0 && (seq <= mail_index_view_get_messages_count(t->view) || seq <= t->last_new_seq)) |
7522446d6514e5593c9d4d7e4beacd328301cb23 |
|
11-May-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Use new mail_cache_set_seq_corrupted_reason |
49f65b7c797515d787bcbc9cbeb78f0c21b1b282 |
|
27-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix crash in mail_get_parts() with a special plugin
If plugin hooks into mail_get_stream() which causes data->parts to be set,
this code crashed with:
Panic: file index-mail.c: line 1163 (index_mail_parse_body): assertion failed: (data->parser_ctx != NULL) |
afe1da042382720393eca6497253106e4eec75e0 |
|
24-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail_storage.nonbody_access_fields
This avoids index_mail_update_access_parts_pre() from opening the mail
stream unnecessarily for fields that can be looked up via other methods
by the storage. |
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. |
21a2a03602a45b1c74f2dfa80ee972b481da8c2a |
|
20-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Allow mail_add_temp_wanted_fields() to be called before mail_set_seq*()
Quota plugin was already doing this, but it didn't actually work. It was
also crashing with imapc:
Panic: file mail-cache-lookup.c: line 341 (mail_cache_field_exists): assertion failed: (seq > 0) |
7204b8112e005ff81dcf628f7880ef1feed1effe |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail.mail_stream_opened and .mail_metadata_accessed
These allow determining after mail_*() calls how efficiently they were
performed. |
a825281071af96cc148e49c64ac36d8c5cf26f71 |
|
14-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Remove unnecessary mail_save_context.dest_mail==NULL checks
It can never be NULL after the previous change: "lib-storage: Always create
mail_save_context.dest_mail".
The code removal in maildir_transaction_save_commit_pre() seemed
potentially dangerous, but I don't think such code path is possible
anymore. Also even if it is, it's probably fine since the mail_free()
is called even earlier than before (although that itself might have
been a problem).
This also removes last traces of code that made it possible to save mails to
mbox without assigning UID to the mail. The previous commit already caused
this, so this is just removing dead code. |
c7378b542c872eb2fd5aae2080507ec1b312c8e8 |
|
04-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Expunging now uses GUID only if it's in cache.
Otherwise the GUID lookup may be expensive, which is especially bad when
deleting a large number of mails. |
f977ec781fca91e320535f1562382433a9e63177 |
|
04-Feb-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Put vsize in index only if it's not there |
57e3b63a75335f45cf6cf9cd89317e2e6cec249d |
|
30-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-imap: imap-bodystructure: Moved message_part_data header parsing and query functions to their own module in lib-mail.
Moved code from imap-bodystructure and imap-envelope. |
afd6338f1c0b6ffcd33b6fde9741b52002835ba3 |
|
30-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-imap: imap-bodystructure: Renamed imap_bodystructure_is_plain_7bit() to message_part_data_is_plain_7bit(). |
df459621b9124dfd88d56619ac84611f30fec854 |
|
30-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-imap: imap-bodystructure: Renamed imap_bodystructure_parse_header() to message_part_data_parse_from_header(). |
2483736d1ad6a680980dd58c616836837721a113 |
|
30-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-imap: imap-bodystructure: Changed struct message_part_body to contain fully decoded data.
Contained unparsed IMAP string data before. |
c59d22d58cd0bbeeac4622b99088a1cb7d2fde20 |
|
30-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-mail: Gave message_part_data its own field in struct message_part. |
1eeb9f438092988c374e05c3e960edcccc63c2ae |
|
30-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-imap: imap-bodystructure: Renamed struct message_part_body_data to message_part_data. |
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. |
2b96309988981c4005d59ea41e270c9b55c44de7 |
|
27-Jan-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Fix comparison to use virtual size instead of body virtual size
Was forgotten on 7f1ecb14 |
7f1ecb1481e89541b0a4a26cbc73a1263731f7b7 |
|
26-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Filling vsize to index on read used wrong size |
c52d5c00e823968341147e5709f205b6353b9b1a |
|
26-Jan-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-storage: Clear virtual size from index if size is corrupted |
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. |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
efe78d3ba24fc866af1c79b9223dc0809ba26cad |
|
24-Dec-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
global: Replaced all instances of memset(p, 0, sizeof(*p)) with the new i_zero() macro.
Used the following script:
C_FILES=`git ls-files *.c`
H_FILES=`git ls-files *.h`
for F in "$C_FILES $H_FILES"; do
echo "$F"
perl -p -i -e 's/safe_memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero_safe(&$1)/g' $F
perl -p -i -e 's/safe_memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero_safe($1)/g' $F
perl -p -i -e 's/memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero(&$1)/g' $F
perl -p -i -e 's/memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero($1)/g' $F
done |
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. |
436adac819e7cbeef04af08dcc6a4f3ecd4a1d9e |
|
13-Aug-2016 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: remove mailbox-recent-flags.h from index-storage.h |
02b78558dc03daa2e7da2010b63f247b49936a38 |
|
03-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
Use mail_get_*stream_because() wherever possible. |
2c8ca7e88ec881c473fb90e5f647c1f563877164 |
|
03-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Added mail_get_stream_because() and mail_get_hdr_stream_because()
With mail_debug=yes each mail access is now logged with a reason. This can
be helpful when figuring out why something isn't in dovecot.index.cache. |
9200ff3f726e96b6139fdafe5b1397f1ee115764 |
|
28-Jul-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Don't crash fetching body.snippet when multipart/alternative part has no Content-Type |
9202c66061bb8836d8ead6fe4841c6120b701393 |
|
11-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_set_cache_corrupted*() now sets internal error to storage.
At least index_mail_set_message_parts_corrupted() assumed that this was
being done. |
d9a7e950a9cd21f2b4a90ec7759fca9e8fcc7995 |
|
05-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Fixed mismatched bool vs. int/pointer handling
I don't think these fix any actual bugs. |
38a985c0634d03a5617cda7accf63753e6f2fce9 |
|
03-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Make it easier to debug mail's unclosed istream |
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. |
46114180b41dc7cac5e7b0242ad347b4acdbaa5a |
|
28-Feb-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: If cached mime.parts is corrupted, log it hex-encoded. |
8b5b1f6cb19253dfd7821fcef8e9b7e95e6caf3a |
|
28-Feb-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
Use mail_set_cache_corrupted_reason() wherever possible. |
79ec3f2742a8c69879ccc95334a46e1312900f8e |
|
28-Feb-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_set_cache_corrupted*() now logs also the mailbox name that was corrupted. |
6de6ec228a41275ddda972d4a554699ea75cd06d |
|
28-Feb-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Added mail_set_cache_corrupted_reason() |
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3 |
|
12-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: freshen copyright
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5]) Dovecot/ $1-2016 Dovecot/' |
1a591dbe15ca810b4bab13632a61ad2f062adbdc |
|
04-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: mail_add_temp_wanted_fields() was reading already-freed memory.
This mainly happened with mail_log plugin enabled. |
4cce36128569c68a999e98c9034bfb1bc177f1ff |
|
13-Oct-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Support latest cache fields in struct mailbox_metadata.precache_fields |
5eb85ec9546bac4eea7d78de8997920ba3debd30 |
|
30-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Renamed MAIL_FETCH_UIDL_FILE_NAME to MAIL_FETCH_STORAGE_ID.
Keep MAIL_FETCH_UIDL_FILE_NAME for backwards compatibility for now. |
817d027593510c3ba70ad542ce0011f5f6916d1e |
|
18-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved most of the \Recent flag handling code to mailbox-recent-flags.c
There are also some API changes, because functions were renamed and the
recent_* fields were moved to struct mailbox. I'm not aware of any plugins
using these though, except for index_mailbox_set_recent_seq() which for now
is kept as a backwards compatibility macro.
No changes were made to the actual code logic. |
8409959d66804dc963bc6fcdcc9a01da0d56a978 |
|
09-May-2015 |
Timo Sirainen <tss@iki.fi> |
Make Coverity happier. |
e4d054789e1fdb36c984d22c3f45afd71d8f8f97 |
|
19-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: MAIL_FETCH_BODY_SNIPPET should seek the mail stream back to original position. |
52fbebc87d7ae4fc4585863d38cb87f166a6521a |
|
16-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added MAIL_FETCH_BODY_SNIPPET. |
7cb128dc4cae2a03a742f63ba7afee23c78e3af0 |
|
05-Jan-2015 |
Phil Carmody <phil@dovecot.fi> |
global: freshen copyright
Robomatically:
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
Happy 2015 everyone!
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
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. |
ca315235ca1128fbd74d118a286280a9786f1ba3 |
|
07-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed assert-crash when BODYSTRUCTURE parsing fails due to broken mail size. |
232ee7c662e20e7cc4fd6ee18b7f7e1c9299f96a |
|
25-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't assume that we must read the whole message to get its virtual size.
This is true only with mbox format. All the other formats have various
metadata available where it's stored. |
eed20b28dd9039d21f5c2770beef2e8b19f7c2f9 |
|
04-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Bodystructure parsing flags weren't updated correctly on error conditions.
This fixes an assert-crash sometimes when mail parsing failed. |
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. |
3a06d97ce873117c494215cfb7e52249ed16a76c |
|
04-Jul-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If mail body reading failed, the error message may have contained only minimal errno string.
Even though the istream could have had a much better internal error message.
So show it. |
463d6c35524a3b3fbed0c1612e74b5601b7953fe |
|
26-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: BODYSTRUCTURE parsing failures weren't treated correctly.
We still assumed that the parsing succeeded and assert-crashed later or
maybe returned invalid results. (This could have happened only if there was
a problem reading the mail stream.) |
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. |
0737a4fe0b83a05f335a8ad02e833b62565a36da |
|
07-May-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed assert-crash when looking up private flags for a mail being saved. |
9456a4a3e74929f9d3d5b00b93be6d8eb69bc52a |
|
30-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail_never_cache_fields=* means now to disable all caching. |
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. |
e9a182196c79b321365dbcd8800790e841e5e890 |
|
03-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
lib-storage: When trying to get body size quickly, make sure we don't end up reading the mail body. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
b9da8d5ea381e2910cb13798a563b24ba9bb52c8 |
|
17-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed memory leak in mail_add_temp_wanted_fields() |
147a788fea2a88f7125b27226451271d55cf5b01 |
|
26-May-2013 |
Timo Sirainen <tss@iki.fi> |
dbox: Added support for POP3 message order. |
1409230a03f4e3764b709e12ba148a517e4b84fb |
|
11-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail_update_pvt_modseq() shouldn't crash if there is no private index. |
1a0ece3e873e3864269ed7eaed957dc10c56d25f |
|
07-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
istream API change: Added support for multiple destroy callbacks. |
03de962febfc2ac572f9e4029463c16d29c1ed55 |
|
24-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added MAIL_FETCH_REFCOUNT for getting mail's reference count.
This is useful only for backends where mailbox_copy() increases the
refcount. With maildir&sdbox it can be looked up from the file's link count.
With mdbox the refcount is stored in the map index. Other formats don't
currently implement this. |
3e3045fa022cc6f5887c50737b8d3941a9b82c10 |
|
24-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fix. |
73960a174675e8aa6e1d0fb98444c4858d6b4757 |
|
24-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If mail saving is cancelled, don't check that all the input was read. |
8ae72ad7d0c69e972cfa65d1e2ce4e3e9a8b765c |
|
24-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Replaced all -1U and (unsigned int)-1 with UINT_MAX.
It's somewhat clearer this way. Also clang's -fsanitize=integer gives
runtime errors about -1U (but not about explicit casts, so no need to change
(type)-1 casts). |
722a8fc90a08aacdeccf5a7523b22cdf76b0c771 |
|
04-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: If message parser's input stream is closed early, don't treat it as error.
This seems to happen sometimes during message saving(?), although I'm not
exactly sure why. In any case it shouldn't log an error about it. This
behavior is probably better than failing. The caller should be the one to
figure out if saving has failed or not. |
5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294 |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Oops :) Update copyrights to 2013 without breaking all .c files. |
cca4ba2a504d70a9fe9fee37f8433997359de52c |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2013. |
49be238e250e99af8c69321264a461d8f6ceef62 |
|
22-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Catch input stream errors when parsing mail. |
817b0fcafd62b39accae5e43589662fe919ff853 |
|
09-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: dest_mail wasn't reset if previous save was aborted.
This could have happened only with dsync. |
f46885a5b78b15a8d2419f6e5d13b643bd85e41f |
|
04-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added support for "private modseqs" for INDEXPVT index.
Used by dsync (next commit). |
4cff388b610ed8ea79c04ca27d3ad49c0c1ab7e8 |
|
28-Nov-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: When updating flags in private index and nothing changes, don't increase modseq. |
50de46721446795c42943c572625f2f1a9abfe01 |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Check and log stream errors when parsing/searching messages. |
4906414a3e02e7750b0e702ec992afba20a0338a |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: struct mail.close() now clears all of its data. |
0000bf8b0e0fa31e875ec55b585e9f7291d6f3d0 |
|
15-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
imap_body_parse_from_bodystructure() now returns the error instead of logging it. |
5f44975ec6c5755dd74bcd4c47a123a7242ecab3 |
|
15-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved index_mail.data_pool to mail_private.data_pool |
1a18848722d5d20deee4c8aa099890addc53af90 |
|
13-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Message size/sent date could have been set as 0 in some cases.
It doesn't look like it ever happened with the current storage backends or
use cases. |
3281669db44d09a087a203201248abbc81b3cc1a |
|
06-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Renamed buffer_create_*data() to buffer_create_from_*data() for consistency.
Especially i_stream_create_from_data() was a very similar function, which
made it difficult to remember which one should have "from" and which one
shouldn't. |
99695d99930b35c2bac85d52e976b44cf8485d83 |
|
23-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved per-mail data in struct mail_save_context to separate struct.
This fixes previous save leaking metadata to the next save. |
27a44fcfd8d19bffe0f267f20a2b5d3fe7600fdd |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Removed CONTEXT_TYPE_SAFETY macro and reimplemented its functionality better.
gcc/clang now gives a compiler error in many places if callback isn't
exactly what was expected. It's also now much easier to add more of these
checks. |
6e8f0036cad59d1d6bcd9ef69bfe712d01656ca3 |
|
11-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added caching for mail_get_binary_size() |
40ec8af8e04afc589b69c67baef6a58dad0ca4b0 |
|
28-Jul-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: When saving a mail, set date.save to cache immediately. |
31a574fda352ef4f71dbff9c30e15e4744e132c0 |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Added array_append_zero() to write a zero-filled record to an array.
Replaced (void)array_append_space() calls with it. |
e34d170f8f0e084bd94bfbc1a7085ece67e508df |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Make sure we check all the functions' return values. Minor API changes to simplify this.
Checked using a patched clang that adds attribute(warn_unused_result) to all
functions. This commit fixes several error handling mistakes. |
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 |
5da1aa5197a43d83f0fb3eeb83125c7cd73d1b62 |
|
11-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
shared mailboxes: Per-user flags can now be stored in private index files.
This can be enabled by adding e.g.:
mail_location = mdbox:/var/shared/mdbox:INDEXPVT=~/mdbox/shared |
a249dd267f05d349f1b4aa27b40a56083c8ba392 |
|
22-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't access mail->box->view, but mail->transaction->view.
They may not be the same. In such cases e.g. mail_set_uid() may have
accessed a wrong mail. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
a39292e6410a30805b020acf4fc916210ae54e86 |
|
25-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Message size lookups from cache was broken if fields weren't in "normal" order in file. |
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. |
2ed248fba21fdd3abcc4bb4d07c2822b9ba3f66f |
|
14-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Avoid assert-crashing when replacing mail stream with a new one. |
5df33e9ee65eec194105b338c55dedbf8422f695 |
|
08-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Code cleanup. |
ecd69c4e8371853667e01b0c16d436ef7f7393e2 |
|
12-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_log_update_wanted_fields() |
8774548a2990180f1ef424191dcbf426964db654 |
|
05-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed reopening a mail stream. |
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. |
6df0ab0c1ab91f06b6418cb30eff44405a1b8f02 |
|
04-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_get_hdr_stream() and use it where possible.
This makes it clearer for backends when it needs a message body instead of
only message header. |
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. |
2d01cc1880cf2afd4fb1c8ad7fa6ce78e562e71e |
|
25-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved all transaction stats_* to struct mailbox_transaction_stats. |
de62ce819d59a529530da4b57be1b8d6dad13d6b |
|
25-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
Moved GUID code to liblib. Use guid_128_t type consistently everywhere. |
1eaaa2c9003cf3fbf672d597473e3f84e70d2ee6 |
|
16-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved stats_* from mail to transaction.
With the API changes to search, having them in mail doesn't make sense
anymore, since mailbox_search_next() can return multiple different mails
with different stats. |
1bed3cc1dc0692b6978c02222cae26857a97bc2e |
|
08-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
Compile fix for CentOS 4.9 (and maybe others). |
7631f16156aca373004953fe6b01a7f343fb47e0 |
|
28-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail->saving was set too late, which could have caused crashes. |
fd14806f879f6cd4f023750e0c4cac27a7f94fbb |
|
26-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
s/search score/search relevancy/ |
2d193dca7c904a79e9957cb2e28aff6e92066e1f |
|
11-May-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed checking if mail's virtual size is cached. |
c7e14824e4e1ca9dc5d48d1eddc4a38d3041218f |
|
05-May-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added mail_parse(). |
e1eeb3be29afde2830c2b7ed594c6f1fef2f69dc |
|
04-May-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added MAIL_FETCH_POP3_ORDER special field and implemented for Maildir.
The idea is that this specifies the order of messages when accessing via
POP3. This is useful when migrating both POP3 and IMAP users from servers
where their message ordering differes and they still want to be preserved. |
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. |
2e37d45867d081db150ab78dad303b9077aea24f |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
183bea41fa640dc8117f3eb45ff935cd81377a84 |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2011. |
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. |
e5de04b9d8818d1301c430469f736fcadc2572f0 |
|
07-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes. |
15a0574562fc5ab13ca2e1d8baff754b7f9f6850 |
|
06-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed mbox/cydir crashing on cache parsing deinit. |
7fc0f80480063a9d4cb9e8c07b50db2a5627799e |
|
22-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
Fixing my english: s/non-?existing/nonexistent/ |
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 |
3eb63515855f386449c22233d1f1baf1ddfe8a2d |
|
28-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Use mail->saving, not mail->uid==0 to check if mail is being saved.
The uid may be non-zero when saving with dsync.
--HG--
branch : HEAD |
fc40a9a002458e372ff4b9f6f4e15239520c0bcd |
|
04-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Fixed accessing uncommitted saved mails with dsync
dsync preserves uids, so uid==0 check won't work for detecting such mails.
--HG--
branch : HEAD |
2dc50c82851c4ea6e1b3d9619287c6d6177d7799 |
|
31-May-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: mail_get_stream() no longer sets stream_r if it returns failure.
This fixes e.g. FETCH RFC822.* commands when input couldn't be read.
--HG--
branch : HEAD |
2c744723c2ff9cb4d848c241fed682de4d35fe01 |
|
31-May-2010 |
Timo Sirainen <tss@iki.fi> |
If read() from a mail stream fails, log the stream name (filename typically).
--HG--
branch : HEAD |
61e27995aadbc2f97927d3635f98d1d4ac4751e0 |
|
13-May-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Removed struct mail.get_index_mail(). get_real_mail() is basically the same.
--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 |
8bb360f9e5de1c25e4f875205bb06e8bf15dae14 |
|
05-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
Removed dead code.
--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 |
cd83124e5d070a016c590bb0b1096d7828c7b6ad |
|
19-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved index transaction/view from index_transaction to mailbox_transaction.
--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 |
ca98d6a1bbe73499da758a36bfab2963375c8d06 |
|
07-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved struct mail_index_* from index_mailbox to mailbox.
We're relying more and more of all mailboxes being used via lib-index, and
this change makes accessing the indexes easier.
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
5f903e54c4296aa107d953af66bf101dbb73d2cf |
|
19-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Return mail's mailbox name with namespace prefix.
--HG--
branch : HEAD |
741d705983e10046f07ef372b760bcdd169b068a |
|
06-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Don't assert-crash after noticing cache file corruption.
--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 |
7deb24e7453249d09741641bff0f269f68165033 |
|
06-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
mail_update_flags(): Allow removing recent flag from message.
--HG--
branch : HEAD |
88f56040cebb5d272b658b8e00f02434b9dca200 |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Code cleanups.
--HG--
branch : HEAD |
ea5f188fc29dfaa0c4071e6413e16e1d04263722 |
|
31-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
index-storage: Moved mail MD5 calculation code to mbox-specific code.
Nothing else used it.
--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 |
0c909e3461607eadcd66f4eac69b7f34e37fccf1 |
|
14-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Keep track of expunged messages' GUIDs and expose them via mailbox_get_expunges().
The message GUIDs are stored in expunge records to transaction log. Before
doing the final expunge, Maildir and dbox verify that the GUID in expunge
request matches the current actual GUID. The GUID is stored in 128 bit
field. If the real GUID isn't 128 bit, the bits are taken from SHA1 of the
GUID.
--HG--
branch : HEAD |
8e361d2906b0e44f7175a20981f8d2280645b58b |
|
14-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
buffer_create_[const_]data() API change: Take buffer_t as parameter instead of allocating it.
--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 |
23f822a2fcf31e9003a11228a93d80900f5c55e4 |
|
03-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes on 64bit systems.
--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 |
a64adf62fa33f2463a86f990217b0c9078531a40 |
|
28-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Initial commit for config rewrite.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
58944f3f442a83addd16553805df6a21fc4812c6 |
|
16-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
mail_set_seq(): Don't open input stream immediately if message hasn't been saved yet.
--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 |
64665c9e22998acaeb88cc5df36868f01a2e7016 |
|
13-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
expunged and has(_no)_nuls status wasn't reset when switching between mails.
This may have caused Dovecot to wrongly assume that a mail was expunged if
the previous one was.
--HG--
branch : HEAD |
3b5028747f195bca08751015e5b5a28cd5f4f8d4 |
|
13-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Message parsing/reading: If read returns failure, don't ignore the error.
--HG--
branch : HEAD |
310767ca33e7636d40ec45dee68a2c319a5fa3c0 |
|
23-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Added wanted_fields and wanted_headers fields to struct mail_search_context.
--HG--
branch : HEAD |
19245f122c9ef501a30dfd01f73a5600f0d5d68f |
|
19-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Minor code cleanup: Removed extra ';' characters.
--HG--
branch : HEAD |
14d9cc66a169cf5e70ca39f467c888ab1315200b |
|
05-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
Increased initial "mail" memory pool size.
--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 |
61bcee76e5cd7fe006fdc078efa811d5ccd3eb17 |
|
21-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
Fixed a potential crash if message parsing failed while fetching bodystructure.
--HG--
branch : HEAD |
bac85904dafb164c19b0df5f9115bb35c5cba893 |
|
20-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
Maildir: If uidlist couldn't be locked while saving, we might have assert-crashed
afterwards when trying to update cache file for the newly saved message
whose index update was already cancelled.
--HG--
branch : HEAD |
f95b3d29bc56f139c18c880aa574a0ca72b0cffb |
|
19-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
struct mailbox_header_lookup_ctx can now be referenced/unreferenced so it
can be shared among multiple struct mails.
--HG--
branch : HEAD |
a0c453a8edaec90fb0d945c874de0b1845bc7d7e |
|
13-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
Added support for sorting by X-SCORE. Currently it's only set by fts-solr.
--HG--
branch : HEAD |
c9f4845dbb2e2b969f2febdca8c293229e6e9d95 |
|
26-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Fetch BODYSTRUCTURE: Added missing NIL to the plain reply.
--HG--
branch : HEAD |
06ff2a72c39cb34cc6425f17fc82c5e93fef2018 |
|
20-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
FETCH X-MAILBOX and SEARCH X-MAILBOX can be used with virtual mailboxes to
find out the original mailbox. In non-virtual mailboxes they always just
use the current mailbox name.
--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 |
0d73d91d1a1809f173d433023ccf97e6ec5ba629 |
|
31-May-2008 |
Timo Sirainen <tss@iki.fi> |
MAIL_FETCH_UIDL_BACKEND crashed with non-maildir backends. Changed the API a
bit and fixed/cleaned/optimized POP3 UIDL listing a bit.
--HG--
branch : HEAD |
c057806e95ed3e2f1d0d740e4b0d5765515bc0d7 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
CONDSTORE fixes
--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 |
4eebe979f6847b3b22782785dafda6ca1bbf6d9f |
|
11-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
BODY/BODYSTRUCTURE may have been returned as NULL in some situations.
--HG--
branch : HEAD |
7f519ab4d89205f16b7d9b7880975966a6f2ef78 |
|
05-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
If mail parsing was aborted (mail saving was aborted), don't even try to
generate data to be cached to avoid crashes.
--HG--
branch : HEAD |
5295f326cde2b56814da2d3bcbaec4562c8d2df7 |
|
04-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Make MAIL_INDEX_MAIL_FLAG_BACKEND visible to mail_get_flags() and allow it
to be changed.
--HG--
branch : HEAD |
ff3e079cdcd74e64eb35af0bc361e75d2ea03822 |
|
04-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Moved fdatasync_path() to a global function.
--HG--
branch : HEAD |
7a1090f7f238b73b4e06f23f6ea7b7c8184fc630 |
|
21-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
index_mail_get_date() didn't return timezone if date was already parsed.
--HG--
branch : HEAD |
26810e07c3f4ed056a586eb74194404c62cc5d3b |
|
21-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
index_mail_get_date() didn't return timezone if date was already parsed.
--HG--
branch : HEAD |
8845e1cc7820f34fb4c7f0837a0eaa3ac779ea83 |
|
16-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
When setting cache corrupted, make sure we don't write broken values to the
new cache file. Also log broken virtual size fetches better and support 0 as
a generic "some fields" value.
--HG--
branch : HEAD |
c4aa16244e260709cfbfefced2813e575bde789d |
|
16-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
When setting cache corrupted, make sure we don't write broken values to the
new cache file. Also log broken virtual size fetches better and support 0 as
a generic "some fields" value.
--HG--
branch : HEAD |
992118a50af940482b6cf884a89be56d7015580a |
|
14-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Changed message_parser_deinit() to return -1 if the parser was using
preparsed broken message parts. Callers catch the error and mark the cache
file corrupted.
--HG--
branch : HEAD |
251294c7acff0fc7993300723b7e8794569d37be |
|
14-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Changed message_parser_deinit() to return -1 if the parser was using
preparsed broken message parts. Callers catch the error and mark the cache
file corrupted.
--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 |
19e8adccba16ff419f5675b1575358c2956dce83 |
|
11-Feb-2008 |
Timo Sirainen <tss@iki.fi> |
Renamed T_FRAME_BEGIN/END to T_BEGIN/END. Removed T_FRAME() macro and
replaced them with T_BEGIN/END calls. T_FRAME() made it difficult to debug
code with gdb.
--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 |
e09344556d9c31b7976b3039c76cb1240594fda2 |
|
06-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Don't crash with 0 byte mails when saving/copying them and trying to add
e.g. bodystructure to cache.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
55fb77dadb0bb8597e2358afeb947ac2b0fcaced |
|
22-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Free filter_stream before mail stream so we don't crash.
--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 |
aa215ab623706463cea1d047f975ffe51d3f0c05 |
|
21-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
mail_get_physical_size() returns now the message stream's size and not the
physical size on disk that varies. This fixes mbox issues and it's also more
correct conceptually, because it doesn't return metadata size with other
formats either.
--HG--
branch : HEAD |
33ca6770e891c9be2cf5eb577f2f9067a63d6f05 |
|
21-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Don't try to cache BODY/BODYSTRUCTURE if we didn't even parse it.
--HG--
branch : HEAD |
a757f31393b9d6fc7760a9dec8363404ab3ae576 |
|
09-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Added mail_get_keyword_indexes()
--HG--
branch : HEAD |
eddd9bf1a1369aea4a2715f6be1137da6d17d293 |
|
05-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced t_push/t_pop calls with T_FRAME*() macros.
--HG--
branch : HEAD |
01937f71b3ae0d5b30b813372f44a3e7e86c89dc |
|
28-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Assert-crash if there are mails belonging to a transaction while it's being
committed or rolled back.
--HG--
branch : HEAD |
6fb3d58f9a801488ddeda687cb9d5ff24d76aee3 |
|
28-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
mail_get_stream(): If we have virtual size cached, we don't have to read the
entire body to get its size. Instead use cached virtual size - hdr size.
--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 |
98dfa625aa7b9e9f449768cc74de672585927186 |
|
08-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Mail closing should just unreference streams, not close them.
--HG--
branch : HEAD |
3da614c39dd29f536c485089e67839b4cf89fed3 |
|
03-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed mail_index_lookup_uid_range() to mail_index_lookup_seq_range(), made
it return a bool and added mail_index_lookup_seq(). Cleaned up the code to
use these functions.
--HG--
branch : HEAD |
f7f16d4fa869337c15e41becab24fece11620f01 |
|
16-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
mail_get_date(): Missing Date: header should be returned as 0, not as -1.
--HG--
branch : HEAD |
5ef7efd45b1adf3a09cf9c229cf0a3d3d54405a2 |
|
06-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
Use crlf input streams instead of output streams so message parser doesn't
end up saving broken offsets.
--HG--
branch : HEAD |
89a126810703c666309310d0f3189e9834d70b5b |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced my Copyright notices. The year range always ends with 2007 now.
My name was replaced with "Dovecot authors". In many cases I didn't really
even own the copyright, so this is more correct.
--HG--
branch : HEAD |
648d24583c1574441c4fa0331a90bd4d6e7996c5 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
pool_unref() now takes ** pointer.
--HG--
branch : HEAD |
0f66f12eb4cdbf47670975044c88d8f388bf92df |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed buffer_free() and buffer_free_without_data() APIs to take ** pointer
which is set to NULL instead of hiding it with a macro.
--HG--
branch : HEAD |
8cecc22673c23c7ad579276e0e5f700f1d89fcd3 |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
If view is inconsistent, keep mail->seq valid anyway.
--HG--
branch : HEAD |
654a3d1e7dde2896627f74b6cc2e387617515f1c |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
If view is inconsistent, show the mail as expunged.
--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 |
88187ee880b4829443e0d55ea7d145d9d5880217 |
|
12-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Removed explicit locking from views and maps. They were already locked all
the time when they were used. Because of this change several functions can
no longer fail, so they were changed to return void, and a lot of pointless
error handling was removed.
--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 |
a8b8cce8569753ed47c94782283a24fb11c5ab52 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Fixes to recent handling. Now it should work properly.
--HG--
branch : HEAD |
1d3f7c1278168d5b1cbfa9a2cc9929a0909056b4 |
|
16-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Recent flag handling rewrite. Still not perfect with maildir.
--HG--
branch : HEAD |
f760ffed7875afbf37adc93555821caa42eadf82 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Don't cache flags unless we want them.
--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 |
87132ebf759dc7fe1f4b8aeb68c7d44be26eba42 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_FETCH_NUL_STATE. Don't try to fetch cached flags now unless it's
needed.
--HG--
branch : HEAD |
910fa4e4204a73d3d24c03f3059dd24e727ca057 |
|
13-May-2007 |
Timo Sirainen <tss@iki.fi> |
Added MAIL_ERROR_EXPUNGED. Set the error whenever expunged message is tried
to be accessed.
--HG--
branch : HEAD |
043c8a96a035379bcba04f487d58457beefdfcaa |
|
03-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Header parser has now flags parameter to tell it how to handle linefeeds.
Changed message parser's boolean parameter to enum as well.
--HG--
branch : HEAD |
dd0dea1fdd913a04bae16e82dd66d67571a5f6c2 |
|
03-Apr-2007 |
Timo Sirainen <tss@iki.fi> |
Removed message_parse_from_parts(). Added message_parser_init_from_parts()
instead. Searching code now uses it whenever possible.
--HG--
branch : HEAD |
a8607ffb56669140a2304c59e6edf9c973e123d6 |
|
01-Feb-2007 |
Timo Sirainen <tss@iki.fi> |
Minor optimization
--HG--
branch : HEAD |
ccb77e2f63626ec46e5745ef4f38baa8e8e504fc |
|
26-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Cleanups and minor fixes
--HG--
branch : HEAD |
2cfe9983ce7a6280636ee12beccc2e865111967b |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Replaced void *context from a lot of callbacks with the actual context
type. Also added/fixed some context type checks.
--HG--
branch : HEAD |
59151b71059df1190acd75d8717ed04a7920c862 |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added context parameter type safety checks for most callback APIs.
--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 |
afef93fb6343cb44e9d0aca6a03f4626f97b9d49 |
|
17-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
mail_set_uid() now returns 0 = expunged, 1 = ok.
--HG--
branch : HEAD |
c6eca51b54586c1f37cfe39e38c844da3f937a4d |
|
16-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Don't allow giving NULL parameter to array_get() or array_get_modifiable().
--HG--
branch : HEAD |
91dca97b367c54a139c268b56a0c67f564bd9197 |
|
10-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Replaced ARRAY_CREATE() macro with [ipt]_array_init() macros. The macro
has no side effects so it might as well be lowercased.
--HG--
branch : HEAD |
26a8b7deb3a5b6f26f9c4d71538e1248f680e4be |
|
10-Sep-2006 |
Timo Sirainen <tss@iki.fi> |
Removed type parameter from ARRAY_CREATE since it's not needed anymore.
--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 |
20195ef995a4eb63a282283db63f1dc0605323e0 |
|
24-Jul-2006 |
Timo Sirainen <tss@iki.fi> |
Restore data stream's offset after it has been internally changed, so that
it doesn't have much visible effect on the stream returned by
mail_get_stream(). The buffered data will still be lost, but this should
help with the most common use cases.
--HG--
branch : HEAD |
45be8c0913ce758626be5f43f5a82c2db7547880 |
|
03-Jul-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Crashfix: Added missing date.save field.
--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 |
a04cd96888653891272a512f7735121193af7b35 |
|
08-Jun-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Changed mail-storage API to do the mail sorting internally. Optimized it
internally to keep a 32bit sort_id field in index for each used primary sort
condition. Practically this should mean less disk I/O, memory and CPU usage
when SORT command is used.
--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 |
31ed25f84a5cb6b6e3608e4cb841760910579aa2 |
|
08-May-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Some more cleanups
--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 |
62ea4be91c10498d10a6f1d989d2058334b82c7f |
|
08-May-2006 |
Timo Sirainen <tss@iki.fi> |
Strings should be freed with str_free(), not p_free().
--HG--
branch : HEAD |
d96f86fb881c5b106649e8994ead1052acf24030 |
|
08-May-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Rewrote the message bodystructure parser to allow parsing from non-blocking streams. Also did a couple of API changes and cleanups.
--HG--
branch : HEAD |
79fcd3f95a6266cc62ceaa753e56dd4456ab7c4b |
|
26-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes
--HG--
branch : HEAD |
cd56a23e21f1df3f79648cf07e2f4385e2fadebb |
|
25-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Added i_stream_destroy() and o_stream_destroy() and used them instead of
*_stream_unref() where possible. Fixes at least one problem with io_remove()
being called after socket was closed, which caused problems with epoll.
--HG--
branch : HEAD |
9c0c0545f2286dc4ff8a17995c14c589095582df |
|
17-Feb-2006 |
Timo Sirainen <timo.sirainen@movial.fi> |
Fetching BODY/BODYSTRUCTURE with header fields caused Dovecot to unneededly
open the mails and parse their headers, if everything was already in cache.
--HG--
branch : HEAD |
97511ac4d7607e1ba64ce151eda3d9b5f9775519 |
|
18-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added mail_cache_min_mail_count setting.
--HG--
branch : HEAD |
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5d |
|
14-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
deinit, unref, destroy, close, free, etc. functions now take a pointer to
their data pointer, and set it to NULL. This makes double-frees less likely
to cause security holes.
--HG--
branch : HEAD |
6ef7e31619edfaa17ed044b45861d106a86191ef |
|
13-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added "bool" type and changed all ints that were used as booleans to bool.
--HG--
branch : HEAD |
5b1f0527199d504e3c6de21ef63fbf7270890cf1 |
|
15-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
If mail_get_stream() is called when stream had already been used and seeked
to non-start, it calculated the header/body sizes wrong.
--HG--
branch : HEAD |
13857dbe2a1a1b92fb078f2bc60402dd9d296603 |
|
23-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
If header wasn't already parsed when opening mail, we read the whole message
as its header and left body empty. Happened with maildir.
--HG--
branch : HEAD |
16f816d3f3c32ae3351834253f52ddd0212bcbf3 |
|
04-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Moved array declaration to array-decl.h and include it in lib.h. So array.h
needs to be now included to use any array_*() functions.
--HG--
branch : HEAD |
8e96782fe4905474fc8d5847f2f59e29e37cadeb |
|
03-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Fetching message parts or virtual size from cache didn't work correctly and
could have crashed.
--HG--
branch : HEAD |
488597807d11478f9296f0463f65da4222a245f6 |
|
03-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
If mail_cache_field_exists() returns -1, we can't assume the field can be
used..
--HG--
branch : HEAD |
16795bb13717907b1ac57e213716a2cf23d3bb25 |
|
03-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Don't crash if hdr.message-id isn't set in cache file.
--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 |
053843989f13d9013b265fb401a4bde7e0e6568e |
|
28-Jun-2005 |
Timo Sirainen <tss@iki.fi> |
Renamed array_modifyable_*() functions. I could never remember how they were
named.
--HG--
branch : HEAD |
1ef11b22c652cd6b703b468dc2305667cd60ef39 |
|
05-Jun-2005 |
Timo Sirainen <tss@iki.fi> |
Don't pass NULL date to message_date_parse(). It crashes nowadays.
--HG--
branch : HEAD |
fe21a2b1251a4cb3367d427618b35395de77e82f |
|
26-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes when DEBUG enabled.
--HG--
branch : HEAD |
367c05967091a2cbfce59b7f274f55b1a0f9e8c9 |
|
16-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Raised initial pool sizes.
--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 |
e9a655e36757b0acf550ec5914559d111036decb |
|
15-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Include transaction pointer in struct mail.
--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 |
366d6311c9d5bac6613e3cd64619eb878adce9ec |
|
19-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Added %f pop3_uidl_format for maildir. Patch by Andrey Panin.
--HG--
branch : HEAD |
00f5efa3156ab6a0b4f21e8c703d0eb816cf3091 |
|
15-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Added pop3_uidl_format setting.
--HG--
branch : HEAD |
df0732ae2ac186ab6b31205cac23911b72d80ba3 |
|
07-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
mail_deinit() wasn't used anymore.
--HG--
branch : HEAD |
b20fb5b1df9d604a7541f5118fc5b4b466d211ef |
|
24-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Changed mail_index_get_header() to return the header as return value because
it can't fail anymore.
--HG--
branch : HEAD |
3b124fd576a0361ec054420d385c473b7cb2bbbc |
|
14-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Don't crash even if view is inconsistent.
--HG--
branch : HEAD |
4b058f90f9e8a2c6b2eed275de4eb8cc5195a71d |
|
08-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Buffer API change: we no longer support limited sized buffers where
writes past limit wouldn't kill the process. They weren't used hardly
anywhere, they could have hidden bugs and the code for handling them was too
complex.
This also changed base64 and hex-binary APIs.
--HG--
branch : HEAD |
a363808b2d733781e082c9bce767b04bede8ff3b |
|
08-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
cache_flags were being updated constantly.
--HG--
branch : HEAD |
63969c244e8973a61760a98a23b127827d3d652c |
|
15-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes and cleanups
--HG--
branch : HEAD |
1d5f06e1f3226cf07d1521cee1b6b14744845273 |
|
12-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
We re-cached internaldate every time again, but never used it.
--HG--
branch : HEAD |
444c9a022d902abd0539a68d2efef83483b8a8d9 |
|
10-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Removed all "unreliable headers" handling code. With mbox we actually handle
only virtual header sizes everywhere.
--HG--
branch : HEAD |
10da1ab399797ce44d37e0c464966e0a7cd5ff01 |
|
10-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
When using cached message_parts, update the header size with mbox since it
may change. Fixes BODY[1] etc. fetches giving corrupted replies.
--HG--
branch : HEAD |
bcd8a160ce32e5afe3566793b5a144028063b2fb |
|
04-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Cache field indexes are cache file specific, not globals.
--HG--
branch : HEAD |
9e800d309c94d5747837f8a6839f15d68556f078 |
|
04-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Use uint32_t for getting mail_cache_flags.
--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 |
a24b0595f0f7d3925d4c9ac26fa503ff87c43e43 |
|
28-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Fixed crash if mail data was fetched in specific order. Plus some minor
fixes.
--HG--
branch : HEAD |
d67fde1a8ebc1d85704c5986d8f93aae97eccef3 |
|
28-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Added mail.get_physical_size().
--HG--
branch : HEAD |
260201d50cd2cb69e8584006a80af8a640d8415a |
|
23-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
We shouldn't try to use cached header physical_size for mboxes because it
changes.
--HG--
branch : HEAD |
2767104d81e97a109f0aa9758792bfa1da325a97 |
|
15-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
We never do blocking reads/writes to network anymore. Changed imap and pop3
processes to use a single I/O loop.
Not much tested yet, and currently LIST/LSUB may eat too much memory and
APPEND eats all CPU.
--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 |
4bbee99b3aef449a9a2a11a5b5cf1ca486915c49 |
|
20-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache fixes. Decisions are saved again.
--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 |
439980f88f421039dea8335e92d3fa82b3f470a1 |
|
11-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Recent flags should be fully working now with maildir.
--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 |
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8 |
|
04-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache file compression works now and compressed cache file is reopened.
Several other cleanups related to opening - cache file isn't created
immediately anymore.
--HG--
branch : HEAD |
8aacc9e7c84f8376822823ec98c2f551d4919b2e |
|
28-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added some smartness for deciding what to cache. Cache compression code compiles, but untested.
--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 |
24fc71a693331ffe77e2b6d81c70aca6fa055e47 |
|
22-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Added mail_index_transaction_get_updated_view() which can be used to access
uncommitted messages.
--HG--
branch : HEAD |
da5d50534cfca45d0aaaf0bdac17b287b4588809 |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
Beginnings of getting cache file working again. Easy to break currently, but
basics seem to work.
--HG--
branch : HEAD |
345212e8f61ebf14ff4f80df26df9e655eb5121e |
|
20-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
mailbox_save() and mailbox_copy() functions can now return the saved mail so
it can be immediately queried. Implemented UIDPLUS extension using it.
Maildir implementation missing, so it crashes with it for now.. APPEND with
mbox now doesn't require resyncing the mailbox since it updates indexes
directly.
--HG--
branch : HEAD |
5362ae6c1dfa7d7184974ea089d4c35939db1c4b |
|
15-Jun-2004 |
Timo Sirainen <tss@iki.fi> |
forgot to commit
--HG--
branch : HEAD |
d482b35af87f5fd872bad007da0475813a401a49 |
|
23-May-2004 |
Timo Sirainen <tss@iki.fi> |
Recent flag fixes. Should work perfectly now with maildir.
--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 |
d8b77aef97e89f1ccc5cbdaef77be9052279e35f |
|
02-May-2004 |
Timo Sirainen <tss@iki.fi> |
s/custom flags/keywords/
--HG--
branch : HEAD |
fd3d711f219fd6813492acbe051e04327f0ca0f0 |
|
02-May-2004 |
Timo Sirainen <tss@iki.fi> |
Added support for setting dirty flags for messages (TODO: undirty..)
s/mail_index_record_flag/mail_cache_record_flag/
--HG--
branch : HEAD |
641f0c0900ee6e7cf9667f4b40ed95cec7d0cdca |
|
01-May-2004 |
Timo Sirainen <tss@iki.fi> |
Recent-flag should work now
--HG--
branch : HEAD |
b0745d1ba7cd50026a32990c92f32872bc809173 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
from_envelope crashfix..
--HG--
branch : HEAD |
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834 |
|
27-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
importing new index code. mbox still broken.
--HG--
branch : HEAD |
df1db5e1dde18b87fa78bd846b736c67c46406fd |
|
26-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
Moved copy() method from struct mail to struct mailbox - the context
parameter makes sense only to destination mailbox handler.
--HG--
branch : HEAD |
cd466fe7b84b0223735a6469c7f7bc225f65996d |
|
21-Sep-2003 |
Timo Sirainen <tss@iki.fi> |
data_stack_pool split into two: unsafe_data_stack_pool which works like
before, and a new one which verifies that stack frame stays the same
whenever the pool is accessed.
--HG--
branch : HEAD |
bb8937e0c503b49a752858f00445646062b6f06e |
|
24-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
use int32_t instead of int in struct mail_sent_date
--HG--
branch : HEAD |
bfe5d546f5ecc459d46dbc1c569d633de7c0516d |
|
21-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Removed some header/body size fields. We use only message_part now
everywhere since it's small enough. virtual_full_size was left because we
may know that by just reading maildir filename.
--HG--
branch : HEAD |
0a1b1d2e55b19786b42810671e4245c5b8942375 |
|
21-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
bugfix
--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 |
f8f0ce3973b9fec8a7ec0422df6c67f3e2a3f96d |
|
14-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Removed get_address() and get_first_mailbox() from mail interface.
--HG--
branch : HEAD |
12901d5665504583601498ec245517f8cfd2a07e |
|
11-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
message parts were stored corrupted
--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 |
dfbf03518468bee9a2ca54c104a9be71b38d4436 |
|
23-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API change for copying messages.
--HG--
branch : HEAD |
11f49ebea2ff5cd1921519b4366e06b4c6fc1f8e |
|
25-Jun-2003 |
Timo Sirainen <tss@iki.fi> |
get_date() wasn't optimized by using cached ENVELOPE.
--HG--
branch : HEAD |
7834c4baef139975368433cb890e0d914412e61d |
|
05-Jun-2003 |
Timo Sirainen <tss@iki.fi> |
Removed useless parameters from message_get_body_size(). Also did some small
optimizations to it.
--HG--
branch : HEAD |
6e0054c2e5efc526df6287da368335680a856714 |
|
04-Jun-2003 |
Timo Sirainen <tss@iki.fi> |
IMAP protocol doesn't allow server to send NULs to client. Send ascii #128
instead.
--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 |
c442a58347a55e069b64101905e0404258ca8211 |
|
26-Mar-2003 |
Timo Sirainen <tss@iki.fi> |
memory usage fixes
--HG--
branch : HEAD |
1eaac34828f55c5e53bfbcc1002b1ce3b71bbd37 |
|
26-Mar-2003 |
Timo Sirainen <tss@iki.fi> |
fix extra memory usage
--HG--
branch : HEAD |
0d59a1756e55f43a01c7a9f7962a1cfadd363610 |
|
11-Feb-2003 |
Timo Sirainen <tss@iki.fi> |
get_size() was buggy
--HG--
branch : HEAD |
6a23f65e314ee81050a6077e46dfc956aafb09c7 |
|
27-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
signed/unsigned/const pointer fixes
--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 |