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); |
e9fbe5e18b798728041b7e2ffc6c4fa964fc35a3 |
|
31-Jan-2018 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on str_free(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- str_free(&E);
- }
+ str_free(&E); |
c1f8d7ab0d8b15f27bbf33324000fc39751d8564 |
|
19-Jan-2018 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
imap: support for FETCH SNIPPET |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
47a5a7e8296f3b8f2fac9a0659d4de3f2723ba4a |
|
06-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
global: Use PRI* macros and %zu instead of casting |
0dab9cb35a976c49b28a11e28d5570f5191f1a7a |
|
22-Sep-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib-storage: Add reason to mailbox_transaction_begin()
Remove mailbox_transaction_set_reason(). |
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); |
f32c6ed9db6f4c535f97a2020401572efc8abf86 |
|
27-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imap: Add debug logging for [un]hibernation
The logs should now clearly say when a client was hibernated and when/why
it was was unhibernated. |
67c25cb4af273aff7384d5028d459cc9afdf8712 |
|
20-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imap: Allow plugins to replace existing FETCH handlers
They can use imap_fetch_handler_lookup() to get the old init() function.
Then they can imap_fetch_handler_unregister() the existing handler and
register a new handler, which can do its own work and call the old init()
if needed. |
cee926660616568927461f1349420e41aa9e89e1 |
|
04-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imap: Set FETCH transactions hidden only when \Seen flags are implicitly set
This simplifies implementing some plugins and has no downsides to core
functionality. |
cddfd1355db6b60c71d7ee3c0b4f23b3efcc9ad1 |
|
03-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Add mailbox_transaction_set_reason() calls
Added to the most important places. |
289bd999f282a307b05e6f8beef33155a50fb837 |
|
21-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imap: Fix error message in failed FETCH's NO reply.
This was broken only with the new imap_fetch_failure = no-after setting. |
46e17407ed48155ac7290a992216a11b2b2b3cf4 |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imap: Code cleanup - Remove duplicate flags from imap_fetch_state
All the cur_flushed, line_partial and line_finished were about the same
thing. |
905627a760ce8bf4141b361f72858a99975ded3c |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imap: Fix sending UID only when necessary on broken FETCHes.
b748f91d0677fffaa2208b39ebb6db3aeb2e937b changed UID to be sent for most
FETCH replies. There was also some existing code that attempted to do this,
but didn't fully work.
So now:
1) If there are no non-buffered replies, the entire FETCH response isn't
sent.
2) If the buffer was already flushed and nothing else was sent, add UID to
reply. The code paths for handling this are differently for
imap_fetch_failure = disconnect-immediately vs others (depending on
imap_fetch_cur_failed() return value). |
704a96fa677763eef7ae62466e14e83a2f535427 |
|
06-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imap: Add imap_fetch_failure setting
This controls what happens when FETCH fails for some mails. The possible
values are:
disconnect-immediately: This is the original behavior. Whenever FETCH
fails for a mail, the FETCH is aborted and client is disconnected.
disconnect-after: The FETCH runs for all the requested mails, skipping
any mails that returned failures, but at the end the client is still
disconnected.
no-after: The FETCH runs for all the requested mails, skipping any mails
that returned failures. At the end tagged NO reply is returned. If the
client attempts to FETCH the same failed mail more than once, the client
is disconnected. This is to avoid clients from going into infinite loops
trying to FETCH a broken mail. |
b748f91d0677fffaa2208b39ebb6db3aeb2e937b |
|
06-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imap: Don't send empty FETCH () on failure
It violates IMAP RFC. Send FETCH (UID n) instead. |
f46f53badf6082e289ac38807e701305c521f11d |
|
31-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imap: Fix panic on FETCH X-MAILBOX in virtual mailbox when mail is expunged |
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 |
f339a8e73beea7684ea634941ea82593dea522ee |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Don't assume o_stream_send_istream() return bytes sent.
This won't be true soon after its API changes. |
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/' |
814bf67459ad405a157af0b8940602024d7fadfe |
|
23-Sep-2015 |
Teemu Huovila <teemu.huovila@dovecot.fi> |
Remove now-unnecessary direct stdlib.h #includes. |
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> |
be48f0e5693530f97f60c6f9dce8c8c08a38b584 |
|
02-May-2014 |
Timo Sirainen <tss@iki.fi> |
imap: Make sure we don't return empty "* n FETCH ()" reply, which violates RFC 3501 ABNF.
It happened only during error conditions, and it would be a bit too much
trouble to try to remove the reply entirely, so just append the message UID
there. |
d8615e0bec5fc8ffe6be9f64928c2f26b9b5a4de |
|
15-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
Replaced mail_get_real_mail() callers with mail_get_backend_mail() |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
0ff8b7fd6b7021a845538f6bcf755d97d488fddb |
|
19-Dec-2013 |
Timo Sirainen <tss@iki.fi> |
imap: If any FETCH/STORE tries to access modseqs when NOMODSEQ was returned, return BAD. |
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. |
44f93baa7b8dca7d00bf187cd3db1c15eed384d2 |
|
24-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Use imap_append_astring() instead of imap_append_string() where possible. |
686ad6d723004b807fd558f3ef9d1f88afa7e127 |
|
24-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Use imap_append_*string() instead of imap_quote_append*() where possible.
This makes it clearer what types of output should be sent. |
9e1d2c85b7a79ddf4cc50f3260c3e5a283761d37 |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
imap: Removed unnecessary #includes |
8391619213e3bea5be470394e0ada6f504cd0885 |
|
19-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
imap: Fixed crashing in QRESYNC SELECT. |
5a7acd67806132cbc1ec9578df60d712d307e4be |
|
21-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
imap: Fixed command output locking. |
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] |
51cbc45fc1ac5dde29bc2adbb175945df1b4f7d4 |
|
13-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
imap: Implemented NOTIFY extension.
Requires mailbox_list_index=yes to work (and to show up in capabilities).
SubscriptionChange event is still unimplemented. |
6f84506cf692d4f4f1ac69498e936b27dabdb60c |
|
13-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes |
e82e363e7a6917f470412d629db6c5b1f5891a35 |
|
13-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
imap: FETCH API updated to allow using the same parsed FETCH in multiple mailboxes.
This is in preparation for NOTIFY extension. |
d10a370b2614712d9cb6a1dd8625f62a071b6377 |
|
13-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
imap: FETCH API cleanup: keep fetch state in a separate struct. |
306b3f41b05da642d87e7ca7a1496efce9f5902f |
|
11-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
IMAP BINARY extension supports now FETCH BINARY command. |
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. |
e2a88d59c0d47d63ce1ad5b1fd95e487124a3fd4 |
|
24-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Added o_stream_nsend*() and related functions to make delayed error handling safer.
Once o_stream_nsend*() is called, o_stream_nfinish() must be called before
stream is destroyed to finish checking if there were any errors. If
something failed and the stream is just wanted to be closed,
o_stream_ignore_last_errors() can be called.
For streams where errors don't really make any difference (network sockets)
you can call o_stream_set_no_error_handling() immediately after creating the
stream. |
6816955a9254b43bff782175ee6762fdc5448b86 |
|
21-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
imap: Rewrote FETCH command to use imap-msgpart API. |
d6c5ceea8521b92d10e51a59da00c792f6140b1d |
|
01-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
imap: Changed internal FETCH command handling API. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
4c9745326e5e53447eb308ad613e08766703292b |
|
12-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
imap: When fetching X-GUID, set MAIL_FETCH_GUID also as "wanted fields" for optimization. |
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 |
4979e25d82f2a078a42a44907c38604434a65a87 |
|
25-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
imap: Use mailbox_get_expunged_uids() for QRESYNC code. |
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. |
636f017be100bce67d66fd3ae1544a47681efd33 |
|
01-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Mailbox virtual names are now in UTF-8 format, not IMAP mUTF-7.
Plugins that use mailbox names in configuration now take them also as UTF-8
rather than mUTF-7. |
51327f2489a4e0e615eb9f7d921473cf8512bb79 |
|
01-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved some items from mailbox_get_status() to a new mailbox_get_metadata().
The idea is now that all status items are tracked all the time after mailbox
is opened and they can always be looked up without failure. The metadata
items are looked up lazily and the lookups may fail at any time.
mailbox_get_status() can be used after mailbox_alloc() to indicate that the
mailbox doesn't necessarily have to be opened, just that the status fields
get returned.
If mailbox is already known to be open, mailbox_get_open_status() can be
used. It never fails. |
905951e448e0d0f0778f43ce7673d0cac60b9b61 |
|
19-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
imap: Don't crash with QRESYNC SELECT specifying sequences larger than mailbox's message count. |
e9956754c88fcf31afe016c00a956cafb2c2864c |
|
12-May-2010 |
Timo Sirainen <tss@iki.fi> |
imap: Added FETCH X-REAL-UID for getting physical mail's UID in a virtual mailbox.
--HG--
branch : HEAD |
a478ec6ae4c1a6e2f2c1ceef57e941144cb7d9ea |
|
18-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
imap: FETCH X-GUID and X-MAILBOX didn't add a space after their value.
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
75d03475effdfaaf9bbf5fdb07b056bca62f14c1 |
|
17-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
imap: Refresh index before starting a FETCH, so it sees updated flags immediately.
--HG--
branch : HEAD |
f3bb2fbe87425dc89a839908985af496f7f65702 |
|
18-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
mailbox_search_next*() API changed to return bool.
If search fails, it'll be noticed anyway by mailbox_search_deinit().
--HG--
branch : HEAD |
cdc5c81463995a153c57c68c299e98cc3de0b287 |
|
20-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
QRESYNC: Fixed fallback handling to fetching expunged UIDs (again).
--HG--
branch : HEAD |
217cdf98fe6f3e5a9a932e41fa2e956c153a6947 |
|
10-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
QRESYNC: Fixed fallback handling to fetching expunged UIDs.
--HG--
branch : HEAD |
4145aa5025b57ec64418e503c2a5a6bf5a02aec5 |
|
10-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
QRESYNC: Minor code cleanup by renaming variables to be more understandable.
--HG--
branch : HEAD |
268ec7af1817cb37c8081e4ece0f473cf98399fd |
|
09-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
imap: Don't crash on SELECT .. QRESYNC if it didn't give seq-uid map.
--HG--
branch : HEAD |
e20e638805c4bd54e039891a3e92760b1dfa189a |
|
08-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_foreach*() in some useful places.
--HG--
branch : HEAD |
de7dae07a080f9f0fe70a5ace618f78823954005 |
|
28-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
qresync: Fixed off-by-one modseq comparison when figuring out what VANISHED replies to send.
--HG--
branch : HEAD |
34875ff8cd23cfb80b3dd9784a3e53b97c361c9c |
|
28-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
imap: Don't crash if SELECT .. QRESYNC doesn't specify list of UIDs.
--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 |
730a03383dcf0abf0ab043fd0094336e6684a99f |
|
27-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
IMAP: FETCH X-* parameters weren't working.
--HG--
branch : HEAD |
fde0b1793a2842da00eaa105d5e13fec465f0443 |
|
10-Jul-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_bsearch*().
--HG--
branch : HEAD |
c9dea5c23355dea35c6fa423de69f6507852efe4 |
|
17-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_sort() instead of qsort() wherever possible.
--HG--
branch : HEAD |
de76b960297406115cf6bae473f004c08174b16a |
|
01-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
IMAP FETCH: Previous change broke fetching RFC822*.
--HG--
branch : HEAD |
d244c6cadd5f077f5d0f1e00c3652d0108a2d908 |
|
01-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
IMAP FETCH: Binary searching fetch handlers was a bit broken.
--HG--
branch : HEAD |
2b3b0df76184799317584b596af8df5afec3ebdd |
|
21-May-2009 |
Timo Sirainen <tss@iki.fi> |
imap code cleanup: Use array instead of buffer for storing fetch handlers.
--HG--
branch : HEAD |
16834f18f903048c772112838c015051642a0e77 |
|
21-May-2009 |
Timo Sirainen <tss@iki.fi> |
IMAP: Register FETCH handlers at startup so we don't break if plugins add them.
--HG--
branch : HEAD |
659c1d9d4f454b18dad8b3822e58b93815068c32 |
|
21-May-2009 |
Timo Sirainen <tss@iki.fi> |
Added FETCH X-SAVEDATE.
Based on patch by Alaa Ibrahim.
--HG--
branch : HEAD |
08d6658a4e2ec8104cd1307f6baa75fdb07a24f8 |
|
05-May-2009 |
Mark Washenberger <none@none> |
Renamed headers to prevent collision if they were flattened on an install.
--HG--
branch : HEAD |
a342a31752dd71ac444259ca57ad33ea6b79a572 |
|
11-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
imap: Code cleanup: Changed buffer to an array.
--HG--
branch : HEAD |
ca63a68b1dbeeb44c1e71ddf129054f21edc0cb8 |
|
11-Mar-2009 |
Timo Sirainen <tss@iki.fi> |
imap: Code cleanup: Changed buffer to an array.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
3a985b4f3481d7061ee0c6ace3a5bb0bcbcb67ad |
|
24-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
QRESYNC: FETCH CHANGEDSINCE and SELECT with modseq shouldn't have returned changes with the same modseq.
--HG--
branch : HEAD |
6384258c2f84e635d8ceffc3eeddad71f7538040 |
|
15-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
FETCH MODSEQ (n) was missing parenthesis.
--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 |
ab0d9eecd85f74acae18fe88529302e0776cc500 |
|
20-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
extern/static fixes (from a sparse check by Diego Liziero)
--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 |
041c33f5c10902266496af22347c6efc1018e556 |
|
27-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes.
--HG--
branch : HEAD |
c519de264df14a9d525e2604671c332590ce54e3 |
|
24-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
FETCH BODY/BODYSTRUCTURE failures replied with too many NILs.
--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 |
28cd2599128e102198758cf6080588305feb6bcd |
|
11-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
QRESYNC: Send HIGHESTMODSEQ automatically in all tagged replies whenever it
seems useful.
--HG--
branch : HEAD |
17da42c31202b1b3e7e308121ea17d922c24da1b |
|
11-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
QRESYNC: If MODSEQs were returned in FETCH replies but there are pending
expunges, send a low enough HIGHESTMODSEQ reply to make sure the client will
later see the expunges.
--HG--
branch : HEAD |
f036083a96932811a7201017597415e262413725 |
|
11-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
QRESYNC crashfix
--HG--
branch : HEAD |
c4b376dd6e0c423006d7ac83a39253bcaf8e7c47 |
|
03-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Make mail_search_args an independent structure that can be used for multiple
separate searches.
--HG--
branch : HEAD |
97cfe59cd16ce624e58e8d9b6003d1e29d75b3d2 |
|
16-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Implemented SEARCHRES extension.
--HG--
branch : HEAD |
923eb3dde28e4d8841c14fd6b4a69635b7070c3e |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Added QRESYNC support.
--HG--
branch : HEAD |
a2f250a332dfc1e6cd4ffd196c621eb9dbf7b8a1 |
|
15-Mar-2008 |
Timo Sirainen <tss@iki.fi> |
Initial CONDSTORE support.
--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 |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
8039af9679af6fb56116b353fe44f7dd4c08f031 |
|
29-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
FLAGS/PERMENENTFLAGS weren't always sent to client early enough. Also
optimized sending keywords with FETCH FLAGS.
--HG--
branch : HEAD |
3247a7eac167240e70183a196655367db7221c33 |
|
22-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Added assert
--HG--
branch : HEAD |
16a815d92a3202e3a66fd7f8e3478664b852bf1e |
|
21-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
When pipelining commands another command could have written output in the
middle of FETCH literal.
--HG--
branch : HEAD |
519d5c5fb44e69389fba9ea71f49599068d53c04 |
|
09-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed memory leak when FETCH command used multiple streams.
--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 |
94478f96b2845d619aa1a9b8cf507d598ac74ecc |
|
02-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
When client tried to fetch INTERNALDATE for an expunged message, we sent a
broken reply.
--HG--
branch : HEAD |
61530b48694398df42744204e35535dbe3f745c4 |
|
01-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Code cleanup
--HG--
branch : HEAD |
2412873209ff658bc4bd20123af2d6162464c4ff |
|
05-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Minor error handling fix.
--HG--
branch : HEAD |
63f36c2b47217fc2dc4ed49cfc1907311d5ed366 |
|
30-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
mailbox_transaction_commit*() doesn't sync the mailbox anymore, so it
shouldn't take mailbox_sync_flags parameter either.
--HG--
branch : HEAD |
fd1f0e9ef52b3e157cfd1a01c464c2ac7458ab17 |
|
24-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Use N_ELEMENTS() macro instead of doing sizeof()/sizeof([0]) ourself.
--HG--
branch : HEAD |
ca9b4bd99287f7aef3065c9973f8d440bf5bbbc5 |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Make sure we do a mailbox sync after flag updates (STORE, FETCH). Also added
a new IMAP_SYNC_FLAG_SAFE which is used to figure out if appends and
expunges are safe to send to client when delay-newmail workaround is
enabled.
--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 |
43d32cbe60fdaef2699d99f1ca259053e9350411 |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
--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 |
f44d5610838aa97d9080f295b01c21c99c856624 |
|
10-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Failure handling fix.
--HG--
branch : HEAD |
ac4b4c7436b9f6d90aaf2d25f6abb61469f5a818 |
|
10-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
If FETCH failed internally, we could have sent broken output (")" lines).
--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 |
f1e9611e93dcb3b745c1904029084fa81644e1b3 |
|
29-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Added more consts to imap-parser API
--HG--
branch : HEAD |
5eca7b6535c3e74fb98aef5c34f096d9252a8f46 |
|
17-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
Always commit FETCH transaction to make sure cached data is committed.
--HG--
branch : HEAD |
6e916cab4984d6386d0b2d366e5d23c11749d3a3 |
|
17-Jun-2007 |
Timo Sirainen <tss@iki.fi> |
We didn't update last_output timestamp with long fetches, causing Dovecot to
idle-disconnect the client.
--HG--
branch : HEAD |
3ddbbe03fe74b3ee7b1dff4e08ec706d7880d052 |
|
28-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
When client fetches message data that has already been expunged, reply with
dummy NIL and such values for the message. Don't disconnect the client
anymore.
--HG--
branch : HEAD |
4bbb027a827d27d1816b8d60c5392cfd9c79e4bd |
|
28-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Removed accidentally committed TEXTSIZE FETCH parameter.
--HG--
branch : HEAD |
42507d758b053bb483de58fba55c73a9eb5d3fba |
|
20-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Dovecot is now able to execute multiple commands at the same time.
Practically this means commands: FETCH, LIST, SEARCH and syncing output for
all commands. For example it's possible that doing two FETCH commands at the
same time makes their output mixed together.
Non-blocking SEARCH is done by doing search for 20 mails at a time, and then
checking if another command is pending.
Also added X-CANCEL <tag> command to cancel running commands.
--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 |
00efa7d99981e18e286c02b18c1163dde18ee521 |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Type safe callbacks weren't as easy as I thought. Only callback(void
*context) can be handled generically. Others can be handled specially, but
only if all the parameters are pointers, otherwise eg. int parameter can be
replaced with long without compiler giving any warnings.
--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 |
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 |
dbcc1233028625274a8224b3efeca01d73dbbb4c |
|
04-Aug-2006 |
Timo Sirainen <tss@iki.fi> |
When mailbox changes are noticed and they're sent to client, cork before
doing it so each command isn't sent in a separate packet.
--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 |
79fcd3f95a6266cc62ceaa753e56dd4456ab7c4b |
|
26-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes
--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 |
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 |
88ea893b45d3ed8d68000921db9156c03cbe1b00 |
|
18-Mar-2005 |
Timo Sirainen <tss@iki.fi> |
Send buffered fetch items to client first. Fixes kmail and Thunderbird
issues..
--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 |
d21f14c01d5546f4bf1b2cbb28ac1f00c24d952a |
|
11-Feb-2005 |
Timo Sirainen <tss@iki.fi> |
If UID FETCH notices in the middle of fetching that message is expunged,
don't fail but just don't return all the data.
--HG--
branch : HEAD |
e60a349c641bb2f4723e4a395a25f55531682d2b |
|
05-Feb-2005 |
Timo Sirainen <tss@iki.fi> |
Moved command-specific variables from struct client to struct
client_command_context and changed code to use it.
--HG--
branch : HEAD |
1e62ad3955db977d527fa57d9584e504a8c26fd5 |
|
17-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
The actual fix for last commit..
--HG--
branch : HEAD |
9a97b508a9bd66b1d75b108b57e0a5693eb3a086 |
|
16-Jan-2005 |
Timo Sirainen <tss@iki.fi> |
FETCH BODY[] wasn't setting \Seen flag.
--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 |
68cb7fad59a99eea1ecc39cb69262adfaa969d4f |
|
14-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Don't insert extra space before "* n FETCH"
--HG--
branch : HEAD |
9c4e6f29ad07fbd27cb9ac510fa69f8c60709f1f |
|
11-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Don't send extra ")" line with bad FETCH parameters.
--HG--
branch : HEAD |
9b6f4b3b01807f623da70d20a9a84f5b6fe94e89 |
|
09-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
If FETCH failed immediately, we sent back extra ")" line.
--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 |
2ba4e9bedb0fa778dfbccec5370018b4d0040d9c |
|
03-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
If fetching fails, finish sending the untagged FETCH reply correctly.
--HG--
branch : HEAD |
4c07b08af30e1065f7022980b60474f229d8cadf |
|
28-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
BODY.PEEK[HEADER.FIELDS (...)] list is allowed to contain strings and
literals. We didn't handle them correctly before.
--HG--
branch : HEAD |
2ae7cffa50608be0e1261e0a993333a8bdc0550d |
|
20-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
cleanups
--HG--
branch : HEAD |
b2c1349cf07410aefab0f5b17153af9e5cfcf48f |
|
29-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Added sync flags parameter to mailbox_transaction_commit(), so EXPUNGE can
do a full sync with dirty syncing enabled.
--HG--
branch : HEAD |
baf1148108b7d9739626b47cc57298c36929586a |
|
27-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Don't crash with unknown FETCH commands.
--HG--
branch : HEAD |
07fe84e1db9fe5a79e815f000bd94ae61f5831db |
|
23-Aug-2004 |
Timo Sirainen <tss@iki.fi> |
Same FETCH handler could have been executed infinitely if client didn't read
the data fast enough.
--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 |
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 |
d756ebcfa96bd7cff02097c8f26df9df368b81b1 |
|
12-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Broke mailbox_sync() into iterator.
--HG--
branch : HEAD |
73d29cffe84aa9742353c40516a09e18385ab341 |
|
28-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
BYE if trying to fetch body[] of expunged message.
--HG--
branch : HEAD |
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834 |
|
27-Apr-2004 |
Timo Sirainen <tss@iki.fi> |
importing new index code. mbox still broken.
--HG--
branch : HEAD |
b1f57b7183fe44d7d7ba30b944d3de1f015b9253 |
|
26-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
Removed fetch_init/fetch_next from mail-storage. search_* makes it
unnecessary
--HG--
branch : HEAD |
021e1f35ddc53c593305f31abdc5181ebb5087fb |
|
21-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
Don't request empty headers
--HG--
branch : HEAD |
50fd2adea4c945b85e5a81d5e55b885b93405c0c |
|
20-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
Added t_strsplit_spaces().
--HG--
branch : HEAD |
a77bddd704784189944b731f5ce774bfb4440e0b |
|
06-Oct-2003 |
Timo Sirainen <tss@iki.fi> |
BODY[HEADER] and RFC822.HEADER fetching was broken (why did it work before?..)
--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 |
1d70e06ce7f4ecbb717556a7dc0d464336bb4ad8 |
|
08-Sep-2003 |
Timo Sirainen <tss@iki.fi> |
Missing spaces in ENVELOPE, BODY and BODYSTRUCTURE replies.
--HG--
branch : HEAD |
0b1f70057d59ed3fe7a163bd4fde0c75353910f3 |
|
08-Sep-2003 |
Timo Sirainen <tss@iki.fi> |
Write envelope, body and bodystructure directly into output stream.
--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 |
ff1c87522054d080d68b0123373d989a8991aa2a |
|
26-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API changes: Don't keep variables in mailbox class.
--HG--
branch : HEAD |
4b9441132b03149cce54b8fbaabb6bbcc10b899e |
|
23-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
Explicit lock() method for mailbox.
--HG--
branch : HEAD |
6389aeec8c26b585e583c364b48ad12adf741898 |
|
23-Jul-2003 |
Timo Sirainen <tss@iki.fi> |
API change for updating message flags.
--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 |
3ed5b60132508928e82d685d901ad3e6f95b0df0 |
|
26-Apr-2003 |
Timo Sirainen <tss@iki.fi> |
Partial fetches were broken when they stopped between virtual CR and LF.
--HG--
branch : HEAD |
3d29be3a25e433ea2fb9955092f0dfd71d6bff21 |
|
21-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Now it actually leaked memory..
--HG--
branch : HEAD |
a1234e7b162565a2003853ee804be6917494f741 |
|
21-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
FETCH ate too much memory
--HG--
branch : HEAD |
a5a0a25a2aa6c85e1bbf0f281d515b45018e190e |
|
21-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Partial fetches are working fast again - faster than ever actually.
--HG--
branch : HEAD |
5ce2084ada06ade9f44fc2914c34658e9a842dc1 |
|
20-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
mail-storage.h interface changes, affects pretty much everything.
FETCH, SEARCH, SORT and THREAD handling were pretty much moved from
lib-storage/ to imap/ so adding non-index storages would be much easier now.
Also POP3 server can now be easily implemented with lib-storage.
Not too well tested, and at least one major problem: partial fetching is
_slow_.
--HG--
branch : HEAD |