mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	Signed-off-by: jolheiser <john.olheiser@gmail.com>
This commit is contained in:
		@@ -12,6 +12,9 @@ import (
 | 
			
		||||
	"github.com/msteinert/pam"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Supported is true when built with PAM
 | 
			
		||||
var Supported = true
 | 
			
		||||
 | 
			
		||||
// Auth pam auth service
 | 
			
		||||
func Auth(serviceName, userName, passwd string) (string, error) {
 | 
			
		||||
	t, err := pam.StartFunc(serviceName, userName, func(s pam.Style, msg string) (string, error) {
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,9 @@ import (
 | 
			
		||||
	"errors"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Supported is false when built without PAM
 | 
			
		||||
var Supported = false
 | 
			
		||||
 | 
			
		||||
// Auth not supported lack of pam tag
 | 
			
		||||
func Auth(serviceName, userName, passwd string) (string, error) {
 | 
			
		||||
	return "", errors.New("PAM not supported")
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,7 @@ import (
 | 
			
		||||
	"code.gitea.io/gitea/modules/auth"
 | 
			
		||||
	"code.gitea.io/gitea/modules/auth/ldap"
 | 
			
		||||
	"code.gitea.io/gitea/modules/auth/oauth2"
 | 
			
		||||
	"code.gitea.io/gitea/modules/auth/pam"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
@@ -57,14 +58,20 @@ type dropdownItem struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	authSources = []dropdownItem{
 | 
			
		||||
		{models.LoginNames[models.LoginLDAP], models.LoginLDAP},
 | 
			
		||||
		{models.LoginNames[models.LoginDLDAP], models.LoginDLDAP},
 | 
			
		||||
		{models.LoginNames[models.LoginSMTP], models.LoginSMTP},
 | 
			
		||||
		{models.LoginNames[models.LoginPAM], models.LoginPAM},
 | 
			
		||||
		{models.LoginNames[models.LoginOAuth2], models.LoginOAuth2},
 | 
			
		||||
		{models.LoginNames[models.LoginSSPI], models.LoginSSPI},
 | 
			
		||||
	}
 | 
			
		||||
	authSources = func() []dropdownItem {
 | 
			
		||||
		items := []dropdownItem{
 | 
			
		||||
			{models.LoginNames[models.LoginLDAP], models.LoginLDAP},
 | 
			
		||||
			{models.LoginNames[models.LoginDLDAP], models.LoginDLDAP},
 | 
			
		||||
			{models.LoginNames[models.LoginSMTP], models.LoginSMTP},
 | 
			
		||||
			{models.LoginNames[models.LoginOAuth2], models.LoginOAuth2},
 | 
			
		||||
			{models.LoginNames[models.LoginSSPI], models.LoginSSPI},
 | 
			
		||||
		}
 | 
			
		||||
		if pam.Supported {
 | 
			
		||||
			items = append(items, dropdownItem{models.LoginNames[models.LoginPAM], models.LoginPAM})
 | 
			
		||||
		}
 | 
			
		||||
		return items
 | 
			
		||||
	}()
 | 
			
		||||
 | 
			
		||||
	securityProtocols = []dropdownItem{
 | 
			
		||||
		{models.SecurityProtocolNames[ldap.SecurityProtocolUnencrypted], ldap.SecurityProtocolUnencrypted},
 | 
			
		||||
		{models.SecurityProtocolNames[ldap.SecurityProtocolLDAPS], ldap.SecurityProtocolLDAPS},
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user