0ee986fe3dfc5ce700d232d2f6bc1b47aef1bfe7 |
|
25-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Write forced cache decision changes immediately to cache file
When mail_always/never_cache_fields doesn't match the current caching
decisions in the cache file, write the updated decisions to the file. |
8841d0b8b47241d238b5524bded3ee116d10de33 |
|
25-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Code cleanup for reading caching decisions
No functional changes. |
9dba6a3234ffd20d3c0260897b845b58399067f9 |
|
25-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Finish fixing removal of forced cache decisions from existing cache files
6ef2504d020461b0f480766c41596595a4300023 didn't fix it for already known
fields. |
6ef2504d020461b0f480766c41596595a4300023 |
|
23-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Fix removal of forced cache decisions from existing cache files
The forced-flags are written to the cache file when the file is created.
They were also read back, and the force-flag was preserved even when the
configuration was removed. |
de3018a2744a324ffae457bcdbfc8cebe3f5a880 |
|
23-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Fix adding forced cache decisions to existing cache files
If a field already existed in the cache file, the cache decision from the
file was always used. This caused force-decisions to be ignored. |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
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' |
67bbcd664bebce9a507a49c67273be4814d07c97 |
|
12-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Add mail_index_cache_optimization_settings |
e6d4f540bf5c3b7ef5d6e154b217a2422210048c |
|
08-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Use i_realloc_type() wherever possible |
1211f411e0f851fe144e502967d22a8c2f36dee6 |
|
20-Jan-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-index: Unconstify mail_cache_register_get_list
This way the result is usable as input for
mail_cache_register_fields. |
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 |
f27c7e633e8eaf386f048fc78b99c68e344f6360 |
|
03-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-index: Fix duplicate fields in mail_cache_register_fields()
Broken by hash_table_insert() API change. The earlier code was also a bit
wrong by allocating a bit too much memory when there were duplicate fields
being registered. |
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/' |
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> |
26b007545685688e8931dc05ba465df0b00c156a |
|
13-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Make sure dovecot.index.cache parsing doesn't go to infinite loop.
Although we guarantee this only for files generated with Dovecot v2.2+
because it's too much trouble to check for older versions. |
ab70f55bb8d824ca1ed7c74196f2f502edd29cc7 |
|
07-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: mail_cache_lock() partial rewrite.
require_same_reset_id is no longer needed, if it ever was. If we're locking
the cache file, we always want the latest one. The logic of locking in
general was somewhat confusing and it probably didn't always successfully
lock when it should have, because the reset_id happened to match an old
file. |
8d35582f2577c64517b2341c5d6477c7010e0a0c |
|
08-May-2014 |
Phil Carmody <phil@dovecot.fi> |
treewide - use of explicit NULL in pointer comparisons rather than 0-alikes
Found by sparse. |
c5bf07c1339a288701e7566e6f90c4034ee74c24 |
|
01-May-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixed crash when header fields count was too high in cache file. |
5794def630084bab82297be9b988c624d9d66d4a |
|
15-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
lib-index: Minor code cleanup
The previous calculation was correct also though. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
c2d7c8a808e78ed256346fb8529a565dc68e92cc |
|
15-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Don't mark field decisions dirty when registering initial cache fields. |
a16d9a651aaa36a308f1aaae87e73e143fdff887 |
|
15-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixed mail_cache_register_fields() decision updates.
Normally this shouldn't matter, except when mail_*cache_fields settings have
been used. |
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). |
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. |
b14bdce468df7d98afb3e5e8c71b74a75cad2453 |
|
29-Jan-2013 |
Timo Sirainen <tss@iki.fi> |
lib-index: Fixed invalidating buffered cache file with map_with_read. |
05d1312c8456f9d548470bf5662481a4cf812d70 |
|
18-Dec-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Make sure a corrupted mail_cache_header_fields.size doesn't cause crashes. |
131b073bdc3650083b00616dc778dd3017c2bbb5 |
|
03-Nov-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Cache record linking is now while writing new records, not later with pwrite().
This should make performance somewhat better. It also means that now the
only overwrites to cache file are to the file header and the fields header.
This means that we no longer have to invalidate file_cache (with
mmap_disable=yes) except when reading the headers, which is always done
anyway.
It would be nice to move the overwritten fields in the headers to a cache
header in dovecot.index file, but this is a bit tricky currently. When
writing these headers the cache file needs to be locked to avoid race
conditions. To avoid deadlocks the transaction log would have to be locked
before the cache. The code to do all this would still be a bit complex, and
to keep backwards compatibility with old Dovecot versions it would still
have to do the overwriting until the backwards compatibility code is
disabled. |
ab1e5b156d1b5480d36ed6e8e06197339d803038 |
|
26-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: Optimize cache file reads with MAIL_INDEX_OPEN_FLAG_SAVEONLY |
82ed69779f49bd71ef1b570ce8aca67d357dbee8 |
|
18-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-index: mail_cache_map() API cleanup |
a75d470c9223a75801418fcdda258885c36317e0 |
|
20-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Reverted "support for non-pointers" part of the hash table API changes.
Originally I wrote it using clang, which didn't give as many warnings as gcc
did. I guess this way is safer anyway.. |
678d0463849ba777106eb7875f27db07a5d8e3df |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Hash table API is now (mostly) type safe. |
7dd73e056c7d9976080393d9cd731f69111818ee |
|
15-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
008a83e9f680f04f69789fb702232416eab2a86c |
|
10-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
lib-index: Allow updating cache's last_used field with mail_cache_register_fields() |
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. |
e2e105f6182f550efa82f77d2a46b3e8a2d4da10 |
|
20-Oct-2010 |
Timo Sirainen <tss@iki.fi> |
lib-index: Added mail_cache_register_get_field(). |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
764846c40e7f3ffd503337ccf798d7849cecc1c2 |
|
17-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
mail_cache_register_fields(): Update caching decisions from input fields.
--HG--
branch : HEAD |
45312f52ff3a3d4c137447be4c7556500c2f8bf2 |
|
06-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2009.
--HG--
branch : HEAD |
3ccab0bac68040f179a7de45c516cec258e28fdb |
|
19-Dec-2008 |
Timo Sirainen <tss@iki.fi> |
Renamed hash_*() to hash_table_*() to avoid conflicts with OSX's strhash.h
Based on patch by Apple.
--HG--
branch : HEAD |
32c24eab7111799d880139634144ba8aea5a666e |
|
16-Oct-2008 |
Timo Sirainen <tss@iki.fi> |
cache file: Don't crash if file has no fields.
--HG--
branch : HEAD |
73b251f13abfbd8e06c8c78784eb570d28fe7e40 |
|
30-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
cache file: Don't crash if fields header offset points outside mmapped data.
--HG--
branch : HEAD |
39e8567467cfe8eb63c00708a8653e92758908b9 |
|
20-Jul-2008 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes.
--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 |
ddbad7a661c0663fafd2b79393efa85f840d6af6 |
|
04-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Fixes to handling when fields are dropped from cache file.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
2bfc60a0c890585f1c9d75d721dc78d86d65f6ca |
|
29-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Don't trigger cache compression based on fields with a forced decision.
--HG--
branch : HEAD |
925306f910d6ba8f3eb92e59aff8f3c00244d581 |
|
29-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
If cache field is cached with decision=no, don't try to compress cache file
just to get rid of it.
--HG--
branch : HEAD |
2b68f50813fe2bda94f227fc0144e4823b614474 |
|
29-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Previous compiler warning fix changes broke cache file reading.
--HG--
branch : HEAD |
a04b6515c20b431294626400e173d81f3d25889b |
|
27-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes on 32bit systems.
--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 |
6ebcdea168735ee76e32b871c1f50f3526690447 |
|
04-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Don't compress cache file unneededly when creating the first messages.
--HG--
branch : HEAD |
e4423c16a4f798ecf75ca2b0c3ef834000faed4b |
|
13-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes: Don't invalidate file cache unneededly when reading cache
fields.
--HG--
branch : HEAD |
6157a322f2ac1ea1332d9003ecb0b11466aa8fe7 |
|
06-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Don't write fields to cache file with last_used=0. If fields were just
added without being used yet, this makes sure that they're not dropped too
early by compression.
--HG--
branch : HEAD |
9c4c535b86e9473ad97c6e9242ed84f3d9d69d0d |
|
06-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Don't bother compressing cache file just to drop fields from header that
have never been used.
--HG--
branch : HEAD |
6e235046e1d8e9d89fc948f5c623676c20421a28 |
|
06-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
When reading the latest fields, begin finding the fields from the last known
header instead of from the beginning.
--HG--
branch : HEAD |
8b681dae1e8fa564649e703ab17398dcfaf896e4 |
|
06-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes: Find the latest cache field header by pread()ing the file
instead of invalidating+reading full pages.
--HG--
branch : HEAD |
abb83d133dd082527d500916fca66a72fbbbaa8d |
|
05-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
If we need to do more than 4 reads to get to the cached fields header,
compress the cache file.
--HG--
branch : HEAD |
c4cfee078c4a185b5ba8f0c55f51275b7e885b2c |
|
05-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
mmap_disable=yes: When following cache field headers, don't invalidate the
same part of the cache file over and over again and cause re-reads.
--HG--
branch : HEAD |
8c02331f9f569d8b30e74b6bc8550734d65f9dae |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Code cleanups and some minor fixes.
--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 |
9a583c7a827f7a4d89ee43774f2d51ea6a214543 |
|
13-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Drop fields that haven't been used for 30 days when compressing.
--HG--
branch : HEAD |
bc793bfcee945ce8871edfa298fe7235744425b6 |
|
15-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
When getting cache fields list, make sure cache file is opened.
--HG--
branch : HEAD |
11768c622a8e5aaf0e5d9b3c9a872867b62b4830 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Some paranoia fixes for memory allocation. Don't access a mmaped variable
directly in case it happens to change.
--HG--
branch : HEAD |
df6478c4cf605bd81b3891c148b84c14eb6c4035 |
|
12-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Don't create cache file until something is actually being added to it.
--HG--
branch : HEAD |
5c0034beb9933bca2a8b7d83d11dface1ea3b7fa |
|
02-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
If cache file contains broken field type or decision type mark the cache
corrupted instead of assert-crashing later.
--HG--
branch : HEAD |
9bf2dc275ec21bff3d468ab1bc4fddc8874f7d1b |
|
13-Oct-2006 |
Timo Sirainen <tss@iki.fi> |
When registering fields, if they were already exited in the cache file mark
the cache file corrupted.
--HG--
branch : HEAD |
7bb939ef70752f2731d27b18c944ea94e5b23eb5 |
|
15-Jun-2006 |
Timo Sirainen <tss@iki.fi> |
If cache field's size is wrong, rebuild the cache file instead of crashing
sometimes later.
--HG--
branch : HEAD |
265e9d8457aa5ce01b7aad954632aed8c36deeb8 |
|
31-Mar-2006 |
Timo Sirainen <tss@iki.fi> |
Don't crash with "can't allocate 0 bytes of memory" if there are zero
fields in cache file.
--HG--
branch : HEAD |
8d6cb44a0161d88743756733f83c4fb278485987 |
|
14-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
While casting const pointers to something else, the const was often
unneededly dropped out in the middle of casts.
--HG--
branch : HEAD |
be889d9b142fbb5604a922c6955bd7f6ea32f163 |
|
08-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Don't register cache fields twice. Fixes "duplicate field in header" errors.
--HG--
branch : HEAD |
a817fdcc43aedf423e2134091d5f83f91d64bcc9 |
|
30-Sep-2005 |
Timo Sirainen <tss@iki.fi> |
Unlocking cache file can also corrupt it since it modifies it. Added a
return value for it and checks to handle the failure. Fixes a crash in some
error situations.
--HG--
branch : HEAD |
d5ac54ef50db16b50689b5c8b7bb64d344190832 |
|
25-Sep-2005 |
Timo Sirainen <tss@iki.fi> |
Removed null4 and replaced the few uses of it with buffer_append_zero().
--HG--
branch : HEAD |
ea4ca37ec14913354f3a0deebc0df96097eb9468 |
|
13-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
mail_cache_register_get_list(): Allocate the returned strings also from
given pool to make sure they don't get changed.
--HG--
branch : HEAD |
16598a1fb870ae40d6177755a4306216e4d6a4cd |
|
03-Jul-2005 |
Timo Sirainen <tss@iki.fi> |
Added mail_cache_register_get_list() to get a list of all registered fields
in cache file.
--HG--
branch : HEAD |
dbd9604da561399cc6255289d5b6f6f662ab2d00 |
|
14-May-2005 |
Timo Sirainen <tss@iki.fi> |
Whenever writing to cache file, also updated file_cache. Fixes problems with
mmap_disable=yes.
--HG--
branch : HEAD |
9d3ccd79130199ffdb19a688027d49bf20a4aaaa |
|
08-Apr-2005 |
Timo Sirainen <tss@iki.fi> |
Several size_t -> unsigned int changes. Try to keep "unsigned int" for
counters, size_t for actual memory range sizes.
--HG--
branch : HEAD |
8e574a603c2c02105b073906a7ca91904271b80e |
|
15-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Check for duplicate fields in header.
--HG--
branch : HEAD |
6fdf8b5e4e71a69f5974f59eec2b8c19bc421fe2 |
|
04-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Locking fixes and cleanups
--HG--
branch : HEAD |
114a0f74e0f825c6bd8aeadfafb248a030762a1f |
|
08-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
More correct file cache invalidating.
--HG--
branch : HEAD |
1098fc409a45e7603701dc94635927a673bee0c1 |
|
08-Nov-2004 |
Timo Sirainen <tss@iki.fi> |
Cache file works now with mmap_disable=yes. Still needs a few optimizations.
--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 |
a13dd0ece98f62f61c64bff9c9c29ed3f3d82d54 |
|
11-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
Use global null4[] now.
--HG--
branch : HEAD |
2c20ffcb5bb1ccdfdcd0b0ff0c7296f65b990362 |
|
11-Sep-2004 |
Timo Sirainen <tss@iki.fi> |
minor fix
--HG--
branch : HEAD |
44ff75ca53188056ff5a3e50428e3f2078800b3c |
|
31-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Transaction log file is now read-lockless.
--HG--
branch : HEAD |
0cea9b1f4fa0495a48f5f097e40492517d67e1ba |
|
24-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Allocate cache->fields and cache->fields_file_map with malloc rather than
from pool.
--HG--
branch : HEAD |
e96fb85799dc95603bb1a6b4d3685df2d042a2f8 |
|
20-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Fixes for big endian systems.
--HG--
branch : HEAD |
4bbee99b3aef449a9a2a11a5b5cf1ca486915c49 |
|
20-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Cache fixes. Decisions are saved again.
--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 |