bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
00bd7d0e21ffa84965fd6aa0ccbc54aab7fad77c |
|
14-Aug-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib: Add strfastcase_hash
Fast case-insensitive hashing which works by masking signed
bytes with 0x20. |
0fea5292dd06e4532e43605cce06ff95c71e9baa |
|
17-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib: Add asserts to make sure hash table isn't freed while it's frozen. |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
23bdbb7b1831785c6ba6df190f6369da882d2b9d |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Require comparisons to be strict boolean expressions
* No implicit integer -> boolean or pointer -> boolean conversions
* !expr can be used only if expr is boolean type
These were checked with a patched clang. It found various actual bugs,
which were fixed by the previous commits. |
3b22ecd866f2503b48dc998323d183041d7a1f84 |
|
03-Jun-2016 |
Baofeng Wang <baofeng.wang@dovecot.fi> |
hash: refactor hash_table_insert_node() and its callers reference
Refactor *changes* the behavior of hash_table_insert().
* hash_table_insert() will assert when a key already exsists.
And hash_table_update() remains updating value when a key already exsists.
Refactor also changes the argument list referred by all its callers:
* hash_table_insert/update/resize(). |
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> |
c04da04cc300ef1c143ff09b566e44f74f5626df |
|
11-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
lib: Changed hash_table_remove() "key not found" panic to be in a macro itself.
This makes it much easier to find out where such crashes are coming from.
Since this breaks the ABI in such a many places the ABI version number was
increased immediately.. |
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. |
2984b6b095294c50c4626aef74a02d2e04472640 |
|
11-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
Decrease minimum memory allocations.
This is mainly to avoid wasting settings-related memory for IMAP processes.
Probably something more radical should be done at some point. |
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. |
7536dca18968a279b69c685eedda205bee228fd4 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
hash_table_create(): Removed table_pool parameter.
Every single caller was using default_pool there, so there's no point in
having it. |
4e8d6d03c2ff85448df79b181a2ea850fb5d4199 |
|
27-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Try to avoid (void) casts by adding more ATTR_NOWARN_UNUSED_RESULT. |
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. |
b53af186aa40192111856e5e76a9769dde87c824 |
|
12-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
liblib: Added generic mem_hash() |
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. |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--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 |
19245f122c9ef501a30dfd01f73a5600f0d5d68f |
|
19-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Minor code cleanup: Removed extra ';' characters.
--HG--
branch : HEAD |
cb63aae771b2cfe51259de09dbff5431739dcc55 |
|
01-Sep-2008 |
Timo Sirainen <tss@iki.fi> |
primes_closest(): Use exponentially growing primes.
--HG--
branch : HEAD |
76b43e4417bab52e913da39b5f5bc2a130d3f149 |
|
01-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2008.
--HG--
branch : HEAD |
c9bf63e9094761767a63ac6b189bcf60bcffdc44 |
|
17-Nov-2007 |
Timo Sirainen <tss@iki.fi> |
Use likely() and unlikely() macros to make commonly checked error handling
paths unlikely.
--HG--
branch : HEAD |
f1e9954c699fcab107a3ebfe6be5fc32259d5646 |
|
22-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed hash_size() -> hash_count().
--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 |
ba00293b85c7fb4e7a2d100991c716e17b9daaae |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
hash_destroy() and hash_iterate_deinit() now take ** pointer.
--HG--
branch : HEAD |
524761c281cbe2919547415bd8ec31dbacc6c448 |
|
26-Jan-2007 |
Timo Sirainen <tss@iki.fi> |
Optimization: Hash compression didn't remove NULL nodes from roots.
--HG--
branch : HEAD |
47aec3163ee2fc03ff0c4c853e7c294851a3b935 |
|
26-Aug-2006 |
Timo Sirainen <tss@iki.fi> |
Initial hash table size was always 109 even though the initial_size
parameter was higher.
--HG--
branch : HEAD |
c23ce1889e343431078015dfa7c84206e7a9aa5f |
|
17-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
size_t -> unsigned int. It's enough.
--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 |
9553ded456671205527e19488e68c9cd0f25469b |
|
25-Sep-2005 |
Timo Sirainen <tss@iki.fi> |
Added hash_copy() and added some consts
--HG--
branch : HEAD |
1a7c16f88de068a704828f47154c25fcbf30c292 |
|
03-Dec-2003 |
Timo Sirainen <tss@iki.fi> |
bugfix
--HG--
branch : HEAD |
114f4cc542e328bb3a49b41598fd7718fc6beb04 |
|
03-Dec-2003 |
Timo Sirainen <tss@iki.fi> |
cleanup
--HG--
branch : HEAD |
9e7182d6fa1940ec14cc2938699820b68ee1dc0d |
|
03-Dec-2003 |
Timo Sirainen <tss@iki.fi> |
Changed hash_foreach() to iterator.
--HG--
branch : HEAD |
5e0ce63bb65db34d7f48b34bbb5545fa791781c4 |
|
26-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Removed most of the license comments from src/lib/*.c. It's just fine to
keep them in a single COPYING.MIT file. Changed a few other comments as well.
--HG--
branch : HEAD |
7c424aa51c956c628e3512055841aa2f9eef4833 |
|
27-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Function typedefs now define them as functions, not function pointers.
--HG--
branch : HEAD |
af9c87ac43d486aa8bd80714c692b6396cd67e7d |
|
14-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Still more fixes
--HG--
branch : HEAD |
021bbf3ac22e1b6872242576c775affeb1e1d83f |
|
14-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Removed the collision table, it was a bad idea and was buggy when nodes were
removed.
--HG--
branch : HEAD |
034d5ae2af448192f23148fafb1a73d1fdeafee2 |
|
13-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
hash_resize() leaked memory, hash_insert/update didn't update value for
existing nodes.
--HG--
branch : HEAD |
f923659c0e5298263d80622c99f4dc4132b4675b |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Naming change for function typedefs.
--HG--
branch : HEAD |
b3732cac9d37eba37a0bba5669a190b4055c9b3f |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
hash_clear() can now be used to drop the memory allocated using node_pool.
--HG--
branch : HEAD |
36afc64eb7e4fb92525653fea47b522fa428d12e |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Few fixes
--HG--
branch : HEAD |
ff241f9ad7b65c684f6670d142d3936ca919f527 |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Rewrote hash table code, works with less memory now. Also some memory
allocation fixes to thread extension code.
--HG--
branch : HEAD |
1f9d5d6b2feca30ea92848f2f8f5f7d37e0613f7 |
|
10-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
whops, shouldn't have been committed.
--HG--
branch : HEAD |
01af88dfbb7a022ddb3ab9fb4159f2a4a204ead3 |
|
10-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Added old_size parameter to p_realloc() - we rarely need it and this way
each allocation takes 8 bytes less memory.
--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 |
c7effa4ad7a053438e5d1d10ba7286c05fb7941b |
|
26-Nov-2002 |
Timo Sirainen <tss@iki.fi> |
Removed const from key and value of hash_insert() and hash_update().
--HG--
branch : HEAD |
664c7007d4a0116be2cce62295cd9fb9cd33eee0 |
|
08-Sep-2002 |
Timo Sirainen <tss@iki.fi> |
Replaced INT_TO_POINTER and POINTER_TO_INT macros with POINTER_CAST and
POINTER_CAST_TO macros, the CAST_TO takes a parameter to which type we're
casting to. Also POINTER_CAST should be valid ANSI-C now.
--HG--
branch : HEAD |
a3b6849ec9a7e7cb209d0e330211aed6395daabd |
|
28-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Don't include system headers before lib.h, since config.h may change their
behaviour (64bit off_t)
--HG--
branch : HEAD |
05ef29d48d4fa210268f545a473904e4738fddc6 |
|
27-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Changed behaviour of primes_closest() to return given number back if it's a
prime itself.
--HG--
branch : HEAD |
1215bc4d7e747846f282cf710e61f3768e69238d |
|
22-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
s/user_data/context/ and some s/Data/Context/
--HG--
branch : HEAD |
66251e6ab31e5cc153fe5cae608e416dacafe9cd |
|
08-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Initial revision
--HG--
branch : HEAD |