Martin Peřina has uploaded a new change for review.

Change subject: aaa: Convert list of ldap server names to URIs
......................................................................

aaa: Convert list of ldap server names to URIs

Convert list of ldap server names contained in ConfigValue.LdapServers
to list of URIs stored in extension config under key "config.LdapServers"
during kerberosldap extension startup.

Change-Id: Ic436192e0072af09c4be1cfaa78c9e5bb66743ad
Bug-Url: https://bugzilla.redhat.com/1111071
Signed-off-by: Martin Perina <[email protected]>
---
M 
backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/Utils.java
1 file changed, 14 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/71/28971/1

diff --git 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/Utils.java
 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/Utils.java
index 4a75327..3007daa 100644
--- 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/Utils.java
+++ 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/Utils.java
@@ -8,7 +8,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-
 import javax.naming.spi.DirectoryManager;
 import javax.security.auth.login.Configuration;
 
@@ -34,26 +33,33 @@
                 throw new RuntimeException(e);
             }
         }
-        if (StringUtils.isBlank(conf.getProperty("config.LdapServers"))) {
-            try {
 
-                LdapSRVLocator locator = new LdapSRVLocator();
+        List<String> ldapServers = new ArrayList<>();
+        LdapSRVLocator locator = new LdapSRVLocator();
+        try {
+            if (StringUtils.isBlank(conf.getProperty("config.LdapServers"))) {
+                // list of LDAP servers is empty, find LDAP servers using DNS 
SRV records and convert them
+                // into the list of URIs
                 DnsSRVResult results = locator.getLdapServers(domain);
                 if (results == null || results.getNumOfValidAddresses() == 0) {
                     throw new Exception(String.format("No ldap servers  were 
found for domain %1$s", domain));
                 } else {
-                    List<String> ldapServers = new ArrayList<>();
                     for (int counter = 0; counter < 
results.getNumOfValidAddresses(); counter++) {
                         String address = results.getAddresses()[counter];
                         String ldapURI = locator.constructURI("ldap", address, 
"389").toString();
                         ldapServers.add(ldapURI);
                     }
-                    conf.setProperty("config.LdapServers", 
StringUtils.join(ldapServers, ";"));
                 }
-            } catch (Exception ex) {
-                throw new RuntimeException(ex);
+            } else {
+                // list of LDAP servers was entered, convert them to URIs
+                for (String server : 
conf.getProperty("config.LdapServers").split(";")) {
+                    ldapServers.add(locator.constructURI("ldap", server, 
"389").toString());
+                }
             }
+        } catch (Exception ex) {
+            throw new RuntimeException(ex);
         }
+        conf.setProperty("config.LdapServers", StringUtils.join(ldapServers, 
";"));
     }
 
     private static void putIfAbsent(Properties props, String key, String 
value) {


-- 
To view, visit http://gerrit.ovirt.org/28971
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic436192e0072af09c4be1cfaa78c9e5bb66743ad
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Peřina <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to