@@ -13,6 +13,7 @@ import (
1313 "code.gitea.io/gitea/modules/auth"
1414 "code.gitea.io/gitea/modules/auth/ldap"
1515 "code.gitea.io/gitea/modules/auth/oauth2"
16+ "code.gitea.io/gitea/modules/auth/pam"
1617 "code.gitea.io/gitea/modules/base"
1718 "code.gitea.io/gitea/modules/context"
1819 "code.gitea.io/gitea/modules/log"
@@ -57,14 +58,20 @@ type dropdownItem struct {
5758}
5859
5960var (
60- authSources = []dropdownItem {
61- {models .LoginNames [models .LoginLDAP ], models .LoginLDAP },
62- {models .LoginNames [models .LoginDLDAP ], models .LoginDLDAP },
63- {models .LoginNames [models .LoginSMTP ], models .LoginSMTP },
64- {models .LoginNames [models .LoginPAM ], models .LoginPAM },
65- {models .LoginNames [models .LoginOAuth2 ], models .LoginOAuth2 },
66- {models .LoginNames [models .LoginSSPI ], models .LoginSSPI },
67- }
61+ authSources = func () []dropdownItem {
62+ items := []dropdownItem {
63+ {models .LoginNames [models .LoginLDAP ], models .LoginLDAP },
64+ {models .LoginNames [models .LoginDLDAP ], models .LoginDLDAP },
65+ {models .LoginNames [models .LoginSMTP ], models .LoginSMTP },
66+ {models .LoginNames [models .LoginOAuth2 ], models .LoginOAuth2 },
67+ {models .LoginNames [models .LoginSSPI ], models .LoginSSPI },
68+ }
69+ if pam .Supported {
70+ items = append (items , dropdownItem {models .LoginNames [models .LoginPAM ], models .LoginPAM })
71+ }
72+ return items
73+ }()
74+
6875 securityProtocols = []dropdownItem {
6976 {models .SecurityProtocolNames [ldap .SecurityProtocolUnencrypted ], ldap .SecurityProtocolUnencrypted },
7077 {models .SecurityProtocolNames [ldap .SecurityProtocolLDAPS ], ldap .SecurityProtocolLDAPS },
0 commit comments