a9b135760aea6d1790d447d351c56b78889dac22 |
|
29-Jan-2018 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-auth: Remove request after abort
Otherwise the request will still stay in hash table
and get dereferenced when all requests are aborted
causing an attempt to access free'd memory.
Found by Apollon Oikonomopoulos <apoikos@debian.org>
Broken in 1a29ed2f96da1be22fa5a4d96c7583aa81b8b060 |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
05a4fe649671ac5ca6b3beb085c73e6e85bc4f8b |
|
22-Dec-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-auth: Require being connected before adding requests |
d2b6189eb61fc0e8a37f8814427282304e39e72c |
|
22-Dec-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-auth: Prevent double-disconnect
When disconnecting, it's possible that
disconnect gets called twice by some callback,
so protect it with a boolean.
Fixes Panic: file hash.c: line 152 (hash_table_clear): assertion failed: (table->frozen == 0) |
0d1b8b6bec79746c5d89d57dd8c1688946bd9237 |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on timeout_remove(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- timeout_remove(&E);
- }
+ timeout_remove(&E); |
5f1d689131a75c39f064cbd4202373e7edf78f18 |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on io_remove{,_closed}(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- io_remove(&E);
- }
+ io_remove(&E);
@@
expression E;
@@
- if (E != NULL) {
- io_remove_closed(&E);
- }
+ io_remove_closed(&E); |
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 |
7a60e1dc9e93ef3f7c7fe1af6385a0bfa1e31bc3 |
|
20-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Replaced t_strsplit_tab() calls with t_strsplit_tabescaped()
This is useful especially in auth code to support LFs in extra fields.
Other pieces of code were also tab-escaping strings, but never unescaping
them. Usually it didn't matter, because nobody would use the escaped
characters. Still, the code wasn't exactly behaving correctly.
One downside to this change is that it's now possible to pass through TABs,
CRs and LFs through the various protocols. In theory this shouldn't cause
any problems, but combined with other bugs this could trigger some security
problems. |
e93184a9055c2530366dfe617e07199603c399dd |
|
06-Jun-2016 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib: remove autoclose parameter from [io]_stream_create_fd
Use [io]_stream_create_fd_autoclose() for autoclose. |
0f3d4fbcf88e2ffd674893aed8cc1288fe17d290 |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Use [io]_stream_get_error() insted of %m |
7ab22fc4793e174b3455bc0d2afdb128a73efaa5 |
|
21-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-auth: Error message typofix |
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> |
fd05c47210cad1f6d8effbda5cba7f7d938ca9a0 |
|
13-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
Added several asserts to make sure duplicates aren't inserted into hash table.
The previous commit hopefully fixed the problem causing auth and login
processes to sometimes die with "key not found from hash" error, but if not
maybe one of these will catch it. |
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. |
bdd36cfdba3ff66d25570a9ff568d69e1eb543cf |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Renamed network.[ch] to net.[ch].
The function prefixes already started with net_ instead of network_.
And icecap wants to use network.h for other purpose. :) |
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. |
3c296d819c54e21ce05c3d2eeeedc79be42ac593 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
Use t_strsplit_tab() wherever possible |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
84de4076ab3a33b34049a46e72ee0456afad8ad4 |
|
20-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
lib-auth: Don't log the "auth connection closed" warning if there were 0 non-aborted requests. |
9ddd3d7d8651985e373a6c48e0ddc76b8a4ef1c7 |
|
20-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
lib-auth: Improved warning message about aborting auth requests. |
742b9a0fc1d5513552fe99aa726497d1250d762e |
|
23-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
lib-auth: Log a warning about auth disconnection only if there are pending requests. |
7c849dbc7be089175c1a83a84ee7249ed695810d |
|
18-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
login: Differentiate between auth failure and auth process communication failure.
Log a warning if auth connection dies. |
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. |
31fda2fc79d48e5186163972b52eb97b4bd8b6fd |
|
19-May-2010 |
Timo Sirainen <tss@iki.fi> |
lib-auth: Crashfix if server sent broken input.
--HG--
branch : HEAD |
9261dbf0675204898c6557591c7aa376e23a52b2 |
|
07-Apr-2010 |
Timo Sirainen <tss@iki.fi> |
Started using str_to_*() functions instead of libc's ones.
--HG--
branch : HEAD |
366e81c4f5329857fefb4bc7751fb72d5dd28959 |
|
19-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-auth: Make sure reconnection timeout if removed after getting connected.
--HG--
branch : HEAD |
63b70dd3e4b4d68a02b1bf7d78e92076210e3e1a |
|
19-Feb-2010 |
Timo Sirainen <tss@iki.fi> |
lib-auth: Added auth_client_disconnect().
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
bf05bf725add3686bdb1cb2723208b1562596d17 |
|
12-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
auth client: Don't crash after aborting auth requests.
--HG--
branch : HEAD |
b6e1d85292485a7fb4cfa5f40dd1ec131ab07cc1 |
|
10-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
lib-auth: Don't crash if callback destroys the auth client.
--HG--
branch : HEAD |
991367db5ec720fa0b764bbd6df21b7f7c654d2c |
|
23-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
lib-auth: When connection dies, reset structure variables properly.
--HG--
branch : HEAD |
21c1655dbc5fe861a152dc9a8a388d0d64f5ae20 |
|
23-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Use net_connect_unix_with_retries() instead of duplicating the code everywhere.
--HG--
branch : HEAD |
e63aa0fe623cee01975d57755381e2b873e5bf93 |
|
21-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
lib-auth: Crashfix.
--HG--
branch : HEAD |
e5acc283bf030b0b5c79ca4e52d315c516a299fa |
|
16-Oct-2009 |
Pascal Volk <user@localhost.localdomain.org> |
Log debug-level messages with i_debug().
--HG--
branch : HEAD |
419baa2c17c63ae516b2df6cc5695f15aaccbff8 |
|
15-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
auth: Identify clients using a 128bit random cookie on top of the existing PID.
When master is finishing the login, it must give this cookie to REQUEST
command and it must match what auth process knows. This change makes it safe
to do client/master login without a dedicated master process.
--HG--
branch : HEAD |
9137c55411aa39d41c1e705ddc34d5bd26c65021 |
|
07-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
lib-auth: Changed API to connect to only a single specified auth socket.
Login processes now always connect to socket called "auth".
--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 |
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 |
eddd9bf1a1369aea4a2715f6be1137da6d17d293 |
|
05-Dec-2007 |
Timo Sirainen <tss@iki.fi> |
Replaced t_push/t_pop calls with T_FRAME*() macros.
--HG--
branch : HEAD |
0cb5a9bfbf40b3b323956792aa13d342a459585e |
|
27-Oct-2007 |
Timo Sirainen <tss@iki.fi> |
If auth server hasn't responded to handshake in 30 seconds, log an error and
reconnect.
--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 |
ba00293b85c7fb4e7a2d100991c716e17b9daaae |
|
15-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
hash_destroy() and hash_iterate_deinit() now take ** 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 |
2526d52441ef368215ab6bf04fd0356d3b09d235 |
|
02-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Renamed i_stream_create_file() to i_stream_create_fd().
--HG--
branch : HEAD |
93fa87cf1a96c4f279ec4f5c311820313ba12c34 |
|
02-Aug-2007 |
Timo Sirainen <tss@iki.fi> |
Split o_stream_create_file() to _create_fd() and _create_fd_file().
--HG--
branch : HEAD |
fe363b433b8038a69b55169da9dca27892ad7d18 |
|
24-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Removed memory pool parameter from iostreams. Default pool was almost always
used, and the stream usually required destroying anyway so it didn't even
make freeing memory easier.
--HG--
branch : HEAD |
9f33eb179d51413f54600adfa2f0cedeb42b4f6b |
|
16-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
If net_connect_unix() fails, assume also that ECONNREFUSED may be a
temporary failure. It can happen if we exceeded the listener's backlog.
--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 |
bbdfa6e80bfd5f6e33f98ccb0781d7500328be62 |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Removed support for external I/O loop. The point was originally that this
library could be used by external software to talk to dovecot-auth, but
nowadays it's much easier to just implement the authentication protocol.
--HG--
branch : HEAD |
62ec46c1c5c07ed2f5fb0e92b08c22c37f44a79a |
|
07-Nov-2006 |
Timo Sirainen <tss@iki.fi> |
Reduce memory usage in case we read a lot of auth replies at once.
--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 |
e2ae85924b0ef1a7c97e021a3b901b498f599c18 |
|
28-Oct-2005 |
Timo Sirainen <tss@iki.fi> |
Give error message if auth server didn't return mechanism list.
--HG--
branch : HEAD |
7d81a331d0af7a7e2c6fecaee11e80a525bec507 |
|
14-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
If UNIX socket connection fails with EAGAIN, try again for a while.
--HG--
branch : HEAD |
f540662dd02e930cf704c1468cccd05d512bc663 |
|
15-Dec-2004 |
Timo Sirainen <tss@iki.fi> |
Connect to available auth sockets by round robin.
--HG--
branch : HEAD |
4b8c92b4773677a7b4064816e469eeafc976ba75 |
|
22-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Separate major/minor version with TAB instead of dot in VERSION.
--HG--
branch : HEAD |
b0df0e9a8ed8889ad4bf032043ab245ce8851fde |
|
19-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Added VERSION command and checking to authentication protocol.
--HG--
branch : HEAD |
73bfdbe28c2ce6d143eadf0bab8ccfbe4cab0fae |
|
13-Oct-2004 |
Timo Sirainen <tss@iki.fi> |
Changed dovecot-auth protocol to ASCII based. Should be easier now to write
replacement server if needed by someone. Also cleaned up/made more
consistent auth code. The new code could still use some cleaning though..
--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 |
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 |
8eea67470c1bd8562a62e7445d930bb2079b1a43 |
|
03-Jul-2004 |
Timo Sirainen <tss@iki.fi> |
Added APOP authentication for POP3. Patch by Andrey Panin.
This required some changes in auth APIs.
--HG--
branch : HEAD |
acf3b7bf3a8891b118a71c45e6c48d17bc90b259 |
|
30-May-2004 |
Timo Sirainen <tss@iki.fi> |
Allow using more easily outside dovecot.
--HG--
branch : HEAD |
d1414c09cf0d58ac983054e2f4e1a1f329272dcf |
|
29-May-2004 |
Timo Sirainen <tss@iki.fi> |
Removed hardcoded mechanism lists. It's now possible to add them
dynamically. Added support for SASL initial response.
--HG--
branch : HEAD |
a272994d43de80a306a8ed1f2983960d1f3102d0 |
|
22-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
fixes
--HG--
branch : HEAD |
7a87427770874f38d1d299635b37d699f9772860 |
|
22-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
bugfixes
--HG--
branch : HEAD |
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8 |
|
22-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Moved client side code for auth process handling to lib-auth. Some other login process cleanups.
--HG--
branch : HEAD |