(subdomains []subdomain, origin string)
| 46 | } |
| 47 | |
| 48 | func matchSubdomainOrigin(subdomains []subdomain, origin string) bool { |
| 49 | if len(subdomains) == 0 { |
| 50 | return false |
| 51 | } |
| 52 | |
| 53 | isValid, normalizedOrigin := normalizeOrigin(origin) |
| 54 | if !isValid || normalizedOrigin != origin { |
| 55 | return false |
| 56 | } |
| 57 | |
| 58 | for _, sub := range subdomains { |
| 59 | if sub.matchNormalized(origin) { |
| 60 | return true |
| 61 | } |
| 62 | } |
| 63 | |
| 64 | return false |
| 65 | } |
| 66 | |
| 67 | func (s subdomain) matchNormalized(o string) bool { |
| 68 | // Not a subdomain if not long enough for a dot separator. |