| | |
| | | private ConnectionWrapper createConnection(AuthenticationData auth) throws NamingException |
| | | { |
| | | String ldapUrl = auth.getLdapUrl(); |
| | | String dn = auth.getDn(); |
| | | DN dn = DN.valueOf(auth.getDn()); |
| | | String pwd = auth.getPwd(); |
| | | |
| | | if (auth.useSecureConnection()) |
| | |
| | | |
| | | DataReplicationOptions.Type type = (DataReplicationOptions.Type) qs.getFieldValue(FieldName.REPLICATION_OPTIONS); |
| | | String host = qs.getFieldStringValue(FieldName.REMOTE_SERVER_HOST); |
| | | String dn = qs.getFieldStringValue(FieldName.REMOTE_SERVER_DN); |
| | | String dnStr = qs.getFieldStringValue(FieldName.REMOTE_SERVER_DN); |
| | | DN dn = dnStr != null ? DN.valueOf(dnStr) : null; |
| | | String pwd = qs.getFieldStringValue(FieldName.REMOTE_SERVER_PWD); |
| | | |
| | | if (type != DataReplicationOptions.Type.STANDALONE) |
| | |
| | | port = Integer.parseInt(sPort); |
| | | // Try to connect |
| | | boolean[] globalAdmin = { hasGlobalAdministrators }; |
| | | String[] effectiveDn = { dn }; |
| | | DN[] effectiveDn = { dn }; |
| | | try |
| | | { |
| | | updateUserDataWithADS(host, port, dn, pwd, qs, errorMsgs, globalAdmin, effectiveDn); |
| | |
| | | { |
| | | AuthenticationData auth = new AuthenticationData(); |
| | | auth.setHostPort(new HostPort("".equals(host) ? null : host, port != null ? port : 0)); |
| | | auth.setDn(dn); |
| | | auth.setDn(dn.toString()); |
| | | auth.setPwd(pwd); |
| | | auth.setUseSecureConnection(true); |
| | | |
| | |
| | | return replicationPort; |
| | | } |
| | | |
| | | private void checkRemoteHostPortDnAndPwd(String host, String sPort, String dn, String pwd, QuickSetup qs, |
| | | private void checkRemoteHostPortDnAndPwd(String host, String sPort, DN dn, String pwd, QuickSetup qs, |
| | | List<LocalizableMessage> errorMsgs) |
| | | { |
| | | // Check host |
| | |
| | | } |
| | | |
| | | // Check dn |
| | | if (dn == null || dn.length() == 0) |
| | | if (dn == null || dn.size() == 0) |
| | | { |
| | | errorMsgs.add(INFO_EMPTY_REMOTE_DN.get()); |
| | | qs.displayFieldInvalid(FieldName.REMOTE_SERVER_DN, true); |
| | |
| | | } |
| | | } |
| | | |
| | | private void updateUserDataWithADS(String host, int port, String dn, String pwd, QuickSetup qs, |
| | | List<LocalizableMessage> errorMsgs, boolean[] hasGlobalAdministrators, String[] effectiveDn) |
| | | private void updateUserDataWithADS(String host, int port, DN dn, String pwd, QuickSetup qs, |
| | | List<LocalizableMessage> errorMsgs, boolean[] hasGlobalAdministrators, DN[] effectiveDn) |
| | | throws UserDataException |
| | | { |
| | | host = getHostNameForLdapUrl(host); |
| | |
| | | } |
| | | } |
| | | |
| | | private ConnectionWrapper newConnectionWrapper(String dn, String pwd, String[] effectiveDn, HostPort hostPort, |
| | | private ConnectionWrapper newConnectionWrapper(DN dn, String pwd, DN[] effectiveDn, HostPort hostPort, |
| | | ApplicationTrustManager trustManager) throws Throwable |
| | | { |
| | | try |
| | |
| | | throw t; |
| | | } |
| | | // Try using a global administrator |
| | | dn = ADSContext.getAdministratorDN(dn).toString(); |
| | | dn = ADSContext.getAdministratorDN(dn.toString()); |
| | | effectiveDn[0] = dn; |
| | | return new ConnectionWrapper(hostPort, LDAPS, dn, pwd, getConnectTimeout(), trustManager); |
| | | } |
| | |
| | | { |
| | | UserData uData = getUserData(); |
| | | HostPort hostPort = new HostPort(uData.getHostName(), uData.getAdminConnectorPort()); |
| | | String dn = uData.getDirectoryManagerDn(); |
| | | DN dn = DN.valueOf(uData.getDirectoryManagerDn()); |
| | | String pwd = uData.getDirectoryManagerPwd(); |
| | | return new ConnectionWrapper(hostPort, LDAPS, dn, pwd, getConnectTimeout(), null); |
| | | } |