fix geoip shenanigans
This commit is contained in:
@@ -12,7 +12,7 @@ public class GeoIPService : IHostedService
|
|||||||
private bool _useGeoIP = false;
|
private bool _useGeoIP = false;
|
||||||
private string _cityFile = string.Empty;
|
private string _cityFile = string.Empty;
|
||||||
private DatabaseReader? _dbReader;
|
private DatabaseReader? _dbReader;
|
||||||
private DateTime _dbLastWriteTime = DateTime.Now;
|
private DateTime _dbLastWriteTime = DateTime.MinValue;
|
||||||
private CancellationTokenSource _fileWriteTimeCheckCts = new();
|
private CancellationTokenSource _fileWriteTimeCheckCts = new();
|
||||||
private bool _processingReload = false;
|
private bool _processingReload = false;
|
||||||
|
|
||||||
@@ -87,8 +87,13 @@ public class GeoIPService : IHostedService
|
|||||||
|
|
||||||
var useGeoIP = _mareConfiguration.GetValueOrDefault(nameof(AuthServiceConfiguration.UseGeoIP), false);
|
var useGeoIP = _mareConfiguration.GetValueOrDefault(nameof(AuthServiceConfiguration.UseGeoIP), false);
|
||||||
var cityFile = _mareConfiguration.GetValueOrDefault(nameof(AuthServiceConfiguration.GeoIPDbCityFile), string.Empty);
|
var cityFile = _mareConfiguration.GetValueOrDefault(nameof(AuthServiceConfiguration.GeoIPDbCityFile), string.Empty);
|
||||||
var lastWriteTime = new FileInfo(cityFile).LastWriteTimeUtc;
|
DateTime lastWriteTime = DateTime.MinValue;
|
||||||
if (useGeoIP && (!string.Equals(cityFile, _cityFile, StringComparison.OrdinalIgnoreCase) || lastWriteTime != _dbLastWriteTime))
|
if (File.Exists(cityFile))
|
||||||
|
{
|
||||||
|
lastWriteTime = new FileInfo(cityFile).LastWriteTimeUtc;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (useGeoIP && (!string.Equals(cityFile, _cityFile, StringComparison.OrdinalIgnoreCase) || lastWriteTime > _dbLastWriteTime))
|
||||||
{
|
{
|
||||||
_cityFile = cityFile;
|
_cityFile = cityFile;
|
||||||
if (!File.Exists(_cityFile)) throw new FileNotFoundException($"Could not open GeoIP City Database, path does not exist: {_cityFile}");
|
if (!File.Exists(_cityFile)) throw new FileNotFoundException($"Could not open GeoIP City Database, path does not exist: {_cityFile}");
|
||||||
|
|||||||
Reference in New Issue
Block a user