-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regression: login via LDAP not possible: '(LDAP Result Code 2 "Protocol Error": )' #5928
Comments
Piling on, running the arm7 binary I get:
When trying to login over LDAP. |
Does this mean updating to 1.7.1 isn't save when using ldap? Currently on 1.7.0 |
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/. |
What LDAP server are you using? |
I am using OpenLDAP - openldap-2.4.31 |
My LDAP server: FreeIPA |
I've done the upgrade to 1.7.1 and everything works fine. SuSe Linux Enterprise 12 |
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. |
To add on to that and help troubleshooting, we don't have public keys in our AD |
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. |
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. |
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. |
@OndrejSpanel he meant this LDAP authorization source configuration attribute in Gitea: |
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) |
Ok, so the error given out is slightly misleading (it's too far up to the callstack.) It's actually coming from here: gitea/modules/auth/ldap/ldap.go Line 262 in 331c912
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. |
Here is what my FreeIPA ldap error log shows:
The line with the |
we could probably try to upgrade to "gopkg.in/ldap.v3" to see if that resolves your issue |
Sounds like a plan. Is there any way I could test this, given that I am running containers? |
Signed-off-by: Andrew Thornton <art27@cantab.net>
Currently compiling I'm running slapd |
Fix confirmed as working on arm7 with postgresql and slapd @zeripath |
Could you pop that comment on the pr. |
Signed-off-by: Andrew Thornton <art27@cantab.net>
Sorry, a bit late here, do you want a post-merge comment on the PR? |
@mootboy all good, no need |
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. |
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) |
LDAPv2 was considered dead in 2003 :)
Still alive here...
|
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. |
[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.
The text was updated successfully, but these errors were encountered: