summaryrefslogtreecommitdiffstats
path: root/models/login_source.go
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2020-01-21 18:49:30 +0000
committerGitHub <noreply@github.com>2020-01-21 18:49:30 +0000
commita315e091e4b025e0622fafd4b46b7f52bc18e18d (patch)
treebc30a1607f555471cbca4d3b452f137a1d0b6bdd /models/login_source.go
parentad3a9577a8bdcfd38d14f07aa27e6010fd9cb0e6 (diff)
downloadgitea-a315e091e4b025e0622fafd4b46b7f52bc18e18d.tar.gz
gitea-a315e091e4b025e0622fafd4b46b7f52bc18e18d.zip
Do not try to recreate ldap user if they are already created (#9900)
* Do not try to recreate ldap user if they are already created * just remove autoregister Co-authored-by: techknowlogick <matti@mdranta.net>
Diffstat (limited to 'models/login_source.go')
-rw-r--r--models/login_source.go24
1 files changed, 12 insertions, 12 deletions
diff --git a/models/login_source.go b/models/login_source.go
index 0c4d444fec..f5dae860f8 100644
--- a/models/login_source.go
+++ b/models/login_source.go
@@ -461,7 +461,7 @@ var (
// LoginViaLDAP queries if login/password is valid against the LDAP directory pool,
// and create a local user if success when enabled.
-func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoRegister bool) (*User, error) {
+func LoginViaLDAP(user *User, login, password string, source *LoginSource) (*User, error) {
sr := source.Cfg.(*LDAPConfig).SearchEntry(login, password, source.Type == LoginDLDAP)
if sr == nil {
// User not in LDAP, do nothing
@@ -491,7 +491,7 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR
}
}
- if !autoRegister {
+ if user != nil {
if isAttributeSSHPublicKeySet && synchronizeLdapSSHPublicKeys(user, source, sr.SSHPublicKey) {
return user, RewriteAllPublicKeys()
}
@@ -602,7 +602,7 @@ func SMTPAuth(a smtp.Auth, cfg *SMTPConfig) error {
// LoginViaSMTP queries if login/password is valid against the SMTP,
// and create a local user if success when enabled.
-func LoginViaSMTP(user *User, login, password string, sourceID int64, cfg *SMTPConfig, autoRegister bool) (*User, error) {
+func LoginViaSMTP(user *User, login, password string, sourceID int64, cfg *SMTPConfig) (*User, error) {
// Verify allowed domains.
if len(cfg.AllowedDomains) > 0 {
idx := strings.Index(login, "@")
@@ -633,7 +633,7 @@ func LoginViaSMTP(user *User, login, password string, sourceID int64, cfg *SMTPC
return nil, err
}
- if !autoRegister {
+ if user != nil {
return user, nil
}
@@ -665,7 +665,7 @@ func LoginViaSMTP(user *User, login, password string, sourceID int64, cfg *SMTPC
// LoginViaPAM queries if login/password is valid against the PAM,
// and create a local user if success when enabled.
-func LoginViaPAM(user *User, login, password string, sourceID int64, cfg *PAMConfig, autoRegister bool) (*User, error) {
+func LoginViaPAM(user *User, login, password string, sourceID int64, cfg *PAMConfig) (*User, error) {
if err := pam.Auth(cfg.ServiceName, login, password); err != nil {
if strings.Contains(err.Error(), "Authentication failure") {
return nil, ErrUserNotExist{0, login, 0}
@@ -673,7 +673,7 @@ func LoginViaPAM(user *User, login, password string, sourceID int64, cfg *PAMCon
return nil, err
}
- if !autoRegister {
+ if user != nil {
return user, nil
}
@@ -691,7 +691,7 @@ func LoginViaPAM(user *User, login, password string, sourceID int64, cfg *PAMCon
}
// ExternalUserLogin attempts a login using external source types.
-func ExternalUserLogin(user *User, login, password string, source *LoginSource, autoRegister bool) (*User, error) {
+func ExternalUserLogin(user *User, login, password string, source *LoginSource) (*User, error) {
if !source.IsActived {
return nil, ErrLoginSourceNotActived
}
@@ -699,11 +699,11 @@ func ExternalUserLogin(user *User, login, password string, source *LoginSource,
var err error
switch source.Type {
case LoginLDAP, LoginDLDAP:
- user, err = LoginViaLDAP(user, login, password, source, autoRegister)
+ user, err = LoginViaLDAP(user, login, password, source)
case LoginSMTP:
- user, err = LoginViaSMTP(user, login, password, source.ID, source.Cfg.(*SMTPConfig), autoRegister)
+ user, err = LoginViaSMTP(user, login, password, source.ID, source.Cfg.(*SMTPConfig))
case LoginPAM:
- user, err = LoginViaPAM(user, login, password, source.ID, source.Cfg.(*PAMConfig), autoRegister)
+ user, err = LoginViaPAM(user, login, password, source.ID, source.Cfg.(*PAMConfig))
default:
return nil, ErrUnsupportedLoginType
}
@@ -783,7 +783,7 @@ func UserSignIn(username, password string) (*User, error) {
return nil, ErrLoginSourceNotExist{user.LoginSource}
}
- return ExternalUserLogin(user, user.LoginName, password, &source, false)
+ return ExternalUserLogin(user, user.LoginName, password, &source)
}
}
@@ -797,7 +797,7 @@ func UserSignIn(username, password string) (*User, error) {
// don't try to authenticate against OAuth2 and SSPI sources here
continue
}
- authUser, err := ExternalUserLogin(nil, username, password, source, true)
+ authUser, err := ExternalUserLogin(nil, username, password, source)
if err == nil {
return authUser, nil
}