mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-12 02:24:21 -05:00
Regression: login via LDAP not possible: '(LDAP Result Code 2 "Protocol Error": )' #2849
Closed
opened 2025-11-02 04:51:02 -06:00 by GiteaMirror
·
29 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
No Label
type/bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#2849
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @liquidat on GitHub (Feb 1, 2019).
dfad569built with go1.11.5 : bindata, sqlite, sqlite_unlock_notify[x]):Description
I am not able to log in via LDAP anymore:
The LDAP problems came as a regression when I updated to 1.6. I thought that the backport of #5816 to 1.7.1 would solve my problems. But unfortunately this is not the case, an update of my container image to the latest 1.7 tag has the above mentioned log.
@mootboy commented on GitHub (Feb 3, 2019):
Piling on, running the arm7 binary I get:
When trying to login over LDAP.
@markusamshove commented on GitHub (Feb 3, 2019):
Does this mean updating to 1.7.1 isn't save when using ldap? Currently on 1.7.0
@OndrejSpanel commented on GitHub (Feb 4, 2019):
I see the same issue. 1.7.0 working fine, LDAP authentication not working with 1.7.1
I am running on Debian with MySQL, downloading binaries from https://dl.gitea.io/gitea/.
@lafriks commented on GitHub (Feb 4, 2019):
What LDAP server are you using?
@OndrejSpanel commented on GitHub (Feb 4, 2019):
I am using OpenLDAP - openldap-2.4.31
@liquidat commented on GitHub (Feb 4, 2019):
My LDAP server: FreeIPA
The protocol error problem came with 1.6 and is now with 1.7.1, never tested with 1.7.0.
@markusamshove commented on GitHub (Feb 4, 2019):
I've done the upgrade to 1.7.1 and everything works fine.
SuSe Linux Enterprise 12
Postgres
Windows Active Directory
@zeripath commented on GitHub (Feb 5, 2019):
Hmm I wonder if this is something to do with SSH public key provision in LDAP.
Peeps with the failing LDAP could you check you're definitely on 1.7.1 and that your attributes are definitely correct - in particular if you don't have SSH keys in your LDAP ensure that attribute is empty.
@markusamshove commented on GitHub (Feb 6, 2019):
To add on to that and help troubleshooting, we don't have public keys in our AD
@OndrejSpanel commented on GitHub (Feb 6, 2019):
Yes, I was definitely on 1.7.1. I have upgraded from 1.6.x, once I realized LDAP login is not working for me, I downgraded to 1.7.0.
As for SSH keys, I have SSH access disabled on Gitea and I do not have any SSH keys in LDAP.
@zeripath commented on GitHub (Feb 6, 2019):
Thanks @OndrejSpanel, when you checked your configuration for LDAP in 1.7.1 the attribute was definitely blank and empty? I appreciate that it should be - but I wonder if what being set to say something that would represent the empty string rather than the empty string.
@OndrejSpanel commented on GitHub (Feb 6, 2019):
I am afraid I do not understand what to check, I supposed you were talking about LDAP attributes and I do not see any SSH related attributes in our LDAP. What attribute is this - some Gitea configuration, or something in LDAP, or someplace else on our server? I may install 1.7.1 again if necessary, but I need to know what to check and what to report. I am not using SSH and I am not familiar with its configuration.
@lafriks commented on GitHub (Feb 6, 2019):
@OndrejSpanel he meant this LDAP authorization source configuration attribute in Gitea:

@OndrejSpanel commented on GitHub (Feb 6, 2019):
I definitely have this empty now in 1.7.0. Unless the upgrade is changing the value, it should be the same in 1.7.1 - I can check this if needed.
Note: I use LDAP (via BindDN)
@liquidat commented on GitHub (Feb 6, 2019):
@zeripath The container tag says 1.7.1, gitea itself calls the version "dfad569". I assume that is correct?
I verified that the option shown in the screenshot from @lafriks is empty.
@zeripath commented on GitHub (Feb 7, 2019):
Ok, so the error given out is slightly misleading (it's too far up to the callstack.) It's actually coming from here:
331c9120e8/modules/auth/ldap/ldap.go (L262)Now the interesting part is on line 257 where there is a log trace that will reveal what it's actually asking your LDAP.
So, if your LDAP logs aren't being helpful at telling you what is going wrong, then we need to turn on trace and look for "Fetching Attributes" to see what attributes we say we're sending. It would be really helpful if you could check what your LDAP is getting though.
I'm thinking about our logging infrastructure at present, and yes, turning on trace is going to spew out a lot of unnecessary rubbish. I think we need to migrate to a much cleverer system.
@liquidat commented on GitHub (Feb 9, 2019):
Here is what my FreeIPA ldap error log shows:
The line with the
SRCH base="(null)"might be the reason why login fails for me: a recent update of FreeIPA declines requests if there are more than one empty attribute in the request. And iirc I did update the FreeIPA server. This empty attribute situation was a problem for nextcloud as well, see for example here. According to this comment this was tackled in go-ldap but I am not entirely sure if this was fixed properly?@lafriks commented on GitHub (Feb 10, 2019):
we could probably try to upgrade to "gopkg.in/ldap.v3" to see if that resolves your issue
@liquidat commented on GitHub (Feb 11, 2019):
Sounds like a plan. Is there any way I could test this, given that I am running containers?
@zeripath commented on GitHub (Feb 17, 2019):
@liquidat is there any way you could test that PR? It simply does what @lafriks suggests. If it works we can get that backported and then work on getting 1.8 ready.
@mootboy commented on GitHub (Feb 18, 2019):
Currently compiling
go1.11.5on my pi3 to then build and test the @zeripath branch.I'm running slapd
2.4.44+dfsg-5+deb9u1on arm7 for the record.@mootboy commented on GitHub (Feb 18, 2019):
Fix confirmed as working on arm7 with postgresql and slapd @zeripath
@zeripath commented on GitHub (Feb 18, 2019):
Could you pop that comment on the pr.
@mootboy commented on GitHub (Feb 18, 2019):
Sorry, a bit late here, do you want a post-merge comment on the PR?
@lafriks commented on GitHub (Feb 18, 2019):
@mootboy all good, no need
@zeripath commented on GitHub (Feb 18, 2019):
Nah it's fine. It was just in case people weren't approving because they weren't sure it would work.
It's a shame we were never able to get a test case to reproduce the problem in our treat suite.
@mootboy commented on GitHub (Feb 18, 2019):
If I was more familiar with go I would give it a shot, OTOH, LDAPv2 was considered dead in 2003 :-P
(yeah I know it was the library version, poor sense of humour)
@strk commented on GitHub (Mar 3, 2019):
Still alive here...
@liquidat commented on GitHub (Mar 18, 2019):
For me this fix did not solve the problem
However, I found this Grafana issue. It describes the same problem, the same solution (update of the go-ldap package) but also people for whom the problem was not fixed.
The solution is: besides the updated go ldap version there also need to be enough LDAP attributes set!
In may case I added "First Name Attribute" and "Surname Attribute" - and suddenly everything works.