v2.5.6.1 - GeoIP loader fix (pre-release for #51)
Pre-release
Pre-release
v2.5.6.1 — Pre-release for issue #51 testing.
Single fix, published as a pre-release so the catalog stays on v2.5.6 stable while the reporter validates the GeoIP loader change. Not added to manifest.json — install manually if you want to test.
What's fixed
- Issue #51 (Iperalex) — Security diagnostic showed
GeoIP: Fail (ASN=False, Country=False)even with valid.mmdbfiles configured. The lazy-init inGeoIpServiceonly fired insideResolve(ip).DiagnosticsServicechecksAsnAvailable/CountryAvailablebefore anything callsResolve, andSuspiciousLoginDetectorshort-circuits on!AsnAvailable && !CountryAvailablebefore callingResolve. Result: the readers were never opened, the diagnostic stayed Fail forever, and the suspicious-login detector silently disabled itself. - Fix: the
AsnAvailable/CountryAvailablegetters now callReloadIfConfigChanged()themselves, so any caller that checks availability also gets the first-touch load.ReloadIfConfigChangedis a no-op when paths haven't changed, so steady-state per-read cost is negligible.
How to test
- Download
Jellyfin.Plugin.TwoFactorAuthv2.5.6.1.zipfrom this release. - Stop Jellyfin or unload the plugin.
- Drop the new
Jellyfin.Plugin.TwoFactorAuth.dllover the file in your existingJellyfin Security_2.5.6.0/folder. - Restart Jellyfin.
- Open the plugin → Diagnostics tab. Expect:
GeoIP: OK (ASN=True Country=True). - If it still says Fail, container logs should show
[2FA] Failed to open GeoLite2-ASN at <path>or similar — paste that into the issue.
Upgrade path
This is a pre-release. When v2.5.7 (or v2.5.6.2 stable) ships, it will bundle this fix and you should upgrade normally.