The issue is that `rspamd_http_message_get_http_host` actually returns
non zero-terminated string in the case where `Host` header is found in a
message. Hence, we *cannot* treat it as a zero terminated string.
The proper approach is to use `rspamd_ftok_t` everywhere for strings
but the change will be too intrusive, since it also involves many libraries,
e.g. `rdns` and others.
The current approach is much simplier: just copy a string into a temporary
buffer ensuring that it is zero terminated in all the cases.
Issue: #4051
[Enhancement] Add rspamadm configdump option --symbol-detail which provides a consolidated output of every setting for a symbol across all configuration locations.
--raw flag now means raw **input**, and there is a special flag to emit
reply in ucl. Previously, `--raw` and `--ucl` had the same meaning which
was stupid. Now `--raw` is an input flag whilst `--ucl` is an output flag
as intended.
[Minor] Remove sequential algorithm as it is not actually a rotation alg
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
[Rework] Timeouts are now global per event and not reseted by IO activity
This actually reproduces old libevent behaviour and it was changed by a big design mistake.
We really want IO timeouts to be fired for the whole set of subsequent events, otherwise it should be
designed in a more configurable way...