Alon Bar-Lev has uploaded a new change for review.

Change subject: tools: manage-domains: respect ConfigValues.SASL_QOP
......................................................................

tools: manage-domains: respect ConfigValues.SASL_QOP

in one of the ugliest piece of code I've ever seen.

the cli does not respect the configuration of the application.

Related-To: https://bugzilla.redhat.com/show_bug.cgi?id=1156577
Change-Id: I4fad86b7b2a1437607acf9562ac898ac455c10dd
Signed-off-by: Alon Bar-Lev <alo...@redhat.com>
---
M 
backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/JndiAction.java
M 
backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/KerberosConfigCheck.java
M 
backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ConfigurationProvider.java
M 
backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ManageDomains.java
4 files changed, 19 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/06/34506/1

diff --git 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/JndiAction.java
 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/JndiAction.java
index 272a5f8..821d614 100644
--- 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/JndiAction.java
+++ 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/JndiAction.java
@@ -35,15 +35,17 @@
     private final StringBuffer userGuid;
     private List<String> ldapServers;
     private final String defaultLdapServerPort;
+    private final String saslQOP;
     private final static Logger log = Logger.getLogger(JndiAction.class);
 
-    public JndiAction(String userName, String domainName, StringBuffer 
userGuid, LdapProviderType ldapProviderType, List<String> ldapServers, String 
defaultLdapServerPort) {
+    public JndiAction(String userName, String domainName, StringBuffer 
userGuid, LdapProviderType ldapProviderType, List<String> ldapServers, String 
defaultLdapServerPort, String saslQOP) {
         this.userName = userName;
         this.domainName = domainName;
         this.ldapProviderType = ldapProviderType;
         this.userGuid = userGuid;
         this.ldapServers = ldapServers;
         this.defaultLdapServerPort = defaultLdapServerPort;
+        this.saslQOP = saslQOP;
     }
 
     @Override
@@ -52,7 +54,7 @@
         env.put(Context.INITIAL_CONTEXT_FACTORY, 
"com.sun.jndi.ldap.LdapCtxFactory");
         env.put("java.naming.ldap.attributes.binary", "objectGUID");
         env.put(Context.SECURITY_AUTHENTICATION, "GSSAPI");
-        env.put("javax.security.sasl.qop", "auth-conf");
+        env.put("javax.security.sasl.qop", saslQOP);
 
         // Send an SRV record DNS query to retrieve all the LDAP servers in 
the domain
         LdapSRVLocator locator = new LdapSRVLocator();
diff --git 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/KerberosConfigCheck.java
 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/KerberosConfigCheck.java
index 9557d59..9b2a36c 100644
--- 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/KerberosConfigCheck.java
+++ 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/utils/kerberos/KerberosConfigCheck.java
@@ -25,6 +25,7 @@
     private LoginContext lc;
     private final List<String> ldapServers;
     private String defaultLdapServerPort;
+    private final String saslQOP;
     private final static Logger log = 
Logger.getLogger(KerberosConfigCheck.class);
 
     public enum Arguments {
@@ -37,13 +38,14 @@
         ldapProviderType;
     }
 
-    public KerberosConfigCheck(List<String> ldapServers, String 
defaultLdapServerPort) {
+    public KerberosConfigCheck(List<String> ldapServers, String 
defaultLdapServerPort, String saslQOP) {
         this.ldapServers = ldapServers;
         this.defaultLdapServerPort =  defaultLdapServerPort;
+        this.saslQOP = saslQOP;
     }
 
     public KerberosConfigCheck() {
-        this(null, null);
+        this(null, null, "auth-conf");
     }
 
     /**
@@ -130,7 +132,7 @@
             authResult =
                     (AuthenticationResult) Subject.doAs(lc.getSubject(), new 
JndiAction(username,
                             realm.toLowerCase(),
-                            userGuid, ldapProviderType, ldapServers, 
defaultLdapServerPort));
+                            userGuid, ldapProviderType, ldapServers, 
defaultLdapServerPort, saslQOP));
 
         } finally {
             if (lc != null) {
diff --git 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ConfigurationProvider.java
 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ConfigurationProvider.java
index b36c663..4b668f7 100644
--- 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ConfigurationProvider.java
+++ 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ConfigurationProvider.java
@@ -9,6 +9,7 @@
 import static 
org.ovirt.engine.core.common.config.ConfigValues.LDAPSecurityAuthentication;
 import static org.ovirt.engine.core.common.config.ConfigValues.LDAPServerPort;
 import static org.ovirt.engine.core.common.config.ConfigValues.LdapServers;
+import static org.ovirt.engine.core.common.config.ConfigValues.SASL_QOP;
 
 import java.io.BufferedWriter;
 import java.io.File;
@@ -34,7 +35,7 @@
             String adUserId,
             String ldapProviderTypes,
             String engineConfigExecutable,
-            String engineConfigProperties, String ldapServerPort, String 
passwordChangeUrls) {
+            String engineConfigProperties, String ldapServerPort, String 
passwordChangeUrls, String saslQOP) {
         super();
         configVals.put(AdUserName, adUserName);
         configVals.put(AdUserPassword, adUserPassword);
@@ -45,6 +46,7 @@
         configVals.put(LDAPProviderTypes, ldapProviderTypes);
         configVals.put(LDAPServerPort, ldapServerPort);
         configVals.put(ChangePasswordMsg, passwordChangeUrls);
+        configVals.put(SASL_QOP, saslQOP);
         this.engineConfigExecutable = engineConfigExecutable;
         this.engineConfigProperties = engineConfigProperties;
     }
diff --git 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ManageDomains.java
 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ManageDomains.java
index fbda242..cd4a7de 100644
--- 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ManageDomains.java
+++ 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/tools/ManageDomains.java
@@ -193,6 +193,8 @@
                     getConfigValue(engineConfigExecutable, 
engineConfigProperties, ConfigValues.LDAPServerPort);
             String changePasswordUrl =
                     getConfigValue(engineConfigExecutable, 
engineConfigProperties, ConfigValues.ChangePasswordMsg);
+            String saslQOP =
+                    getConfigValue(engineConfigExecutable, 
engineConfigProperties, ConfigValues.SASL_QOP);
 
             configurationProvider =
                     new ConfigurationProvider(adUserName,
@@ -203,7 +205,7 @@
                             adUserId,
                             ldapProviderTypes,
                             
utilityConfiguration.getEngineConfigExecutablePath(),
-                            engineConfigProperties, ldapPort, 
changePasswordUrl);
+                            engineConfigProperties, ldapPort, 
changePasswordUrl, saslQOP);
 
         } catch (Throwable e) {
             throw new 
ManageDomainsResult(ManageDomainsResultEnum.FAILED_READING_CURRENT_CONFIGURATION,
 e.getMessage());
@@ -748,7 +750,8 @@
             try {
                 log.info("Testing kerberos configuration for domain: " + 
domain);
                 List<String> ldapServersPerDomain = 
ldapServersPerDomainMap.get(domain);
-                KerberosConfigCheck kerberosConfigCheck = new 
KerberosConfigCheck(ldapServersPerDomain, ldapServerPort);
+                KerberosConfigCheck kerberosConfigCheck = new 
KerberosConfigCheck(ldapServersPerDomain, ldapServerPort,
+                        
configurationProvider.getConfigValue(ConfigValues.SASL_QOP));
                 StringBuffer userGuid = new StringBuffer();
                 kerberosConfigCheck.checkInstallation(domain,
                         users.getValueForDomain(domain),
@@ -1115,6 +1118,8 @@
                     .append("=\n")
                     .append(ConfigValues.ChangePasswordMsg.name())
                     .append("=\n")
+                    .append(ConfigValues.SASL_QOP.name())
+                    .append("=\n")
                     .toString());
             fw.flush();
         } catch (IOException ex) {


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4fad86b7b2a1437607acf9562ac898ac455c10dd
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5
Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to