You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/06/21 05:32:47 UTC

svn commit: r1749421 - in /openmeetings/application/branches/3.1.x/openmeetings-core: pom.xml src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java

Author: solomax
Date: Tue Jun 21 05:32:47 2016
New Revision: 1749421

URL: http://svn.apache.org/viewvc?rev=1749421&view=rev
Log:
[OPENMEETINGS-1360] LDAP directory api version is updated

Modified:
    openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml
    openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java

Modified: openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml?rev=1749421&r1=1749420&r2=1749421&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml Tue Jun 21 05:32:47 2016
@@ -86,7 +86,7 @@
 		<dependency>
 			<groupId>org.apache.directory.api</groupId>
 			<artifactId>api-all</artifactId>
-			<version>1.0.0-M33</version>
+			<version>1.0.0-RC1</version>
 		</dependency>
 		<dependency>
 			<groupId>com.sun.mail</groupId>

Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java?rev=1749421&r1=1749420&r2=1749421&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java Tue Jun 21 05:32:47 2016
@@ -181,29 +181,30 @@ public class LdapLoginManagement {
 					Dn baseDn = new Dn(w.options.searchBase);
 					String searchQ = String.format(w.options.searchQuery, login);
 			        
-					EntryCursor cursor = new EntryCursorImpl(w.conn.search(
+					try (EntryCursor cursor = new EntryCursorImpl(w.conn.search(
 							new SearchRequestImpl()
 								.setBase(baseDn)
 								.setFilter(searchQ)
 								.setScope(w.options.scope)
 								.addAttributes("*")
-								.setDerefAliases(w.options.derefMode)));
-					while (cursor.next()) {
-						try {
-							Entry e = cursor.get();
-							if (userDn != null) {
-								log.error("more than 1 user found in LDAP");
-								throw new OmException(-1L);
-							}
-							userDn = e.getDn();
-							if (w.options.useAdminForAttrs) {
-								entry = e;
+								.setDerefAliases(w.options.derefMode))))
+					{
+						while (cursor.next()) {
+							try {
+								Entry e = cursor.get();
+								if (userDn != null) {
+									log.error("more than 1 user found in LDAP");
+									throw new OmException(-1L);
+								}
+								userDn = e.getDn();
+								if (w.options.useAdminForAttrs) {
+									entry = e;
+								}
+							} catch (CursorLdapReferralException cle) {
+								log.warn("Referral LDAP entry found, ignore it");
 							}
-						} catch (CursorLdapReferralException cle) {
-							log.warn("Referral LDAP entry found, ignore it");
 						}
 					}
-					cursor.close();
 					if (userDn == null) {
 						log.error("NONE users found in LDAP");
 						throw new OmException(-11L);
@@ -263,29 +264,30 @@ public class LdapLoginManagement {
 			bindAdmin(w.conn, w.options);
 			Dn baseDn = new Dn(w.options.searchBase);
 	
-			EntryCursor cursor = new EntryCursorImpl(w.conn.search(
+			try (EntryCursor cursor = new EntryCursorImpl(w.conn.search(
 					new SearchRequestImpl()
 						.setBase(baseDn)
 						.setFilter(w.options.importQuery)
 						.setScope(w.options.scope)
 						.addAttributes("*")
-						.setDerefAliases(w.options.derefMode)));
-			while (cursor.next()) {
-				try {
-					Entry e = cursor.get();
-					User u = userDao.getByLogin(getLogin(w.config, e), Type.ldap, domainId);
-					u = w.getUser(e, u);
-					if (print) {
-						log.info("Going to import user: {}", u);
-					} else {
-						userDao.update(u, null);
-						log.info("User {}, was imported", u);
+						.setDerefAliases(w.options.derefMode))))
+			{
+				while (cursor.next()) {
+					try {
+						Entry e = cursor.get();
+						User u = userDao.getByLogin(getLogin(w.config, e), Type.ldap, domainId);
+						u = w.getUser(e, u);
+						if (print) {
+							log.info("Going to import user: {}", u);
+						} else {
+							userDao.update(u, null);
+							log.info("User {}, was imported", u);
+						}
+					} catch (CursorLdapReferralException cle) {
+						log.warn("Referral LDAP entry found, ignore it");
 					}
-				} catch (CursorLdapReferralException cle) {
-					log.warn("Referral LDAP entry found, ignore it");
 				}
 			}
-			cursor.close();
 		} catch (LdapAuthenticationException ae) {
 			log.error("Not authenticated.", ae);
 			throw new OmException(-11L);
@@ -322,7 +324,7 @@ public class LdapLoginManagement {
 			conn = new LdapNetworkConnection(options.host, options.port, options.secure);
 		}
 		
-		public User getUser(Entry entry, User u) throws LdapException, CursorException, OmException {
+		public User getUser(Entry entry, User u) throws LdapException, CursorException, OmException, IOException {
 			if (entry == null) {
 				log.error("LDAP entry is null, search or lookup by Dn failed");
 				throw new OmException(-11L);
@@ -373,22 +375,23 @@ public class LdapLoginManagement {
 				Dn baseDn = new Dn(options.searchBase);
 				String searchQ = String.format(options.groupQuery, u.getLogin());
 		
-				EntryCursor cursor = new EntryCursorImpl(conn.search(
+				try (EntryCursor cursor = new EntryCursorImpl(conn.search(
 						new SearchRequestImpl()
 							.setBase(baseDn)
 							.setFilter(searchQ)
 							.setScope(SearchScope.SUBTREE)
 							.addAttributes("*")
-							.setDerefAliases(AliasDerefMode.DEREF_ALWAYS)));
-				while (cursor.next()) {
-					try {
-						Entry e = cursor.get();
-						groups.add(e.getDn());
-					} catch (CursorLdapReferralException cle) {
-						log.warn("Referral LDAP entry found, ignore it");
+							.setDerefAliases(AliasDerefMode.DEREF_ALWAYS))))
+				{
+					while (cursor.next()) {
+						try {
+							Entry e = cursor.get();
+							groups.add(e.getDn());
+						} catch (CursorLdapReferralException cle) {
+							log.warn("Referral LDAP entry found, ignore it");
+						}
 					}
 				}
-				cursor.close();
 			}
 			for (Dn g : groups) {
 				String name = g.getRdn().getValue();