bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
70a88f28adfd52040d483b62ef6fd164db89b015 |
|
12-Dec-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
director: avoid comparison between signed and unsigned ints |
4ccb6182274da8e95e8dfb940ef9c03755381cd4 |
|
28-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix logging disconnection error reasons
The previous commit set errno=0, which weren't logged. If error string is
provided, it doesn't matter what the errno is set (as long as it's not 0),
so we'll just use EINVAL. |
1a85ac6b42b73c48143ef7b76f95c15e89d3ca4d |
|
28-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Log connection stats for all types of disconnections |
43edd1078b1ba2f094d9c53f9e7c553f971657c1 |
|
28-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Log whether connection is synced when it's being disconnected. |
0bd3eb7c8139cfb80f46dc596c5fe7cdbb1d2aee |
|
28-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix crash when handling expired USER timestamps.
The fix in 154f91726624265fce15097eb4bbbf6e55f8c477 wasn't complete. |
b2117031bf2c3e35f6efad43b78caaecb6ebdad9 |
|
27-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix logging of uninitialized PONG buffer size
PONG always has 0 or 2 parameters. The easiest fix here is to just not even
try to support 1 parameter. |
91b0bd6e7277646032d5001822f65575be75f062 |
|
25-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Improve PING/PONG timeout errors and add new warnings
Log a warning if PING-PONG takes over 5 secs in total, or also if the
recipient notices that the PING took >= 5 seconds to receive. |
2adcf55dd8b0380cb2f1d2fd53accf448053d5d3 |
|
25-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Add director_ping_idle/max_timeout setting.
director_ping_idle_timeout is used when there's otherwise no input coming
from the connection. Changed its default from 10 secs to 30 secs.
director_ping_max_timeout is used when the other director keeps sending
input, but among it is no PONG reply. |
8506e63fd90332f32d991337b48e06fd3db5b928 |
|
25-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Log exactly how long PING was waited on before it timed out. |
5cdaaf2ecfed02503572935266f55123923ba00a |
|
25-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: DIRECTOR-LIST - Show number of USERs sent/received in "handshaking" state |
e5ef6fa616e0b0ed1bf545b39f0d9e8dea48c970 |
|
25-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Include number of users sent in handshake in disconnection log lines |
dd19de9b6382c9a47b65df6b2396789df37a19fb |
|
25-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Show number of incoming USERs/sec in ps title |
58a102564ba58e2713e02ab86054978eb611cb81 |
|
25-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Include number of USERs received in disconnection log lines
Separate handshake and refresh USERs. |
14660f677e16a5c36f3c43e9e64f5e021fda627b |
|
25-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Don't send USERs in handshake that were already sent between handshake
If the user was refreshed since the handshake was started, it means that
the same user was already sent to the other side (added to the stream
immediately after it was received/handled). There's no need to send it
again.
This fixes a potentally infinite handshake when users are rapidly changing
and the handshake iterator never sees the end of the list. (Each refreshed
user is moved to the end of the list, so handshaking can keep sending the
same user over and over again.) |
edaa9f5c32594e7af8c0b862cd3a0c188d55ac7b |
|
26-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Avoid USER loops with >1s ring latency also with old directors
Do this by ignoring USER refreshes that were already updated recently.
The "recently" is calculated by director_user_expire/4 seconds ago, but
with an upper limit of 15 secs. This means that the USER loops can now
only exist if the director ring latency is above 15 seconds. (Once all
directors in the ring are running the new version, there's no looping
at any latency.) |
b3e36790ca9e16d022118012b46ed50f73a45046 |
|
26-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Avoid USER loops when ring latency is over 1 second
Do this by adding a timestamp parameter to USER events. This way if it
takes over 1 second for the USER event to traverse the ring, it won't get
into an infinite loop getting the user updated over and over again. |
05b7b8f14426b5fe5d016940eb5916033f0bc841 |
|
26-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Replace USER command during handshake with "U"
This clearly differentiates the two commands and allows extending the USER
command with new parameters without mixing it up with the handshake-USER. |
154f91726624265fce15097eb4bbbf6e55f8c477 |
|
26-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Ignore refresh requests for already expired user timestamps |
94fb15fffc814d7dcecabf8d90691502311d4b88 |
|
24-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Keep users unsorted during handshake and sort them at the end
This is simpler and sometimes more efficient than the current way of
immediately inserting the users to the correct place in the linked list.
This is especially useful if handshaking is mixed with regular USER updates,
because each switch between them required walking the linked list backwards
to find the proper insert position.
It's not a big problem if the users list is temporarily unordered. It mainly
means that some of the users won't be expired as early as they should have. |
0e94f6c27bffd58953b3479415532bff2bc04732 |
|
24-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Make sure users are sorted after unfinished handshake
The users were sorted after the handshake was finished, but if the
connection was closed before that hapepned, the users were left
unsorted. This could have caused the users to not expire early
enough. |
04c8a9554e34ad1afed9291e673cd452ee93e849 |
|
24-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Make sure user's timestamp isn't set to future
The sending director could have the system clock slightly in the future. |
3a7a8b3685eb946a2153b9af92bc545800935a95 |
|
16-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Reconnect after detecting a write failure to director
If disconnection is detected during write failure, or "Output buffer full"
occurs, the connection is disconnected. However, if this was the right side
connection, it wasn't automatically reconnected to. This left the ring
nonworking. |
f534eb971e3e40087ad81dcd080c1d69424df417 |
|
06-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Include used CPU secs in director connection log messages
It's counting the process's full CPU seconds used since the handshake
started, so it's not specific to the connection itself. Still, this is
likely to be very useful in debugging whether a slow handshake was due
to CPU usage or something else. |
c83e45c826c93c5122340a37a6faf99ce6078627 |
|
06-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Deduplicate code into director_connection_set_connected() |
ef996cb0e68ea5474716058137308a98cfa0c324 |
|
06-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Include peak output buffer size in director connection log messages |
ad394c531ca4b7ca85f3741fa01f96c36c008c70 |
|
05-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Don't block too long when sending users during director handshake
All the other work is blocked while the users are being sent. |
6b740bf2d35b25dcc607cfd16593fe912ec49812 |
|
06-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Avoid str_printfa() in director_connection_send_users()
Optimizes the CPU usage. |
bd4bbe6478a97e3fab77b05257dd1397c7c090ea |
|
06-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Use *_host.ip_str to avoid net_ip2addr() calls |
e8d44b65aab0a6723e7906756d0825e22ee85a82 |
|
06-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Use t_strsplit_tabescaped_inplace() for director connection input |
688653dfb53411a9ca66dc5647363b53e4f2c997 |
|
01-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
director: Fix spelling mistakes
Original work by @jsoref |
19557f192d37cd54a1a090a8a26d9d47265e4413 |
|
01-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Fix spelling mistakes in comments
Original work by @andreasschulze and @jsoref |
3dc72a40e457658caa3c033fb6b3418d16e9fd21 |
|
01-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Track show long the last ring sync took. |
f1551f4a50a471f0adecd92dd1f94702beeed72d |
|
01-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Track connections' last ping time |
56139ffc94e481ca1940ffd8d8f7166879150665 |
|
01-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Add director_connection_get_status()
Can be used to access connection-specific status information. |
a1febfe04b4fa4445e4f7fad371ef2b992449825 |
|
01-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix updating director connection's last_output timestamp
It was previously updated only in ostream's flush callback, which was called
only when there were a lot of output. This only caused the "last output"
timestamp in disconnection log lines to be wrong. |
1511fc56b80709183cfa1201bfddd09d8a804c99 |
|
01-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Close director connection immediately when output buffer is full
Only the ostream was closed, which didn't actually cause the disconnection
until the other side closed the connection. |
311cf367b949f360c9a90822f06f39df31ec69e3 |
|
01-Nov-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Add director_output_buffer_size setting
This allows configuring the max buffer size for outgoing connections.
Previously it was hardcoded to 10 MB, which wasn't necessarily enough for
very busy directors. |
0c347e983ac27d94c7b119d5a4aa3b5c876a7209 |
|
30-Oct-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
director: Don't use undefined DIRECTOR_CONNECTION_PING_TIMEOUT_MSECS |
312213260e384239ac93c77951c2f1f5f3d3611e |
|
04-Oct-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Don't crash if DIRECTOR-REMOVE is received for itself
This triggers the director removal from the ring, which causes the
connection to be destroyed. But since we're still in the middle of handling
the connection it needs refcounting. |
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); |
69ea755e44ae1ec65971acc737b2641a4917a60e |
|
14-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Ignore CONNECT requests to hosts that have been removed already |
d8a93844f0b25be82da9c0ab79c321c110f5fb5f |
|
14-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: After CONNECT was received, make sure we disconnect
The remote side won't be reading anything after the CONNECT, so we have to
disconnect anyway. If we decide that the CONNECT request is wrong, reconnect
after a short delay and hope that the remote agrees with us the next time. |
e588e0b3f3119ba2cc98b338ee9868f8f0297f49 |
|
14-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Don't reset directors' last_network_failure while handshaking
The reset is done mainly to make it faster for a director that has been down
to connect back to the ring, without other directors still thinking that
it's down. But DIRECTOR that is sent during handshake says nothing about
whether the director is up at the moment or not. |
e2fdcdb4ee53ab769123e27997713aaea34910e1 |
|
14-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Log info line for every incoming/outgoing connection
This can help with debugging problems. |
027f58ea63a1822bbf13d99ee5572e5f8b9e8d8b |
|
14-Sep-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Log info line whenever a director is added/removed from ring
This can help with debugging problems. |
1707f8b66faf2dcd1fe2d1b07d421f9d006c9432 |
|
18-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix rapid reconnection on failed outgoing connections
last_network_failure wasn't set, which caused a failed outgoing connection
to immediately reconnect to it. This resulted in rapid logging of
connect() errors. |
8a513c80e95a51c29f5af5c702fbf71ecbad41f4 |
|
18-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix logging last input/output time when there was no input/output |
00367aee8d303589e1e1b50c3b5f007ed6489a65 |
|
18-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix whitespace position in some log messages |
5c8dec7f648cb0de2293a13265873baa640aa0cf |
|
04-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Use longer timeout for receiving user list in handshake
The sender also has a send timeout, so this allows the sender to abort
early and give a nicer error message. |
1ef9754a5169dc886d15089e59b45a7017d647d7 |
|
04-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Log more connection state information on handshaking errors |
7fd22d5521c8ecf84c40fbef553e70bf2553a663 |
|
04-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Use more accurate timestamps for handshake timeout logging
There could be some time between the create, connect and when ME was
received. |
6ccc7f584c832a3212d70952881cb0eb2d6e2cb9 |
|
04-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix "sending handshake timed out" error to be actually logged
io was never NULL here, so it was never logged. |
5a530f778cc3eae05e70d13b8e5d7d501e7ba0b3 |
|
04-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix handshake timeout lengths
They weren't too bad, but also they weren't what the #defines described.
Also added a separate connect() timeout. |
00cc7eb569710722af0e0af652034b9fc22c57df |
|
03-Apr-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
director: Make director_consistent_hashing=yes mandatory |
b3abfd0ac256ffa0cbfd74c3793eac4e83d41f78 |
|
30-Mar-2017 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
director: Log vhost count changes and HOST-UP/DOWN |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
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)" |
b44033e45e9f48f8a6e1ac5905234fec5de6d6cc |
|
08-Nov-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
director: Keep per-tag directory |
33d70dcbb6bf10fd47aa62f29ca8e5f92d116ae4 |
|
08-Nov-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
director: Code cleanup - Reorder includes
This is required to enable typedef of
user_free_hook |
1f7f4294207557edf83171642ef62ce4922ffc9d |
|
08-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Code cleanup - added user director_iterate_users_*() wrappers.
This will shrink the diff for the following changes. |
68d87d8fb8f23ffed031ddfd9c410f3c929777fa |
|
08-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Code cleanup - use temporary users variables
This will shrink the diff for the following changes. |
1b7cd57585d8c2f133dd612d2d5d9c775595659f |
|
25-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Moved all user killing state to struct director_kill_context
This should make it a bit easier to understand the life time of user
killing. It also simplifies code by removing struct
director_user_kill_finish_ctx.
Finally, this already reduces memory usage with 32bit systems, and would
make it possible to reduce also on 64bit systems if timestamp is shrank to
31 bits and weak bit moved after it. I'm not sure if that would be better
for performance though. In any case it would provide free space for 4 extra
bytes if that were needed in future. |
79ee504bdf920f01e12e28f238799bf2616489df |
|
25-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Code cleanup - added USER_IS_BEING_KILLED() macro |
0874d7a4fa15322318c71291f0134ff7cc49bbb8 |
|
25-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Improve debug logging output. |
fd882f791279d0bb0cbf15ccec75cff9f6b399cc |
|
25-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix user move hangs when another move is triggered early.
Running "doveadm director flush" before the previous flush hadn't fully
finished could have caused users to hang until their move timeout:
director: Error: Finishing user 3249070169 move timed out, its state may now be inconsistent (state=waiting-for-everyone) |
fb9dfa9ea15abdbf248021cfb7bf2846410116e6 |
|
25-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: If user host conflict is detected, make sure new host is sent back.
USER-KICK-HASH was sent, but the sender didn't get back a USER reply with
the new host. This could have increased how long user's host differred in
directors.
Avoids repeating this error:
Error: User hash 2957018085 is being redirected to two hosts: 10.0.0.30 and 10.0.0.201 (old_ts=1477338836) |
ade4a0e1a8f4bc3467f4fcff9c219558fe348abf |
|
25-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Log user's kill_state with a human-readable string. |
a9ade104616bbb81c34cc6f8bfde5dab0571afac |
|
25-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fix sending up/down state in handshakes.
They were never sent, because HOSTs were sent before director had waited for
the remote to send its version number. So sender thought that the remote's
minor_version was too old and it didn't send the up/down state at all.
This caused errors like:
Warning: director(10.0.0.30:9090/left): Host 10.0.0.30 is being updated before previous update had finished (up -> down) - setting to state=down vhosts=100
Error: director(10.0.0.30:9090/left): Director 10.0.0.30 SYNC request hosts don't match us - resending hosts (seq=6, remote hosts_hash=262126213, my hosts_hash=2458934259) |
67cb14c7fb54a031818228522dc7255d5cd00f0a |
|
25-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: If SYNCs are received during handshake, send them later.
This fixes delays during handshake:
Error: Ring SYNC appears to have got lost, resending |
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. |
bfef6891565ff9018ac92add6eae401e9352c657 |
|
10-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
doveadm director kick: Added -f <passdb field> parameter.
This works for all the user_* passdb fields. |
9224645cf699abae90fdd2cdf54247444f7acc18 |
|
04-Aug-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Added more debug information to "Ping timed out" error |
c5924dd8f129d6d5ba77e33d25e83a3700deafb1 |
|
06-Jul-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Removed redundant corking in ostream flush callbacks. |
f0339f522dc9c8e2e8a29ef9a3f937c431c6bd1b |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Use only explicit int -> bool conversions
These were checked with a patched clang. |
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. |
0dffa25d211be541ee3c953b23566a1a990789df |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: unsigned int:1 -> bool:1
perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch] |
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. |
389a9fe1636038527f7a75fb5d38361c90bd676a |
|
05-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fixed error handling when directors support incompatible tags
Connection should have been disconnected immediately, not after the next
command that would have produced "Incompatible protocol". |
12f8ffba02e99b53ee71cd44f9947c6a59ff9ea4 |
|
05-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fixed ignoring an obsolete up/down change while host is desynced. |
0f3d4fbcf88e2ffd674893aed8cc1288fe17d290 |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Use [io]_stream_get_error() insted of %m |
002eaedb419e67eec1b518f520eca133a6ee27db |
|
30-Mar-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Avoid a potential assert-crash after removing a director from ring.
This should fix the crash:
Panic: director: file director-connection.c: line 1926 (director_connection_init_out): assertion failed: (!host->removed)
Also moved the last_network_failure timestamp reset a bit later, since
there's no need to reset the timestamp if we're not actually connecting
to the server. |
58b8a301b7b36047f10a592751094fbed86d6f0c |
|
24-Mar-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Don't re-send SYNC unnecessarily often. |
f8c57c39abd8d987fdbc90dff5289b420017a700 |
|
24-Mar-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Fixed user weakness getting stuck if multiple directors set user weak simultaneously |
78a6431465ac6ee6e870352a68ea1d7a8170376a |
|
22-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: "Host is being updated before previous update had finished" logs now details. |
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/' |
ed4a4d9b8289061627d5236da31b1a989b0fd6b1 |
|
10-Dec-2015 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
director: Don't trigger a ring resync if only last_updown_change has changed. |
ae32667c54480d329eed994b3defab89cd76c077 |
|
24-Nov-2015 |
Timo Sirainen <tss@iki.fi> |
director: Fixed backend selection when multiple tags were used.
The previous algorithm was causing an uneven load for backends.
This change breaks compatibility with older director servers that were using
tags because of the different selection algorithm. The new director code
refuses to run within a cluster with old directors if tags are used. |
093b42b11c1236a687d3da564b26a324e2189ae6 |
|
23-Nov-2015 |
Timo Sirainen <tss@iki.fi> |
director: Code cleanup - access host->tag via mail_host_get_tag()
In preparation for the following changes. |
87842f621233257b7a7945d994ba931508b34877 |
|
23-Nov-2015 |
Timo Sirainen <tss@iki.fi> |
director: Code cleanup - make most mail_host_*() list parameters unnecessary. |
9de5eb9e1ac3a07c4197a60fdefd412d6cc78eb2 |
|
19-Oct-2015 |
Timo Sirainen <tss@iki.fi> |
director: Remember backends' hostnames and send them in login reply.
This allows login processes to verify the remote server's hostname in SSL
certificate. |
c5279d575d40f7c4c6cd4b44dbf8fba55e156d90 |
|
19-Oct-2015 |
Timo Sirainen <tss@iki.fi> |
director: Small code cleanup - make it easier to add parameters to HOST |
9054b5f92a7e5666c6beaa04916699a1408bf021 |
|
12-Oct-2015 |
Timo Sirainen <tss@iki.fi> |
director: Log a warning if directors' clocks are too much out of sync. |
abe29107f5dce932d28a00912d2d75a01021bef1 |
|
12-Oct-2015 |
Timo Sirainen <tss@iki.fi> |
director: Detect if directors' hosts have become desynced by sending hosts_hash in SYNC parameter.
Also fix up such a situation by resending all HOSTs. |
1574df6b0bc965212f1152e480e7a762cdaa8226 |
|
12-Oct-2015 |
Timo Sirainen <tss@iki.fi> |
director: Use mail_hosts_hash() to improve debug log messages. |
dd81d88575909f2bd99eafffb13c48c3b8cf9529 |
|
11-Oct-2015 |
Timo Sirainen <tss@iki.fi> |
director: Small code cleanup - make it easier to add parameters to SYNC |
8752573c44bcd139ae3ecc6d8e917c2c60bcb89f |
|
10-Oct-2015 |
Timo Sirainen <tss@iki.fi> |
director: Don't become desynced if two directors change the same backend in incompatible ways.
This would have caused "User hash .. is being redirected to two hosts"
errors, which wouldn't easily go away as the directors have a different view
of what hosts currently exist. |
c93aca832ee532010ead91b85fa9f614132e1be2 |
|
29-Aug-2015 |
Stephan Bosch <stephan@rename-it.nl> |
Removed all invocations of atoi(). |
009217abb57a24a4076092e8e4e165545747839e |
|
29-Aug-2015 |
Stephan Bosch <stephan@rename-it.nl> |
Changed type of internet port values to in_port_t everywhere.
Created special SET_IN_PORT setting type for internet port values.
Created net_str2port() for parsing internet port values.
Removed several atoi() invocations in the process. |
ff060dcf76798701c0d1386717096062ff5cf9a8 |
|
15-Jun-2015 |
Phil Carmody <phil@dovecot.fi> |
director: explicitly mark _disconnect() helper static to match proto
No functional change, compiler would not have exported the symbol, this
just shuts up sparse.
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
a5ddfd7a8b473f73135b93d5e081e470a87f0f7e |
|
18-May-2015 |
Timo Sirainen <tss@iki.fi> |
director: Added "up" vs "down" states and doveadm director up/down commands.
These commands are intended to be used by automated watchdogs that detect if
backends are up or down. This way the vhost count doesn't get forgotten
after server goes down. It also means that admin can manually take down a
server by setting its vhost count to 0 without the watchdog automatically
bringing it back up. |
5c1733e9e572e242598b8b2f12a0068897caf5b7 |
|
15-May-2015 |
Timo Sirainen <tss@iki.fi> |
director: Moving a user to another host sometimes caused the move to fail.
It could have given "User hash .. is being redirected to two hosts" error
and afterwards moved the user back to its original host. |
336cdc9993838d967bbaf214a671975c2e7e5942 |
|
13-May-2015 |
Timo Sirainen <tss@iki.fi> |
director: Don't send DIRECTOR command infinitely in loop if that director got disconnected. |
ece0a20249ce26208db3415ba2e79423678856f8 |
|
13-May-2015 |
Timo Sirainen <tss@iki.fi> |
director: Include useful statistics in process title. |
34115224152b94328ffe3ec4ff4f30927c8f9aa1 |
|
13-May-2015 |
Timo Sirainen <tss@iki.fi> |
director: Fixed crash if director sent invalid data too early. |
d3ee83b4c24529fac4be5c1f30e254295e7addd9 |
|
13-May-2015 |
Timo Sirainen <tss@iki.fi> |
director: If we disconnect a director, pass the reason all the way to deinit's debug logging. |
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> |
09060303d565e15d54e42b4ef722f9d3c26f5336 |
|
12-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
director: Added support for backend cluster "tags".
This allows using a single director ring for multiple backend clusters. By
default everything has an empty tag. A passdb lookup can return
"director_tag" field containing the wanted tag name. If there aren't any
backend servers with the wanted tag, it's treated the same as if there
aren't any backend servers available (= wait for 30 secs for a backend and
then return temporary failure).
Tags can be added to configuration by adding @tag suffix to IPs/hosts. For
example:
director_mail_servers = 10.0.0.100-10.0.0.110@name1 10.0.0.120@name2
"doveadm director add" can also add tags either with @tag suffix or with -t
parameter. "doveadm director status user@domain" requires giving the user's
correct tag with -t parameter or the results won't be correct (empty tag's
results are shown). Tags can't currently be changed for an existing host
without removing it first. |
eb209d12e3b1cfed564c35cf19fdb1bf7fcc6811 |
|
12-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
director: Added director_consistent_hashing setting.
This should have been the default since the beginning. I didn't thik it was
worth the trouble originally because in theory it shouldn't matter much if
users jump between multiple backends. But this makes caching behavior worse,
especially for systems which are using local cache files. |
8420ca2c46d15257d43a5507e841325134fffa75 |
|
12-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
director: Always log a message when director handshake finishes. |
ad404d294fedf792619aed432ed8de5174e9ce7c |
|
12-Nov-2014 |
Timo Sirainen <tss@iki.fi> |
doveadm director ring status shows now more information |
36e091dc733c6cd690c5aae6e411e41adb1eca73 |
|
02-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
director: If we detect that a user is being proxied to multiple backends, disconnect wrong connections.
Especially IMAP connections can otherwise stay alive for a long time and
cause problems. |
550d2fe097e95f12e8fa60ef52753ea7fe53d4ea |
|
02-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
doveadm director kick command added.
The kick gets sent to all the proxies within the director ring. |
ab779efe68458cf6fdcaa4f99527685d5563df0a |
|
23-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
director: Fixed handling weak users when there were exactly 2 director servers in the ring. |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
dfbd56c81cb8fb7fe70393c4682cc99e68fe06b6 |
|
20-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
director: Detect lost director restarts and reset last_sync_seq. |
88cb1595bf0ad84846b9c611a1afbca35fcfe460 |
|
20-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
director: Make sure director restart notifications go to everyone in the ring. |
84304cae9fe7c8465e57d057bb9ee63d79997a72 |
|
20-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
director: Directors weren't always marked as restarted when they were. |
9d2575d99e43d08898c44d861f1a2e1377043c1e |
|
20-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
director: Fix & improvement to debug logging. |
7e656f6f504c93f91af8b6eb290da1a52c11d01b |
|
20-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
director: Added more debug logging. |
ce28adabf2c47d3af9ef197787cdb5139424c69c |
|
21-Aug-2013 |
Timo Sirainen <tss@iki.fi> |
director: Reset last-seen-sync-sequence after remote director restarts. |
fe30a45e565f7b803be8fb6abb31584daa219701 |
|
15-Aug-2013 |
Timo Sirainen <tss@iki.fi> |
director: Previous change caused legitimate SYNC resends to be ignored. |
61b0eeb704039e9837ef3dc7d133096851517d0f |
|
07-Aug-2013 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes. |
468c28dfb03613ab8d487b5aebc985a969193ace |
|
29-Jul-2013 |
Timo Sirainen <tss@iki.fi> |
director: Avoid infinite SYNC loops if the originating director goes away for a long time. |
8621be3846dc097420cce325ad36d1b646f72a09 |
|
29-Jul-2013 |
Timo Sirainen <tss@iki.fi> |
director: Update existing users' timestamps during handshake. |
c6a5305674d2aa59ee52dc101ef87bbcb04f04ef |
|
29-Jul-2013 |
Timo Sirainen <tss@iki.fi> |
director: Fixes to handling users near expiration. |
06fc82430569125dccb8cd20e122e77b44698c7e |
|
29-Jul-2013 |
Timo Sirainen <tss@iki.fi> |
director: Log director disconnection errno correctly. |
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. |
c1b9c4531186c6a7cd92d2c353273a834f8ee66f |
|
29-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Make static analyzer happier. |
1df39b899804fd1dbc560f75382364822935c857 |
|
22-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
director: -D parameter now enables extensive debug logging. |
38eee54ced2034a4772958f96a737bd368d5e5e0 |
|
22-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
director: Minor code cleanup |
d3211a8014c08677e1c1bbd84e98ad51b5744448 |
|
22-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
director: Fixed previous broken change for handling USER-WEAK commands. |
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. :) |
dff32d11a411a24f3b76003c1ae22c5a960f180e |
|
11-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
director: Improved logging related to disconnections. |
33e3cf377566707fbe2054cbcff4370a3fd2282c |
|
11-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
director: Already seen USER-WEAK command caused director to disconnect. |
3785910c303507db5f629684e6dde2cc7f83668e |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Added i_stream_get_data_size(). Used it where possible. |
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. |
e2a88d59c0d47d63ce1ad5b1fd95e487124a3fd4 |
|
24-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Added o_stream_nsend*() and related functions to make delayed error handling safer.
Once o_stream_nsend*() is called, o_stream_nfinish() must be called before
stream is destroyed to finish checking if there were any errors. If
something failed and the stream is just wanted to be closed,
o_stream_ignore_last_errors() can be called.
For streams where errors don't really make any difference (network sockets)
you can call o_stream_set_no_error_handling() immediately after creating the
stream. |
bef515a6f5cce9cf036861b2e409966e5d884973 |
|
24-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
director: Fix to handling duplicate USER-WEAK event. |
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 |
9a656df90290a5fef45b3a1191ae75864f17602d |
|
20-May-2012 |
Timo Sirainen <tss@iki.fi> |
director: When we find unwanted connection, wait for 10s for it to disconnect us, not 10ms. |
e4194f4703eeec32b432371ae30fc8f25ab720d8 |
|
19-May-2012 |
Timo Sirainen <tss@iki.fi> |
director: Implemented ability to remove directors from a running ring.
Also added doveadm command for adding a new director to a running ring. |
93cc8cf70b8df74972268d4b9ce25e9cb98ca40c |
|
19-May-2012 |
Timo Sirainen <tss@iki.fi> |
director: Don't crash with quickly disconnecting incoming director connections. |
6cb8e7d726a7e9d157e87fb379982d52100b283f |
|
20-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Delay disconnecting director after sending CONNECT command.
The director may not otherwise read the CONNECT. |
c9b08dc8d71bd655e5648daf8a09ff4b728cae81 |
|
20-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Forward DIRECTOR commands to other connected directors.
They can use it to realize that the director was restarted and its sequences
start from 1. |
980529df27e0568d63cc48b4bb3b0a8ba6d18e4a |
|
20-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: When another director reconnects, reset its "last received seq".
This fixes some problems where HOST updates and others were thought as
already being received after the originating director was restarted. |
32a93320fd2b6ada5ac8027166819463c1a007b6 |
|
20-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Removed special (time_t)-1 code, it's not actually needed.
Also this fixes a user refreshing issue. |
b37fabed279030d2989e8dcb25acdad3ad406433 |
|
20-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Minor error message fix |
f45e50990afa6cc449fe624a4b19dffe6d07a3e1 |
|
20-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: And crashfix for previous change.. |
a70216512b55a4f6d633defcead6fcb081b03c16 |
|
20-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Adding 25c941423e42 patch yet again, now it seems to work right.
And also fixes detection of outgoing connections that die during handshake
sending. |
5a5b39ce7c6ba6d6ff2218ae1679e0485bf43b47 |
|
20-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: USER sending timeout was higher than it needed to be.
The problem was USER sending getting stuck, not the timeout itself.. |
484324f08a6e04af3ff0eb18e6266ff71d0e523b |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Removed unnecessary error messages. |
f37684a44ce2371e04cf40ba3d26630fee4630f6 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Another fix for stuck handshake. |
b695e4700d0953031205ad4411182c4bb207605c |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Make sure handshaking doesn't get stuck sending USERs. |
4847d74a7442a3efabe76a8ad18dd464082d6581 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Fixed protocol error detection/handling. |
3a12bf3abc30af91cc141b74d2ab3b7d209f75bc |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Improved debug handshake message. |
3574bab52a67dfe1291f6306e707c6199e777043 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Increased timeout for sending USER data in handshake. |
cc22ca265b5b355c4a029155e074f36b5baf2e60 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Improved error message |
09400493cf46289e8fa5d6a31f2477e58760c797 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Reverted previous change, it didn't work properly. |
696e4ecbe97fb4d290f6da0e698c15c54978a056 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Don't delay reading input from remote connection during handshake. |
3c296d819c54e21ce05c3d2eeeedc79be42ac593 |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
Use t_strsplit_tab() wherever possible |
447bf65ddb82ec279e7386828748ef47e199a6af |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Optimized adding users to linked list during handshake. |
fe7f9298fb789717d26dc4cb6317a9d376acd8fc |
|
19-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Increased timeouts. |
4926d904d302e1e6967e3ed0608d9b76847879a3 |
|
09-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Fixed disconnecting unwanted connection. |
8c2b4a45f17a5cb13bb01058ca37798cf48d91ba |
|
09-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Don't communicate with directors that recently sent invalid input.
Track network and protocol failures separately. If a director had sent
invalid protocol data within last 60 seconds, don't try to connect to it and
don't allow it to connect to us. |
ee3362f3b78827a2c9a7e9ddee83f5a429c06213 |
|
09-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Don't try to send the new SYNC parameter to old director versions.
This should allow adding new directors to an old director ring without
anything breaking. Once all directors have upgraded they start using the new
features. |
5f5713d6468dca1acf3d350dd8a33057331f78c5 |
|
03-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Redesigned connection handling and error handling.
Director now accepts all connections from everywhere and syncs them until
the handshaking is finished. At that point it finally decides if this is
a connection that should be used as our left/right connection, or if it
should be disconnected. This should make connecting more reliable,
especially if one of the directors sends broken handshake or has other
trouble. |
377dd19a90436b8f96902af741a3ea130bc3fe75 |
|
02-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Handle all commands during handshake.
Previously the sender might have sent these commands, but the receiver
wouldn't have handled them and instead just disconnected. |
98d5941dc28754f32432edc38578b946ba71dd0b |
|
02-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Improved error logging for handling invalid commands/parameters. |
caae18c876f81e261350e4957471efa453c0ea9f |
|
02-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: List of director connections belongs to struct director. |
f64b5bc9e73bedc63ba3c072c286542c29c69e43 |
|
02-Apr-2012 |
Timo Sirainen <tss@iki.fi> |
director: Changes to PING handling.
Use larger ping timeouts. While waiting for sync keep doing rapid pings
until the sync is finished, not just once. |
b6b9c99fefbbc662bd9a0006566133c4480bf0e8 |
|
08-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
director: Avoid user getting redirected to different servers near its expiration.
Fixes a problem when user is logging in at the same time on director1 which
thinks the user is expired, and on director2 which thinks the user expires
only in 1 second. |
aa797403d51ff047727b77d64532001d6b6cc21a |
|
07-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
director: Keep track of the highest supported protocol version in the ring. |
4f2b533808371b3b8a8187819cd4c3d90e1ca8ee |
|
07-Mar-2012 |
Timo Sirainen <tss@iki.fi> |
director: Add more info to "User hash .. is being redirected to two hosts" error. |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
433f5c9cc560a8cbff47257513d0bacb1cf250f4 |
|
17-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
director: Added timeout to syncing to make sure we don't hang if it somehow gets lost. |
fe201fb1819622ab33c51ef5a0a1f672e906b21a |
|
17-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
director: Make sure ring syncing doesn't get lost when directors get disconnected. |
152db3f90f298b7fb2dbbd4276f0fc30a9bc30f6 |
|
10-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
director: If request is timed out, log an error. |
373734a6c7027792d1fb112695a9305fcb5b057e |
|
03-Jun-2011 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fix. |
15ab2452b0220a115f4351ad9d7fd5ec70ae7966 |
|
23-May-2011 |
Timo Sirainen <tss@iki.fi> |
director: Added support for moving user to another server with "doveadm director move". |
4e43828ef88183a0750a8a374b6ba4ecf227c58f |
|
08-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
director: Improved debug/error logging. |
4c20178a7f70bfe43d252e50796013aac1d8c74a |
|
08-Apr-2011 |
Timo Sirainen <tss@iki.fi> |
director: Reset hosts' last_failed timestamps when they're suspected to be working again.
This should fix some problems during director removals and additions. |
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. |
ef44f827db33c2f8181d110802db1aebcd15120b |
|
30-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
director: Properly detect invalid command parameters in director<->director connections.
Found by Paul E. Black. |
4bc4042782c465636eff2c713bc85f5a1d773d91 |
|
02-Sep-2010 |
Timo Sirainen <tss@iki.fi> |
director: If outgoing connection dies soon, mark the host as failed to avoid immediate reconnect. |
33e39c33202b1557532baeb2497550bfb32c4491 |
|
14-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
director: Fixed handling HOST-FLUSH commands. |
2acc1162990b5be76d2b4923a0fcfcfdcdc65d10 |
|
08-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
director: Avoid "Received SYNC while already synced" error.
--HG--
branch : HEAD |
23e1e4033d311a50253259de8866525980b23227 |
|
08-Jul-2010 |
Timo Sirainen <tss@iki.fi> |
director: Make sure all director connections are deinitialized at exit.
--HG--
branch : HEAD |
0a53eb0283d7ec28c6105f61e118b96fce8ecb95 |
|
24-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
director: Lots of fixes. It should be pretty stable now.
--HG--
branch : HEAD |
0ed263dafb47a89257b778ff2211ac44cec86848 |
|
21-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
director: Don't send expired user records to remote servers.
--HG--
branch : HEAD |
03fa2d644be0a9274e7e94fb4835cc374c539264 |
|
18-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
director: Send PINGs every 15 seconds for idling director connections.
--HG--
branch : HEAD |
242abe3ad2423776e9cf05e1304eb8fda4831b23 |
|
18-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
director: A lot of fixes.
--HG--
branch : HEAD |
36a687c1ed3ce55520bdf28cd2fa1f653360068d |
|
18-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
director: If same user gets redirected to two hosts, don't crash later.
--HG--
branch : HEAD |
d935f94a88940e4639f685c662eadeba1e9a4914 |
|
18-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
director: Debug message improvements.
--HG--
branch : HEAD |
00e7c3010f7da4a49881a7feb05e413af353af0a |
|
17-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
director: Added initial testing framework and some debugging output.
--HG--
branch : HEAD |
1055d8038122c4f4190d37d98fdff6791d1306f8 |
|
17-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
director: Handle CONNECT commands (properly).
--HG--
branch : HEAD |
6ffc2a3e61636ba8ad50a3be260885bb6b041a3d |
|
17-Jun-2010 |
Timo Sirainen <tss@iki.fi> |
director: Outgoing director connections shouldn't be counted as master clients.
--HG--
branch : HEAD |
9522aa5f33cc37fe8ccd0d647cc51dd3ba6a9b55 |
|
25-May-2010 |
Timo Sirainen <tss@iki.fi> |
director: Update connection count when client disconnects.
--HG--
branch : HEAD |
5e9bb72de1209cd39fdf3e95bdb26e047cc5594e |
|
20-May-2010 |
Timo Sirainen <tss@iki.fi> |
Added doveadm director flush command for dropping user associations from memory.
This should probably mainly be used for testing.
--HG--
branch : HEAD |
cf9d67e4a9bfee31cf3be05244555d51a3d1b9fe |
|
20-May-2010 |
Timo Sirainen <tss@iki.fi> |
director: Code cleanup - keep mail hosts in a struct rather than in static variables.
--HG--
branch : HEAD |
8d63b0ab4dea920a4dd6a4469289950eef50a063 |
|
20-May-2010 |
Timo Sirainen <tss@iki.fi> |
director: Preserve old mail server state when a new director connects to ring.
--HG--
branch : HEAD |
8e1ecc6542da1e14c14e2e59d39dbccdbf68e2b5 |
|
20-May-2010 |
Timo Sirainen <tss@iki.fi> |
director: Fixes to connecting to remote director.
--HG--
branch : HEAD |
4aab01f4eade3d278b61471516c062ce30a84b5f |
|
19-May-2010 |
Timo Sirainen <tss@iki.fi> |
director: If we logged that we're delaying connections, also log when we continue.
--HG--
branch : HEAD |
dc1bc1685e4a0d58ae7bacaecc282d0ebde2d7da |
|
19-May-2010 |
Timo Sirainen <tss@iki.fi> |
Compiler warning fixes.
--HG--
branch : HEAD |
4fe3f07477bae6da3fb8d8fa9bab10ab82ada2bd |
|
19-May-2010 |
Timo Sirainen <tss@iki.fi> |
director: If connecting to director fails, try connecting to next one.
--HG--
branch : HEAD |
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fb |
|
19-May-2010 |
Timo Sirainen <tss@iki.fi> |
Added initial implementation of a director process (for NFS users).
There are still some unimplemented features and bugs. Also changing mail
server list doesn't yet make sure that other directors won't assign the
same user to a different server at the same time.
--HG--
branch : HEAD |