Skip to content

LDAP password authentication fails when SVN password is 52 chars or longer #242

@loafoe

Description

@loafoe

I've set git-as-svn with LDAP authentication to a glauth server. When the password is 52 chars or longer git-as-svn throws an exception:

gitassvn_1  | 2019-05-05T15:28:29,297  INFO [SvnServer-thread-27] (SvnServer.java:181) - New connection from: /172.28.0.1:37226
gitassvn_1  | 2019-05-05T15:28:33,134  INFO [SvnServer-thread-27] (SvnServer.java:192) - Connection from /172.28.0.1:37226 closed
gitassvn_1  | Exception in thread "SvnServer-thread-27" java.lang.IllegalArgumentException: Illegal base64 character a
gitassvn_1  | 	at java.util.Base64$Decoder.decode0(Base64.java:714)
gitassvn_1  | 	at java.util.Base64$Decoder.decode(Base64.java:526)
gitassvn_1  | 	at java.util.Base64$Decoder.decode(Base64.java:549)
gitassvn_1  | 	at svnserver.auth.PlainAuthenticator.authenticate(PlainAuthenticator.java:40)
gitassvn_1  | 	at svnserver.server.SvnServer.authenticate(SvnServer.java:341)
gitassvn_1  | 	at svnserver.server.SessionContext.authenticate(SessionContext.java:111)
gitassvn_1  | 	at svnserver.server.SvnServer.serveClient(SvnServer.java:209)
gitassvn_1  | 	at svnserver.server.SvnServer.lambda$run$1(SvnServer.java:185)
gitassvn_1  | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
gitassvn_1  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
gitassvn_1  | 	at java.lang.Thread.run(Thread.java:748)

When the password is 51 chars everything works as expected and I get the plain password on my LDAP server bind request so I can verify.

Subversion client used:

svn, version 1.10.0 (r1827917)
   compiled Sep 25 2018, 18:25:22 on x86_64-apple-darwin17.0.0

Quite bizarre!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions