bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
5774da7bb2c1209904dd37f7cc08ecb9b4c5f572 |
|
05-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix SORT error message when reaching mail_sort_max_read_count
It should have been:
NO [LIMIT] Requested sort would have taken too long
Instead it was just:
NO [SERVERBUG] Mail field not cached
It was broken for CC, FROM, TO, SUBJECT, DISPLAYFROM and DISPLAYTO.
The numeric sorting was working correctly. |
bc315b1595bd49edf0e8acf46828999fe1153f92 |
|
20-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add asserts to make sure lookup_abort is being used correctly. |
a0cd302bcb827678f9c9c2ca1d0a3f0d3c0b3563 |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add explicit MAIL_ERROR_LOOKUP_ABORT error
The MAIL_ERROR_NOTPOSSIBLE was a bit too generic to assume to mean the same
thing. It doesn't look like there are any external plugins that break
because of this change. |
dfaf420c473c810fee33f515d08b888826dd57bd |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail.access_type |
a85cf0bdd86ba36e6f1243e9b6848a335625185b |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Add mail_sort_max_read_count setting.
This controls how many slow mail accesses sorting can perform before it
fails:
a NO [LIMIT] Requested sort would have taken too long
The SORT reply is still returned, but it's likely not correct. |
6cf18519f0804755385871d84384834465b2d68e |
|
19-Feb-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-storage: Fix error handling when sorting mails.
All errors were treated the same as if message had been expunged. This
caused potentially wrong results to be sent to the client without any
indication that they're wrong. |
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 |
2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74c |
|
16-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Change string position/length from unsigned int to size_t
Mainly to avoid truncating >4GB strings, which might potentially cause
some security holes. Normally there are other limits, which prevent such
excessive strings from being created in the first place.
I'm sure this didn't find everything. Maybe everything could be found with
compiler warnings. -Wconversion kind of does it, but it gives way too many
unnecessary warnings.
These were mainly found with:
grep " = strlen"
egrep "unsigned int.*(size|len)" |
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> |
edd3573b249c7cc824d55897b77a768be3a2e13e |
|
05-May-2014 |
Timo Sirainen <tss@iki.fi> |
message_header_decode_utf8() wasn't used correctly with NULL instead of FALSE parameter. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
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. |
3412b625dd238cc0774db968e6c351b007a98e25 |
|
15-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
uni_utf8_to_decomposed_titlecase(): Require input length to be exact now.
Most of the callers did that already anyway |
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 |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
65c3bc9662eee5fcb889360458cbcdfba88bcc74 |
|
26-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Sorting by relevancy returned messages in reverse order. |
fd14806f879f6cd4f023750e0c4cac27a7f94fbb |
|
26-Jul-2011 |
Timo Sirainen <tss@iki.fi> |
s/search score/search relevancy/ |
1f47e475485571c27f7b1b18afa464db999ae64a |
|
04-May-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Added MAIL_SORT_POP3_ORDER |
c3f7ca68fadb42e7b4f2df64dba0aea72f00f4dc |
|
31-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Search code cleanup. |
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. |
e29f8a6a52ca72fc6010132fb86dd00e9d96432a |
|
31-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Moved setting "wanted fields/headers" fields for sort program from imap-specific code.
Also separate between fields that are actually wanted to be fetched from the
fields that sorting wants to temporarily use. |
58fe555d88f1529ebfbd39d4127ee395373084ad |
|
01-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
lib-storage: Don't double-demimefy headers when DISPLAYFROM/DISPLAYTO sorting. |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
00d43d5087b555c5c9c5667942ddf41d1b4ecb0f |
|
19-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
imap: Implemented SORT=DISPLAY extension (draft-ietf-morg-sortdisplay-02).
--HG--
branch : HEAD |
c9dea5c23355dea35c6fa423de69f6507852efe4 |
|
17-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_sort() instead of qsort() wherever possible.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--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 |
041c33f5c10902266496af22347c6efc1018e556 |
|
27-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Memory leak fixes.
--HG--
branch : HEAD |
0ec26d0ba45ecb400e35d672d2a97a160527bd79 |
|
13-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Reversing the primary sort criterion reversed also reversed secondary
criterions.
Fixed reverse sorting the first condition.
--HG--
branch : HEAD |
16999a75a5fce2aa48113a169fee9a03d6fba323 |
|
13-Jun-2008 |
Timo Sirainen <tss@iki.fi> |
Message sorting by date, arrival or size was broken.
--HG--
branch : HEAD |
ed336ce8060d7dc1e452ecb0bbe923ece25c3aa8 |
|
29-May-2008 |
Timo Sirainen <tss@iki.fi> |
Message sort index handling rewrite to fix several race conditions when
multiple processes are sorting at the same time. Also fixes sorting to work
correctly with 64bit timestamps and file sizes.
--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 |
d70ccd0991f59c074607f821aa09e1344a79e3b1 |
|
30-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Infinite looping fix.
--HG--
branch : HEAD |
564b0ba4b01abe7a2398a476c5095831e9391493 |
|
30-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Code cleanup
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
a04b6515c20b431294626400e173d81f3d25889b |
|
27-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes on 32bit systems.
--HG--
branch : HEAD |
0a7b04d11facda69783978a0f1ebc12b4e70f572 |
|
09-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Cleanups and fixes.
--HG--
branch : HEAD |
5207ffc34b4100472edcb5cad5f2ec02771a4d24 |
|
08-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Removed unneeded code.
--HG--
branch : HEAD |
461a3484afb1391c7bd61a1950f68959751f83c0 |
|
08-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Don't add arrival/date/size sort IDs to index file. They can be looked up
from cache file fast enough as it is.
--HG--
branch : HEAD |
7bc5036aef0eb607d2599ab99626ddaf53dadf6d |
|
08-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Fix
--HG--
branch : HEAD |
c927eb3564e42ad4f26b522ab551195610a23e53 |
|
08-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Simplified and optimized the sorting code.
--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 |
5026fba02bc3376c62d21bc4cd729476a8d0db79 |
|
06-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Assert-crashfix
--HG--
branch : HEAD |
c8e3e87b0f328916a25b6fdd8a33ce0682eb35aa |
|
28-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed assert-crash for sorting by strings.
--HG--
branch : HEAD |
32a9aba8b690823bd33b0bb943d0ac044a8d0767 |
|
16-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
Fixed handling reversed sorts.
--HG--
branch : HEAD |
ed20688b6614dac38bd5d8a1a762b48d3f78d55b |
|
16-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
Don't assert-crash with node.sort_id != 0.
--HG--
branch : HEAD |
fb9627b106384c13e179b436531dcacb61e5ed74 |
|
16-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
Nowadays the SORT draft specifies that if Date: header is missing or broken,
SORT should fallback to using INTERNALDATE.
--HG--
branch : HEAD |
72a2a9db95b3514377be828219ae49eb48b0a6ac |
|
06-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
Assert-crashfix
--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 |
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 |
bfa67d2c560c3df1d30444b179364dcaaf4ff4a7 |
|
20-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Parse MIME encoded-words in mail address headers also.
--HG--
branch : HEAD |
31b33bcfd6e6312cdd32ebbae04d0fc0334aa6e6 |
|
20-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Use i;unicode-casemap for sorting also.
--HG--
branch : HEAD |
9f5f6bdc3fd1304720b5d541bc31eb21417af6cb |
|
15-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
bsearch_insert_pos() API changed. Patch by Max Kellermann
--HG--
branch : HEAD |
1be7edd6aaf0a6c59ef8ccc638f1ae3ebc0afa8a |
|
20-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fix
--HG--
branch : HEAD |
f40e6ef5190f68c2fd0e94c0b001bdf7d160236a |
|
08-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
Added fill_missing parameter to message_address_parse() which specifies if
missing mailbox and domain should be returned as MISSING_MAILBOX and
MISSING_DOMAIN or just as empty strings.
--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 |
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 |
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 |
15a3867ec7e47d153f0c960b9899f92cee2f17b7 |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
SORT and THREAD didn't work with sequence numbers at all. SEARCH was also a
bit broken with it if another session had deleted messages which we hadn't
yet told to client.
--HG--
branch : HEAD |
4447efc6c833763efbc509f8b4b52ee4a30f6280 |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
SORT optimization. It now uses memory to store one or two of the sort
criteria items. Should be "fast enough" now, sorting ~4000 messages doesn't
take hardly any time.
--HG--
branch : HEAD |
298c9067b2518a491ebab348d9735fea68102a45 |
|
10-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Even more rfc822 date timezone fixes
--HG--
branch : HEAD |
fd4632d0060b2e9eef513b544ccff1e26d1fc222 |
|
08-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
THREAD=REFERENCES implementation. Doesn't crash, but I'm not sure how
correct replies it produces :)
--HG--
branch : HEAD |
c0435c854a0e7246373b9752d163095cc4fbe985 |
|
05-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Naming style changes, finally got tired of most of the typedefs. Also the
previous enum -> macro change reverted so that we don't use the highest bit
anymore, that's incompatible with old indexes so they will be rebuilt.
--HG--
branch : HEAD |
fa8845429ddd7e59e00dd22b723424666f8c6b0e |
|
02-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
SEARCHing headers with "" value should always match if the header is found.
Changed imap_envelope_parse() so that it's possible to differentiate NIL
from "".
--HG--
branch : HEAD |
555ebb032f9b8f0cdb66f27ce7374734833e7cac |
|
19-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Buffer related cleanups. Use PATH_MAX instead of hardcoded 1024 for paths.
Added str_path() and str_ppath() functions. i_snprintf() now returns only -1
or 0 depending on if buffer got full. dec2str() returns the string allocated
from data stack. Instead of just casting to (long) or (int), we now use
dec2str() with printf-like functions. Added o_stream_send_str(). Added
strocpy() and replaced all strcpy()s and strncpy()s with it.
Pretty much untested, hope it doesn't break too badly :)
--HG--
branch : HEAD |
556726d8187cf3e98876acce36b44be4bb9ef962 |
|
17-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Full not-too-well-tested support for SORT extension. Required a few
library interface changes.
--HG--
branch : HEAD |
ecc81625167ed96c04c02aa190a1ea5baa65b474 |
|
06-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
Renamed IBuffer and OBuffer to IStream and OStream which describes their
functionality better. I tried to keep the variable names and comments also
sensible.
--HG--
branch : HEAD |
55a7410569737197afb302b07b488973324b0cc5 |
|
04-Dec-2002 |
Timo Sirainen <tss@iki.fi> |
First implementation of SORT extension. String comparing still not up to
spec, so we don't advertise it in capability string yet. The code supports
getting the data partially pre-sorted to reduce memory usage and make it
faster. So, in future we could use this by creating sorted binary trees.
Also moved mail-storage-register.c into it's own .a lib to fix circular
dependencies.
--HG--
branch : HEAD |