diff options
author | Maxim Tkachenko <maxim.tkachenko@gmail.com> | 2019-10-14 22:24:26 +0700 |
---|---|---|
committer | zeripath <art27@cantab.net> | 2019-10-14 16:24:26 +0100 |
commit | db657192d0349f7b10a62515fbf085d3a48d88f9 (patch) | |
tree | d298b9b2c487af61dc399774e67dcb3440add9c2 /modules/setting/setting.go | |
parent | f9aba9ba0f07b77cb46dde6eda3c3f5b8fa841fe (diff) | |
download | gitea-db657192d0349f7b10a62515fbf085d3a48d88f9.tar.gz gitea-db657192d0349f7b10a62515fbf085d3a48d88f9.zip |
Password Complexity Checks (#6230)
Add password complexity checks. The default settings require a lowercase, uppercase, number and a special character within passwords.
Co-Authored-By: T-M-A <maxim.tkachenko@gmail.com>
Co-Authored-By: Lanre Adelowo <adelowomailbox@gmail.com>
Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>
Co-Authored-By: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'modules/setting/setting.go')
-rw-r--r-- | modules/setting/setting.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/setting/setting.go b/modules/setting/setting.go index 8c61bdbb77..278ed4b107 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -146,6 +146,7 @@ var ( MinPasswordLength int ImportLocalPaths bool DisableGitHooks bool + PasswordComplexity map[string]string PasswordHashAlgo string // UI settings @@ -774,6 +775,27 @@ func NewContext() { InternalToken = loadInternalToken(sec) + var dictPC = map[string]string{ + "lower": "[a-z]+", + "upper": "[A-Z]+", + "digit": "[0-9]+", + "spec": `][ !"#$%&'()*+,./:;<=>?@\\^_{|}~` + "`-", + } + PasswordComplexity = make(map[string]string) + cfgdata := sec.Key("PASSWORD_COMPLEXITY").Strings(",") + for _, y := range cfgdata { + ts := strings.TrimSpace(y) + for a := range dictPC { + if strings.ToLower(ts) == a { + PasswordComplexity[ts] = dictPC[ts] + break + } + } + } + if len(PasswordComplexity) == 0 { + PasswordComplexity = dictPC + } + sec = Cfg.Section("attachment") AttachmentPath = sec.Key("PATH").MustString(path.Join(AppDataPath, "attachments")) if !filepath.IsAbs(AttachmentPath) { |