aboutsummaryrefslogtreecommitdiffstats
path: root/test/rspamd_upstream_test.c
Commit message (Collapse)AuthorAgeFilesLines
* [Rework] Further types conversion (no functional changes)Vsevolod Stakhov2024-03-181-5/+5
|
* [Rework] Use clang-format to unify formatting in all sourcesVsevolod Stakhov2023-07-261-86/+85
| | | | No meaningful changes.
* [Minor] Add failure reason in the upstreams codeVsevolod Stakhov2019-11-131-2/+2
|
* [Fix] Distinguish remote and local addrs parsingVsevolod Stakhov2019-09-281-2/+4
|
* [Fix] Do not call implicit strlen to avoid issuesVsevolod Stakhov2019-09-261-2/+2
|
* [Test] Fix functional testsVsevolod Stakhov2019-06-221-13/+12
|
* [Project] First refactoring step libevent->libevVsevolod Stakhov2019-06-221-1/+1
|
* [Minor] Refactor DNS resolver invocationsVsevolod Stakhov2019-04-111-1/+1
|
* [Minor] Fix broken testVsevolod Stakhov2019-03-041-1/+1
|
* [Fix] Core: Fix address rotation bugVsevolod Stakhov2019-02-181-10/+10
| | | | | | | | | | | | | | | | | | | | | | 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] Distinguish IP failures from connection failuresVsevolod Stakhov2018-07-021-2/+2
|
* [Project] Rework rspamadm and Lua init pathVsevolod Stakhov2018-05-241-1/+1
|
* [Fix] Fix parsing IPv6 nameservers in resolv.confVsevolod Stakhov2017-06-141-1/+3
|
* Switch the rest to apache 2Vsevolod Stakhov2016-02-041-21/+11
|
* Rework upstreams libraryVsevolod Stakhov2015-12-031-19/+39
| | | | 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.
* Use new rotation logic in the codeVsevolod Stakhov2015-11-211-3/+3
|
* Rework upstreams initializationVsevolod Stakhov2015-11-201-6/+3
|
* Fix testsVsevolod Stakhov2015-11-201-6/+5
|
* Fix parsing of fixed length IP addresses.Vsevolod Stakhov2015-10-131-2/+2
|
* Reorganize includes to reduce namespace pollution.Vsevolod Stakhov2015-10-081-1/+1
|
* Rename main.h and main.c to `rspamd.X`Vsevolod Stakhov2015-09-221-1/+1
|
* Add tags to rspamd_mempool.Vsevolod Stakhov2015-08-271-1/+1
|
* Fix upstream test.Vsevolod Stakhov2015-03-141-1/+3
|
* Fix order of upstream in test rotation.Vsevolod Stakhov2015-03-121-2/+2
|
* Fix test framework.Vsevolod Stakhov2015-03-121-7/+6
|
* Rework IP addresses in upstreams.Vsevolod Stakhov2014-11-071-0/+27
| | | | | | | | | - Select ipv4/unix addresses if they exist and use ipv6 for ipv6 only upstreams (since the support of ipv6 is poor in many OSes and environments). - Free IP list on upstream destruction. - Add test cases for addresses selection. - Allow adding of free form IP addresses to upstreams.
* Improve upstream tests.Vsevolod Stakhov2014-11-031-1/+31
|
* Configure upstreams in workers.Vsevolod Stakhov2014-11-031-2/+4
|
* Add consistent hash test.Vsevolod Stakhov2014-11-021-5/+43
| | | | | | | | | | P value is calculated as following: when we add/remove M upstreams from the list, the probability of hash miss should be close to the relation N / (N + M), where N is the size of the previous upstreams list. So far, the algorithm described in http://arxiv.org/abs/1406.2294 shows p value more than 0.99.
* Some more fixes to the test.Vsevolod Stakhov2014-11-021-1/+4
|
* Add a simple upstreams test.Vsevolod Stakhov2014-11-021-0/+73