Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [Feature] Improve address rotation algorithm | Vsevolod Stakhov | 2024-12-07 | 1 | -7/+49 |
| | | | | | | | | We apply the following algorithm: 1) Get the current element and it's AF 2) If the next element has the same AF, then we just move to the next element 3) If the next element has different AF, then we should find the next element with the same AF 4) If we cannot find such element, then we return the next element (switching AF) | ||||
* | [Feature] Make min_resolve_interval configurable | Vsevolod Stakhov | 2024-06-08 | 1 | -5/+18 |
| | |||||
* | [Rework] Further types conversion (no functional changes) | Vsevolod Stakhov | 2024-03-18 | 1 | -91/+91 |
| | |||||
* | [Rework] Remove some of the GLib types in lieu of standard ones | Vsevolod Stakhov | 2024-03-18 | 1 | -7/+7 |
| | | | | This types have constant conflicts with the system ones especially on OSX. | ||||
* | [Fix] Do not pollute public headers with libev internals | Vsevolod Stakhov | 2023-09-13 | 1 | -3/+4 |
| | |||||
* | [Rework] Use clang-format to unify formatting in all sources | Vsevolod Stakhov | 2023-07-26 | 1 | -556/+555 |
| | | | | No meaningful changes. | ||||
* | [Fix] Upstreams: Don't ignore revive_time config option | Anton Yuzhaninov | 2022-06-29 | 1 | -1/+1 |
| | |||||
* | [Minor] Allow to specify mempool when copying an IP address structure | Vsevolod Stakhov | 2022-03-20 | 1 | -1/+1 |
| | |||||
* | Spelling (#4086) | Josh Soref | 2022-02-22 | 1 | -1/+1 |
| | | | [Rework] Massive spelling fix from @jsoref | ||||
* | [Minor] Off by one | Vsevolod Stakhov | 2022-02-08 | 1 | -1/+2 |
| | |||||
* | [Minor] Fix a corner case | Vsevolod Stakhov | 2022-02-07 | 1 | -1/+1 |
| | |||||
* | [CritFix] Fix upstreams name resolution when there is also a port | Vsevolod Stakhov | 2022-02-07 | 1 | -3/+29 |
| | | | | | | | | This fix is intended to address the case when Rspamd queries for a hostname with a port part when re-resolving upstreams addresses via the upstreams module. Found by: @slavkoja Confirmed by: @moisseev | ||||
* | [Minor] Remove sequential algorithm as it is not actually a rotation alg | Vsevolod Stakhov | 2022-01-18 | 1 | -4/+0 |
| | | | | | | | Sequential rotation was used just to rotate all upstreams in the loop (e.g. when you need to do some action for all upstreams). Allowing to specify it as a user defined algorithm was a mistake as it breaks upstreams API expectations. See #4043 | ||||
* | [Minor] Allow to get a port for a specific upstream | Vsevolod Stakhov | 2021-11-07 | 1 | -0/+9 |
| | |||||
* | [Minor] Add one more check for use-after-free prevention | Vsevolod Stakhov | 2021-09-13 | 1 | -2/+2 |
| | |||||
* | [Minor] Allow to capture upstream object | Vsevolod Stakhov | 2021-09-13 | 1 | -0/+13 |
| | |||||
* | [Rework] Try to resolve failed upstreams more agressively | Vsevolod Stakhov | 2021-03-25 | 1 | -22/+54 |
| | |||||
* | [Fix] Fix round-robin rotation | Vsevolod Stakhov | 2021-02-18 | 1 | -1/+8 |
| | |||||
* | [Feature] Support multiple base32 alphabets | Vsevolod Stakhov | 2020-04-09 | 1 | -2/+2 |
| | |||||
* | [Fix] Fix listen socket parsing | Vsevolod Stakhov | 2020-02-25 | 1 | -0/+1 |
| | | | | Issue: #3254 | ||||
* | [Project] Support mempool flags | Vsevolod Stakhov | 2019-12-23 | 1 | -1/+1 |
| | |||||
* | [Minor] Add failure reason in the upstreams code | Vsevolod Stakhov | 2019-11-13 | 1 | -8/+26 |
| | |||||
* | [Minor] Sequential upstreams iteration is special | Vsevolod Stakhov | 2019-11-09 | 1 | -1/+1 |
| | |||||
* | [Feature] Allow exception when choosing upstream | Vsevolod Stakhov | 2019-11-08 | 1 | -22/+53 |
| | |||||
* | [Minor] Improve logging | Vsevolod Stakhov | 2019-11-07 | 1 | -9/+10 |
| | | | | Submitted by: @citrin | ||||
* | [Minor] Fix C stupidity | Vsevolod Stakhov | 2019-11-01 | 1 | -14/+21 |
| | |||||
* | [Fix] Allow real upstreams configuration | Vsevolod Stakhov | 2019-11-01 | 1 | -50/+54 |
| | |||||
* | [Minor] Improve logging for upstream failure | Vsevolod Stakhov | 2019-11-01 | 1 | -28/+46 |
| | |||||
* | [Fix] Fix upstreams exclusion logic | Vsevolod Stakhov | 2019-10-31 | 1 | -6/+8 |
| | |||||
* | [Fix] Fix consistent hashing when upstreams are marked inactive | Vsevolod Stakhov | 2019-10-30 | 1 | -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 handling | Vsevolod Stakhov | 2019-10-01 | 1 | -5/+16 |
| | |||||
* | [Project] Start SRV upstreams implementation | Vsevolod Stakhov | 2019-10-01 | 1 | -26/+225 |
| | |||||
* | [Fix] Distinguish remote and local addrs parsing | Vsevolod Stakhov | 2019-09-28 | 1 | -1/+2 |
| | |||||
* | [Minor] Add special assertions to avoid upstreams corruption | Vsevolod Stakhov | 2019-08-29 | 1 | -0/+2 |
| | |||||
* | [Fix] Fix pending checks for events | Vsevolod Stakhov | 2019-08-29 | 1 | -5/+5 |
| | |||||
* | [Minor] Fix dns servers upstreams | Vsevolod Stakhov | 2019-07-26 | 1 | -0/+1 |
| | |||||
* | [Feature] Upstreams: Set noresolve flag on numeric upstreams | Vsevolod Stakhov | 2019-07-26 | 1 | -87/+129 |
| | |||||
* | [Feature] Upstreams: Add lazy resolving logic to all upstreams | Vsevolod Stakhov | 2019-07-26 | 1 | -2/+79 |
| | |||||
* | [Project] Make it compileable again... | Vsevolod Stakhov | 2019-06-22 | 1 | -3/+1 |
| | |||||
* | [Project] Rework upstreams | Vsevolod Stakhov | 2019-06-22 | 1 | -15/+13 |
| | |||||
* | [Project] First refactoring step libevent->libev | Vsevolod Stakhov | 2019-06-22 | 1 | -2/+2 |
| | |||||
* | [Minor] Pass variables from the environment to rspamd_env | Vsevolod Stakhov | 2019-03-27 | 1 | -8/+5 |
| | |||||
* | [Project] Preliminary support of HTTP proxies | Vsevolod Stakhov | 2019-03-18 | 1 | -23/+29 |
| | | | | Issue: #572 | ||||
* | [Project] Allow to hash and compare inet addresses considering port | Vsevolod Stakhov | 2019-03-04 | 1 | -1/+1 |
| | |||||
* | [Minor] Oops, fix type | Vsevolod Stakhov | 2019-02-18 | 1 | -1/+5 |
| | |||||
* | [Fix] Core: Fix address rotation bug | Vsevolod Stakhov | 2019-02-18 | 1 | -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 API | Vsevolod Stakhov | 2018-12-05 | 1 | -0/+6 |
| | |||||
* | [Feature] Implement event watchers for upstreams | Vsevolod Stakhov | 2018-12-04 | 1 | -2/+68 |
| | |||||
* | [Minor] Allow to create upstreams without a context | Vsevolod Stakhov | 2018-10-23 | 1 | -1/+12 |
| | |||||
* | [Feature] Allow to set custom limits for upstream lists | Vsevolod Stakhov | 2018-10-23 | 1 | -24/+68 |
| |