lameNameCheck config
parent
3cf6d739a6
commit
28faf036e7
|
@ -217,6 +217,7 @@ security {
|
|||
recaptcha = ${recaptcha}
|
||||
mailgun = ${mailgun}
|
||||
ipintel.email = "-"
|
||||
lame_name_check = true
|
||||
}
|
||||
oauth {
|
||||
mongodb {
|
||||
|
|
|
@ -58,5 +58,6 @@ object config {
|
|||
|
||||
def strLoader[A](f: String => A): ConfigLoader[A] = ConfigLoader(_.getString) map f
|
||||
def intLoader[A](f: Int => A): ConfigLoader[A] = ConfigLoader(_.getInt) map f
|
||||
def boolLoader[A](f: Boolean => A): ConfigLoader[A] = ConfigLoader(_.getBoolean) map f
|
||||
def durationLoader[A](f: FiniteDuration => A): ConfigLoader[A] = ConfigLoader(_.duration) map f
|
||||
}
|
||||
|
|
|
@ -12,7 +12,8 @@ final class DataForm(
|
|||
userRepo: UserRepo,
|
||||
val captcher: lila.hub.actors.Captcher,
|
||||
authenticator: lila.user.Authenticator,
|
||||
emailValidator: EmailAddressValidator
|
||||
emailValidator: EmailAddressValidator,
|
||||
lameNameCheck: LameNameCheck
|
||||
) extends lila.hub.CaptchedForm {
|
||||
|
||||
import DataForm._
|
||||
|
@ -61,7 +62,7 @@ final class DataForm(
|
|||
regex = User.newUsernameChars,
|
||||
error = "usernameCharsInvalid"
|
||||
)
|
||||
).verifying("usernameUnacceptable", u => !LameName.username(u))
|
||||
).verifying("usernameUnacceptable", u => !lameNameCheck.value || !LameName.username(u))
|
||||
.verifying("usernameAlreadyUsed", u => !userRepo.nameExists(u).awaitSeconds(4))
|
||||
|
||||
private val agreementBool = boolean.verifying(b => b)
|
||||
|
|
|
@ -24,7 +24,8 @@ private final class SecurityConfig(
|
|||
@ConfigName("check_mail_api") val checkMail: CheckMail,
|
||||
val recaptcha: Recaptcha.Config,
|
||||
val mailgun: Mailgun.Config,
|
||||
@ConfigName("ipintel.email") val ipIntelEmail: EmailAddress
|
||||
@ConfigName("ipintel.email") val ipIntelEmail: EmailAddress,
|
||||
@ConfigName("lame_name_check") val lameNameCheck: LameNameCheck
|
||||
)
|
||||
|
||||
private object SecurityConfig {
|
||||
|
@ -67,5 +68,7 @@ private object SecurityConfig {
|
|||
)
|
||||
implicit val checkMailLoader = AutoConfig.loader[CheckMail]
|
||||
|
||||
implicit val lameNameCheckLoader = boolLoader(LameNameCheck.apply)
|
||||
|
||||
implicit val loader = AutoConfig.loader[SecurityConfig]
|
||||
}
|
||||
|
|
|
@ -29,6 +29,8 @@ case class IpAndFp(ip: IpAddress, fp: Option[String], user: User.ID)
|
|||
|
||||
case class RecaptchaPublicConfig(key: String, enabled: Boolean)
|
||||
|
||||
case class LameNameCheck(value: Boolean) extends AnyVal
|
||||
|
||||
case class Signup(
|
||||
user: User,
|
||||
email: EmailAddress,
|
||||
|
|
Loading…
Reference in New Issue