bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
1ef9fe877817de76eb38883ccf3833fae60e6865 |
|
05-Oct-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: stop including fd-set-nonblock.h & fd-close-on-exec.h directly |
59d98f43a1fe99559d58c0f37a49ca7e3be7bb27 |
|
21-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Don't throttle services that are already being destroyed
If process couldn't be created, because the service_list is already being
destroyed (e.g. due to reload), also don't enable unnecessary throttling
for the service.
Hopefully fixes these random errors that are logged alone:
master: Error: service(...): command startup failed, throttling for 2 secs |
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); |
7b032348d7bbb93ff96188289d3dfc1899b9abb3 |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on i_close_fd(-1) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != -1)
- i_close_fd(&E);
+ i_close_fd(&E); |
191153d1a5b0eb0c129139570e3aa5212f28d2ac |
|
18-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: use i_rand_limit() and i_rand_minmax() when possible |
62461eb609e1d852e027cf4e07d30d51288678a2 |
|
07-Sep-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Replace rand with i_rand |
bdc81a44ea0cf97571da9aa11741c7881b9b64e5 |
|
14-Jul-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Change service "connections are being dropped" warning interval to 1 second
When this is happening, it's often accompanied with all kinds of other errors and
these warnings drown in them. Make them easier to notice by reducing the interval
from 60 seconds to 1 second. |
f86e2ce4ddad569a1598798731db8d957d6caf4b |
|
09-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Send SIGQUIT to processes running at deinit to close socket listeners.
This allows Dovecot to be restarted even when some lmtp/doveadm process is
running for a long time. Otherwise it would keep the inet_listener socket
open and prevent the new Dovecot from binding to the port. |
6e5f8923e3353300e0922adf2c44bdef6e8e03f7 |
|
09-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Wait more precisely 5 secs at deinit for child processes to die.
Use milliseconds granularity instead of seconds. |
7369eabcd8d67bef57c2b5d72d37b7181a3ff4d7 |
|
01-Mar-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Don't crash if master socket couldn't be re-opened after settings reload. |
c8ce80f4dd6b3b4e081063a6f395d6035a525e79 |
|
17-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Remove unnecessary service listener start
The listening was already started later on in the same function. Also
in some cases it would have been started unnecessarily, like when service
was stopped or more processes were created immediately. |
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 |
ffd8dc932516bc55bf01d91355540daab365e5e9 |
|
04-Jul-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Add master socket's io listener later.
Most importantly this fixes startup failure with kqueue:
Panic: kevent(EV_ADD, READ, 56) failed: Bad file descriptor
kqueue doesn't survive a fork(), so this change delays its creation until
after fork(). |
0fb6d16959814545066e7956aa7922eb3119d2e5 |
|
30-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Stopping didn't close dead-pipes early enough.
This caused stopping to be too slow. Broken by 0153cf542. |
164f8e81a078c7b8f679fdd04892ffc9ba14bfa0 |
|
29-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Allow stopping specific services via master socket. |
079673625389b2e1513e13863e538dfe443e4e13 |
|
29-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Added service_monitor_stop_close() to stops service and close its listeners. |
0153cf542884f8f50d17a0d909c2da98a37dafdc |
|
29-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
master: Added support for stopping specific services.
We need to have a per-service fd for detecting a dead master. |
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> |
a03a9aa80d48c837971948dec90066af5a4c22ac |
|
25-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
master: Don't start new processes while shutting down. |
0f430e0a577b96524c390881630a0cf1b624ba34 |
|
03-Oct-2014 |
Timo Sirainen <tss@iki.fi> |
master: If log process crashes, restart it immediately.
The regular service_monitor_listen_start() doesn't work for it, because the
log fds aren't in the listeners. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
0de730a46cbc2adb61bda2f5ea097202e0c3c435 |
|
02-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
master: Fix to previous pre-forking change. |
e7a4c77db3a37224b91e16d139fa80ce67dc37ff |
|
02-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
master: Pre-fork processes only while master doesn't have more important things to do. |
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. |
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. |
4307c886579381dbb1897ea1388ae6978c96f560 |
|
27-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Changed i_close_fd() API to set the fd to -1 after closing. |
cb78bd2ad54e402c1f53930b41e2295683bda90b |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Replaced (void)close(fd) and close_keep_errno() with i_close_fd().
i_close_fd() preserves the errno and logs an error if the close() fails. |
b3d5b74bb59624863016f76e02e6d524bfc34d39 |
|
13-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
master: If service_count=1 and process_limit=1 and >1 clients connect, log about service_count being why. |
17706107e6efc2f15973a7a63a834cb7c0a6dc68 |
|
17-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
master: Handle internal "out of fds" errors without crashing. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
321f17803ad71171ad2408399b6cc8efd2d1479a |
|
27-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
master: Throttle rapid exit failures only if there have never been any exit successes.
This should still catch buggy services without allowing intentional DoSing. |
cb211cc64c1c6ac8343d60e7a058be42fdba2f71 |
|
27-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
master: Make service throttling seconds incremental, starting from 2 secs. |
870bcf0d0c07f7d915f1f571f38968426ba575a1 |
|
27-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
master: If 10 service processes die within a second with no successes inbetween, throttle the service. |
3a79fdaf3253dae045dfa14d2a88b94086327da4 |
|
18-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
master: Show the process_limit / client_limit value when logging that it's been reached. |
2806f15ceb68023baf65a9daad9dfdf54c622708 |
|
16-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
master: Don't log errors at shutdown about services' "command startup failed". |
904324b95569604138d24f2dc951f9fb3cc246dc |
|
15-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
master: Don't throttle successfully started services just because their processes didn't have clients. |
1c7b0cbdb08cccbd25c19ae0fb69abe8ed9ee9b4 |
|
05-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
master: Wait for services to stop listening before unlinking the pid file. |
2f6a8ef44beaee4ef74adfcda455ce426c6e7c45 |
|
25-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
master: Assert-crashfix when service process limit was reached.
Introduced by commit fddbb26400d0. |
acef354e742a39416b0697e1554f5d49b0369850 |
|
20-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
master: When process_limit fills up, wait 10s before closing pending connections.
It might have only been a temporary burst that gets resolved quickly enough. |
605cce7e45c80fa8a07a10155c353ca541a3041f |
|
20-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
master: Reset service's listen_pending flag when it gets a new available process. |
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. |
29f32cdcf44cda9688576bfdc7450a8a15e90e86 |
|
04-Mar-2011 |
Timo Sirainen <tss@iki.fi> |
master: Use per-services_list "master is dead" fd, so services know when config is reload. |
f7f13e206c9839f6e868088034b0b59d1d9be13a |
|
08-Feb-2011 |
Timo Sirainen <tss@iki.fi> |
master: If process limit is reached, just accept and close the client connection.
This makes it a bit clearer what the problem is, so that client can log a
better error message. |
699b27536eeb446e05ed9c9c1ab35cc6174ac0aa |
|
15-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
master: Fixed previous "client/process_limit reached" log change. |
dadd250347d90d90bd65f529d45b50f79d6a0674 |
|
14-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
master: If service with process_limit=1 reaches client_limit, log it better. |
dc07b75b7ea83ff5f447970a20419032725271a7 |
|
09-Aug-2010 |
Timo Sirainen <tss@iki.fi> |
master: Added service type=startup for starting one service process at startup. |
c05d0937e228c2817fa2295fc53e8cb81ae5cb8a |
|
28-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
master: Most service processes were being idle-killed much too quickly.
--HG--
branch : HEAD |
93a7d1ee4b518b5c85f9721dc6539e4dab6aae00 |
|
25-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
Added support for per-service idle kill timeout.
Director and anvil services are by default never killed.
This also fixes the errors about idling director process not dying.
--HG--
branch : HEAD |
f6edc54aa72596af8da681c07223108c322712d5 |
|
09-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
master: If an idling process seems stuck, log an error and disable it.
--HG--
branch : HEAD |
57dc3cb5d5e315272353abf55f702eefc084db26 |
|
27-May-2010 |
Timo Sirainen <tss@iki.fi> |
master: Fixed crash on config reload.
--HG--
branch : HEAD |
2b2e5f7a24c24d971351877ad4c5150662856bfb |
|
20-May-2010 |
Timo Sirainen <tss@iki.fi> |
master: If throttling a service and there are no service processes, drop all queued connection attempts.
--HG--
branch : HEAD |
3005627bf2ed223194c2d08a8c1630769d048f69 |
|
18-May-2010 |
Timo Sirainen <tss@iki.fi> |
master: Create the login <-> master notify file into base_dir instead of /tmp.
--HG--
branch : HEAD |
9cd232cda7563ad81c01776e5ebc5ed2b3cef898 |
|
04-Mar-2010 |
Timo Sirainen <tss@iki.fi> |
master: Try to read multiple status updates in a single read().
--HG--
branch : HEAD |
e59faf65ce864fe95dc00f5d52b8323cdbd0608a |
|
25-Jan-2010 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2010.
--HG--
branch : HEAD |
7bd72e4deca3cbf757dd1ea298486d9f3bc24226 |
|
02-Dec-2009 |
Timo Sirainen <tss@iki.fi> |
Use array_foreach() more.
--HG--
branch : HEAD |
601b455f4d5e780044b9e4fac5f687c1b07ae145 |
|
05-Nov-2009 |
Timo Sirainen <tss@iki.fi> |
master: Make sure processes aren't created if its service is stopped.
--HG--
branch : HEAD |
4f4943f6ef1bc45c23de73eebe83779712b3c8cb |
|
27-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
master: anvil process now stays alive across SIGHUPs.
--HG--
branch : HEAD |
cf0ad1a0bddb0787f3d7b408a96d721a8b2a98a3 |
|
20-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Redesigned how login process passes connections to mail processes and changed related APIs.
Master process is no longer in the middle.
--HG--
branch : HEAD |
fb08a91e3f2949ecefb647fa38206ca9aad5307f |
|
15-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
master: Add IO listeners to anvil after forking. Fixes kqueue.
--HG--
branch : HEAD |
9516ea85a97de720f97c31bf9dc027a2e4845788 |
|
10-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
master: Delay starting up config process until it's actually needed.
--HG--
branch : HEAD |
c0e5c6a86e1de5d4f5591d39b4aa921a23c807d7 |
|
09-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
master: Allow idle-killing the last service process, except anvil.
--HG--
branch : HEAD |
d0720f3037064af4b92eccfc20a8814adcacf827 |
|
09-Oct-2009 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fix.
--HG--
branch : HEAD |
6fdfa4d4cf14d1d7764d7faa8258f112e39c8dbe |
|
11-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
*-login: Fixed dropping oldest connection when reaching all limits.
--HG--
branch : HEAD |
ad789b139a890a1b4f54d6aaaf6a3800581611bc |
|
09-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
master: When killing idle processes, don't kill the service's last one.
--HG--
branch : HEAD |
d8552f9f65e5ff64be5de9faf9a8171799a0bbec |
|
08-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
master: Kill extra idling processes.
--HG--
branch : HEAD |
3b959c98e05e780de2a063a4a9d8d393dc61ed58 |
|
04-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
master: Several fixes to handling SIGHUPs.
--HG--
branch : HEAD |
cdc8485491045d82bb98405d4b995f277d12838e |
|
04-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
master: Added process_min_avail setting for services.
--HG--
branch : HEAD |
e20edc0dedcdfbcfa20e9bb4c3dc460f28bfd405 |
|
04-Sep-2009 |
Timo Sirainen <tss@iki.fi> |
master: Check process_limit for auth dest processes. Log when reaching limit.
--HG--
branch : HEAD |
3a0f9aa9504497e4e47f32df54fbf47fdc7423b6 |
|
31-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
master: Fixes to checks using service's client_limit.
--HG--
branch : HEAD |
bad5fa318c6c1384ab83bd72d53ce06593274c18 |
|
15-Aug-2009 |
Timo Sirainen <tss@iki.fi> |
master: Support reloading configuration.
--HG--
branch : HEAD |
b2ed2b25c4c457ec1c99ebe5e9bd66a2e2f89cfd |
|
22-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
master: If time moves backwards, delay launching new processes.
--HG--
branch : HEAD |
6c2ce1d5bf17b21e804a079eb0f973b7ab83e0d8 |
|
06-May-2009 |
Timo Sirainen <tss@iki.fi> |
Implemented anvil service, which is used to implement mail_max_userip_connections.
--HG--
branch : HEAD |
55bc6a7a0940ec48a68558ef70838991c5d301d2 |
|
05-May-2009 |
Timo Sirainen <tss@iki.fi> |
Require each service to have a unique name. Log service errors using service_error().
--HG--
branch : HEAD |
d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76 |
|
24-Apr-2009 |
Timo Sirainen <tss@iki.fi> |
Initial commit for v2.0 master rewrite. Several features are still missing.
--HG--
branch : HEAD |