EVE DNS logger defaults to version 2 instead of version when version not specified.
To support backward configuration file compatibility, the EVE DNS logger should default to v1 style logging if the version parameter is not supplied.
This is true for 4.1.5 when compiled without Rust. But when compiled with Rust (and including 5.0rc1), it will default to v2 output. This is due to the Rust implementation not initially having v1 output support.
Victor Julien wrote:
So this only shows in 4.1.x+rust (experimental) and 5.0rc (experimental)? Asking because if it already is in a supported version / build config, then changing it may have too many side effects.
Probably a game of numbers then.
Will we have more people who are on an upgrade path of 4.0, 4.1 (with Rust) to 5.0? These are the people that will be affected, if they didn't noticed already and haven't tweaked their config. They will silently drop back to v1. If they skipped 4.1, they won't notice.
Or will there be more people upgrading from 4.1.x w/Rust to 5.0? These people will be less affected. If they did a fresh install, they will have the version set and will never see this issue. Or they did not have the version set and didn't noticed.
Its tricky to balance, but defaulting to v2 should probably be considered a real bug. I'm just surprised it went unnoticed (unreported) for this long.
Hmm.. Its a bit of a matrix.
4.1.5 configuration users should NOT be affected. The version was explicitly set there, and v1 section removed from the default configuration.
4.0 configuration users who upgraded to 4.1 w/Rust --> affected, forced to v2 logging.
4.0 configuration users who upgraded to 4.1 wo/Rust -> not affected, stayed on v1 logging.
5.0 has the same result as 4.1 w/Rust.
if version == 1: set_log_version(1) elif version == 2: set_log_version(2) else (undefined): if rust: set_log_version(2) else: set_log_version(1)