Some of the values aren't actually checked, such as:
`redis_disable_time`, `mqtt_publish_interval`, `dtx_lag`,
`dtx_delay`, `dtx_shift` and `max_dtx`.
Add consistent validation where negative values
are not meaningful.
Change-Id: Ibb6e128ec71253f4e17c1232e3c90de44ded050b
In those initialization paths (where possible)
use the `die()` alternative to the `abort()` one.
`die()` gives an explanatory message,
which is friendlier for configuration/startup failures.
Change-Id: I5d79c26925cf3adaebf83dd6bcac756418745275
The `fill_initial_rtpe_cfg()` func doesn't copy
`RTPE_CONFIG_STR_PARAMS` and `RTPE_CONFIG_CHARPP_PARAMS`,
even though the `unfill_initial_rtpe_cfg()` func frees them.
Globally it starts zeroed and this may never crash,
but then the snapshot is still incomplete.
Change-Id: I448ee6f8b9a22ad066bb57a9acd14134b7a71869
When failing to read the transcode config
for the destiantion codec, log accordingly the destination codec,
not the source one.
Change-Id: I1211cde6e1d055169e809e8a49c6f88b0028e3ec
Resolve file name conflicts between different components
Ensure shared log levels are identical across components
Encapsulates lib/*
Change-Id: If848d6fa0e4cd8eac88ce9e63ee77fc5a7a481fd
When parsing the config validate general
and per-iface port ranges:
- port min < port max
- 1 < port-min and port-max < 65535
Change-Id: I9f336e51f9bb32dcccee965d51dc552f86934fe3
The documented behavior is:
- if not set at all, set to 180s by default
- if set to 0, then will be ignored in media player
- if set to > 0, then will be used to set the value
Current code is inconsistent, 0 is always reset to 180s,
hence 0 value can never lead to ignoring.
Only reset to 180s the `-1` (default value, means never parsed).
Also clarify a little bit more the description of the option.
Change-Id: I5c3e63ffaca6271424783eeba828578e54c819e5
Check that `silence_detect` is in the range 0-100.
Also properly cast to actual `silence_detect_int` type which
is `uint32_t`.
The reason is that in the current code this can exceed `INT_MAX`
(for values near or above 50%) and also, values above 100% are not rejected.
Change-Id: Ic2359402879412926b18125e292c1969cda45203
Since this is parsed as type int, potentially can be given as -1.
Hence don't accept the range < 0 and > 2.
Change-Id: I8cdbf6e7626ec89bcd287742ddfbd49a3e1a3c90
In case when parsing fails in `redis_ep_parse()`
and it returns -1, we never de-allocate the actually
duplicated strings before (using `g_strdup()`).
For example with redis subscribe, where we have a fallback,
will leak and overwrite previous allocations.
So just free what's been allocated on the failure case.
Change-Id: I340f8998de9de80342f293c669719bea7c3a2a97
Already used by `--no-fallback`, so the rest just probably
inherited the same letter when doing copy-paste.
That is ambiguous and may cause option parsing conflicts.
Keep `F` only for the historical(most important) option
and set the rest to 0.
Change-Id: I6e4841f6e6614bfdfcf53d159130d6d676073d47
Instead of having to manually disable legacy iptables support, auto
detect presence of libiptc and only include the feature if present.
Closes#2045
Change-Id: I649320727e9e9a565eabd369c683dfe6b6bdaec1
Fixes:
main.c: In function ‘options’:
main.c:1055:9: warning: ‘static’ is not at beginning of declaration [-Wold-style-declaration]
1055 | const static size_t max_buf_size =
| ^~~~~
Change-Id: I500785e712d94ff0969317edf3d7a256dc4e3182
These are normally held per thread, but in cases of threads not having
dedicated init/cleanup functions (GLib thread pool), we can use a global
one as fallback.
Fixes#1936
Change-Id: Ia2ff3523e6079baa73e0721862100ec2f8b66c88