1
0
mirror of https://github.com/bitwarden/mobile synced 2026-01-08 03:23:23 +00:00

parse IP addresses as base domains

This commit is contained in:
Kyle Spearrin
2017-09-06 23:08:24 -04:00
parent 8922459418
commit f5dd91afe5
4 changed files with 33 additions and 17 deletions

View File

@@ -78,11 +78,12 @@ namespace Bit.App.Services
}
Uri uri = null;
DomainName domainName = null;
string domainName = null;
var androidApp = UriIsAndroidApp(uriString);
if(!androidApp &&
(!Uri.TryCreate(uriString, UriKind.Absolute, out uri) || !DomainName.TryParse(uri.Host, out domainName)))
(!Uri.TryCreate(uriString, UriKind.Absolute, out uri) ||
!DomainName.TryParseBaseDomain(uri.Host, out domainName)))
{
return null;
}
@@ -104,7 +105,7 @@ namespace Bit.App.Services
matchingFuzzyDomains.AddRange(eqDomain.Select(d => d).ToList());
}
}
else if(Array.IndexOf(eqDomain, domainName.BaseDomain) >= 0)
else if(Array.IndexOf(eqDomain, domainName) >= 0)
{
matchingDomains.AddRange(eqDomain.Select(d => d).ToList());
}
@@ -112,7 +113,7 @@ namespace Bit.App.Services
if(!matchingDomains.Any())
{
matchingDomains.Add(androidApp ? uriString : domainName.BaseDomain);
matchingDomains.Add(androidApp ? uriString : domainName);
}
if(androidApp && androidAppWebUriString != null &&
@@ -156,18 +157,18 @@ namespace Bit.App.Services
}
Uri loginUri;
DomainName loginDomainName;
string loginDomainName = null;
if(!Uri.TryCreate(loginUriString, UriKind.Absolute, out loginUri)
|| !DomainName.TryParse(loginUri.Host, out loginDomainName))
|| !DomainName.TryParseBaseDomain(loginUri.Host, out loginDomainName))
{
continue;
}
if(Array.IndexOf(matchingDomainsArray, loginDomainName.BaseDomain) >= 0)
if(Array.IndexOf(matchingDomainsArray, loginDomainName) >= 0)
{
matchingLogins.Add(new Login(login));
}
else if(androidApp && Array.IndexOf(matchingFuzzyDomainsArray, loginDomainName.BaseDomain) >= 0)
else if(androidApp && Array.IndexOf(matchingFuzzyDomainsArray, loginDomainName) >= 0)
{
matchingFuzzyLogins.Add(new Login(login));
}