opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliMain.java
@@ -31,7 +31,6 @@ import static org.opends.messages.AdminToolMessages.*; import static org.opends.messages.QuickSetupMessages.*; import static org.opends.messages.ToolMessages.*; import static org.opends.messages.UtilityMessages.*; import static org.opends.quicksetup.util.Utils.getFirstValue; import static org.opends.quicksetup.util.Utils.getThrowableMsg; @@ -568,8 +567,22 @@ String bindDn1 = argParser.getBindDn1(); String pwd1 = argParser.getBindPassword1(); initializeGlobalArguments(host1, port1, useSSL1, useStartTLS1, adminUid, bindDn1, (pwd1 != null) ? pwd1 : adminPwd); String pwd = null; if (pwd1 != null) { pwd = pwd1; } else if (bindDn1 != null) { pwd = null; } else { pwd = adminPwd; } initializeGlobalArguments(host1, port1, useSSL1, useStartTLS1, adminUid, bindDn1, pwd); InitialLdapContext ctx1 = null; while ((ctx1 == null) && !cancelled) @@ -583,11 +596,17 @@ useStartTLS1 = ci.useStartTLS(); host1 = ci.getHostName(); port1 = ci.getPortNumber(); adminUid = ci.getAdministratorUID(); if (adminUid != null) if (ci.getProvidedAdminUID() != null) { adminUid = ci.getProvidedAdminUID(); if (ci.getProvidedBindDN() == null) { // If the explicitit bind DN is not null, the password corresponds // to that bind DN. We are in the case where the user provides // bind DN on first server and admin UID globally. adminPwd = ci.getBindPassword(); } } bindDn1 = ci.getBindDN(); pwd1 = ci.getBindPassword(); @@ -718,7 +737,6 @@ useStartTLS2 = argParser.useStartTLS2(); bindDn2 = argParser.getBindDn2(); pwd2 = argParser.getBindPassword2(); String pwd; if (pwd2 != null) { pwd = pwd2; @@ -748,7 +766,11 @@ useStartTLS2 = ci.useStartTLS(); host2 = ci.getHostName(); port2 = ci.getPortNumber(); adminUid = ci.getAdministratorUID(); if (ci.getProvidedAdminUID() != null) { adminUid = ci.getProvidedAdminUID(); adminPwd = ci.getBindPassword(); } bindDn2 = ci.getBindDN(); pwd2 = ci.getBindPassword(); @@ -1020,8 +1042,8 @@ useStartTLS = ci.useStartTLS(); host = ci.getHostName(); port = ci.getPortNumber(); bindDn = ci.getBindDN(); adminUid = ci.getAdministratorUID(); bindDn = ci.getProvidedBindDN(); adminUid = ci.getProvidedAdminUID(); adminPwd = ci.getBindPassword(); ctx = createInitialLdapContextInteracting(ci); @@ -5963,6 +5985,8 @@ argParser.getSecureArgsList().hostNameArg.addValue(hostName); argParser.getSecureArgsList().hostNameArg.setPresent(true); } // resetConnectionArguments does not clear the values for the port argParser.getSecureArgsList().portArg.clearValues(); if (port != -1) { argParser.getSecureArgsList().portArg.addValue(String.valueOf(port)); @@ -5970,7 +5994,6 @@ } else { argParser.getSecureArgsList().portArg.clearValues(); // This is done to be able to call IntegerArgument.getIntValue() argParser.getSecureArgsList().portArg.addValue( argParser.getSecureArgsList().portArg.getDefaultValue()); opends/src/server/org/opends/server/util/cli/LDAPConnectionConsoleInteraction.java
@@ -73,7 +73,9 @@ private String hostName; private int portNumber; private String bindDN; private String providedBindDN; private String adminUID; private String providedAdminUID; private String bindPassword; private KeyManager keyManager; private ApplicationTrustManager trustManager; @@ -530,9 +532,25 @@ bindDN = secureArgsList.bindDnArg.getValue(); adminUID = secureArgsList.adminUidArg.getValue(); final boolean useAdmin = secureArgsList.useAdminUID(); boolean argIsPresent = useAdmin ? secureArgsList.adminUidArg.isPresent() : secureArgsList.bindDnArg.isPresent(); if (useAdmin && secureArgsList.adminUidArg.isPresent()) { providedAdminUID = adminUID; } else { providedAdminUID = null; } if ((!useAdmin || useAdminOrBindDn) && secureArgsList.bindDnArg.isPresent()) { providedBindDN = bindDN; } else { providedBindDN = null; } boolean argIsPresent = (providedAdminUID != null) || (providedBindDN != null); final String tmpBindDN = bindDN; final String tmpAdminUID = adminUID; if (keyManager == null) @@ -579,12 +597,16 @@ if (Utils.isDn(v)) { bindDN = v; providedBindDN = v; adminUID = null; providedAdminUID = null; } else { bindDN = null; providedBindDN = null; adminUID = v; providedAdminUID = v; } } else if (useAdmin) @@ -592,11 +614,13 @@ adminUID = app.readValidatedInput( INFO_LDAP_CONN_PROMPT_ADMINISTRATOR_UID.get(adminUID), callback); providedAdminUID = adminUID; } else { bindDN = app.readValidatedInput(INFO_LDAP_CONN_PROMPT_BIND_DN .get(bindDN), callback); providedBindDN = bindDN; } } catch (CLIException e) @@ -647,24 +671,21 @@ { app.println(); Message prompt; if (useAdminOrBindDn) if (providedAdminUID != null) { if (adminUID != null) { prompt = INFO_LDAPAUTH_PASSWORD_PROMPT.get(adminUID); prompt = INFO_LDAPAUTH_PASSWORD_PROMPT.get(providedAdminUID); } else else if (providedBindDN != null) { prompt = INFO_LDAPAUTH_PASSWORD_PROMPT.get(providedBindDN); } else if (bindDN != null) { prompt = INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDN); } } else if (useAdmin) { prompt = INFO_LDAPAUTH_PASSWORD_PROMPT.get(adminUID); } else { prompt = INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDN); prompt = INFO_LDAPAUTH_PASSWORD_PROMPT.get(adminUID); } bindPassword = app.readPassword(prompt); } @@ -1143,13 +1164,25 @@ String dn; if (useAdminOrBindDn) { if (this.adminUID != null) if (providedBindDN != null) { dn = providedBindDN; } else if (providedAdminUID != null) { dn = ADSContext.getAdministratorDN(providedAdminUID); } else if (this.bindDN != null) { dn = this.bindDN; } else if (this.adminUID != null) { dn = ADSContext.getAdministratorDN(this.adminUID); } else { dn = this.bindDN; dn = null; } } else if (secureArgsList.useAdminUID()) @@ -1711,4 +1744,25 @@ trustManagerInitialized = true; } /** * Returns the explicitly provided Admin UID from the user (interactively * or through the argument). * @return the explicitly provided Admin UID from the user (interactively * or through the argument). */ public String getProvidedAdminUID() { return providedAdminUID; } /** * Returns the explicitly provided bind DN from the user (interactively * or through the argument). * @return the explicitly provided bind DN from the user (interactively * or through the argument). */ public String getProvidedBindDN() { return providedBindDN; } }