private bool WithinDomain(String testDomain, String domain)
{
String tempDomain = domain;
if (tempDomain.StartsWith("."))
{
tempDomain = tempDomain.Substring(1);
}
String[] domainParts = tempDomain.Split('.'); // Strings.split(tempDomain, '.');
String[] testDomainParts = testDomain.Split('.'); // Strings.split(testDomain, '.');
// must have at least one subdomain
if (testDomainParts.Length <= domainParts.Length)
{
return false;
}
int d = testDomainParts.Length - domainParts.Length;
for (int i = -1; i < domainParts.Length; i++)
{
if (i == -1)
{
if (testDomainParts[i + d].Equals(""))
{
return false;
}
}
else if (!(Platform.CompareIgnoreCase(testDomainParts[i + d], domainParts[i]) == 0))
{
return false;
}
}
return true;
}