From 7d22407fa842604be25ffdaafe88c6c6c8e9d475 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 16 Aug 2013 08:57:05 -0400
Subject: [PATCH] Fixed anonymous LDAP logins (issue-297)

---
 src/main/java/com/gitblit/LdapUserService.java |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/gitblit/LdapUserService.java b/src/main/java/com/gitblit/LdapUserService.java
index 39d564d..b65f9bb 100644
--- a/src/main/java/com/gitblit/LdapUserService.java
+++ b/src/main/java/com/gitblit/LdapUserService.java
@@ -170,13 +170,24 @@
 				if (ldapPort == -1)	// Default Port
 					ldapPort = 636;
 				
-				SSLUtil sslUtil = new SSLUtil(new TrustAllTrustManager()); 
-				return new LDAPConnection(sslUtil.createSSLSocketFactory(), ldapUrl.getHost(), ldapPort, bindUserName, bindPassword);
+				LDAPConnection conn;
+				SSLUtil sslUtil = new SSLUtil(new TrustAllTrustManager());
+				if (StringUtils.isEmpty(bindUserName) && StringUtils.isEmpty(bindPassword)) {
+					 conn = new LDAPConnection(sslUtil.createSSLSocketFactory(), ldapUrl.getHost(), ldapPort);
+				} else {
+					 conn = new LDAPConnection(sslUtil.createSSLSocketFactory(), ldapUrl.getHost(), ldapPort, bindUserName, bindPassword);
+				}
+				return conn;
 			} else {
 				if (ldapPort == -1)	// Default Port
 					ldapPort = 389;
-				
-				LDAPConnection conn = new LDAPConnection(ldapUrl.getHost(), ldapPort, bindUserName, bindPassword);
+
+				LDAPConnection conn;
+				if (StringUtils.isEmpty(bindUserName) && StringUtils.isEmpty(bindPassword)) {
+					conn = new LDAPConnection(ldapUrl.getHost(), ldapPort);	
+				} else {
+					conn = new LDAPConnection(ldapUrl.getHost(), ldapPort, bindUserName, bindPassword);	
+				}
 
 				if (ldapUrl.getScheme().equalsIgnoreCase("ldap+tls")) {
 					SSLUtil sslUtil = new SSLUtil(new TrustAllTrustManager());

--
Gitblit v1.9.1