mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-04 20:45:58 +01:00
Default system keystore is in: $JAVA_HOME/lib/security/jssecacerts or in: $JAVA_HOME/lib/security/cacerts Custom keystore can be set either in /etc/sysconfig/gitbucket by specifying the following option: GITBUCKET_JVM_OPTS="-Djavax.net.ssl.trustStore=/path/to/your/cacerts" or in Gitbucket's System Settings.
54 lines
2.6 KiB
Scala
54 lines
2.6 KiB
Scala
package app
|
|
|
|
import service.{AccountService, SystemSettingsService}
|
|
import SystemSettingsService._
|
|
import util.AdminAuthenticator
|
|
import jp.sf.amateras.scalatra.forms._
|
|
import org.scalatra.FlashMapSupport
|
|
|
|
class SystemSettingsController extends SystemSettingsControllerBase
|
|
with SystemSettingsService with AccountService with AdminAuthenticator
|
|
|
|
trait SystemSettingsControllerBase extends ControllerBase with FlashMapSupport {
|
|
self: SystemSettingsService with AccountService with AdminAuthenticator =>
|
|
|
|
private val form = mapping(
|
|
"allowAccountRegistration" -> trim(label("Account registration", boolean())),
|
|
"gravatar" -> trim(label("Gravatar", boolean())),
|
|
"notification" -> trim(label("Notification", boolean())),
|
|
"smtp" -> optionalIfNotChecked("notification", mapping(
|
|
"host" -> trim(label("SMTP Host", text(required))),
|
|
"port" -> trim(label("SMTP Port", optional(number()))),
|
|
"user" -> trim(label("SMTP User", optional(text()))),
|
|
"password" -> trim(label("SMTP Password", optional(text()))),
|
|
"ssl" -> trim(label("Enable SSL", optional(boolean()))),
|
|
"fromAddress" -> trim(label("FROM Address", optional(text()))),
|
|
"fromName" -> trim(label("FROM Name", optional(text())))
|
|
)(Smtp.apply)),
|
|
"ldapAuthentication" -> trim(label("LDAP", boolean())),
|
|
"ldap" -> optionalIfNotChecked("ldapAuthentication", mapping(
|
|
"host" -> trim(label("LDAP host", text(required))),
|
|
"port" -> trim(label("LDAP port", optional(number()))),
|
|
"bindDN" -> trim(label("Bind DN", optional(text()))),
|
|
"bindPassword" -> trim(label("Bind Password", optional(text()))),
|
|
"baseDN" -> trim(label("Base DN", text(required))),
|
|
"userNameAttribute" -> trim(label("User name attribute", text(required))),
|
|
"mailAttribute" -> trim(label("Mail address attribute", text(required))),
|
|
"tls" -> trim(label("Enable TLS", optional(boolean()))),
|
|
"keystore" -> trim(label("Keystore", optional(text())))
|
|
)(Ldap.apply))
|
|
)(SystemSettings.apply)
|
|
|
|
|
|
get("/admin/system")(adminOnly {
|
|
admin.html.system(loadSystemSettings(), flash.get("info"))
|
|
})
|
|
|
|
post("/admin/system", form)(adminOnly { form =>
|
|
saveSystemSettings(form)
|
|
flash += "info" -> "System settings has been updated."
|
|
redirect("/admin/system")
|
|
})
|
|
|
|
}
|