move to plain text disposable email domains list

pull/2238/merge
Thibault Duplessis 2016-09-11 15:01:02 +02:00
parent ec29ac4d52
commit 8058ba1628
2 changed files with 4 additions and 6 deletions

View File

@ -253,7 +253,7 @@ security {
refresh_delay = 1 hour
}
disposable_email {
provider_url = "https://raw.githubusercontent.com/ornicar/disposable-email-domains/master/index.json"
provider_url = "https://raw.githubusercontent.com/ornicar/disposable-email-domains/master/list"
refresh_delay = 10 minutes
}
recaptcha = ${recaptcha}

View File

@ -1,6 +1,5 @@
package lila.security
import play.api.libs.json._
import play.api.libs.ws.WS
import play.api.Play.current
@ -14,7 +13,7 @@ final class DisposableEmailDomain(
private[security] def refresh {
WS.url(providerUrl).get() map { res =>
setDomains(res.json)
setDomains(res.body.lines.map(_.trim).filter(_.nonEmpty).toList)
lila.mon.email.disposableDomain(matchers.size)
} recover {
case _: java.net.ConnectException => // ignore network errors
@ -22,9 +21,8 @@ final class DisposableEmailDomain(
}
}
private[security] def setDomains(json: JsValue): Unit = try {
val ds = json.as[List[String]]
matchers = ds.map { d =>
private[security] def setDomains(domains: List[String]): Unit = try {
matchers = domains.map { d =>
val regex = s"""(.+\\.|)${d.replace(".", "\\.")}"""
makeMatcher(regex)
}