summaryrefslogtreecommitdiffstats
path: root/src/libutil/upstream.c
Commit message (Collapse)AuthorAgeFilesLines
* [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
|
* [Feature] Properly implement unweighted round-robin algorithmVsevolod Stakhov2016-07-191-17/+36
|
* [Fix] Fix adding upstream to an active queueVsevolod Stakhov2016-06-241-1/+0
|
* [Fix] Try to fix upstreams with one elementVsevolod Stakhov2016-06-231-2/+5
|
* [Fix] Another fix for marking upstreams inactiveVsevolod Stakhov2016-06-231-53/+71
|
* [Fix] Fix errors counting in upstreamsVsevolod Stakhov2016-06-231-6/+9
|
* [Fix] Fix round-robin selection when upstreams have no weightVsevolod Stakhov2016-06-231-0/+9
|
* [Feature] New abstract hashing API in cryptoboxVsevolod Stakhov2016-05-101-2/+3
|
* [Feature] Add workaround for master-slave definitionsVsevolod Stakhov2016-03-151-0/+8
|
* [Feature] Allow forced and non-forced upstreams selectionVsevolod Stakhov2016-03-151-4/+25
|
* [Fix] Fix parsing upstreams from UCLVsevolod Stakhov2016-03-151-9/+8
|
* [Feature] Allow iterating over upstreamsVsevolod Stakhov2016-03-151-0/+15
|
* [Feature] Add flags and opaque data to upstreamsVsevolod Stakhov2016-03-151-4/+29
|
* Fix couple of issues found by gcc-6Vsevolod Stakhov2016-02-161-1/+2
|
* Refactor UCL APIVsevolod Stakhov2016-02-161-1/+1
|
* Switch the rest to apache 2Vsevolod Stakhov2016-02-041-21/+12
|
* Fix names for parsed addressesVsevolod Stakhov2016-01-241-1/+1
|
* Rework upstreams libraryVsevolod Stakhov2015-12-031-34/+72
| | | | Now each address has its own errors count, so rspamd will prefer upstream addrs with no errors to addrs with errors. This might help to resolve issues on systems where ipv6 does not work.
* Fix some memory issuesVsevolod Stakhov2015-11-231-1/+1
|
* Do not reresolve upstreams with no resolver definedVsevolod Stakhov2015-11-231-1/+1
|
* Test for atomic ops.Vsevolod Stakhov2015-11-231-0/+2
|
* Add rspamd_upstream_reresolve routine.Vsevolod Stakhov2015-11-221-45/+92
|
* Use context variables instead of default onesVsevolod Stakhov2015-11-221-11/+14
|