/// <inheritdoc /> public async Task <bool> CheckFileChangeAsync() { AssertFilePathSet(); if (!File.Exists(FilePath)) { throw new FileNotFoundException($"{nameof(Config)} file did not exist at path: `{FilePath}`."); } string jsonString = await File.ReadAllTextAsync(FilePath, Encoding.UTF8); var config = JsonConvert.DeserializeObject <Config>(jsonString); if (Network != config.Network) { return(true); } if (!TestNetBackendUriV3.Equals(config.TestNetBackendUriV3, StringComparison.OrdinalIgnoreCase)) { return(true); } if (!RegTestBackendUriV3.Equals(config.RegTestBackendUriV3, StringComparison.OrdinalIgnoreCase)) { return(true); } if (!MainNetBackendUriV3.Equals(config.MainNetBackendUriV3, StringComparison.OrdinalIgnoreCase)) { return(true); } if (!MainNetBlindingRsaPubKey.Equals(config.MainNetBlindingRsaPubKey, StringComparison.Ordinal)) { return(true); } if (!TestNetBlindingRsaPubKey.Equals(config.TestNetBlindingRsaPubKey, StringComparison.Ordinal)) { return(true); } if (!RegTestBlindingRsaPubKey.Equals(config.RegTestBlindingRsaPubKey, StringComparison.Ordinal)) { return(true); } if (!TorHost.Equals(config.TorHost, StringComparison.Ordinal)) { return(true); } if (TorSocks5Port != config.TorSocks5Port) { return(true); } return(false); }
public string ValidateTorHost() { if (string.IsNullOrWhiteSpace(TorHost)) { return(string.Empty); } var torHost = TorHost.Trim(); if (Uri.TryCreate(torHost, UriKind.Absolute, out var uri)) { return(string.Empty); } if (IPAddress.TryParse(torHost, out var ip)) { return(string.Empty); } return("Invalid host."); }
public string ValidateTorHost() { if (string.IsNullOrWhiteSpace(TorHost)) { return(string.Empty); } var torHost = TorHost.Trim(); if (Uri.TryCreate(torHost, UriKind.Absolute, out var uri)) { return(string.Empty); } if (IPAddress.TryParse(torHost, out var ip)) { if (ip.AddressFamily == AddressFamily.InterNetworkV6 && !Socket.OSSupportsIPv6) { return("OS does not support IPv6 addresses."); } return(string.Empty); } return("Invalid host."); }