in src/Utilities.cs [320:356]
internal static bool IsLocalKustoConnection(KustoConnectionStringBuilder kcsb)
{
try
{
var source = kcsb.DataSource;
if (String.IsNullOrWhiteSpace(source))
{
return false;
}
var uri = new Uri(source);
var targetHost = uri.IdnHost;
var targetAddresses = System.Net.Dns.GetHostAddresses(targetHost);
var localAddresses = System.Net.Dns.GetHostAddresses(System.Net.Dns.GetHostName());
foreach (var targetAddress in targetAddresses)
{
if (System.Net.IPAddress.IsLoopback(targetAddress))
{
return true;
}
foreach (var localAddress in localAddresses)
{
if (targetAddress.Equals(localAddress))
{
return true;
}
}
}
return false;
}
catch { }
return false;
}