aboutsummaryrefslogtreecommitdiffstats
path: root/src/libutil/upstream.c
Commit message (Collapse)AuthorAgeFilesLines
* [Rework] Try to resolve failed upstreams more agressivelyVsevolod Stakhov2021-03-251-22/+54
|
* [Fix] Fix round-robin rotationVsevolod Stakhov2021-02-181-1/+8
|
* [Feature] Support multiple base32 alphabetsVsevolod Stakhov2020-04-091-2/+2
|
* [Fix] Fix listen socket parsingVsevolod Stakhov2020-02-251-0/+1
| | | | Issue: #3254
* [Project] Support mempool flagsVsevolod Stakhov2019-12-231-1/+1
|
* [Minor] Add failure reason in the upstreams codeVsevolod Stakhov2019-11-131-8/+26
|
* [Minor] Sequential upstreams iteration is specialVsevolod Stakhov2019-11-091-1/+1
|
* [Feature] Allow exception when choosing upstreamVsevolod Stakhov2019-11-081-22/+53
|
* [Minor] Improve loggingVsevolod Stakhov2019-11-071-9/+10
| | | | Submitted by: @citrin
* [Minor] Fix C stupidityVsevolod Stakhov2019-11-011-14/+21
|
* [Fix] Allow real upstreams configurationVsevolod Stakhov2019-11-011-50/+54
|
* [Minor] Improve logging for upstream failureVsevolod Stakhov2019-11-011-28/+46
|
* [Fix] Fix upstreams exclusion logicVsevolod Stakhov2019-10-311-6/+8
|
* [Fix] Fix consistent hashing when upstreams are marked inactiveVsevolod Stakhov2019-10-301-37/+91
| | | | | | | The idea is to rehash the value when we found that the current upstream is dead and apply consistent hashing algorithm multiple times. This is limited by number of attempts (we try 10 times before giving up). Also cleanup locking stuff.
* [Project] Some fixes in SRV records handlingVsevolod Stakhov2019-10-011-5/+16
|
* [Project] Start SRV upstreams implementationVsevolod Stakhov2019-10-011-26/+225
|
* [Fix] Distinguish remote and local addrs parsingVsevolod Stakhov2019-09-281-1/+2
|
* [Minor] Add special assertions to avoid upstreams corruptionVsevolod Stakhov2019-08-291-0/+2
|
* [Fix] Fix pending checks for eventsVsevolod Stakhov2019-08-291-5/+5
|
* [Minor] Fix dns servers upstreamsVsevolod Stakhov2019-07-261-0/+1
|
* [Feature] Upstreams: Set noresolve flag on numeric upstreamsVsevolod Stakhov2019-07-261-87/+129
|
* [Feature] Upstreams: Add lazy resolving logic to all upstreamsVsevolod Stakhov2019-07-261-2/+79
|
* [Project] Make it compileable again...Vsevolod Stakhov2019-06-221-3/+1
|
* [Project] Rework upstreamsVsevolod Stakhov2019-06-221-15/+13
|
* [Project] First refactoring step libevent->libevVsevolod Stakhov2019-06-221-2/+2
|
* [Minor] Pass variables from the environment to rspamd_envVsevolod Stakhov2019-03-271-8/+5
|
* [Project] Preliminary support of HTTP proxiesVsevolod Stakhov2019-03-181-23/+29
| | | | Issue: #572
* [Project] Allow to hash and compare inet addresses considering portVsevolod Stakhov2019-03-041-1/+1
|
* [Minor] Oops, fix typeVsevolod Stakhov2019-02-181-1/+5
|
* [Fix] Core: Fix address rotation bugVsevolod Stakhov2019-02-181-1/+7
| | | | | | | | | | | | | | | | | | | | | | Previously, upstream.get_addr function returned the new address of the upstream. Unfortunately, it was used for printing addresses. It caused the following situation: let's imagine we have A1 and A2 where A1 was initially selected. So the connection was performed to A1: Current addr Selected addr Connect+---------+ A2+------>A1 A1 | +-+Print failure<---+ A1+------>A2 A2 | +----+ +->Mark failure+-------->+ A2 | +----+ But the failure OP as well as log message told about `A2` where the real problem happened with `A1`. This commit adds distinguishing between getting the next and the current address of the upstream resolving this issue.
* [Feature] Allow to add upstream watchers to Lua APIVsevolod Stakhov2018-12-051-0/+6
|
* [Feature] Implement event watchers for upstreamsVsevolod Stakhov2018-12-041-2/+68
|
* [Minor] Allow to create upstreams without a contextVsevolod Stakhov2018-10-231-1/+12
|
* [Feature] Allow to set custom limits for upstream listsVsevolod Stakhov2018-10-231-24/+68
|
* [Minor] Fix event pending checksVsevolod Stakhov2018-10-061-1/+1
|
* [Feature] Distinguish IP failures from connection failuresVsevolod Stakhov2018-07-021-5/+7
|
* [Minor] Allow to create upstream lists without rspamd_configVsevolod Stakhov2018-02-151-21/+37
|
* [Fix] Fix upstream addrs updatingVsevolod Stakhov2018-01-161-4/+4
|
* [Minor] Save nameserver name when parsing upstreams from resolv.confVsevolod Stakhov2017-11-261-1/+1
|
* [Minor] Add probabilistic reset of errors in upstream addrsVsevolod Stakhov2017-11-261-2/+7
|
* [Fix] Delay upstream re-resolving when one upstream is definedVsevolod Stakhov2017-11-261-11/+13
|
* [Fix] Do not constantly re-resolve failed upstreams with a singleVsevolod Stakhov2017-11-261-13/+35
| | | | element
* [Minor] Further g_slice cleanupVsevolod Stakhov2017-10-281-10/+10
|
* [Fix] Fix parsing IPv6 nameservers in resolv.confVsevolod Stakhov2017-06-141-6/+38
|
* [Minor] Add some auxiliary functions for upstreamsVsevolod Stakhov2017-05-151-1/+16
|
* [Fix] Reresolve upstreams even if there is a single server thereVsevolod Stakhov2017-05-151-47/+35
|
* [Minor] Refactor destroy -> freeVsevolod Stakhov2017-04-291-2/+2
|
* [Fix] Some more memory issues are fixedVsevolod Stakhov2017-01-191-1/+0
|
* [Fix] Further memory leaks fixesVsevolod Stakhov2017-01-181-3/+6
|
* [Fix] More leaks...Vsevolod Stakhov2017-01-181-3/+5
|