Batch of changes that :
- Update BDB JE to version 4.0.95
- Remove BDB logging configuration and definitely fix issue 4367
- Resolve issue 4523 - ACI and sub-entry caches not updated on replicas
- Update the build factory to warn about generated messages on precommit
- Resolve some issues in the Control Panel
- Fix an issue with java.properties being ignored by some CLI
1 files deleted
18 files added
33 files modified
| | |
| | | popupDuplicateEntryMenuItem.setEnabled(enableDuplicateEntry); |
| | | menuBar.duplicateEntryMenuItem.setEnabled(enableDuplicateEntry); |
| | | |
| | | boolean enableAddToGroup = enableCopyDN; |
| | | boolean enableAddToGroup = enableDelete; |
| | | popupAddToGroupMenuItem.setEnabled(enableAddToGroup); |
| | | menuBar.addToGroupMenuItem.setEnabled(enableAddToGroup); |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2009 Sun Microsystems, Inc. |
| | | * Copyright 2009-2010 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.guitools.controlpanel.ui; |
| | |
| | | { |
| | | INFO_CTRL_PANEL_JANUARY.get(), |
| | | INFO_CTRL_PANEL_FEBRUARY.get(), |
| | | INFO_CTRL_PANEL_MARS.get(), |
| | | INFO_CTRL_PANEL_MARCH.get(), |
| | | INFO_CTRL_PANEL_APRIL.get(), |
| | | INFO_CTRL_PANEL_MAY.get(), |
| | | INFO_CTRL_PANEL_JUNE.get(), |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2008 Sun Microsystems, Inc. |
| | | * Copyright 2008-2010 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.guitools.controlpanel.ui.components; |
| | |
| | | } |
| | | else if (e.getSource() == selectedList2) |
| | | { |
| | | if (selectedList1.getSelectedValue() != null) |
| | | if (selectedList2.getSelectedValue() != null) |
| | | { |
| | | remove2Clicked(); |
| | | } |
| | |
| | | { |
| | | for (int i=0; i<indexes.length; i++) |
| | | { |
| | | if (list.getModel().getElementAt(indexes[i]).equals(element)) |
| | | // This check is necessary since the selection model might not |
| | | // be in sync with the list model. |
| | | if (indexes[i] < list.getModel().getSize() && |
| | | list.getModel().getElementAt(indexes[i]).equals(element)) |
| | | { |
| | | list.getSelectionModel().removeIndexInterval(indexes[i], |
| | | indexes[i]); |
| | |
| | | INFO_CTRL_PANEL_DAYS=Days: |
| | | INFO_CTRL_PANEL_JANUARY=January |
| | | INFO_CTRL_PANEL_FEBRUARY=February |
| | | INFO_CTRL_PANEL_MARS=Mars |
| | | INFO_CTRL_PANEL_MARCH=March |
| | | INFO_CTRL_PANEL_APRIL=April |
| | | INFO_CTRL_PANEL_MAY=May |
| | | INFO_CTRL_PANEL_JUNE=June |
| | |
| | | // ------------------------------------------------------- |
| | | // NOTE: if you change this be sure to change getBuildString() |
| | | // ------------------------------------------------------- |
| | | Pattern p = Pattern.compile("((\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+))"); |
| | | |
| | | // Allow negative revision number for cases where there is no |
| | | // VCS available. |
| | | Pattern p = Pattern.compile("((\\d+)\\.(\\d+)\\.(\\d+)\\.(-?\\d+))"); |
| | | Matcher m = p.matcher(bn); |
| | | if (!m.matches()) { |
| | | throw new IllegalArgumentException("'" + bn + "' is not a build string"); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.quicksetup; |
| | | |
| | |
| | | public static SecurityOptions createSelfSignedCertificateOptions( |
| | | boolean enableSSL, boolean enableStartTLS, int sslPort) |
| | | { |
| | | |
| | | return createSelfSignedCertificateOptions(enableSSL, enableStartTLS, |
| | | sslPort, SELF_SIGNED_CERT_ALIAS); |
| | | } |
| | | |
| | | /** |
| | | * Creates a new instance of a SecurityOptions using a self-signed |
| | | * certificate. |
| | | * @param enableSSL whether SSL is enabled or not. |
| | | * @param enableStartTLS whether Start TLS is enabled or not. |
| | | * @param sslPort the value of the LDAPS port. |
| | | * @param aliasToUse the alias of the certificate in the key store to be used. |
| | | * @return a new instance of a SecurityOptions using a self-signed |
| | | * certificate. |
| | | */ |
| | | public static SecurityOptions createSelfSignedCertificateOptions( |
| | | boolean enableSSL, boolean enableStartTLS, int sslPort, String aliasToUse) |
| | | { |
| | | SecurityOptions ops = new SecurityOptions(); |
| | | ops.setCertificateType(CertificateType.SELF_SIGNED_CERTIFICATE); |
| | | updateCertificateOptions(ops, enableSSL, enableStartTLS, sslPort, |
| | | SELF_SIGNED_CERT_ALIAS); |
| | | aliasToUse); |
| | | return ops; |
| | | } |
| | | |
| | |
| | | if (origJavaArgument.equals(defaultJavaArg) && |
| | | fileProperties.containsKey(propertiesKey)) |
| | | { |
| | | otherProperties.put(script, fileProperties.getProperty(propertiesKey)); |
| | | otherProperties.put(propertiesKey, |
| | | fileProperties.getProperty(propertiesKey)); |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | if (!fileProperties.containsKey("overwrite-env-java-home")) |
| | | String v = fileProperties.getProperty("overwrite-env-java-home"); |
| | | if (v == null || |
| | | (!v.equalsIgnoreCase("true") && !v.equalsIgnoreCase("false"))) |
| | | { |
| | | otherProperties.put("overwrite-env-java-home", "false"); |
| | | } |
| | | if (!fileProperties.containsKey("overwrite-env-java-args")) |
| | | else |
| | | { |
| | | otherProperties.put("overwrite-env-java-home", v.toLowerCase()); |
| | | } |
| | | |
| | | v = fileProperties.getProperty("overwrite-env-java-args"); |
| | | if (v == null || |
| | | (!v.equalsIgnoreCase("true") && !v.equalsIgnoreCase("false"))) |
| | | { |
| | | otherProperties.put("overwrite-env-java-args", "false"); |
| | | } |
| | | else |
| | | { |
| | | otherProperties.put("overwrite-env-java-args", v.toLowerCase()); |
| | | } |
| | | |
| | | |
| | | if (!fileProperties.containsKey("default.java-home")) |
| | | { |
| | | otherProperties.put("default.java-home=", javaHome); |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2007-2009 Sun Microsystems, Inc. |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.server.admin.client.cli; |
| | |
| | | TrustManagerProviderCfg trustManagerCfg = null; |
| | | AdministrationConnectorCfg administrationConnectorCfg = null; |
| | | |
| | | boolean couldInitializeConfig = configurationInitialized; |
| | | // Initialization for admin framework |
| | | if (!configurationInitialized) { |
| | | initializeConfiguration(); |
| | | couldInitializeConfig = initializeConfiguration(); |
| | | } |
| | | // Get the Directory Server configuration handler and use it. |
| | | RootCfg root = |
| | | ServerManagementContext.getInstance().getRootConfiguration(); |
| | | administrationConnectorCfg = root.getAdministrationConnector(); |
| | | if (couldInitializeConfig) |
| | | { |
| | | // Get the Directory Server configuration handler and use it. |
| | | RootCfg root = |
| | | ServerManagementContext.getInstance().getRootConfiguration(); |
| | | administrationConnectorCfg = root.getAdministrationConnector(); |
| | | |
| | | String trustManagerStr = |
| | | administrationConnectorCfg.getTrustManagerProvider(); |
| | | trustManagerCfg = root.getTrustManagerProvider(trustManagerStr); |
| | | if (trustManagerCfg instanceof FileBasedTrustManagerProviderCfg) { |
| | | FileBasedTrustManagerProviderCfg fileBasedTrustManagerCfg = |
| | | (FileBasedTrustManagerProviderCfg) trustManagerCfg; |
| | | String truststoreFile = fileBasedTrustManagerCfg.getTrustStoreFile(); |
| | | // Check the file |
| | | if (truststoreFile.startsWith(File.separator)) { |
| | | truststoreFileAbsolute = truststoreFile; |
| | | } else { |
| | | truststoreFileAbsolute = |
| | | DirectoryServer.getInstanceRoot() + File.separator + truststoreFile; |
| | | } |
| | | File f = new File(truststoreFileAbsolute); |
| | | if (!f.exists() || !f.canRead() || f.isDirectory()) |
| | | { |
| | | truststoreFileAbsolute = null; |
| | | } |
| | | else |
| | | { |
| | | // Try to get the canonical path. |
| | | try |
| | | { |
| | | truststoreFileAbsolute = f.getCanonicalPath(); |
| | | String trustManagerStr = |
| | | administrationConnectorCfg.getTrustManagerProvider(); |
| | | trustManagerCfg = root.getTrustManagerProvider(trustManagerStr); |
| | | if (trustManagerCfg instanceof FileBasedTrustManagerProviderCfg) { |
| | | FileBasedTrustManagerProviderCfg fileBasedTrustManagerCfg = |
| | | (FileBasedTrustManagerProviderCfg) trustManagerCfg; |
| | | String truststoreFile = fileBasedTrustManagerCfg.getTrustStoreFile(); |
| | | // Check the file |
| | | if (truststoreFile.startsWith(File.separator)) { |
| | | truststoreFileAbsolute = truststoreFile; |
| | | } else { |
| | | truststoreFileAbsolute = |
| | | DirectoryServer.getInstanceRoot() + File.separator + truststoreFile; |
| | | } |
| | | catch (Throwable t) |
| | | File f = new File(truststoreFileAbsolute); |
| | | if (!f.exists() || !f.canRead() || f.isDirectory()) |
| | | { |
| | | // We can ignore this error. |
| | | truststoreFileAbsolute = null; |
| | | } |
| | | else |
| | | { |
| | | // Try to get the canonical path. |
| | | try |
| | | { |
| | | truststoreFileAbsolute = f.getCanonicalPath(); |
| | | } |
| | | catch (Throwable t) |
| | | { |
| | | // We can ignore this error. |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public int getAdminPortFromConfig() throws ConfigException |
| | | { |
| | | int port; |
| | | // Initialization for admin framework |
| | | boolean couldInitializeConfiguration = configurationInitialized; |
| | | if (!configurationInitialized) { |
| | | initializeConfiguration(); |
| | | couldInitializeConfiguration = initializeConfiguration(); |
| | | } |
| | | RootCfg root = |
| | | ServerManagementContext.getInstance().getRootConfiguration(); |
| | | int port = root.getAdministrationConnector().getListenPort(); |
| | | if (couldInitializeConfiguration) |
| | | { |
| | | RootCfg root = |
| | | ServerManagementContext.getInstance().getRootConfiguration(); |
| | | port = root.getAdministrationConnector().getListenPort(); |
| | | } |
| | | else |
| | | { |
| | | port = AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT; |
| | | } |
| | | return port; |
| | | } |
| | | |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.api; |
| | | |
| | |
| | | * {@inheritDoc} |
| | | */ |
| | | public String getClassName() { |
| | | return "org.oepnds.server.api.DirectoryThread"; |
| | | return "org.opends.server.api.DirectoryThread"; |
| | | } |
| | | |
| | | /** |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2008-2009 Sun Microsystems, Inc. |
| | | * Copyright 2008-2010 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.server.authorization.dseecompat; |
| | |
| | | import org.opends.server.api.plugin.PluginResult; |
| | | import org.opends.server.api.plugin.PluginType; |
| | | import org.opends.server.api.plugin.PluginResult.PostOperation; |
| | | import org.opends.server.types.operation.PostOperationAddOperation; |
| | | import org.opends.server.types.operation.PostOperationDeleteOperation; |
| | | import org.opends.server.types.operation.PostOperationModifyDNOperation; |
| | | import org.opends.server.types.operation.PostOperationModifyOperation; |
| | | import org.opends.server.types.operation.*; |
| | | import org.opends.server.protocols.internal.InternalClientConnection; |
| | | import org.opends.server.protocols.internal.InternalSearchOperation; |
| | | import org.opends.server.protocols.ldap.LDAPControl; |
| | |
| | | { |
| | | private AciChangeListenerPlugin() |
| | | { |
| | | super(configurationDN, EnumSet.of(PluginType.POST_OPERATION_ADD, |
| | | super(configurationDN, EnumSet.of( |
| | | PluginType.POST_SYNCHRONIZATION_ADD, |
| | | PluginType.POST_SYNCHRONIZATION_DELETE, |
| | | PluginType.POST_SYNCHRONIZATION_MODIFY, |
| | | PluginType.POST_SYNCHRONIZATION_MODIFY_DN, |
| | | PluginType.POST_OPERATION_ADD, |
| | | PluginType.POST_OPERATION_DELETE, |
| | | PluginType.POST_OPERATION_MODIFY, |
| | | PluginType.POST_OPERATION_MODIFY_DN), true); |
| | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | public void doPostSynchronization( |
| | | PostSynchronizationAddOperation addOperation) |
| | | { |
| | | doPostAdd(addOperation.getEntryToAdd()); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | public void doPostSynchronization( |
| | | PostSynchronizationDeleteOperation deleteOperation) |
| | | { |
| | | doPostDelete(deleteOperation.getEntryToDelete()); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | public void doPostSynchronization( |
| | | PostSynchronizationModifyDNOperation modifyDNOperation) |
| | | { |
| | | doPostModifyDN(modifyDNOperation.getOriginalEntry().getDN(), |
| | | modifyDNOperation.getUpdatedEntry().getDN()); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | public void doPostSynchronization( |
| | | PostSynchronizationModifyOperation modifyOperation) |
| | | { |
| | | doPostModify(modifyOperation.getModifications(), modifyOperation |
| | | .getCurrentEntry(), modifyOperation.getModifiedEntry()); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | public PostOperation doPostOperation( |
| | | PostOperationAddOperation addOperation) |
| | | { |
| | | // This entry might have both global and aci attribute types. |
| | | Entry entry = addOperation.getEntryToAdd(); |
| | | boolean hasAci, hasGlobalAci = false; |
| | | if ((hasAci = entry.hasOperationalAttribute(AciHandler.aciType)) |
| | | || (hasGlobalAci = |
| | | entry.hasAttribute(AciHandler.globalAciType))) |
| | | { |
| | | // Ignore this list, the ACI syntax has already passed and it |
| | | // should be empty. |
| | | LinkedList<Message> failedACIMsgs = new LinkedList<Message>(); |
| | | |
| | | aciList.addAci(entry, hasAci, hasGlobalAci, failedACIMsgs); |
| | | } |
| | | doPostAdd(addOperation.getEntryToAdd()); |
| | | |
| | | // If we've gotten here, then everything is acceptable. |
| | | return PluginResult.PostOperation.continueOperationProcessing(); |
| | |
| | | public PostOperation doPostOperation( |
| | | PostOperationDeleteOperation deleteOperation) |
| | | { |
| | | // This entry might have both global and aci attribute types. |
| | | boolean hasAci, hasGlobalAci = false; |
| | | Entry entry = deleteOperation.getEntryToDelete(); |
| | | if ((hasAci = entry.hasOperationalAttribute(AciHandler.aciType)) |
| | | || (hasGlobalAci = |
| | | entry.hasAttribute(AciHandler.globalAciType))) |
| | | { |
| | | aciList.removeAci(entry, hasAci, hasGlobalAci); |
| | | } |
| | | doPostDelete(deleteOperation.getEntryToDelete()); |
| | | |
| | | // If we've gotten here, then everything is acceptable. |
| | | return PluginResult.PostOperation.continueOperationProcessing(); |
| | |
| | | public PostOperation doPostOperation( |
| | | PostOperationModifyDNOperation modifyDNOperation) |
| | | { |
| | | aciList.renameAci(modifyDNOperation.getOriginalEntry().getDN(), |
| | | doPostModifyDN(modifyDNOperation.getOriginalEntry().getDN(), |
| | | modifyDNOperation.getUpdatedEntry().getDN()); |
| | | |
| | | // If we've gotten here, then everything is acceptable. |
| | |
| | | public PostOperation doPostOperation( |
| | | PostOperationModifyOperation modifyOperation) |
| | | { |
| | | doPostModify(modifyOperation.getModifications(), modifyOperation |
| | | .getCurrentEntry(), modifyOperation.getModifiedEntry()); |
| | | |
| | | // If we've gotten here, then everything is acceptable. |
| | | return PluginResult.PostOperation.continueOperationProcessing(); |
| | | } |
| | | |
| | | |
| | | |
| | | private void doPostAdd(Entry addedEntry) |
| | | { |
| | | // This entry might have both global and aci attribute types. |
| | | boolean hasAci, hasGlobalAci = false; |
| | | if ((hasAci = addedEntry |
| | | .hasOperationalAttribute(AciHandler.aciType)) |
| | | || (hasGlobalAci = addedEntry |
| | | .hasAttribute(AciHandler.globalAciType))) |
| | | { |
| | | // Ignore this list, the ACI syntax has already passed and it |
| | | // should be empty. |
| | | LinkedList<Message> failedACIMsgs = new LinkedList<Message>(); |
| | | |
| | | aciList.addAci(addedEntry, hasAci, hasGlobalAci, failedACIMsgs); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | private void doPostDelete(Entry deletedEntry) |
| | | { |
| | | // This entry might have both global and aci attribute types. |
| | | boolean hasAci, hasGlobalAci = false; |
| | | if ((hasAci = deletedEntry |
| | | .hasOperationalAttribute(AciHandler.aciType)) |
| | | || (hasGlobalAci = deletedEntry |
| | | .hasAttribute(AciHandler.globalAciType))) |
| | | { |
| | | aciList.removeAci(deletedEntry, hasAci, hasGlobalAci); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | private void doPostModifyDN(DN fromDN, DN toDN) |
| | | { |
| | | aciList.renameAci(fromDN, toDN); |
| | | } |
| | | |
| | | |
| | | |
| | | private void doPostModify(List<Modification> mods, Entry oldEntry, |
| | | Entry newEntry) |
| | | { |
| | | // A change to the ACI list is expensive so let's first make sure |
| | | // that the modification included changes to the ACI. We'll check |
| | | // for both "aci" attribute types and global "ds-cfg-global-aci" |
| | | // attribute types. |
| | | boolean hasAci = false, hasGlobalAci = false; |
| | | List<Modification> mods = modifyOperation.getModifications(); |
| | | for (Modification mod : mods) |
| | | { |
| | | AttributeType attributeType = |
| | | mod.getAttribute().getAttributeType(); |
| | | AttributeType attributeType = mod.getAttribute() |
| | | .getAttributeType(); |
| | | if (attributeType.equals(AciHandler.aciType)) |
| | | { |
| | | hasAci = true; |
| | |
| | | |
| | | if (hasAci || hasGlobalAci) |
| | | { |
| | | Entry oldEntry = modifyOperation.getCurrentEntry(); |
| | | Entry newEntry = modifyOperation.getModifiedEntry(); |
| | | aciList.modAciOldNewEntry(oldEntry, newEntry, hasAci, |
| | | hasGlobalAci); |
| | | } |
| | | |
| | | // If we've gotten here, then everything is acceptable. |
| | | return PluginResult.PostOperation.continueOperationProcessing(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /* |
| | | * The configuration DN. |
| | | */ |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | |
| | |
| | | import java.util.StringTokenizer; |
| | | import java.util.List; |
| | | import java.util.Arrays; |
| | | import java.util.logging.Level; |
| | | import java.util.logging.Logger; |
| | | |
| | | import org.opends.messages.Message; |
| | | import static org.opends.messages.JebMessages.*; |
| | |
| | | envConfig.setConfigParam(jeProperty, value); |
| | | } |
| | | |
| | | // Set logging and file handler levels. |
| | | Logger parent = Logger.getLogger("com.sleepycat.je"); |
| | | try |
| | | { |
| | | parent.setLevel(Level.parse(cfg.getDBLoggingLevel())); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new ConfigException( |
| | | ERR_JEB_INVALID_LOGGING_LEVEL.get( |
| | | String.valueOf(cfg.getDBLoggingLevel()), |
| | | String.valueOf(cfg.dn()))); |
| | | } |
| | | if (cfg.isDBLoggingFileHandlerOn()) |
| | | { |
| | | envConfig.setConfigParam( |
| | | EnvironmentConfig.FILE_LOGGING_LEVEL, |
| | | Level.ALL.getName()); |
| | | } |
| | | else |
| | | { |
| | | envConfig.setConfigParam( |
| | | EnvironmentConfig.FILE_LOGGING_LEVEL, |
| | | Level.OFF.getName()); |
| | | } |
| | | |
| | | // See if there are any native JE properties specified in the config |
| | | // and if so try to parse, evaluate and set them. |
| | | SortedSet<String> jeProperties = cfg.getJEProperty(); |
| | |
| | | import org.opends.quicksetup.Installation; |
| | | import org.opends.quicksetup.UserData; |
| | | import org.opends.quicksetup.util.Utils; |
| | | import org.opends.server.admin.AdministrationConnector; |
| | | import org.opends.server.extensions.ConfigFileHandler; |
| | | import org.opends.server.util.SetupUtils; |
| | | import org.opends.server.util.args.Argument; |
| | |
| | | int defaultAdminPort = UserData.getDefaultAdminConnectorPort(); |
| | | if (defaultAdminPort == -1) |
| | | { |
| | | defaultAdminPort = 4444; |
| | | defaultAdminPort = |
| | | AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT; |
| | | } |
| | | adminConnectorPortArg = new IntegerArgument( |
| | | "adminConnectorPort".toLowerCase(), null, |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2007-2009 Sun Microsystems, Inc. |
| | | * Copyright 2007-2010 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.server.tools.dsreplication; |
| | |
| | | import org.opends.messages.MessageBuilder; |
| | | import org.opends.quicksetup.Constants; |
| | | import org.opends.quicksetup.util.Utils; |
| | | import org.opends.server.admin.AdministrationConnector; |
| | | import org.opends.server.admin.client.cli.SecureConnectionCliArgs; |
| | | import org.opends.server.admin.client.cli.SecureConnectionCliParser; |
| | | import org.opends.server.util.args.Argument; |
| | |
| | | private SubCommand preExternalInitializationSubCmd; |
| | | private SubCommand statusReplicationSubCmd; |
| | | |
| | | int defaultAdminPort = 4444; |
| | | int defaultAdminPort = |
| | | AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT; |
| | | |
| | | /** |
| | | * No-prompt argument. |
| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2009 Sun Microsystems, Inc. |
| | | * Copyright 2009-2010 Sun Microsystems, Inc. |
| | | */ |
| | | |
| | | package org.opends.server.types; |
| | |
| | | ATTR_SUBTREE_SPEC_LC, true); |
| | | List<Attribute> specAttrList = |
| | | entry.getAttribute(specAttrType); |
| | | for (Attribute attr : specAttrList) |
| | | if (specAttrList != null) |
| | | { |
| | | for (AttributeValue value : attr) |
| | | for (Attribute attr : specAttrList) |
| | | { |
| | | this.subTreeSpec = RFC3672SubtreeSpecification.valueOf( |
| | | entry.getDN().getParent(), value.toString()); |
| | | break; |
| | | } |
| | | if (this.subTreeSpec != null) |
| | | { |
| | | break; |
| | | for (AttributeValue value : attr) |
| | | { |
| | | this.subTreeSpec = RFC3672SubtreeSpecification.valueOf( |
| | | entry.getDN().getParent(), value.toString()); |
| | | break; |
| | | } |
| | | if (this.subTreeSpec != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | // Subentry has to to have a subtree specification. |
| | | if (this.subTreeSpec == null) |
| | | { |
| | | // There is none for some reason so create a dummy. |
| | | // There is none for some reason eg this could be |
| | | // old Draft based ldapSubEntry so create a dummy. |
| | | this.subTreeSpec = new RFC3672SubtreeSpecification( |
| | | entry.getDN().getParent(), null, -1, -1, |
| | | null, null, null); |
| New file |
| | |
| | | dn: uid=mward,ou=America,ou=People,o=collectiveattr tests,dc=example,dc=com |
| | | cn: Marcus Ward |
| | | sn: Ward |
| | | givenname: Marcus |
| | | objectclass: top |
| | | objectclass: person |
| | | objectclass: organizationalPerson |
| | | objectclass: inetOrgPerson |
| | | l: Santa Clara |
| | | uid: mward |
| | | mail: mward@example.com |
| | | telephonenumber: +1 408 555 5688 |
| | | facsimiletelephonenumber: +1 408 555 0111 |
| | | roomnumber: 1707 |
| | | userpassword: normal |
| | | collectiveExclusions: excludeAllCollectiveAttributes |
| New file |
| | |
| | | dn: cn=Collective seeAlso,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective seeAlso |
| | | seeAlso;collective: uid=scarter,ou=Asia,ou=People,o=collectiveattr tests,dc=example,dc=com |
| | | subtreeSpecification: {base "ou=people,o=collectiveattr tests", minimum 1} |
| New file |
| | |
| | | dn: cn=Collective c-st,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective c-st |
| | | c-st: Jefferson Street |
| | | subtreeSpecification: {base "ou=people,o=collectiveattr tests", minimum 2} |
| New file |
| | |
| | | dn: uid=alutz,ou=Asia,ou=People,o=collectiveattr tests,dc=example,dc=com |
| | | cn: Alexander Lutz |
| | | sn: Lutz |
| | | givenname: Alexander |
| | | objectclass: top |
| | | objectclass: person |
| | | objectclass: organizationalPerson |
| | | objectclass: inetOrgPerson |
| | | l: Santa Clara |
| | | uid: alutz |
| | | mail: alutz@example.com |
| | | telephonenumber: +1 408 555 6505 |
| | | facsimiletelephonenumber: +1 408 555 4774 |
| | | roomnumber: 1327 |
| | | userpassword: northward |
| | | collectiveExclusions: c-o |
| | | collectiveExclusions: photo |
| | | collectiveExclusions: printer |
| | | collectiveExclusions: location |
| | | collectiveExclusions: c-l |
| | | collectiveExclusions: preferredLanguage |
| New file |
| | |
| | | dn: cn=Collective photo,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective photo |
| | | photo;collective: SunOraclesmall.gif |
| | | subtreeSpecification: {base "ou=people,o=collectiveattr tests", minimum 1} |
| New file |
| | |
| | | dn: cn=Collective c-o,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective c-o |
| | | c-o: Development |
| | | subtreeSpecification: {base "ou=people,o=collectiveattr tests", minimum 2} |
| New file |
| | |
| | | dn: cn=Collective displayName,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective displayName |
| | | displayName;collective: Sollicitors |
| | | subtreeSpecification: {base "ou=people,o=collectiveattr tests", minimum 1} |
| New file |
| | |
| | | dn: cn=Collective buildingName,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective buildingName |
| | | buildingName;collective: Capital 4 |
| | | subtreeSpecification: {base "ou=people,o=collectiveattr tests", minimum 1, specificExclusions { chopBefore:"ou=Europe",chopAfter:"ou=America"}} |
| New file |
| | |
| | | dn: cn=Collective c-TelephoneNumber,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective c-TelephoneNumber |
| | | c-TelephoneNumber: +1 408 555 5555 |
| | | subtreeSpecification: {base "ou=people,o=collectiveattr tests", minimum 1, specificExclusions { chopBefore:"ou=America",chopAfter:"ou=Asia"}} |
| New file |
| | |
| | | dn: cn=Collective description,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective description |
| | | description;collective: Worldwide employees |
| | | subtreeSpecification: {base "ou=people,o=collectiveattr tests", minimum 1, specificationFilter and:{item:top, not:item:person}} |
| New file |
| | |
| | | dn: cn=Collective c-street,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective c-street |
| | | c-street: Chestnut Street |
| | | subtreeSpecification: {base "ou=people,o=collectiveattr tests", minimum 1, specificationFilter item:person } |
| New file |
| | |
| | | dn: cn=Collective pwdMinLength,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective pwdMinLength |
| | | pwdMinLength;collective: 9 |
| | | subtreeSpecification: {base "ou=peple", minimum 1} |
| New file |
| | |
| | | dn: cn=Collective c-FacsimileTelephoneNumber,dc=example,dc=com |
| | | objectClass: top |
| | | objectClass: subentry |
| | | objectClass: collectiveAttributeSubentry |
| | | objectClass: extensibleObject |
| | | cn: Collective c-FacsimileTelephoneNumber |
| | | c-FacsimileTelephoneNumber: + 1 408 777 4444 |
| | | subtreeSpecification: {base "ou=peple", minimum 1 } |
| | |
| | | dn: ou=Asia,ou=People,o=collectiveattr tests,dc=example,dc=com |
| | | objectClass: organizationalunit |
| | | objectClass: top |
| | | description: Users in Asia Region |
| | | ou: Asia |
| | | |
| | | dn: ou=Europe,ou=People,o=collectiveattr tests,dc=example,dc=com |
| New file |
| | |
| | | HTTP1.1 200 OK |
| | | Date: Fri, 26 Feb 2010 10:52:16 GMT |
| | | Server: Apache-Coyote/1.1 |
| | | Content-Type: text/xml |
| | | Connection: close |
| | | |
| | | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><batchResponse xmlns="urn:oasis:names:tc:DSML:2:0:core"><searchResponse><searchResultEntry dn="cn=Tim Simchuk,ou=Lorgs,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tim</value></attr><attr name="title"><value>Director</value></attr><attr name="cn"><value>Tim Simchuk</value></attr><attr name="telephoneNumber"><value>+1 408 720 0016</value></attr><attr name="sn"><value>Simchuk</value></attr><attr name="mail"><value>Tim.Simchuk@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200016</value></attr></searchResultEntry><searchResultEntry dn="cn=Kathrine Backstroms,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kathrine</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Kathrine Backstroms</value></attr><attr name="telephoneNumber"><value>+1 408 827 0062</value></attr><attr name="sn"><value>Backstroms</value></attr><attr name="mail"><value>Kathrine.Backstroms@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100093</value></attr></searchResultEntry><searchResultEntry dn="cn=Katty Bacons,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Katty</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Katty Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0063</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Katty.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100094</value></attr></searchResultEntry><searchResultEntry dn="cn=Celested Bacons,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Celested</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Celested Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0064</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Celested.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100095</value></attr></searchResultEntry><searchResultEntry dn="cn=Charlie Bacons,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charlie</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Charlie Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0065</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Charlie.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100096</value></attr></searchResultEntry><searchResultEntry dn="cn=Cheryl Bacons,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cheryl</value></attr><attr name="title"><value>Auditor</value></attr><attr name="cn"><value>Cheryl Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0066</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Cheryl.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100097</value></attr></searchResultEntry><searchResultEntry dn="cn=Chuck Bacons,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Chuck</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Chuck Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0067</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Chuck.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100098</value></attr></searchResultEntry><searchResultEntry dn="cn=Cindy Bacons,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cindy</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Cindy Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0068</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Cindy.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100099</value></attr></searchResultEntry><searchResultEntry dn="cn=Edward Bacons,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edward</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Edward Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0069</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Edward.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100100</value></attr></searchResultEntry><searchResultEntry dn="cn=Edwin Bacons,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edwin</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Edwin Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0070</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Edwin.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100101</value></attr></searchResultEntry><searchResultEntry dn="cn=Fran Bacons,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Fran</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Fran Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0071</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Fran.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100102</value></attr></searchResultEntry><searchResultEntry dn="cn=Francis Bacons,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Francis</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Francis Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0072</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Francis.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100103</value></attr></searchResultEntry><searchResultEntry dn="cn=Frank Bacons,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Frank</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Frank Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0073</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Frank.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100104</value></attr></searchResultEntry><searchResultEntry dn="cn=Franklin Bacons,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Franklin</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Franklin Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0074</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Franklin.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100105</value></attr></searchResultEntry><searchResultEntry dn="cn=Gerald Bacons,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gerald</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Gerald Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0075</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Gerald.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100106</value></attr></searchResultEntry><searchResultEntry dn="cn=Gerry Bacons,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gerry</value></attr><attr name="title"><value>Phone Support Tech</value></attr><attr name="cn"><value>Gerry Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0076</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Gerry.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100107</value></attr></searchResultEntry><searchResultEntry dn="cn=Gilda Bacons,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gilda</value></attr><attr name="title"><value>Remote Support Tech</value></attr><attr name="cn"><value>Gilda Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0077</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Gilda.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100108</value></attr></searchResultEntry><searchResultEntry dn="cn=Gilmore Bacons,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gilmore</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Gilmore Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0078</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Gilmore.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100109</value></attr></searchResultEntry><searchResultEntry dn="cn=Hans Bacons,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Hans</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Hans Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0079</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Hans.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100110</value></attr></searchResultEntry><searchResultEntry dn="cn=Harold Bacons,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Harold</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Harold Bacons</value></attr><attr name="telephoneNumber"><value>+1 408 827 0080</value></attr><attr name="sn"><value>Bacons</value></attr><attr name="mail"><value>Harold.Bacons@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100111</value></attr></searchResultEntry><searchResultEntry dn="cn=Harry Baileys,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Harry</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Harry Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0081</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Harry.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100112</value></attr></searchResultEntry><searchResultEntry dn="cn=Kalid Baileys,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kalid</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Kalid Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0082</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Kalid.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100113</value></attr></searchResultEntry><searchResultEntry dn="cn=Kip Baileys,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kip</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Kip Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0083</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Kip.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100114</value></attr></searchResultEntry><searchResultEntry dn="cn=Larry Baileys,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Larry</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Larry Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0084</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Larry.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100115</value></attr></searchResultEntry><searchResultEntry dn="cn=Lincoln Baileys,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lincoln</value></attr><attr name="title"><value>Recruter</value></attr><attr name="cn"><value>Lincoln Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0085</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Lincoln.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100116</value></attr></searchResultEntry><searchResultEntry dn="cn=Linda Baileys,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Linda</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Linda Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0086</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Linda.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100117</value></attr></searchResultEntry><searchResultEntry dn="cn=Linsey Baileys,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Linsey</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Linsey Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0087</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Linsey.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100118</value></attr></searchResultEntry><searchResultEntry dn="cn=Lynn Baileys,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lynn</value></attr><attr name="title"><value>Product Marketer</value></attr><attr name="cn"><value>Lynn Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0088</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Lynn.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100119</value></attr></searchResultEntry><searchResultEntry dn="cn=Mark Baileys,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mark</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Mark Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0089</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Mark.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100120</value></attr></searchResultEntry><searchResultEntry dn="cn=Micheal Baileys,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Micheal</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Micheal Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0090</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Micheal.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100121</value></attr></searchResultEntry><searchResultEntry dn="cn=Michele Baileys,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Michele</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Michele Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0091</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Michele.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100122</value></attr></searchResultEntry><searchResultEntry dn="cn=Michelle Baileys,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Michelle</value></attr><attr name="title"><value>Manager</value></attr><attr name="cn"><value>Michelle Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0092</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Michelle.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100123</value></attr></searchResultEntry><searchResultEntry dn="cn=Micky Baileys,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Micky</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Micky Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0093</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Micky.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100124</value></attr></searchResultEntry><searchResultEntry dn="cn=Mike Baileys,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mike</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Mike Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0094</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Mike.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100125</value></attr></searchResultEntry><searchResultEntry dn="cn=Mildred Baileys,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mildred</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Mildred Baileys</value></attr><attr name="telephoneNumber"><value>+1 408 827 0095</value></attr><attr name="sn"><value>Baileys</value></attr><attr name="mail"><value>Mildred.Baileys@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100126</value></attr></searchResultEntry><searchResultEntry dn="cn=Nancy Bakers,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nancy</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Nancy Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0096</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Nancy.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100127</value></attr></searchResultEntry><searchResultEntry dn="cn=Aron Bakers,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Aron</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Aron Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0097</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Aron.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100128</value></attr></searchResultEntry><searchResultEntry dn="cn=Barrtellie Bakers,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Barrtellie</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Barrtellie Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0098</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Barrtellie.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100129</value></attr></searchResultEntry><searchResultEntry dn="cn=Charles Bakers,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charles</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Charles Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0099</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Charles.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100130</value></attr></searchResultEntry><searchResultEntry dn="cn=Deanna Bakers,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Deanna</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Deanna Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0100</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Deanna.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100131</value></attr></searchResultEntry><searchResultEntry dn="cn=Gregory Bakers,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gregory</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Gregory Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0101</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Gregory.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100132</value></attr></searchResultEntry><searchResultEntry dn="cn=Halle Bakers,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Halle</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Halle Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0102</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Halle.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100133</value></attr></searchResultEntry><searchResultEntry dn="cn=Herbert Bakers,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Herbert</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Herbert Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0103</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Herbert.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100134</value></attr></searchResultEntry><searchResultEntry dn="cn=Jack Bakers,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jack</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Jack Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0104</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Jack.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100135</value></attr></searchResultEntry><searchResultEntry dn="cn=James Bakers,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>James</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>James Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0105</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>James.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100136</value></attr></searchResultEntry><searchResultEntry dn="cn=Jennifer Bakers,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jennifer</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Jennifer Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0106</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Jennifer.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100137</value></attr></searchResultEntry><searchResultEntry dn="cn=Jesica Bakers,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jesica</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Jesica Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0107</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Jesica.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100138</value></attr></searchResultEntry><searchResultEntry dn="cn=Leslie Bakers,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Leslie</value></attr><attr name="title"><value>Contractor</value></attr><attr name="cn"><value>Leslie Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0108</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Leslie.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100139</value></attr></searchResultEntry><searchResultEntry dn="cn=Lou Bakers,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lou</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Lou Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0109</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Lou.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100140</value></attr></searchResultEntry><searchResultEntry dn="cn=Monica Bakers,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Monica</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Monica Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0110</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Monica.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100141</value></attr></searchResultEntry><searchResultEntry dn="cn=Nan Bakers,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nan</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Nan Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0111</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Nan.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100142</value></attr></searchResultEntry><searchResultEntry dn="cn=Natt Bakers,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Natt</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Natt Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0112</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Natt.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100143</value></attr></searchResultEntry><searchResultEntry dn="cn=Paulette Bakers,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Paulette</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Paulette Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0118</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Paulette.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100149</value></attr></searchResultEntry><searchResultEntry dn="cn=Ralph Bakers,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ralph</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Ralph Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0119</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Ralph.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100150</value></attr></searchResultEntry><searchResultEntry dn="cn=Rick Bakers,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rick</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Rick Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0120</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Rick.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100151</value></attr></searchResultEntry><searchResultEntry dn="cn=Roland Bakers,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Roland</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Roland Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0121</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Roland.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100152</value></attr></searchResultEntry><searchResultEntry dn="cn=Ruben Bakers,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ruben</value></attr><attr name="title"><value>Auditor</value></attr><attr name="cn"><value>Ruben Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0122</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Ruben.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100153</value></attr></searchResultEntry><searchResultEntry dn="cn=Rudolf Bakers,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rudolf</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Rudolf Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0123</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Rudolf.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100154</value></attr></searchResultEntry><searchResultEntry dn="cn=Rupert Bakers,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rupert</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Rupert Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0124</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Rupert.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100155</value></attr></searchResultEntry><searchResultEntry dn="cn=Ruth Bakers,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ruth</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Ruth Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0125</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Ruth.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100156</value></attr></searchResultEntry><searchResultEntry dn="cn=Sally Bakers,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Sally</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Sally Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0126</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Sally.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100157</value></attr></searchResultEntry><searchResultEntry dn="cn=Shelly Bakers,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Shelly</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Shelly Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0127</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Shelly.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100158</value></attr></searchResultEntry><searchResultEntry dn="cn=Stan Bakers,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stan</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Stan Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0128</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Stan.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100159</value></attr></searchResultEntry><searchResultEntry dn="cn=Stew Bakers,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stew</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Stew Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0129</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Stew.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100160</value></attr></searchResultEntry><searchResultEntry dn="cn=Stewart Bakers,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stewart</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Stewart Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0130</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Stewart.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100161</value></attr></searchResultEntry><searchResultEntry dn="cn=Ted Bakers,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ted</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Ted Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0131</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Ted.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100162</value></attr></searchResultEntry><searchResultEntry dn="cn=Terrence Bakers,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Terrence</value></attr><attr name="title"><value>Phone Support Tech</value></attr><attr name="cn"><value>Terrence Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0132</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Terrence.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100163</value></attr></searchResultEntry><searchResultEntry dn="cn=Tim Bakers,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tim</value></attr><attr name="title"><value>Remote Support Tech</value></attr><attr name="cn"><value>Tim Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0133</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Tim.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100164</value></attr></searchResultEntry><searchResultEntry dn="cn=Timoty Bakers,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Timoty</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Timoty Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0134</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Timoty.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100165</value></attr></searchResultEntry><searchResultEntry dn="cn=Todd Bakers,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Todd</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Todd Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0135</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Todd.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100166</value></attr></searchResultEntry><searchResultEntry dn="cn=Tom Bakers,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tom</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Tom Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0136</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Tom.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100167</value></attr></searchResultEntry><searchResultEntry dn="cn=Tommy Bakers,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tommy</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Tommy Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0137</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Tommy.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100168</value></attr></searchResultEntry><searchResultEntry dn="cn=Tosha Bakers,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tosha</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Tosha Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0138</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Tosha.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100169</value></attr></searchResultEntry><searchResultEntry dn="cn=Victor Bakers,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Victor</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Victor Bakers</value></attr><attr name="telephoneNumber"><value>+1 408 827 0139</value></attr><attr name="sn"><value>Bakers</value></attr><attr name="mail"><value>Victor.Bakers@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100170</value></attr></searchResultEntry><searchResultEntry dn="cn=Wayne Baldwins,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Wayne</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Wayne Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0140</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Wayne.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100171</value></attr></searchResultEntry><searchResultEntry dn="cn=Adam Baldwins,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Adam</value></attr><attr name="title"><value>Recruter</value></attr><attr name="cn"><value>Adam Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0141</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Adam.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100172</value></attr></searchResultEntry><searchResultEntry dn="cn=Archie Baldwins,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Archie</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Archie Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0142</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Archie.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100173</value></attr></searchResultEntry><searchResultEntry dn="cn=Arnold Baldwins,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Arnold</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Arnold Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0143</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Arnold.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100174</value></attr></searchResultEntry><searchResultEntry dn="cn=Aron Baldwins,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Aron</value></attr><attr name="title"><value>Product Marketer</value></attr><attr name="cn"><value>Aron Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0144</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Aron.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100175</value></attr></searchResultEntry><searchResultEntry dn="cn=Barrtellie Baldwins,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Barrtellie</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Barrtellie Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0145</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Barrtellie.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100176</value></attr></searchResultEntry><searchResultEntry dn="cn=Bob Baldwins,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Bob</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Bob Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0146</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Bob.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100177</value></attr></searchResultEntry><searchResultEntry dn="cn=Brain Baldwins,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Brain</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Brain Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0147</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Brain.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100178</value></attr></searchResultEntry><searchResultEntry dn="cn=Celested Baldwins,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Celested</value></attr><attr name="title"><value>Manager</value></attr><attr name="cn"><value>Celested Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0148</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Celested.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100179</value></attr></searchResultEntry><searchResultEntry dn="cn=Charles Baldwins,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charles</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Charles Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0149</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Charles.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100180</value></attr></searchResultEntry><searchResultEntry dn="cn=Charlie Baldwins,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charlie</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Charlie Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0150</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Charlie.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100181</value></attr></searchResultEntry><searchResultEntry dn="cn=Cheryl Baldwins,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cheryl</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Cheryl Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0151</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Cheryl.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100182</value></attr></searchResultEntry><searchResultEntry dn="cn=Chuck Baldwins,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Chuck</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Chuck Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0152</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Chuck.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100183</value></attr></searchResultEntry><searchResultEntry dn="cn=Cindy Baldwins,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cindy</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Cindy Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0153</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Cindy.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100184</value></attr></searchResultEntry><searchResultEntry dn="cn=Deanna Baldwins,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Deanna</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Deanna Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0154</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Deanna.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100185</value></attr></searchResultEntry><searchResultEntry dn="cn=Donald Baldwins,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Donald</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Donald Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0155</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Donald.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100186</value></attr></searchResultEntry><searchResultEntry dn="cn=Donna Baldwins,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Donna</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Donna Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0156</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Donna.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100187</value></attr></searchResultEntry><searchResultEntry dn="cn=Edward Baldwins,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edward</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Edward Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0157</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Edward.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100188</value></attr></searchResultEntry><searchResultEntry dn="cn=Edwin Baldwins,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edwin</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Edwin Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0158</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Edwin.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100189</value></attr></searchResultEntry><searchResultEntry dn="cn=Fran Baldwins,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Fran</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Fran Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0159</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Fran.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100190</value></attr></searchResultEntry><searchResultEntry dn="cn=Francis Baldwins,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Francis</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Francis Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0160</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Francis.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100191</value></attr></searchResultEntry><searchResultEntry dn="cn=Frank Baldwins,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Frank</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Frank Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0161</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Frank.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100192</value></attr></searchResultEntry><searchResultEntry dn="cn=Franklin Baldwins,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Franklin</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Franklin Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0162</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Franklin.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100193</value></attr></searchResultEntry><searchResultEntry dn="cn=Gerald Baldwins,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gerald</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Gerald Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0163</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Gerald.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100194</value></attr></searchResultEntry><searchResultEntry dn="cn=Gerry Baldwins,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gerry</value></attr><attr name="title"><value>Contractor</value></attr><attr name="cn"><value>Gerry Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0164</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Gerry.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100195</value></attr></searchResultEntry><searchResultEntry dn="cn=Gilda Baldwins,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gilda</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Gilda Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0165</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Gilda.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100196</value></attr></searchResultEntry><searchResultEntry dn="cn=Gilmore Baldwins,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gilmore</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Gilmore Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0166</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Gilmore.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100197</value></attr></searchResultEntry><searchResultEntry dn="cn=Gregory Baldwins,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gregory</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Gregory Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0167</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Gregory.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100198</value></attr></searchResultEntry><searchResultEntry dn="cn=Halle Baldwins,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Halle</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Halle Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0168</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Halle.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100199</value></attr></searchResultEntry><searchResultEntry dn="cn=Axel Baldwins,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Axel</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Axel Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0174</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Axel.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100205</value></attr></searchResultEntry><searchResultEntry dn="cn=Herbert Baldwins,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Herbert</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Herbert Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0175</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Herbert.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100206</value></attr></searchResultEntry><searchResultEntry dn="cn=Inga Baldwins,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Inga</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Inga Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0176</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Inga.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100207</value></attr></searchResultEntry><searchResultEntry dn="cn=Jack Baldwins,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jack</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Jack Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0177</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Jack.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100208</value></attr></searchResultEntry><searchResultEntry dn="cn=James Baldwins,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>James</value></attr><attr name="title"><value>Auditor</value></attr><attr name="cn"><value>James Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0178</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>James.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100209</value></attr></searchResultEntry><searchResultEntry dn="cn=Jennifer Baldwins,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jennifer</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Jennifer Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0179</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Jennifer.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100210</value></attr></searchResultEntry><searchResultEntry dn="cn=Jerry Baldwins,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jerry</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Jerry Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0180</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Jerry.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100211</value></attr></searchResultEntry><searchResultEntry dn="cn=Jesica Baldwins,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jesica</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Jesica Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0181</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Jesica.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100212</value></attr></searchResultEntry><searchResultEntry dn="cn=Joanne Baldwins,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Joanne</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Joanne Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0182</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Joanne.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100213</value></attr></searchResultEntry><searchResultEntry dn="cn=John Baldwins,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>John</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>John Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0183</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>John.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100214</value></attr></searchResultEntry><searchResultEntry dn="cn=Jon Baldwins,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jon</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Jon Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0184</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Jon.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100215</value></attr></searchResultEntry><searchResultEntry dn="cn=Kalid Baldwins,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kalid</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Kalid Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0185</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Kalid.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100216</value></attr></searchResultEntry><searchResultEntry dn="cn=Kathrine Baldwins,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kathrine</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Kathrine Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0186</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Kathrine.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100217</value></attr></searchResultEntry><searchResultEntry dn="cn=Katty Baldwins,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Katty</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Katty Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0187</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Katty.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100218</value></attr></searchResultEntry><searchResultEntry dn="cn=Kim Baldwins,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kim</value></attr><attr name="title"><value>Phone Support Tech</value></attr><attr name="cn"><value>Kim Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0188</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Kim.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100219</value></attr></searchResultEntry><searchResultEntry dn="cn=Kip Baldwins,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kip</value></attr><attr name="title"><value>Remote Support Tech</value></attr><attr name="cn"><value>Kip Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0189</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Kip.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100220</value></attr></searchResultEntry><searchResultEntry dn="cn=Larry Baldwins,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Larry</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Larry Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0190</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Larry.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100221</value></attr></searchResultEntry><searchResultEntry dn="cn=Leslie Baldwins,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Leslie</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Leslie Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0191</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Leslie.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100222</value></attr></searchResultEntry><searchResultEntry dn="cn=Lincoln Baldwins,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lincoln</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Lincoln Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0192</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Lincoln.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100223</value></attr></searchResultEntry><searchResultEntry dn="cn=Linda Baldwins,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Linda</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Linda Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0193</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Linda.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100224</value></attr></searchResultEntry><searchResultEntry dn="cn=Linsey Baldwins,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Linsey</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Linsey Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0194</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Linsey.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100225</value></attr></searchResultEntry><searchResultEntry dn="cn=Lou Baldwins,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lou</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Lou Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0195</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Lou.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100226</value></attr></searchResultEntry><searchResultEntry dn="cn=Lynn Baldwins,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lynn</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Lynn Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0196</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Lynn.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100227</value></attr></searchResultEntry><searchResultEntry dn="cn=Mark Baldwins,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mark</value></attr><attr name="title"><value>Recruter</value></attr><attr name="cn"><value>Mark Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0197</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Mark.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100228</value></attr></searchResultEntry><searchResultEntry dn="cn=Micheal Baldwins,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Micheal</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Micheal Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0198</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Micheal.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100229</value></attr></searchResultEntry><searchResultEntry dn="cn=Michele Baldwins,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Michele</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Michele Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0199</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Michele.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100230</value></attr></searchResultEntry><searchResultEntry dn="cn=Michelle Baldwins,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Michelle</value></attr><attr name="title"><value>Product Marketer</value></attr><attr name="cn"><value>Michelle Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0200</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Michelle.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100231</value></attr></searchResultEntry><searchResultEntry dn="cn=Micky Baldwins,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Micky</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Micky Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0201</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Micky.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100232</value></attr></searchResultEntry><searchResultEntry dn="cn=Mike Baldwins,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mike</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Mike Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0202</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Mike.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100233</value></attr></searchResultEntry><searchResultEntry dn="cn=Mildred Baldwins,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mildred</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Mildred Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0203</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Mildred.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100234</value></attr></searchResultEntry><searchResultEntry dn="cn=Monica Baldwins,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Monica</value></attr><attr name="title"><value>Manager</value></attr><attr name="cn"><value>Monica Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0204</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Monica.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100235</value></attr></searchResultEntry><searchResultEntry dn="cn=Nan Baldwins,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nan</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Nan Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0205</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Nan.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100236</value></attr></searchResultEntry><searchResultEntry dn="cn=Nancy Baldwins,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nancy</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Nancy Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0206</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Nancy.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100237</value></attr></searchResultEntry><searchResultEntry dn="cn=Natt Baldwins,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Natt</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Natt Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0207</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Natt.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100238</value></attr></searchResultEntry><searchResultEntry dn="cn=Nicholas Baldwins,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nicholas</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Nicholas Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0208</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Nicholas.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100239</value></attr></searchResultEntry><searchResultEntry dn="cn=Oprah Baldwins,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Oprah</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Oprah Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0209</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Oprah.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100240</value></attr></searchResultEntry><searchResultEntry dn="cn=Pat Baldwins,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Pat</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Pat Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0210</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Pat.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100241</value></attr></searchResultEntry><searchResultEntry dn="cn=Patrick Baldwins,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Patrick</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Patrick Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0211</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Patrick.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100242</value></attr></searchResultEntry><searchResultEntry dn="cn=Paul Baldwins,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Paul</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Paul Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0212</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Paul.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100243</value></attr></searchResultEntry><searchResultEntry dn="cn=Paulette Baldwins,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Paulette</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Paulette Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0213</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Paulette.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100244</value></attr></searchResultEntry><searchResultEntry dn="cn=Ralph Baldwins,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ralph</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Ralph Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0214</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Ralph.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100245</value></attr></searchResultEntry><searchResultEntry dn="cn=Rick Baldwins,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rick</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Rick Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0215</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Rick.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100246</value></attr></searchResultEntry><searchResultEntry dn="cn=Roland Baldwins,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Roland</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Roland Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0216</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Roland.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100247</value></attr></searchResultEntry><searchResultEntry dn="cn=Ruben Baldwins,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ruben</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Ruben Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0217</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Ruben.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100248</value></attr></searchResultEntry><searchResultEntry dn="cn=Rudolf Baldwins,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rudolf</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Rudolf Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0218</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Rudolf.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100249</value></attr></searchResultEntry><searchResultEntry dn="cn=Rupert Baldwins,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rupert</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Rupert Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0219</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Rupert.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100250</value></attr></searchResultEntry><searchResultEntry dn="cn=Ruth Baldwins,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ruth</value></attr><attr name="title"><value>Contractor</value></attr><attr name="cn"><value>Ruth Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0220</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Ruth.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100251</value></attr></searchResultEntry><searchResultEntry dn="cn=Sally Baldwins,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Sally</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Sally Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0221</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Sally.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100252</value></attr></searchResultEntry><searchResultEntry dn="cn=Shelly Baldwins,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Shelly</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Shelly Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0222</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Shelly.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100253</value></attr></searchResultEntry><searchResultEntry dn="cn=Stan Baldwins,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stan</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Stan Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0223</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Stan.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100254</value></attr></searchResultEntry><searchResultEntry dn="cn=Stew Baldwins,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stew</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Stew Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0224</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Stew.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100255</value></attr></searchResultEntry><searchResultEntry dn="cn=Todd Baldwins,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Todd</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Todd Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0230</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Todd.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100261</value></attr></searchResultEntry><searchResultEntry dn="cn=Tom Baldwins,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tom</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Tom Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0231</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Tom.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100262</value></attr></searchResultEntry><searchResultEntry dn="cn=Tommy Baldwins,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tommy</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Tommy Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0232</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Tommy.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100263</value></attr></searchResultEntry><searchResultEntry dn="cn=Tosha Baldwins,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tosha</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Tosha Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0233</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Tosha.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100264</value></attr></searchResultEntry><searchResultEntry dn="cn=Victor Baldwins,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Victor</value></attr><attr name="title"><value>Auditor</value></attr><attr name="cn"><value>Victor Baldwins</value></attr><attr name="telephoneNumber"><value>+1 408 827 0234</value></attr><attr name="sn"><value>Baldwins</value></attr><attr name="mail"><value>Victor.Baldwins@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100265</value></attr></searchResultEntry><searchResultEntry dn="cn=Wayne Balls,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Wayne</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Wayne Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0235</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Wayne.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100266</value></attr></searchResultEntry><searchResultEntry dn="cn=Adam Balls,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Adam</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Adam Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0236</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Adam.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100267</value></attr></searchResultEntry><searchResultEntry dn="cn=Archie Balls,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Archie</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Archie Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0237</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Archie.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100268</value></attr></searchResultEntry><searchResultEntry dn="cn=Arnold Balls,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Arnold</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Arnold Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0238</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Arnold.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100269</value></attr></searchResultEntry><searchResultEntry dn="cn=Aron Balls,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Aron</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Aron Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0239</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Aron.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100270</value></attr></searchResultEntry><searchResultEntry dn="cn=Barrtellie Balls,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Barrtellie</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Barrtellie Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0240</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Barrtellie.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100271</value></attr></searchResultEntry><searchResultEntry dn="cn=Bob Balls,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Bob</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Bob Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0241</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Bob.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100272</value></attr></searchResultEntry><searchResultEntry dn="cn=Brain Balls,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Brain</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Brain Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0242</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Brain.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100273</value></attr></searchResultEntry><searchResultEntry dn="cn=Celested Balls,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Celested</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Celested Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0243</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Celested.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100274</value></attr></searchResultEntry><searchResultEntry dn="cn=Charles Balls,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charles</value></attr><attr name="title"><value>Phone Support Tech</value></attr><attr name="cn"><value>Charles Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0244</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Charles.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100275</value></attr></searchResultEntry><searchResultEntry dn="cn=Charlie Balls,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charlie</value></attr><attr name="title"><value>Remote Support Tech</value></attr><attr name="cn"><value>Charlie Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0245</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Charlie.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100276</value></attr></searchResultEntry><searchResultEntry dn="cn=Cheryl Balls,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cheryl</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Cheryl Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0246</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Cheryl.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100277</value></attr></searchResultEntry><searchResultEntry dn="cn=Chuck Balls,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Chuck</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Chuck Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0247</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Chuck.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100278</value></attr></searchResultEntry><searchResultEntry dn="cn=Cindy Balls,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cindy</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Cindy Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0248</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Cindy.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100279</value></attr></searchResultEntry><searchResultEntry dn="cn=Deanna Balls,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Deanna</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Deanna Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0249</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Deanna.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100280</value></attr></searchResultEntry><searchResultEntry dn="cn=Donald Balls,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Donald</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Donald Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0250</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Donald.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100281</value></attr></searchResultEntry><searchResultEntry dn="cn=Donna Balls,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Donna</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Donna Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0251</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Donna.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100282</value></attr></searchResultEntry><searchResultEntry dn="cn=Edward Balls,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edward</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Edward Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0252</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Edward.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100283</value></attr></searchResultEntry><searchResultEntry dn="cn=Edwin Balls,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edwin</value></attr><attr name="title"><value>Recruter</value></attr><attr name="cn"><value>Edwin Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0253</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Edwin.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100284</value></attr></searchResultEntry><searchResultEntry dn="cn=Fran Balls,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Fran</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Fran Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0254</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Fran.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100285</value></attr></searchResultEntry><searchResultEntry dn="cn=Francis Balls,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Francis</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Francis Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0255</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Francis.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100286</value></attr></searchResultEntry><searchResultEntry dn="cn=Frank Balls,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Frank</value></attr><attr name="title"><value>Product Marketer</value></attr><attr name="cn"><value>Frank Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0256</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Frank.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100287</value></attr></searchResultEntry><searchResultEntry dn="cn=Franklin Balls,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Franklin</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Franklin Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0257</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Franklin.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100288</value></attr></searchResultEntry><searchResultEntry dn="cn=Gerald Balls,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gerald</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Gerald Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0258</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Gerald.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100289</value></attr></searchResultEntry><searchResultEntry dn="cn=Gerry Balls,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gerry</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Gerry Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0259</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Gerry.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100290</value></attr></searchResultEntry><searchResultEntry dn="cn=Gilda Balls,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gilda</value></attr><attr name="title"><value>Manager</value></attr><attr name="cn"><value>Gilda Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0260</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Gilda.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100291</value></attr></searchResultEntry><searchResultEntry dn="cn=Gilmore Balls,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gilmore</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Gilmore Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0261</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Gilmore.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100292</value></attr></searchResultEntry><searchResultEntry dn="cn=Gregory Balls,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gregory</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Gregory Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0262</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Gregory.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100293</value></attr></searchResultEntry><searchResultEntry dn="cn=Halle Balls,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Halle</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Halle Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0263</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Halle.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100294</value></attr></searchResultEntry><searchResultEntry dn="cn=Hans Balls,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Hans</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Hans Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0264</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Hans.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100295</value></attr></searchResultEntry><searchResultEntry dn="cn=Harold Balls,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Harold</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Harold Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0265</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Harold.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100296</value></attr></searchResultEntry><searchResultEntry dn="cn=Harry Balls,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Harry</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Harry Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0266</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Harry.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100297</value></attr></searchResultEntry><searchResultEntry dn="cn=Henretta Balls,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Henretta</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Henretta Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0267</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Henretta.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100298</value></attr></searchResultEntry><searchResultEntry dn="cn=Henry Balls,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Henry</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Henry Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0269</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Henry.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100300</value></attr></searchResultEntry><searchResultEntry dn="cn=Herbert Balls,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Herbert</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Herbert Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0270</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Herbert.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100301</value></attr></searchResultEntry><searchResultEntry dn="cn=Inga Balls,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Inga</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Inga Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0271</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Inga.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100302</value></attr></searchResultEntry><searchResultEntry dn="cn=Jack Balls,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jack</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Jack Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0272</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Jack.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100303</value></attr></searchResultEntry><searchResultEntry dn="cn=James Balls,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>James</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>James Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0273</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>James.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100304</value></attr></searchResultEntry><searchResultEntry dn="cn=Jennifer Balls,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jennifer</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Jennifer Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0274</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Jennifer.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100305</value></attr></searchResultEntry><searchResultEntry dn="cn=Jerry Balls,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jerry</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Jerry Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0275</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Jerry.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100306</value></attr></searchResultEntry><searchResultEntry dn="cn=Jesica Balls,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jesica</value></attr><attr name="title"><value>Contractor</value></attr><attr name="cn"><value>Jesica Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0276</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Jesica.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100307</value></attr></searchResultEntry><searchResultEntry dn="cn=Joanne Balls,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Joanne</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Joanne Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0277</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Joanne.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100308</value></attr></searchResultEntry><searchResultEntry dn="cn=John Balls,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>John</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>John Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0278</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>John.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100309</value></attr></searchResultEntry><searchResultEntry dn="cn=Jon Balls,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jon</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Jon Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0279</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Jon.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100310</value></attr></searchResultEntry><searchResultEntry dn="cn=Kalid Balls,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kalid</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Kalid Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0280</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Kalid.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100311</value></attr></searchResultEntry><searchResultEntry dn="cn=Leslie Balls,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Leslie</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Leslie Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0286</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Leslie.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100317</value></attr></searchResultEntry><searchResultEntry dn="cn=Lincoln Balls,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lincoln</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Lincoln Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0287</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Lincoln.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100318</value></attr></searchResultEntry><searchResultEntry dn="cn=Linda Balls,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Linda</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Linda Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0288</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Linda.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100319</value></attr></searchResultEntry><searchResultEntry dn="cn=Linsey Balls,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Linsey</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Linsey Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0289</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Linsey.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100320</value></attr></searchResultEntry><searchResultEntry dn="cn=Lou Balls,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lou</value></attr><attr name="title"><value>Auditor</value></attr><attr name="cn"><value>Lou Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0290</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Lou.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100321</value></attr></searchResultEntry><searchResultEntry dn="cn=Lynn Balls,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lynn</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Lynn Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0291</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Lynn.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100322</value></attr></searchResultEntry><searchResultEntry dn="cn=Mark Balls,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mark</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Mark Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0292</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Mark.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100323</value></attr></searchResultEntry><searchResultEntry dn="cn=Micheal Balls,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Micheal</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Micheal Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0293</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Micheal.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100324</value></attr></searchResultEntry><searchResultEntry dn="cn=Michele Balls,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Michele</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Michele Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0294</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Michele.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100325</value></attr></searchResultEntry><searchResultEntry dn="cn=Michelle Balls,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Michelle</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Michelle Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0295</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Michelle.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100326</value></attr></searchResultEntry><searchResultEntry dn="cn=Micky Balls,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Micky</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Micky Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0296</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Micky.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100327</value></attr></searchResultEntry><searchResultEntry dn="cn=Mike Balls,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mike</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Mike Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0297</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Mike.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100328</value></attr></searchResultEntry><searchResultEntry dn="cn=Mildred Balls,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mildred</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Mildred Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0298</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Mildred.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100329</value></attr></searchResultEntry><searchResultEntry dn="cn=Monica Balls,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Monica</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Monica Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0299</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Monica.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100330</value></attr></searchResultEntry><searchResultEntry dn="cn=Nan Balls,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nan</value></attr><attr name="title"><value>Phone Support Tech</value></attr><attr name="cn"><value>Nan Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0300</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Nan.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100331</value></attr></searchResultEntry><searchResultEntry dn="cn=Nancy Balls,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nancy</value></attr><attr name="title"><value>Remote Support Tech</value></attr><attr name="cn"><value>Nancy Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0301</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Nancy.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100332</value></attr></searchResultEntry><searchResultEntry dn="cn=Natt Balls,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Natt</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Natt Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0302</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Natt.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100333</value></attr></searchResultEntry><searchResultEntry dn="cn=Nicholas Balls,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nicholas</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Nicholas Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0303</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Nicholas.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100334</value></attr></searchResultEntry><searchResultEntry dn="cn=Oprah Balls,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Oprah</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Oprah Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0304</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Oprah.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100335</value></attr></searchResultEntry><searchResultEntry dn="cn=Pat Balls,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Pat</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Pat Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0305</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Pat.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100336</value></attr></searchResultEntry><searchResultEntry dn="cn=Patrick Balls,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Patrick</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Patrick Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0306</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Patrick.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100337</value></attr></searchResultEntry><searchResultEntry dn="cn=Paul Balls,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Paul</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Paul Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0307</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Paul.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100338</value></attr></searchResultEntry><searchResultEntry dn="cn=Paulette Balls,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Paulette</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Paulette Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0308</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Paulette.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100339</value></attr></searchResultEntry><searchResultEntry dn="cn=Ralph Balls,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ralph</value></attr><attr name="title"><value>Recruter</value></attr><attr name="cn"><value>Ralph Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0309</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Ralph.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100340</value></attr></searchResultEntry><searchResultEntry dn="cn=Rick Balls,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rick</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Rick Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0310</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Rick.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100341</value></attr></searchResultEntry><searchResultEntry dn="cn=Roland Balls,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Roland</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Roland Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0311</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Roland.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100342</value></attr></searchResultEntry><searchResultEntry dn="cn=Ruben Balls,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ruben</value></attr><attr name="title"><value>Product Marketer</value></attr><attr name="cn"><value>Ruben Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0312</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Ruben.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100343</value></attr></searchResultEntry><searchResultEntry dn="cn=Rudolf Balls,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rudolf</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Rudolf Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0313</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Rudolf.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100344</value></attr></searchResultEntry><searchResultEntry dn="cn=Rupert Balls,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rupert</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Rupert Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0314</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Rupert.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100345</value></attr></searchResultEntry><searchResultEntry dn="cn=Ruth Balls,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ruth</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Ruth Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0315</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Ruth.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100346</value></attr></searchResultEntry><searchResultEntry dn="cn=Sally Balls,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Sally</value></attr><attr name="title"><value>Manager</value></attr><attr name="cn"><value>Sally Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0316</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Sally.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100347</value></attr></searchResultEntry><searchResultEntry dn="cn=Shelly Balls,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Shelly</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Shelly Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0317</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Shelly.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100348</value></attr></searchResultEntry><searchResultEntry dn="cn=Stan Balls,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stan</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Stan Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0318</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Stan.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100349</value></attr></searchResultEntry><searchResultEntry dn="cn=Stew Balls,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stew</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Stew Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0319</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Stew.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100350</value></attr></searchResultEntry><searchResultEntry dn="cn=Stewart Balls,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stewart</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Stewart Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0320</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Stewart.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100351</value></attr></searchResultEntry><searchResultEntry dn="cn=Ted Balls,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ted</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Ted Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0321</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Ted.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100352</value></attr></searchResultEntry><searchResultEntry dn="cn=Terrence Balls,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Terrence</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Terrence Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0322</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Terrence.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100353</value></attr></searchResultEntry><searchResultEntry dn="cn=Tim Balls,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tim</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Tim Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0323</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Tim.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100354</value></attr></searchResultEntry><searchResultEntry dn="cn=Timoty Balls,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Timoty</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Timoty Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0324</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Timoty.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100355</value></attr></searchResultEntry><searchResultEntry dn="cn=Todd Balls,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Todd</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Todd Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0325</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Todd.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100356</value></attr></searchResultEntry><searchResultEntry dn="cn=Tom Balls,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tom</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Tom Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0326</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Tom.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100357</value></attr></searchResultEntry><searchResultEntry dn="cn=Tommy Balls,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tommy</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Tommy Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0327</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Tommy.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100358</value></attr></searchResultEntry><searchResultEntry dn="cn=Tosha Balls,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tosha</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Tosha Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0328</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Tosha.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100359</value></attr></searchResultEntry><searchResultEntry dn="cn=Victor Balls,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Victor</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Victor Balls</value></attr><attr name="telephoneNumber"><value>+1 408 827 0329</value></attr><attr name="sn"><value>Balls</value></attr><attr name="mail"><value>Victor.Balls@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100360</value></attr></searchResultEntry><searchResultEntry dn="cn=Adam Banks,ou=Contracting,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Adam</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Adam Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0331</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Adam.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200357</value></attr></searchResultEntry><searchResultEntry dn="cn=Archie Banks,ou=Contracting,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Archie</value></attr><attr name="title"><value>Contractor</value></attr><attr name="cn"><value>Archie Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0332</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Archie.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200358</value></attr></searchResultEntry><searchResultEntry dn="cn=Arnold Banks,ou=Shareholder Services,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Arnold</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Arnold Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0333</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Arnold.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200359</value></attr></searchResultEntry><searchResultEntry dn="cn=Aron Banks,ou=Shareholder Services,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Aron</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Aron Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0334</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Aron.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200360</value></attr></searchResultEntry><searchResultEntry dn="cn=Barrie Banks,ou=Shareholder Services,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Barrie</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Barrie Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0335</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Barrie.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200361</value></attr></searchResultEntry><searchResultEntry dn="cn=Bob Banks,ou=Shareholder Services,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Bob</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Bob Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0336</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Bob.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200362</value></attr></searchResultEntry><searchResultEntry dn="cn=Brain Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Brain</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Brain Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0337</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Brain.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200363</value></attr></searchResultEntry><searchResultEntry dn="cn=Celested Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Celested</value></attr><attr name="title"><value>Lawyer</value></attr><attr name="cn"><value>Celested Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0338</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Celested.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200364</value></attr></searchResultEntry><searchResultEntry dn="cn=Charles Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charles</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Charles Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0339</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Charles.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200365</value></attr></searchResultEntry><searchResultEntry dn="cn=Charlie Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charlie</value></attr><attr name="title"><value>Lawyer</value></attr><attr name="cn"><value>Charlie Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0340</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Charlie.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200366</value></attr></searchResultEntry><searchResultEntry dn="cn=Cheryl Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cheryl</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Cheryl Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0341</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Cheryl.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200367</value></attr></searchResultEntry><searchResultEntry dn="cn=Chuck Banks,ou=Treasury,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Chuck</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Chuck Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0342</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Chuck.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200368</value></attr></searchResultEntry><searchResultEntry dn="cn=Cindy Banks,ou=Treasury,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cindy</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Cindy Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0343</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Cindy.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200369</value></attr></searchResultEntry><searchResultEntry dn="cn=Deanna Banks,ou=Treasury,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Deanna</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Deanna Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0344</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Deanna.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200370</value></attr></searchResultEntry><searchResultEntry dn="cn=Donald Banks,ou=Treasury,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Donald</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Donald Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0345</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Donald.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200371</value></attr></searchResultEntry><searchResultEntry dn="cn=Donna Banks,ou=Control and Credit,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Donna</value></attr><attr name="title"><value>Auditor</value></attr><attr name="cn"><value>Donna Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0346</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Donna.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200372</value></attr></searchResultEntry><searchResultEntry dn="cn=Edward Banks,ou=Control and Credit,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edward</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Edward Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0347</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Edward.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200373</value></attr></searchResultEntry><searchResultEntry dn="cn=Edwin Banks,ou=Control and Credit,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edwin</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Edwin Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0348</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Edwin.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200374</value></attr></searchResultEntry><searchResultEntry dn="cn=Fran Banks,ou=Network Operations Center,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Fran</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Fran Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0349</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Fran.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200375</value></attr></searchResultEntry><searchResultEntry dn="cn=Francis Banks,ou=Network Operations Center,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Francis</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Francis Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0350</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Francis.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200376</value></attr></searchResultEntry><searchResultEntry dn="cn=Frank Banks,ou=Network Operations Center,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Frank</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Frank Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0351</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Frank.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200377</value></attr></searchResultEntry><searchResultEntry dn="cn=Franklin Banks,ou=Help Desk,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Franklin</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Franklin Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0352</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Franklin.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200378</value></attr></searchResultEntry><searchResultEntry dn="cn=Gerald Banks,ou=Help Desk,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gerald</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Gerald Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0353</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Gerald.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200379</value></attr></searchResultEntry><searchResultEntry dn="cn=Gerry Banks,ou=Help Desk,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gerry</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Gerry Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0354</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Gerry.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200380</value></attr></searchResultEntry><searchResultEntry dn="cn=Gilda Banks,ou=Help Desk,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gilda</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Gilda Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0355</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Gilda.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200381</value></attr></searchResultEntry><searchResultEntry dn="cn=Gilmore Banks,ou=Field Support,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gilmore</value></attr><attr name="title"><value>Phone Support Tech</value></attr><attr name="cn"><value>Gilmore Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0356</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Gilmore.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200382</value></attr></searchResultEntry><searchResultEntry dn="cn=Gregory Banks,ou=Field Support,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gregory</value></attr><attr name="title"><value>Remote Support Tech</value></attr><attr name="cn"><value>Gregory Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0357</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Gregory.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200383</value></attr></searchResultEntry><searchResultEntry dn="cn=Halle Banks,ou=Payroll,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Halle</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Halle Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0358</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Halle.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200384</value></attr></searchResultEntry><searchResultEntry dn="cn=Hans Banks,ou=Payroll,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Hans</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Hans Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0359</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Hans.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200385</value></attr></searchResultEntry><searchResultEntry dn="cn=Harold Banks,ou=Payroll,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Harold</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Harold Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0360</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Harold.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200386</value></attr></searchResultEntry><searchResultEntry dn="cn=Harry Banks,ou=Payroll,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Harry</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Harry Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0361</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Harry.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200387</value></attr></searchResultEntry><searchResultEntry dn="cn=Henretta Banks,ou=Benefits,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Henretta</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Henretta Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0362</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Henretta.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200388</value></attr></searchResultEntry><searchResultEntry dn="cn=Henry Banks,ou=Benefits,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Henry</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Henry Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0364</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Henry.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200390</value></attr></searchResultEntry><searchResultEntry dn="cn=Herbert Banks,ou=Recruiting,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Herbert</value></attr><attr name="title"><value>Recruter</value></attr><attr name="cn"><value>Herbert Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0365</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Herbert.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200391</value></attr></searchResultEntry><searchResultEntry dn="cn=Inga Banks,ou=Recruiting,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Inga</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Inga Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0366</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Inga.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200392</value></attr></searchResultEntry><searchResultEntry dn="cn=Jack Banks,ou=Retail,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jack</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Jack Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0367</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Jack.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200393</value></attr></searchResultEntry><searchResultEntry dn="cn=James Banks,ou=Retail,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>James</value></attr><attr name="title"><value>Product Marketer</value></attr><attr name="cn"><value>James Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0368</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>James.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200394</value></attr></searchResultEntry><searchResultEntry dn="cn=Jennifer Banks,ou=Retail,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jennifer</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Jennifer Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0369</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Jennifer.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200395</value></attr></searchResultEntry><searchResultEntry dn="cn=Jerry Banks,ou=Retail,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jerry</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Jerry Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0370</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Jerry.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200396</value></attr></searchResultEntry><searchResultEntry dn="cn=Jesica Banks,ou=Lorgs,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jesica</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Jesica Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0371</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Jesica.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200397</value></attr></searchResultEntry><searchResultEntry dn="cn=Joanne Banks,ou=Lorgs,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Joanne</value></attr><attr name="title"><value>Manager</value></attr><attr name="cn"><value>Joanne Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0372</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Joanne.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200398</value></attr></searchResultEntry><searchResultEntry dn="cn=John Banks,ou=Lorgs,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>John</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>John Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0373</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>John.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200399</value></attr></searchResultEntry><searchResultEntry dn="cn=Jon Banks,ou=Lorgs,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jon</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Jon Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0374</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Jon.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200400</value></attr></searchResultEntry><searchResultEntry dn="cn=Kalid Banks,ou=Smorgs,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kalid</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Kalid Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0375</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Kalid.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200401</value></attr></searchResultEntry><searchResultEntry dn="cn=Kathrine Banks,ou=Smorgs,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kathrine</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Kathrine Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0376</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Kathrine.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200402</value></attr></searchResultEntry><searchResultEntry dn="cn=Katty Banks,ou=Smorgs,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Katty</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Katty Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0377</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Katty.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200403</value></attr></searchResultEntry><searchResultEntry dn="cn=Kim Banks,ou=Government,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kim</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Kim Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0378</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Kim.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200404</value></attr></searchResultEntry><searchResultEntry dn="cn=Kip Banks,ou=Government,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kip</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Kip Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0379</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Kip.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200405</value></attr></searchResultEntry><searchResultEntry dn="cn=Larry Banks,ou=Government,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Larry</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Larry Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0380</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Larry.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200406</value></attr></searchResultEntry><searchResultEntry dn="cn=Leslie Banks,ou=Government,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Leslie</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Leslie Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0381</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Leslie.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200407</value></attr></searchResultEntry><searchResultEntry dn="cn=Lincoln Banks,ou=Operations,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lincoln</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Lincoln Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0382</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Lincoln.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200408</value></attr></searchResultEntry><searchResultEntry dn="cn=Linda Banks,ou=Operations,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Linda</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Linda Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0383</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Linda.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200409</value></attr></searchResultEntry><searchResultEntry dn="cn=Linsey Banks,ou=Construction,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Linsey</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Linsey Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0384</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Linsey.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200410</value></attr></searchResultEntry><searchResultEntry dn="cn=Lou Banks,ou=Construction,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lou</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Lou Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0385</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Lou.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200411</value></attr></searchResultEntry><searchResultEntry dn="cn=Lynn Banks,ou=Construction,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lynn</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Lynn Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0386</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Lynn.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200412</value></attr></searchResultEntry><searchResultEntry dn="cn=Mark Banks,ou=Contracting,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mark</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Mark Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0387</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Mark.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200413</value></attr></searchResultEntry><searchResultEntry dn="cn=Micheal Banks,ou=Contracting,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Micheal</value></attr><attr name="title"><value>Contractor</value></attr><attr name="cn"><value>Micheal Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0388</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Micheal.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200414</value></attr></searchResultEntry><searchResultEntry dn="cn=Michele Banks,ou=Shareholder Services,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Michele</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Michele Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0389</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Michele.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200415</value></attr></searchResultEntry><searchResultEntry dn="cn=Michelle Banks,ou=Shareholder Services,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Michelle</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Michelle Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0390</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Michelle.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200416</value></attr></searchResultEntry><searchResultEntry dn="cn=Micky Banks,ou=Shareholder Services,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Micky</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Micky Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0391</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Micky.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200417</value></attr></searchResultEntry><searchResultEntry dn="cn=Mike Banks,ou=Shareholder Services,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mike</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Mike Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0392</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Mike.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200418</value></attr></searchResultEntry><searchResultEntry dn="cn=Mildred Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Mildred</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Mildred Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0393</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Mildred.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200419</value></attr></searchResultEntry><searchResultEntry dn="cn=Monica Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Monica</value></attr><attr name="title"><value>Lawyer</value></attr><attr name="cn"><value>Monica Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0394</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Monica.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200420</value></attr></searchResultEntry><searchResultEntry dn="cn=Nan Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nan</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Nan Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0395</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Nan.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200421</value></attr></searchResultEntry><searchResultEntry dn="cn=Nancy Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nancy</value></attr><attr name="title"><value>Lawyer</value></attr><attr name="cn"><value>Nancy Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0396</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Nancy.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200422</value></attr></searchResultEntry><searchResultEntry dn="cn=Natt Banks,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Natt</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Natt Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0397</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Natt.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200423</value></attr></searchResultEntry><searchResultEntry dn="cn=Nicholas Banks,ou=Treasury,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Nicholas</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Nicholas Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0398</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Nicholas.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200424</value></attr></searchResultEntry><searchResultEntry dn="cn=Oprah Banks,ou=Treasury,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Oprah</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Oprah Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0399</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Oprah.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200425</value></attr></searchResultEntry><searchResultEntry dn="cn=Pat Banks,ou=Treasury,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Pat</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Pat Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0400</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Pat.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200426</value></attr></searchResultEntry><searchResultEntry dn="cn=Patrick Banks,ou=Treasury,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Patrick</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Patrick Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0401</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Patrick.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200427</value></attr></searchResultEntry><searchResultEntry dn="cn=Paul Banks,ou=Control and Credit,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Paul</value></attr><attr name="title"><value>Auditor</value></attr><attr name="cn"><value>Paul Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0402</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Paul.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200428</value></attr></searchResultEntry><searchResultEntry dn="cn=Paulette Banks,ou=Control and Credit,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Paulette</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Paulette Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0403</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Paulette.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200429</value></attr></searchResultEntry><searchResultEntry dn="cn=Ralph Banks,ou=Control and Credit,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ralph</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Ralph Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0404</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Ralph.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200430</value></attr></searchResultEntry><searchResultEntry dn="cn=Rick Banks,ou=Network Operations Center,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rick</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Rick Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0405</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Rick.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200431</value></attr></searchResultEntry><searchResultEntry dn="cn=Roland Banks,ou=Network Operations Center,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Roland</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Roland Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0406</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Roland.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200432</value></attr></searchResultEntry><searchResultEntry dn="cn=Ruben Banks,ou=Network Operations Center,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ruben</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Ruben Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0407</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Ruben.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200433</value></attr></searchResultEntry><searchResultEntry dn="cn=Rudolf Banks,ou=Help Desk,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rudolf</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Rudolf Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0408</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Rudolf.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200434</value></attr></searchResultEntry><searchResultEntry dn="cn=Rupert Banks,ou=Help Desk,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Rupert</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Rupert Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0409</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Rupert.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200435</value></attr></searchResultEntry><searchResultEntry dn="cn=Ruth Banks,ou=Help Desk,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ruth</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Ruth Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0410</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Ruth.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200436</value></attr></searchResultEntry><searchResultEntry dn="cn=Sally Banks,ou=Help Desk,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Sally</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Sally Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0411</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Sally.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200437</value></attr></searchResultEntry><searchResultEntry dn="cn=Shelly Banks,ou=Field Support,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Shelly</value></attr><attr name="title"><value>Phone Support Tech</value></attr><attr name="cn"><value>Shelly Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0412</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Shelly.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200438</value></attr></searchResultEntry><searchResultEntry dn="cn=Stan Banks,ou=Field Support,ou=IT,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stan</value></attr><attr name="title"><value>Remote Support Tech</value></attr><attr name="cn"><value>Stan Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0413</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Stan.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200439</value></attr></searchResultEntry><searchResultEntry dn="cn=Stew Banks,ou=Payroll,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stew</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Stew Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0414</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Stew.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200440</value></attr></searchResultEntry><searchResultEntry dn="cn=Stewart Banks,ou=Payroll,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Stewart</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Stewart Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0415</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Stewart.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200441</value></attr></searchResultEntry><searchResultEntry dn="cn=Ted Banks,ou=Payroll,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Ted</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Ted Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0416</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Ted.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200442</value></attr></searchResultEntry><searchResultEntry dn="cn=Terrence Banks,ou=Payroll,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Terrence</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Terrence Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0417</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Terrence.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200443</value></attr></searchResultEntry><searchResultEntry dn="cn=Tim Banks,ou=Benefits,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tim</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Tim Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0418</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Tim.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200444</value></attr></searchResultEntry><searchResultEntry dn="cn=Timoty Banks,ou=Benefits,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Timoty</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Timoty Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0419</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Timoty.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200445</value></attr></searchResultEntry><searchResultEntry dn="cn=Todd Banks,ou=Benefits,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Todd</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Todd Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0420</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Todd.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200446</value></attr></searchResultEntry><searchResultEntry dn="cn=Tom Banks,ou=Recruiting,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tom</value></attr><attr name="title"><value>Recruter</value></attr><attr name="cn"><value>Tom Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0421</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Tom.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200447</value></attr></searchResultEntry><searchResultEntry dn="cn=Tommy Banks,ou=Recruiting,ou=HR,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tommy</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Tommy Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0422</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Tommy.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200448</value></attr></searchResultEntry><searchResultEntry dn="cn=Tosha Banks,ou=Retail,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Tosha</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Tosha Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0423</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Tosha.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200449</value></attr></searchResultEntry><searchResultEntry dn="cn=Victor Banks,ou=Retail,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Victor</value></attr><attr name="title"><value>Product Marketer</value></attr><attr name="cn"><value>Victor Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0424</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Victor.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200450</value></attr></searchResultEntry><searchResultEntry dn="cn=Wayne Barkercrofts,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Wayne</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Wayne Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0425</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Wayne.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100456</value></attr></searchResultEntry><searchResultEntry dn="cn=Wayne Banks,ou=Retail,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Wayne</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Wayne Banks</value></attr><attr name="telephoneNumber"><value>+1 408 721 0425</value></attr><attr name="sn"><value>Banks</value></attr><attr name="mail"><value>Wayne.Banks@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200451</value></attr></searchResultEntry><searchResultEntry dn="cn=Adam Barkercrofts,ou=Retail,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Adam</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Adam Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0426</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Adam.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100457</value></attr></searchResultEntry><searchResultEntry dn="cn=Archie Barkercrofts,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Archie</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Archie Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0427</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Archie.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100458</value></attr></searchResultEntry><searchResultEntry dn="cn=Arnold Barkercrofts,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Arnold</value></attr><attr name="title"><value>Manager</value></attr><attr name="cn"><value>Arnold Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0428</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Arnold.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100459</value></attr></searchResultEntry><searchResultEntry dn="cn=Aron Barkercrofts,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Aron</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Aron Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0429</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Aron.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100460</value></attr></searchResultEntry><searchResultEntry dn="cn=Barrtellie Barkercrofts,ou=Lorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Barrtellie</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Barrtellie Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0430</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Barrtellie.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100461</value></attr></searchResultEntry><searchResultEntry dn="cn=Bob Barkercrofts,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Bob</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Bob Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0431</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Bob.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100462</value></attr></searchResultEntry><searchResultEntry dn="cn=Brain Barkercrofts,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Brain</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Brain Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0432</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Brain.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100463</value></attr></searchResultEntry><searchResultEntry dn="cn=Celested Barkercrofts,ou=Smorgs,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Celested</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Celested Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0433</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Celested.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100464</value></attr></searchResultEntry><searchResultEntry dn="cn=Charles Barkercrofts,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charles</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Charles Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0434</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Charles.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100465</value></attr></searchResultEntry><searchResultEntry dn="cn=Charlie Barkercrofts,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charlie</value></attr><attr name="title"><value>Product Manager</value></attr><attr name="cn"><value>Charlie Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0435</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Charlie.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100466</value></attr></searchResultEntry><searchResultEntry dn="cn=Cheryl Barkercrofts,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cheryl</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Cheryl Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0436</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Cheryl.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100467</value></attr></searchResultEntry><searchResultEntry dn="cn=Chuck Barkercrofts,ou=Government,ou=Sales,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Chuck</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Chuck Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0437</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Chuck.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100468</value></attr></searchResultEntry><searchResultEntry dn="cn=Cindy Barkercrofts,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Cindy</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Cindy Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0438</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Cindy.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100469</value></attr></searchResultEntry><searchResultEntry dn="cn=Deanna Barkercrofts,ou=Operations,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Deanna</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Deanna Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0439</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Deanna.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100470</value></attr></searchResultEntry><searchResultEntry dn="cn=Donald Barkercrofts,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Donald</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Donald Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0440</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Donald.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100471</value></attr></searchResultEntry><searchResultEntry dn="cn=Donna Barkercrofts,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Donna</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Donna Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0441</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Donna.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100472</value></attr></searchResultEntry><searchResultEntry dn="cn=Edward Barkercrofts,ou=Construction,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edward</value></attr><attr name="title"><value>Laborer</value></attr><attr name="cn"><value>Edward Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0442</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Edward.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100473</value></attr></searchResultEntry><searchResultEntry dn="cn=Edwin Barkercrofts,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Edwin</value></attr><attr name="title"><value>Foreman</value></attr><attr name="cn"><value>Edwin Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0443</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Edwin.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100474</value></attr></searchResultEntry><searchResultEntry dn="cn=Fran Barkercrofts,ou=Contracting,ou=Manufacturing,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Fran</value></attr><attr name="title"><value>Contractor</value></attr><attr name="cn"><value>Fran Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0444</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Fran.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100475</value></attr></searchResultEntry><searchResultEntry dn="cn=Francis Barkercrofts,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Francis</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Francis Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0445</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Francis.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100476</value></attr></searchResultEntry><searchResultEntry dn="cn=Frank Barkercrofts,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Frank</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Frank Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0446</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Frank.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100477</value></attr></searchResultEntry><searchResultEntry dn="cn=Franklin Barkercrofts,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Franklin</value></attr><attr name="title"><value>Analyst</value></attr><attr name="cn"><value>Franklin Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0447</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Franklin.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100478</value></attr></searchResultEntry><searchResultEntry dn="cn=Gerald Barkercrofts,ou=Shareholder Services,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Gerald</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Gerald Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0448</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Gerald.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100479</value></attr></searchResultEntry><searchResultEntry dn="cn=Hans Barkercrofts,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Hans</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Hans Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0454</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Hans.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100485</value></attr></searchResultEntry><searchResultEntry dn="cn=Harold Barkercrofts,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Harold</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Harold Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0455</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Harold.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100486</value></attr></searchResultEntry><searchResultEntry dn="cn=Harry Barkercrofts,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Harry</value></attr><attr name="title"><value>Accountant</value></attr><attr name="cn"><value>Harry Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0456</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Harry.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100487</value></attr></searchResultEntry><searchResultEntry dn="cn=Henretta Barkercrofts,ou=Treasury,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Henretta</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Henretta Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0457</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Henretta.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100488</value></attr></searchResultEntry><searchResultEntry dn="cn=Hilary Barkercrofts,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Hilary</value></attr><attr name="title"><value>Auditor</value></attr><attr name="cn"><value>Hilary Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0458</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Hilary.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100489</value></attr></searchResultEntry><searchResultEntry dn="cn=Henry Barkercrofts,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Henry</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Henry Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0459</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Henry.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100490</value></attr></searchResultEntry><searchResultEntry dn="cn=Herbert Barkercrofts,ou=Control and Credit,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Herbert</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Herbert Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0460</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Herbert.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100491</value></attr></searchResultEntry><searchResultEntry dn="cn=Inga Barkercrofts,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Inga</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Inga Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0461</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Inga.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100492</value></attr></searchResultEntry><searchResultEntry dn="cn=Jack Barkercrofts,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jack</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Jack Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0462</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Jack.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100493</value></attr></searchResultEntry><searchResultEntry dn="cn=James Barkercrofts,ou=Network Operations Center,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>James</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>James Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0463</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>James.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100494</value></attr></searchResultEntry><searchResultEntry dn="cn=Jennifer Barkercrofts,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jennifer</value></attr><attr name="title"><value>Tech supervisor</value></attr><attr name="cn"><value>Jennifer Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0464</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Jennifer.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100495</value></attr></searchResultEntry><searchResultEntry dn="cn=Jerry Barkercrofts,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jerry</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Jerry Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0465</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Jerry.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100496</value></attr></searchResultEntry><searchResultEntry dn="cn=Jesica Barkercrofts,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jesica</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Jesica Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0466</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Jesica.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100497</value></attr></searchResultEntry><searchResultEntry dn="cn=Joanne Barkercrofts,ou=Help Desk,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Joanne</value></attr><attr name="title"><value>Tech support</value></attr><attr name="cn"><value>Joanne Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0467</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Joanne.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100498</value></attr></searchResultEntry><searchResultEntry dn="cn=John Barkercrofts,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>John</value></attr><attr name="title"><value>Phone Support Tech</value></attr><attr name="cn"><value>John Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0468</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>John.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100499</value></attr></searchResultEntry><searchResultEntry dn="cn=Jon Barkercrofts,ou=Field Support,ou=IT,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Jon</value></attr><attr name="title"><value>Remote Support Tech</value></attr><attr name="cn"><value>Jon Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0469</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Jon.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100500</value></attr></searchResultEntry><searchResultEntry dn="cn=Kalid Barkercrofts,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kalid</value></attr><attr name="title"><value>Supervisor</value></attr><attr name="cn"><value>Kalid Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0470</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Kalid.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100501</value></attr></searchResultEntry><searchResultEntry dn="cn=Kathrine Barkercrofts,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kathrine</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Kathrine Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0471</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Kathrine.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100502</value></attr></searchResultEntry><searchResultEntry dn="cn=Katty Barkercrofts,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Katty</value></attr><attr name="title"><value>Administrator</value></attr><attr name="cn"><value>Katty Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0472</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Katty.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100503</value></attr></searchResultEntry><searchResultEntry dn="cn=Kim Barkercrofts,ou=Payroll,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kim</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Kim Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0473</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Kim.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100504</value></attr></searchResultEntry><searchResultEntry dn="cn=Kip Barkercrofts,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Kip</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Kip Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0474</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Kip.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100505</value></attr></searchResultEntry><searchResultEntry dn="cn=Larry Barkercrofts,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Larry</value></attr><attr name="title"><value>Clerk</value></attr><attr name="cn"><value>Larry Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0475</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Larry.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100506</value></attr></searchResultEntry><searchResultEntry dn="cn=Leslie Barkercrofts,ou=Benefits,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Leslie</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Leslie Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0476</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Leslie.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100507</value></attr></searchResultEntry><searchResultEntry dn="cn=Lincoln Barkercrofts,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Lincoln</value></attr><attr name="title"><value>Recruter</value></attr><attr name="cn"><value>Lincoln Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0477</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Lincoln.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100508</value></attr></searchResultEntry><searchResultEntry dn="cn=Linda Barkercrofts,ou=Recruiting,ou=HR,ou=Americas,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Linda</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Linda Barkercrofts</value></attr><attr name="telephoneNumber"><value>+1 408 827 0478</value></attr><attr name="sn"><value>Barkercrofts</value></attr><attr name="mail"><value>Linda.Barkercrofts@dirconnect2.org</value></attr><attr name="employeeNumber"><value>1100509</value></attr></searchResultEntry><searchResultEntry dn="cn=Pat Bakers+ou=Corporate Tax,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><attr name="ou"><value>Corporate Tax</value></attr><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Pat</value></attr><attr name="cn"><value>Pat Bakers</value></attr><attr name="sn"><value>Bakers</value></attr></searchResultEntry><searchResultDone><resultCode code="0"/></searchResultDone></searchResponse></batchResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> |
| New file |
| | |
| | | HTTP1.1 200 OK |
| | | Date: Fri, 26 Feb 2010 10:52:35 GMT |
| | | Server: Apache-Coyote/1.1 |
| | | Content-Type: text/xml |
| | | Connection: close |
| | | |
| | | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><batchResponse xmlns="urn:oasis:names:tc:DSML:2:0:core"><searchResponse><searchResultEntry dn="cn=Alice Frostad,ou=Operations,ou=Manufacturing,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Alice</value></attr><attr name="title"><value>Director</value></attr><attr name="cn"><value>Alice Frostad</value></attr><attr name="telephoneNumber"><value>+1 408 720 0020</value></attr><attr name="sn"><value>Frostad</value></attr><attr name="mail"><value>Alice.Frostad@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200020</value></attr></searchResultEntry><searchResultEntry dn="cn=Charlie Abood,ou=Corporate Tax,ou=Fin-Accounting,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Charlie</value></attr><attr name="title"><value>Lawyer</value></attr><attr name="cn"><value>Charlie Abood</value></attr><attr name="telephoneNumber"><value>+1 408 721 0004</value></attr><attr name="sn"><value>Abood</value></attr><attr name="mail"><value>Charlie.Abood@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200028</value></attr></searchResultEntry><searchResultEntry dn="cn=Henry Atwood,ou=Government,ou=Sales,ou=Europe,ou=Search,o=IMC,c=US"><attr name="objectClass"><value>person</value><value>inetorgperson</value><value>organizationalperson</value><value>top</value></attr><attr name="givenName"><value>Henry</value></attr><attr name="title"><value>Associate</value></attr><attr name="cn"><value>Henry Atwood</value></attr><attr name="telephoneNumber"><value>+1 408 721 0045</value></attr><attr name="sn"><value>Atwood</value></attr><attr name="mail"><value>Henry.Atwood@dirconnect2.org</value></attr><attr name="employeeNumber"><value>2200071</value></attr></searchResultEntry><searchResultDone><resultCode code="0"/></searchResultDone></searchResponse></batchResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> |
| New file |
| | |
| | | HTTP1.1 200 OK |
| | | Date: Fri, 26 Feb 2010 10:52:45 GMT |
| | | Server: Apache-Coyote/1.1 |
| | | Content-Type: text/xml |
| | | Connection: close |
| | | |
| | | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><batchResponse xmlns="urn:oasis:names:tc:DSML:2:0:core"><searchResponse><searchResultDone matchedDN="ou=Corporate Tax,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US"><resultCode code="32"/><errorMessage>The search base entry 'cn=Pat Bakers,ou=Corporate Tax,ou=Fin-Accounting,ou=Americas,ou=Search,o=IMC,c=US' does not exist</errorMessage></searchResultDone></searchResponse></batchResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> |
| New file |
| | |
| | | HTTP1.1 200 OK |
| | | Date: Fri, 26 Feb 2010 10:53:13 GMT |
| | | Server: Apache-Coyote/1.1 |
| | | Content-Type: text/xml |
| | | Connection: close |
| | | |
| | | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><batchResponse xmlns="urn:oasis:names:tc:DSML:2:0:core"><compareResponse matchedDN="ou=corporate tax,ou=fin-accounting,ou=americas,ou=search,o=imc,c=us"><resultCode code="32"/><errorMessage>The specified entry cn=clint eastwood,ou=corporate tax,ou=fin-accounting,ou=americas,ou=search,o=imc,c=us does not exist in the Directory Server</errorMessage></compareResponse></batchResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> |
| New file |
| | |
| | | HTTP1.1 200 OK |
| | | Date: Fri, 26 Feb 2010 10:53:02 GMT |
| | | Server: Apache-Coyote/1.1 |
| | | Content-Type: text/xml |
| | | Connection: close |
| | | |
| | | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><batchResponse xmlns="urn:oasis:names:tc:DSML:2:0:core"><searchResponse><searchResultDone><resultCode code="0"/></searchResultDone></searchResponse></batchResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> |
| | |
| | | ! |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! Portions Copyright 2008-2009 Sun Microsystems, Inc. |
| | | ! Portions Copyright 2008-2010 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | |
| | |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : 'dc=com' , |
| | | 'dsIndexList' : [ 'uid' ] |
| | | 'dsIndexList' : [ 'uid' ] , |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | </call> |
| | | |
| | |
| | | <call function="'rebuildIndexWithScript'"> |
| | | { |
| | | 'dsBaseDN' : 'dc=com' , |
| | | 'dsIndexList' : [ 'uid' ] |
| | | 'dsIndexList' : [ 'uid' ] , |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | </call> |
| | | |
| | |
| | | <call function="'rebuildIndexWithScript'"> |
| | | { |
| | | 'dsBaseDN' : 'dc=com' , |
| | | 'dsIndexList' : [ 'uid', 'cn' ] |
| | | 'dsIndexList' : [ 'uid', 'cn' ] , |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | </call> |
| | | |
| | |
| | | { |
| | | 'dsBaseDN' : 'dc=com' , |
| | | 'dsIndexList' : [ 'myindex' ] , |
| | | 'expectedRC' : 1 |
| | | 'expectedRC' : 1 |
| | | } |
| | | </call> |
| | | |
| | |
| | | <call function="'rebuildIndexWithScript'"> |
| | | { |
| | | 'dsBaseDN' : 'dc=com' , |
| | | 'dsIndexList' : [ 'st' ] |
| | | 'dsIndexList' : [ 'st' ] , |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | </call> |
| | | |
| | |
| | | <call function="'rebuildIndexWithScript'"> |
| | | { |
| | | 'dsBaseDN' : 'dc=com' , |
| | | 'dsRebuildAll' : 'True' |
| | | 'dsRebuildAll' : 'True' , |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | </call> |
| | | |
| | |
| | | { |
| | | 'dsBaseDN' : 'dc=com' , |
| | | 'dsIndexList' : [ 'uid' ] , |
| | | 'dsTmpDir' : '%s/index_tmp' % DIRECTORY_INSTANCE_DIR |
| | | 'dsTmpDir' : '%s/index_tmp' % DIRECTORY_INSTANCE_DIR , |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | </call> |
| | | |
| | |
| | | </script> |
| | | |
| | | <!-- List of Test Cases --> |
| | | <!-- Short tests: tests 001 to 006, 011, 012, 020 --> |
| | | <!-- Long tests: tests 007 to 010, 014 to 019, 021 --> |
| | | <!-- Short tests: tests 001 to 006, 011, 012, 020, 022, 024, 025 --> |
| | | <!-- Long tests: tests 007 to 010, 014 to 019, 021, 023, 026 to 029 --> |
| | | <script> |
| | | testsList=[] |
| | | testsList.append('core_collectiveattr_001') |
| | |
| | | testsList.append('core_collectiveattr_019') |
| | | testsList.append('core_collectiveattr_020') |
| | | testsList.append('core_collectiveattr_021') |
| | | testsList.append('core_collectiveattr_022') |
| | | testsList.append('core_collectiveattr_023') |
| | | testsList.append('core_collectiveattr_024') |
| | | testsList.append('core_collectiveattr_025') |
| | | testsList.append('core_collectiveattr_026') |
| | | testsList.append('core_collectiveattr_027') |
| | | testsList.append('core_collectiveattr_028') |
| | | testsList.append('core_collectiveattr_029') |
| | | </script> |
| | | |
| | | <!-- Execute the Tests --> |
| | |
| | | </testcase> |
| | | </function> |
| | | |
| | | <!--- Test Case : Core : Collective Attributes : core_collectiveattr_022 --> |
| | | <!--- Test Case information |
| | | #@TestMarker Schema |
| | | #@TestName Core : Collective Attributes |
| | | #@TestID core_collectiveattr_022 |
| | | #@TestPurpose collective attribute test excludeAllCollectiveAttributes |
| | | #@TestPreamble |
| | | #@TestSteps add a user with collectiveExclusions set to |
| | | #@TestSteps excludeAllCollectiveAttributes. add one coll attribute |
| | | #@TestSteps with syntax 1, then one with syntax 2, verify the 2 |
| | | #@TestSteps attributes have not been added in the new user, and has |
| | | #@TestSteps has been added in the others users |
| | | #@TestPostamble |
| | | #@TestResult Test is successful if the result code is 0 |
| | | --> |
| | | <function name="core_collectiveattr_022" scope="local"> |
| | | <testcase name="getTestCaseName('core_collectiveattr_022: collective attribute test excludeAllCollectiveAttributes syntax 1 and 2')"> |
| | | <sequence> |
| | | <try> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Test Name = %s' % STAXCurrentTestcase |
| | | </message> |
| | | |
| | | <script> |
| | | coreattrLdif22a='%s/core/ldifs/collectiveattr-22a.ldif' % remote.data |
| | | coreattrLdif22b='%s/core/ldifs/collectiveattr-22b.ldif' % remote.data |
| | | coreattrLdif22c='%s/core/ldifs/collectiveattr-22c.ldif' % remote.data |
| | | baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com' |
| | | targetDN1='uid=kvaughan,ou=Europe,%s' % baseDN |
| | | targetDN2='uid=bhall,ou=North,ou=America,%s' % baseDN |
| | | targetDN3='uid=mward,ou=America,%s' % baseDN |
| | | </script> |
| | | |
| | | |
| | | <message>'++ Add new user mward, should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif22a |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-l and l in user mward should fail '</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-l: Santa Clara', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'l: Sunnyvale', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <message>'++ Add collective attribute seeAlso should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif22b |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Add collective attribute c-st should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif22c |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <message>'++ Search attribute seeAlso and c-st in user kvaughan, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN1 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'seeAlso: uid=scarter\,ou=Asia', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-st: Jefferson Street', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute seeAlso and c-st in user bhall, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'seeAlso: uid=scarter\,ou=Asia', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-st: Jefferson Street', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute collectiveAttributeSubentries in user bhall, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsAttributes' : 'collectiveAttributeSubentries' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective c-st,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute seeAlso and c-st in user mward, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'seeAlso: uid=scarter\,ou=Asia', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-st: Jefferson Street', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | <catch exception="'STAXException.*'" typevar="eType" var="eInfo"> |
| | | <message log="1" level="'fatal'"> |
| | | '%s: Test failed. eInfo(%s)' % (eType,eInfo) |
| | | </message> |
| | | </catch> |
| | | |
| | | <finally> |
| | | <call function="'testCase_Postamble'"/> |
| | | </finally> |
| | | </try> |
| | | </sequence> |
| | | </testcase> |
| | | </function> |
| | | |
| | | <!--- Test Case : Core : Collective Attributes : core_collectiveattr_023 --> |
| | | <!--- Test Case information |
| | | #@TestMarker Schema |
| | | #@TestName Core : Collective Attributes |
| | | #@TestID core_collectiveattr_023 |
| | | #@TestPurpose collective attribute test collectiveExclusions=list collective attributes |
| | | #@TestPreamble |
| | | #@TestSteps add a user with collectiveExclusions set to |
| | | #@TestSteps a list of collective attr, add one coll attribute |
| | | #@TestSteps with syntax 1, then one with syntax 2, verify the 2 |
| | | #@TestSteps attributes have not been added in the new user, and has |
| | | #@TestSteps has been added in the others users |
| | | #@TestPostamble |
| | | #@TestResult Test is successful if the result code is 0 |
| | | --> |
| | | <function name="core_collectiveattr_023" scope="local"> |
| | | <testcase name="getTestCaseName('core_collectiveattr_023: collective attribute test collectiveExclusions=list syntax 1 and 2')"> |
| | | <sequence> |
| | | <try> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Test Name = %s' % STAXCurrentTestcase |
| | | </message> |
| | | |
| | | <script> |
| | | coreattrLdif23a='%s/core/ldifs/collectiveattr-23a.ldif' % remote.data |
| | | coreattrLdif23b='%s/core/ldifs/collectiveattr-23b.ldif' % remote.data |
| | | coreattrLdif23c='%s/core/ldifs/collectiveattr-23c.ldif' % remote.data |
| | | coreattrLdif23d='%s/core/ldifs/collectiveattr-23d.ldif' % remote.data |
| | | baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com' |
| | | targetDN1='uid=scarter,ou=Asia,%s' % baseDN |
| | | targetDN2='uid=bhall,ou=North,ou=America,%s' % baseDN |
| | | targetDN3='uid=alutz,ou=Asia,%s' % baseDN |
| | | </script> |
| | | |
| | | |
| | | <message>'++ Add new user alutz, should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif23a |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-l and preferredLanguage in user alutz should fail '</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-l: Santa Clara', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'preferredLanguage: zh_CN', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <message>'++ Add collective attribute photo should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif23b |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Add collective attribute c-o should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif23c |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Add collective attribute displayName should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif23d |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <message>'++ Search attribute photo and c-o in user scarter, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN1 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'photo: SunOraclesmall.gif', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-o: Development', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute photo and c-o in user bhall, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'photo: SunOraclesmall.gif', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-o: Development', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute collectiveAttributeSubentries in user bhall, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsAttributes' : 'collectiveAttributeSubentries' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective photo,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective c-o,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective displayName,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute photo and c-o in user alutz, should fail, search displayName should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'photo: SunOraclesmall.gif', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-o: Development', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'displayName: Sollicitors', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | <catch exception="'STAXException.*'" typevar="eType" var="eInfo"> |
| | | <message log="1" level="'fatal'"> |
| | | '%s: Test failed. eInfo(%s)' % (eType,eInfo) |
| | | </message> |
| | | </catch> |
| | | |
| | | <finally> |
| | | <call function="'testCase_Postamble'"/> |
| | | </finally> |
| | | </try> |
| | | </sequence> |
| | | </testcase> |
| | | </function> |
| | | |
| | | <!--- Test Case : Core : Collective Attributes : core_collectiveattr_024 --> |
| | | <!--- Test Case information |
| | | #@TestMarker Schema |
| | | #@TestName Core : Collective Attributes |
| | | #@TestID core_collectiveattr_024 |
| | | #@TestPurpose Add a collective attribute to test chopAfter chopBefore syntax1 |
| | | #@TestPreamble |
| | | #@TestSteps add collective attribute to test chopAfter:ou=America |
| | | #@TestSteps chopBefore:ou=Europe syntax1 (with buildingName) verify |
| | | #@TestSteps below ou=Europe and ou=North,ou=America that attribute |
| | | #@TestSteps has not been added, then at ou=America level and under |
| | | #@TestSteps ou=Asia that attribute has been added |
| | | #@TestPostamble |
| | | #@TestResult Test is successful if the result code is 0 |
| | | --> |
| | | <function name="core_collectiveattr_024" scope="local"> |
| | | <testcase name="getTestCaseName('core_collectiveattr_024: Add a collective attribute to test chopAfter chopBefore syntax1')"> |
| | | <sequence> |
| | | <try> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Test Name = %s' % STAXCurrentTestcase |
| | | </message> |
| | | |
| | | <script> |
| | | coreattrLdif24='%s/core/ldifs/collectiveattr-24.ldif' % remote.data |
| | | baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com' |
| | | targetDN1='uid=trigden,ou=North,ou=America,%s' % baseDN |
| | | targetDN2='uid=abergin,ou=Europe,%s' % baseDN |
| | | targetDN3='ou=America,%s' % baseDN |
| | | targetDN4='uid=scarter,ou=Asia,%s' % baseDN |
| | | </script> |
| | | |
| | | <message>'++ Add collective attribute buildingName should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif24 |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute buildingName in user trigden, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN1 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'buildingName: Capital 4', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute buildingName in user abergin, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'buildingName=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'buildingName: Capital 4', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute collectiveAttributeSubentries in ou=America'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsAttributes' : 'collectiveAttributeSubentries' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective buildingName,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute buildingName in ou=America, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'buildingName=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'buildingName: Capital 4', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute buildingName in user scarter, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN4 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'buildingName: Capital 4', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | </sequence> |
| | | |
| | | <catch exception="'STAXException.*'" typevar="eType" var="eInfo"> |
| | | <message log="1" level="'fatal'"> |
| | | '%s: Test failed. eInfo(%s)' % (eType,eInfo) |
| | | </message> |
| | | </catch> |
| | | |
| | | <finally> |
| | | <call function="'testCase_Postamble'"/> |
| | | </finally> |
| | | </try> |
| | | </sequence> |
| | | </testcase> |
| | | </function> |
| | | |
| | | <!--- Test Case : Core : Collective Attributes : core_collectiveattr_025 --> |
| | | <!--- Test Case information |
| | | #@TestMarker Schema |
| | | #@TestName Core : Collective Attributes |
| | | #@TestID core_collectiveattr_025 |
| | | #@TestPurpose Add a collective attribute to test chopAfter chopBefore syntax2 |
| | | #@TestPreamble |
| | | #@TestSteps add collective attribute to test chopAfter:ou=Asia |
| | | #@TestSteps chopBefore:ou=America syntax2 (with c-TelephoneNumber) |
| | | #@TestSteps verify below ou=Asia and ou=North,ou=America that |
| | | #@TestSteps attribute has not been added, then at ou=Asia level and |
| | | #@TestSteps under ou=Europe that attribute has been added |
| | | #@TestPostamble |
| | | #@TestResult Test is successful if the result code is 0 |
| | | --> |
| | | <function name="core_collectiveattr_025" scope="local"> |
| | | <testcase name="getTestCaseName('core_collectiveattr_025: Add a collective attribute to test chopAfter chopBefore syntax2')"> |
| | | <sequence> |
| | | <try> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Test Name = %s' % STAXCurrentTestcase |
| | | </message> |
| | | |
| | | <script> |
| | | coreattrLdif25='%s/core/ldifs/collectiveattr-25.ldif' % remote.data |
| | | baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com' |
| | | targetDN1='uid=trigden,ou=North,ou=America,%s' % baseDN |
| | | targetDN2='uid=scarter,ou=Asia,%s' % baseDN |
| | | targetDN3='ou=Asia,%s' % baseDN |
| | | targetDN4='uid=abergin,ou=Europe,%s' % baseDN |
| | | </script> |
| | | |
| | | <message>'++ Add collective attribute c-TelephoneNumber should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif25 |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-TelephoneNumber in user trigden, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN1 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-TelephoneNumber: \+1 408 555 5555', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute buildingName in user scarter, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'c-TelephoneNumber=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-TelephoneNumber: \+1 408 555 5555', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute collectiveAttributeSubentries in ou=Asia'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsAttributes' : 'collectiveAttributeSubentries' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective c-TelephoneNumber,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-TelephoneNumber in ou=Asia, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'c-TelephoneNumber=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-TelephoneNumber: \+1 408 555 5555', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-TelephoneNumber in user abergin, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN4 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-TelephoneNumber: \+1 408 555 5555', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | </sequence> |
| | | |
| | | <catch exception="'STAXException.*'" typevar="eType" var="eInfo"> |
| | | <message log="1" level="'fatal'"> |
| | | '%s: Test failed. eInfo(%s)' % (eType,eInfo) |
| | | </message> |
| | | </catch> |
| | | |
| | | <finally> |
| | | <call function="'testCase_Postamble'"/> |
| | | </finally> |
| | | </try> |
| | | </sequence> |
| | | </testcase> |
| | | </function> |
| | | |
| | | <!--- Test Case : Core : Collective Attributes : core_collectiveattr_026 --> |
| | | <!--- Test Case information |
| | | #@TestMarker Schema |
| | | #@TestName Core : Collective Attributes |
| | | #@TestID core_collectiveattr_026 |
| | | #@TestPurpose Add a collective attribute to test Filter syntax1 |
| | | #@TestPreamble |
| | | #@TestSteps add collective attribute to test Filter syntax1 |
| | | #@TestSteps (with description) verify in a top and not person |
| | | #@TestSteps that attribute has been added (in an organization), and |
| | | #@TestSteps in a person that attribute has not been added |
| | | #@TestPostamble |
| | | #@TestResult Test is successful if the result code is 0 |
| | | --> |
| | | <function name="core_collectiveattr_026" scope="local"> |
| | | <testcase name="getTestCaseName('core_collectiveattr_026: Add a collective attribute to test Filter syntax1')"> |
| | | <sequence> |
| | | <try> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Test Name = %s' % STAXCurrentTestcase |
| | | </message> |
| | | |
| | | <script> |
| | | coreattrLdif26='%s/core/ldifs/collectiveattr-26.ldif' % remote.data |
| | | baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com' |
| | | targetDN1='uid=trigden,ou=North,ou=America,%s' % baseDN |
| | | targetDN2='uid=abergin,ou=Europe,%s' % baseDN |
| | | targetDN3='ou=Asia,%s' % baseDN |
| | | </script> |
| | | |
| | | <message>'++ Add collective attribute description should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif26 |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute description in user trigden, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN1 , |
| | | 'dsFilter' : 'description=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'description: Worldwide employees', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute description in user abergin, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'description=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'description: Worldwide employees', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute collectiveAttributeSubentries in ou=Asia'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsAttributes' : 'collectiveAttributeSubentries' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective description,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute description in ou=Asia, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'description\=Worldwide*' , |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'dn: ou\=Asia,ou\=People,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 0 , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | <catch exception="'STAXException.*'" typevar="eType" var="eInfo"> |
| | | <message log="1" level="'fatal'"> |
| | | '%s: Test failed. eInfo(%s)' % (eType,eInfo) |
| | | </message> |
| | | </catch> |
| | | |
| | | <finally> |
| | | <call function="'testCase_Postamble'"/> |
| | | </finally> |
| | | </try> |
| | | </sequence> |
| | | </testcase> |
| | | </function> |
| | | |
| | | <!--- Test Case : Core : Collective Attributes : core_collectiveattr_027 --> |
| | | <!--- Test Case information |
| | | #@TestMarker Schema |
| | | #@TestName Core : Collective Attributes |
| | | #@TestID core_collectiveattr_027 |
| | | #@TestPurpose Add a collective attribute to test Filter syntax2 |
| | | #@TestPreamble |
| | | #@TestSteps add collective attribute to test Filter |
| | | #@TestSteps syntax2 (with c-street) verify in a person that |
| | | #@TestSteps attribute c-street has been added, and in a not person |
| | | #@TestSteps (so an organization) that attribute has not been added |
| | | #@TestPostamble |
| | | #@TestResult Test is successful if the result code is 0 |
| | | --> |
| | | <function name="core_collectiveattr_027" scope="local"> |
| | | <testcase name="getTestCaseName('core_collectiveattr_027: Add a collective attribute to test Filter syntax2')"> |
| | | <sequence> |
| | | <try> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Test Name = %s' % STAXCurrentTestcase |
| | | </message> |
| | | |
| | | <script> |
| | | coreattrLdif27='%s/core/ldifs/collectiveattr-27.ldif' % remote.data |
| | | baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com' |
| | | targetDN1='uid=trigden,ou=North,ou=America,%s' % baseDN |
| | | targetDN2='uid=abergin,ou=Europe,%s' % baseDN |
| | | targetDN3='ou=Asia,%s' % baseDN |
| | | </script> |
| | | |
| | | <message>'++ Add collective attribute description should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif27 |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-street in user trigden, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN1 , |
| | | 'dsFilter' : 'c-street=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-street: Chestnut Street', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute collectiveAttributeSubentries in user abergin'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsAttributes' : 'collectiveAttributeSubentries' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective c-street,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <message>'++ Search attribute c-street in user abergin, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'c-street=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-street: Chestnut Street', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : expectedRC , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-street in ou=Asia, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'c-street=Chestnut*' , |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'dn: ou\=Asia,ou\=People,', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | <catch exception="'STAXException.*'" typevar="eType" var="eInfo"> |
| | | <message log="1" level="'fatal'"> |
| | | '%s: Test failed. eInfo(%s)' % (eType,eInfo) |
| | | </message> |
| | | </catch> |
| | | |
| | | <finally> |
| | | <call function="'testCase_Postamble'"/> |
| | | </finally> |
| | | </try> |
| | | </sequence> |
| | | </testcase> |
| | | </function> |
| | | |
| | | <!--- Test Case : Core : Collective Attributes : core_collectiveattr_028 --> |
| | | <!--- Test Case information |
| | | #@TestMarker Schema |
| | | #@TestName Core : Collective Attributes |
| | | #@TestID core_collectiveattr_028 |
| | | #@TestPurpose Add a collective attribute to test incorrect subtreeSpecification syntax1 |
| | | #@TestPreamble |
| | | #@TestSteps add collective attribute to test incorrect |
| | | #@TestSteps subtreeSpecification syntax1 (with pwdMinLength) verify |
| | | #@TestSteps in 3 entries that attribute has not been added. |
| | | #@TestSteps verify the collective attributes exists under baseDN |
| | | #@TestPostamble |
| | | #@TestResult Test is successful if the result code is 0 |
| | | --> |
| | | <function name="core_collectiveattr_028" scope="local"> |
| | | <testcase name="getTestCaseName('core_collectiveattr_028: Add a collective attribute to test incorrect subtreeSpecification syntax1')"> |
| | | <sequence> |
| | | <try> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Test Name = %s' % STAXCurrentTestcase |
| | | </message> |
| | | |
| | | <script> |
| | | coreattrLdif28='%s/core/ldifs/collectiveattr-28.ldif' % remote.data |
| | | baseDN1='dc=example,dc=com' |
| | | baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com' |
| | | targetDN1='uid=trigden,ou=North,ou=America,%s' % baseDN |
| | | targetDN2='uid=abergin,ou=Europe,%s' % baseDN |
| | | targetDN3='ou=Asia,%s' % baseDN |
| | | </script> |
| | | |
| | | <message>'++ Add collective attribute pwdMinLength should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif28 |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute pwdMinLength in user trigden, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN1 , |
| | | 'dsFilter' : 'pwdMinLength=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'pwdMinLength: 9', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute pwdMinLength in user abergin, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'pwdMinLength=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'pwdMinLength: 9', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <message>'++ Search attribute pwdMinLength in ou=Asia, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'objectclass=*' , |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'pwdMinLength: 9', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | <catch exception="'STAXException.*'" typevar="eType" var="eInfo"> |
| | | <message log="1" level="'fatal'"> |
| | | '%s: Test failed. eInfo(%s)' % (eType,eInfo) |
| | | </message> |
| | | </catch> |
| | | |
| | | <finally> |
| | | <call function="'testCase_Postamble'"/> |
| | | </finally> |
| | | </try> |
| | | </sequence> |
| | | </testcase> |
| | | </function> |
| | | |
| | | <!--- Test Case : Core : Collective Attributes : core_collectiveattr_029 --> |
| | | <!--- Test Case information |
| | | #@TestMarker Schema |
| | | #@TestName Core : Collective Attributes |
| | | #@TestID core_collectiveattr_029 |
| | | #@TestPurpose Add a collective attribute to test incorrect subtreeSpecification syntax2 |
| | | #@TestPreamble |
| | | #@TestSteps add collective attribute to test incorrect |
| | | #@TestSteps subtreeSpecification syntax2 (with |
| | | #@TestSteps c-FacsimileTelephoneNumber) verify in 3 entries that |
| | | #@TestSteps attribute has not been added |
| | | #@TestPostamble |
| | | #@TestResult Test is successful if the result code is 0 |
| | | --> |
| | | <function name="core_collectiveattr_029" scope="local"> |
| | | <testcase name="getTestCaseName('core_collectiveattr_029: Add a collective attribute to test incorrect subtreeSpecification syntax2')"> |
| | | <sequence> |
| | | <try> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Test Name = %s' % STAXCurrentTestcase |
| | | </message> |
| | | |
| | | <script> |
| | | coreattrLdif29='%s/core/ldifs/collectiveattr-29.ldif' % remote.data |
| | | baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com' |
| | | targetDN1='uid=trigden,ou=North,ou=America,%s' % baseDN |
| | | targetDN2='uid=abergin,ou=Europe,%s' % baseDN |
| | | targetDN3='ou=Asia,%s' % baseDN |
| | | </script> |
| | | |
| | | <message>'++ Add collective attribute should pass'</message> |
| | | <call function="'ldapModifyWithScript'"> |
| | | { |
| | | 'dsAdd' : 'True' , |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsFilename' : coreattrLdif29 |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-FacsimileTelephoneNumber in user trigden, should pass'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN1 , |
| | | 'dsFilter' : 'c-FacsimileTelephoneNumber=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-FacsimileTelephoneNumber: + 1 408 777 4444', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-FacsimileTelephoneNumber in user abergin, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN2 , |
| | | 'dsFilter' : 'objectclass=*' |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-FacsimileTelephoneNumber: + 1 408 777 4444', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | <message>'++ Search attribute c-FacsimileTelephoneNumber in ou=Asia, should fail'</message> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'dsBaseDN' : targetDN3 , |
| | | 'dsFilter' : 'c-FacsimileTelephoneNumber=*' , |
| | | } |
| | | </call> |
| | | <script> |
| | | returnString = STAXResult[0][1] |
| | | </script> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'c-FacsimileTelephoneNumber: + 1 408 777 4444', |
| | | 'returnString' : returnString , |
| | | 'expectedRC' : 1 , |
| | | } |
| | | </call> |
| | | |
| | | |
| | | </sequence> |
| | | |
| | | <catch exception="'STAXException.*'" typevar="eType" var="eInfo"> |
| | | <message log="1" level="'fatal'"> |
| | | '%s: Test failed. eInfo(%s)' % (eType,eInfo) |
| | | </message> |
| | | </catch> |
| | | |
| | | <finally> |
| | | <call function="'testCase_Postamble'"/> |
| | | </finally> |
| | | </try> |
| | | </sequence> |
| | | </testcase> |
| | | </function> |
| | | |
| | | </stax> |
| | |
| | | ! |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! Copyright 2006-2009 Sun Microsystems, Inc. |
| | | ! Copyright 2006-2010 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | <defaultcall function="core_entry_cache" /> |
| | |
| | | 'dsBaseDN' : 'cn=version,cn=monitor', |
| | | 'dsFilter' : '|' , |
| | | 'expectedRC' : 2 , |
| | | 'knownIssue' : '3966' |
| | | 'knownIssue' : ['3966','4406'] |
| | | } |
| | | </call> |
| | | <call function="'testCase_Postamble'" /> |
| | |
| | | ! |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! Copyright 2006-2009 Sun Microsystems, Inc. |
| | | ! Copyright 2006-2010 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | <defaultcall function="core_tf_filters" /> |
| | |
| | | 'dsBaseDN' : 'cn=version,cn=monitor', |
| | | 'dsFilter' : '&', |
| | | 'expectedRC' : 2 , |
| | | 'knownIssue' : '3966' |
| | | 'knownIssue' : ['3966','4406'] |
| | | } |
| | | </call> |
| | | |
| | |
| | | 'dsBaseDN' : 'cn=version,cn=monitor', |
| | | 'dsFilter' : '|', |
| | | 'expectedRC' : 2 , |
| | | 'knownIssue' : '3966' |
| | | 'knownIssue' : ['3966','4406'] |
| | | } |
| | | </call> |
| | | |
| | |
| | | 'dsBaseDN' : 'cn=bad,cn=monitor', |
| | | 'dsFilter' : '&', |
| | | 'expectedRC' : 2, |
| | | 'knownIssue' : '3966' |
| | | 'knownIssue' : ['3966','4406'] |
| | | } |
| | | </call> |
| | | <call function="'testCase_Postamble'" /> |
| | |
| | | 'dsBaseDN' : 'cn=bad,cn=monitor', |
| | | 'dsFilter' : '|', |
| | | 'expectedRC' : 2, |
| | | 'knownIssue' : '3966' |
| | | 'knownIssue' : ['3966','4406'] |
| | | } |
| | | </call> |
| | | <call function="'testCase_Postamble'" /> |
| | |
| | | } |
| | | </call> |
| | | |
| | | <call function="'importLdifTask'"> |
| | | <call function="'ImportLdifWithScript'"> |
| | | { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstancePort' : DIRECTORY_INSTANCE_PORT, |
| | | 'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'taskID' : 'import_%s' % dsmlBaseDNs.get(baseDN)[1], |
| | | 'ldifFile' : '%s/dsml/ldif-files/%s' % (remote.data,dsmlBaseDNs.get(baseDN)[0]), |
| | | 'backEnd' : '%s' % dsmlBaseDNs.get(baseDN)[1] |
| | | 'dsLdifFile' : '%s/dsml/ldif-files/%s' % (remote.data,dsmlBaseDNs.get(baseDN)[0]), |
| | | 'dsBackEnd' : '%s' % dsmlBaseDNs.get(baseDN)[1] |
| | | } |
| | | </call> |
| | | |
| | | <script> |
| | | nbEntriesExpected = dsmlBaseDNs.get(baseDN)[2] |
| | | </script> |
| | |
| | | 'dsCountEntries' : 'True' , |
| | | 'dsBaseDN' : baseDN, |
| | | 'dsFilter' : 'objectclass=*' , |
| | | 'dsAttributes' : 'dn', |
| | | 'expectedRC' : 'noCheck' |
| | | } |
| | | </call> |
| | |
| | | ! |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! Copyright 2007-2008 Sun Microsystems, Inc. |
| | | ! Copyright 2007-2010 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | <defaultcall function="main_indexes" /> |
| | |
| | | CurrentTestPath['group'] = 'indexes' |
| | | envAlreadyLoaded='true' |
| | | _testSteps=['indexes_setup','indexes_search','indexes_dynamic_modify', |
| | | 'indexes_dynamic_add','indexes_remove', 'indexes_add', |
| | | 'indexes_cleanup'] |
| | | 'indexes_dynamic_add','indexes_remove','indexes_add', |
| | | 'indexes_modify','indexes_entry_limit', |
| | | 'indexes_vlv_add', 'indexes_cleanup'] |
| | | </script> |
| | | <!--- |
| | | #@TestSuiteName Indexes |
| | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'before-modify' } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'modifyIndex', |
| | | 'functionException' : 'LDAP.ModifyException', |
| | | 'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'], |
| | | CurrentTestPath['suite'], |
| | | STAXCurrentBlock ) , |
| | | 'functionMessage' : 'Adding substring index to attribute uid', |
| | | 'functionArguments' : { 'operation' : 'add', |
| | | 'indexAttribute' : 'uid', |
| | | 'indexProperty' : 'index-type', |
| | | 'indexPropertyValue' : 'substring' |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StopDsWithScript', |
| | | 'functionException' : 'CLI.stop-ds', |
| | | 'functionFailureTC' : 'Indexes - Modify' , |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsBindDN' : DIRECTORY_INSTANCE_DN , |
| | | 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'rebuildIndexWithScript' , |
| | | 'functionException' : 'CLI.RebuildIndex' , |
| | | 'functionFailureTC' : 'Indexes - Modify' , |
| | | 'functionArguments' : { 'dsBaseDN' : DIRECTORY_INSTANCE_SFX , |
| | | 'dsIndexList' : [ 'uid' ] |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StartDsWithScript', |
| | | 'functionException' : 'CLI.start-ds', |
| | | 'functionFailureTC' : 'Indexes - Modify' , |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME } |
| | | } |
| | | </call> |
| | | <!--- Check that DS started --> |
| | | <call function="'isAlive'"> |
| | | { |
| | | 'noOfLoops' : 10 , |
| | | 'noOfMilliSeconds' : 2000 |
| | | } |
| | | </call> |
| | | |
| | | <testcase name="getTestCaseName('Modify and rebuild uid index')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'modifyIndex', |
| | | 'functionMessage' : 'Adding substring index to attribute uid', |
| | | 'functionArguments' : { 'operation' : 'add', |
| | | 'indexAttribute' : 'uid', |
| | | 'indexProperty' : 'index-type', |
| | | 'indexPropertyValue' : 'substring' |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StopDsWithScript', |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsBindDN' : DIRECTORY_INSTANCE_DN , |
| | | 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'rebuildIndexWithScript' , |
| | | 'functionArguments' : { 'dsBaseDN' : DIRECTORY_INSTANCE_SFX , |
| | | 'dsIndexList' : [ 'uid' ] , |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | } |
| | | </call> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StartDsWithScript', |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME } |
| | | } |
| | | </call> |
| | | <!--- Check that DS started --> |
| | | <call function="'isAlive'"> |
| | | { |
| | | 'noOfLoops' : 10 , |
| | | 'noOfMilliSeconds' : 2000 |
| | | } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'after-modify' } |
| | | { 'filters' : 'after-modify' } |
| | | </call> |
| | | </sequence> |
| | | <catch exception="'STAXException.LDAP.ModifyException'"> |
| | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'before-modify' } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'modifyIndex', |
| | | 'functionException' : 'LDAP.ModifyException', |
| | | 'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'], |
| | | CurrentTestPath['suite'], |
| | | STAXCurrentBlock ) , |
| | | 'functionMessage' : 'Adding substring index to attribute uid', |
| | | 'functionArguments' : { 'operation' : 'add', |
| | | 'indexAttribute' : 'uid', |
| | | 'indexProperty' : 'index-type', |
| | | 'indexPropertyValue' : 'substring' |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'rebuildIndexWithScript' , |
| | | 'functionException' : 'CLI.RebuildIndex' , |
| | | 'functionFailureTC' : 'Indexes - Dynamic Modify' , |
| | | 'functionArguments' : |
| | | { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX , |
| | | 'dsIndexList' : [ 'uid' ] |
| | | |
| | | <testcase name="getTestCaseName('Modify and rebuild uid index')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'modifyIndex', |
| | | 'functionMessage' : 'Adding substring index to attribute uid', |
| | | 'functionArguments' : { 'operation' : 'add', |
| | | 'indexAttribute' : 'uid', |
| | | 'indexProperty' : 'index-type', |
| | | 'indexPropertyValue' : 'substring' |
| | | } |
| | | } |
| | | } |
| | | </call> |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'rebuildIndexWithScript' , |
| | | 'functionArguments' : |
| | | { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsIndexList' : [ 'uid' ], |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'after-modify' } |
| | | </call> |
| | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'before-add' } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'addIndex', |
| | | 'functionException' : 'LDAP.AddIndexException', |
| | | 'functionFailureTC' : 'Indexes - Add', |
| | | 'functionMessage' : 'Adding presence and equality index to \ |
| | | attribute l', |
| | | 'functionArguments' : { 'indexAttribute' : 'l', |
| | | 'indexTypes' : [ 'presence', |
| | | 'equality' ] |
| | | } |
| | | } |
| | | </call> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StopDsWithScript', |
| | | 'functionException' : 'CLI.stop-ds', |
| | | 'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'], |
| | | CurrentTestPath['suite'], |
| | | STAXCurrentBlock ) , |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsBindDN' : DIRECTORY_INSTANCE_DN, |
| | | 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'rebuildIndexWithScript' , |
| | | 'functionException' : 'CLI.RebuildIndex' , |
| | | 'functionFailureTC' : 'Indexes - Modify' , |
| | | 'functionArguments' : { 'dsBaseDN' : DIRECTORY_INSTANCE_SFX , |
| | | 'dsIndexList' : [ 'l' ] |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StartDsWithScript', |
| | | 'functionException' : 'CLI.start-ds', |
| | | 'functionFailureTC' : '%s: %s: ' , |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME } |
| | | } |
| | | </call> |
| | | <!--- Check that DS started --> |
| | | <call function="'isAlive'"> |
| | | { |
| | | 'noOfLoops' : 10 , |
| | | 'noOfMilliSeconds' : 2000 |
| | | } |
| | | </call> |
| | | |
| | | <testcase name="getTestCaseName('Add and rebuild uid index')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'addIndex', |
| | | 'functionMessage' : 'Adding presence and equality index to \ |
| | | attribute l', |
| | | 'functionArguments' : { 'indexAttribute' : 'l', |
| | | 'indexTypes' : [ 'presence', |
| | | 'equality' ] |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StopDsWithScript', |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsBindDN' : DIRECTORY_INSTANCE_DN, |
| | | 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'rebuildIndexWithScript' , |
| | | 'functionArguments' : { 'dsBaseDN' : DIRECTORY_INSTANCE_SFX , |
| | | 'dsIndexList' : [ 'l' ] , |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StartDsWithScript', |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME } |
| | | } |
| | | </call> |
| | | <!--- Check that DS started --> |
| | | <call function="'isAlive'"> |
| | | { |
| | | 'noOfLoops' : 10 , |
| | | 'noOfMilliSeconds' : 2000 |
| | | } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'after-add' } |
| | | </call> |
| | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'before-add' } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'addIndex', |
| | | 'functionException' : 'LDAP.AddIndexException', |
| | | 'functionFailureTC' : 'Indexes - Add', |
| | | 'functionMessage' : 'Adding presence and equality index to \ |
| | | attribute l', |
| | | 'functionArguments' : { 'indexAttribute' : 'l', |
| | | 'indexTypes' : [ 'presence', |
| | | 'equality' ] |
| | | } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'rebuildIndexWithScript' , |
| | | 'functionException' : 'CLI.RebuildIndex' , |
| | | 'functionFailureTC' : 'Indexes - Dynamic Add' , |
| | | 'functionArguments' : |
| | | { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX , |
| | | 'dsIndexList' : [ 'l' ] |
| | | |
| | | <testcase name="getTestCaseName('Add and rebuild l index')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'addIndex', |
| | | 'functionMessage' : 'Adding presence and equality index to \ |
| | | attribute l', |
| | | 'functionArguments' : { 'indexAttribute' : 'l', |
| | | 'indexTypes' : [ 'presence', |
| | | 'equality' ] |
| | | } |
| | | } |
| | | } |
| | | </call> |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'rebuildIndexWithScript' , |
| | | 'functionArguments' : |
| | | { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsInstanceDn' : DIRECTORY_INSTANCE_DN, |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD, |
| | | 'dsBaseDN' : DIRECTORY_INSTANCE_SFX, |
| | | 'dsIndexList' : [ 'l' ], |
| | | 'knownIssue' : '6931704' |
| | | } |
| | | } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'after-add' } |
| | | { 'filters' : 'after-add' } |
| | | </call> |
| | | </sequence> |
| | | <catch exception="'STAXException.LDAP.AddIndexException'"> |
| | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'before-remove' } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'removeIndex', |
| | | 'functionException' : 'LDAP.RemoveIndexException', |
| | | 'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'], |
| | | CurrentTestPath['suite'], |
| | | STAXCurrentBlock), |
| | | 'functionMessage' : 'Removing index on attribute l' , |
| | | 'functionArguments' : { 'indexAttribute' : 'l' } |
| | | } |
| | | </call> |
| | | |
| | | <testcase name="getTestCaseName('Remove l index')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'removeIndex', |
| | | 'functionMessage' : 'Removing index on attribute l' , |
| | | 'functionArguments' : { 'indexAttribute' : 'l' } |
| | | } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'after-remove' } |
| | | </call> |
| | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'before-entry-limit' } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'modifyIndex', |
| | | 'functionException' : 'LDAP.ModifyIndexException', |
| | | 'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'], |
| | | CurrentTestPath['suite'], |
| | | STAXCurrentBlock), |
| | | 'functionMessage' : 'Modify index entry limit on attribute \ |
| | | uid' , |
| | | 'functionArguments' : { 'operation' : 'set', |
| | | 'indexAttribute' : 'uid', |
| | | 'indexProperty' : 'index-entry-limit', |
| | | 'indexPropertyValue' : '3' |
| | | } |
| | | } |
| | | </call> |
| | | |
| | | <testcase name="getTestCaseName('Modify uid index')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'modifyIndex', |
| | | 'functionMessage' : 'Modify index entry limit on attribute \ |
| | | uid' , |
| | | 'functionArguments' : { 'operation' : 'set', |
| | | 'indexAttribute' : 'uid', |
| | | 'indexProperty' : 'index-entry-limit', |
| | | 'indexPropertyValue' : '3' |
| | | } |
| | | } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'after-entry-limit' } |
| | | </call> |
| | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'before-entry-limit' } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'modifyIndex', |
| | | 'functionException' : 'LDAP.ModifyIndexException', |
| | | 'functionFailureTC' : '%s: %s: %s' % (CurrentTestPath['group'], |
| | | CurrentTestPath['suite'], |
| | | STAXCurrentBlock), |
| | | 'functionMessage' : 'Modify index entry limit on attribute \ |
| | | uid' , |
| | | 'functionArguments' : { 'operation' : 'set', |
| | | 'indexAttribute' : 'uid', |
| | | 'indexProperty' : 'index-entry-limit' , |
| | | 'indexPropertyValue' : '3' |
| | | } |
| | | } |
| | | </call> |
| | | |
| | | <testcase name="getTestCaseName('Modify uid index')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'modifyIndex', |
| | | 'functionMessage' : 'Modify index entry limit on attribute \ |
| | | uid' , |
| | | 'functionArguments' : { 'operation' : 'set', |
| | | 'indexAttribute' : 'uid', |
| | | 'indexProperty' : 'index-entry-limit' , |
| | | 'indexPropertyValue' : '3' |
| | | } |
| | | } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <call function="'loopThroughFilters'"> |
| | | { 'filters' : 'after-entry-limit' } |
| | | </call> |
| | |
| | | test.getAttribute(), test.getName(), testNumber)"> |
| | | |
| | | <sequence> |
| | | <call function="'testCase_Preamble'" /> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message log="1" level="'trace'"> |
| | | 'Searching attribute [%s] with filter[%s]' \ |
| | | % (test.getAttribute(),test.getFilter()) |
| | |
| | | 'dsBaseDN' : 'ou=People,dc=example,%s' \ |
| | | % DIRECTORY_INSTANCE_SFX , |
| | | 'dsFilter' : '%s' % test.getFilter(), |
| | | 'attributes' : 'debugsearchindex', |
| | | 'expectedRC' : 'noCheck' |
| | | 'attributes' : 'debugsearchindex' |
| | | } |
| | | </call> |
| | | <script> |
| | | searchReturnCode, searchResultString = STAXResult[0] |
| | | # chop off the first line that contains the dn |
| | | searchResultString = re.compile(r'^dn:.*\n?').sub('', |
| | | searchResultString) |
| | | # join multiple lines into a single one |
| | | searchResultString = re.compile(r'[ \t]*\r?\n[ \t]*').sub('', |
| | | searchResultString) |
| | | srt=searchResultString.split('[')[1] |
| | | if (str(searchReturnCode) == str(test.getRC())) and \ |
| | | srt.startswith(test.getSearchString()): |
| | | test.pass() |
| | | </script> |
| | | <message level="'trace'"> |
| | | '%s\nsearchReturnCode=[%s]\nldapsearch return \ |
| | | string=[%s]\nchunk to parse=[%s]\nstring looked for=[%s]' \ |
| | | % (test.desc(), searchReturnCode, searchResultString, srt, |
| | | test.getSearchString()) |
| | | </message> |
| | | <tcstatus result="test.getStatus()" /> |
| | | <call function="'testCase_Postamble'" /> |
| | | <if expr="RC == 0"> |
| | | <sequence> |
| | | <script> |
| | | searchReturnCode, searchResultString = STAXResult[0] |
| | | # chop off the first line that contains the dn |
| | | searchResultString = re.compile(r'^dn:.*\n?').sub('', |
| | | searchResultString) |
| | | # join multiple lines into a single one |
| | | searchResultString = re.compile(r'[ \t]*\r?\n[ \t]*').sub('', |
| | | searchResultString) |
| | | srt=searchResultString.split('[')[1] |
| | | if (str(searchReturnCode) == str(test.getRC())) and \ |
| | | srt.startswith(test.getSearchString()): |
| | | test.pass() |
| | | </script> |
| | | <message level="'trace'"> |
| | | '%s\nsearchReturnCode=[%s]\nldapsearch return \ |
| | | string=[%s]\nchunk to parse=[%s]\nstring looked for=[%s]' \ |
| | | % (test.desc(), searchReturnCode, searchResultString, srt, |
| | | test.getSearchString()) |
| | | </message> |
| | | </sequence> |
| | | </if> |
| | | <tcstatus result="test.getStatus()"/> |
| | | <call function="'testCase_Postamble'"/> |
| | | <script> |
| | | testNumber=testNumber+1 |
| | | </script> |
| | |
| | | </script> |
| | | <call function="'testSuite_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'createTopology', |
| | | 'functionMessage' : 'Create DS topology as described in config.py', |
| | | 'functionException' : 'Topology.CreationException', |
| | | 'functionArguments' : { 'initialiseInstance' : True } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StartDsWithScript' , |
| | | 'functionMessage' : 'Start DS to run on port %s' \ |
| | | % (DIRECTORY_INSTANCE_PORT) , |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'isAlive', |
| | | 'functionMessage' : 'Checking if the server is available', |
| | | 'functionException' : 'Topology.StartException', |
| | | 'functionArguments' : { 'noOfLoops' : 10, |
| | | 'noOfMilliSeconds' : 2000 |
| | | } |
| | | } |
| | | </call> |
| | | <testcase name="getTestCaseName('Setup')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'createTopology', |
| | | 'functionMessage' : 'Create DS topology as described in config.py', |
| | | 'functionArguments' : { 'initialiseInstance' : True } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StartDsWithScript' , |
| | | 'functionMessage' : 'Start DS to run on port %s' \ |
| | | % (DIRECTORY_INSTANCE_PORT) , |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'isAlive', |
| | | 'functionMessage' : 'Checking if the server is available', |
| | | 'functionArguments' : { 'noOfLoops' : 10, |
| | | 'noOfMilliSeconds' : 2000 |
| | | } |
| | | } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | </sequence> |
| | |
| | | </script> |
| | | <call function="'testSuite_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StopDsWithScript' , |
| | | 'functionMessage' : 'Stop DS running on port %s' \ |
| | | % (DIRECTORY_INSTANCE_PORT), |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsBindDN' : DIRECTORY_INSTANCE_DN, |
| | | 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'removeTopology', |
| | | 'functionMessage' : 'Remove DS topology created for the Test Suite' |
| | | } |
| | | </call> |
| | | <testcase name="getTestCaseName('Cleanup')"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'StopDsWithScript' , |
| | | 'functionMessage' : 'Stop DS running on port %s' \ |
| | | % (DIRECTORY_INSTANCE_PORT), |
| | | 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'dsHost' : DIRECTORY_INSTANCE_HOST, |
| | | 'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT, |
| | | 'dsBindDN' : DIRECTORY_INSTANCE_DN, |
| | | 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD } |
| | | } |
| | | </call> |
| | | <call function="'runFunction'"> |
| | | { 'functionName' : 'removeTopology', |
| | | 'functionMessage' : 'Remove DS topology created for the Test Suite' |
| | | } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <call function="'testSuite_Postamble'"/> |
| | | </sequence> |
| | |
| | | ! |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! Copyright 2009 Sun Microsystems, Inc. |
| | | ! Copyright 2009-2010 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | |
| | |
| | | </function-map-args> |
| | | <sequence> |
| | | |
| | | <message> |
| | | 'Common ECL tests: reset data' |
| | | </message> |
| | | |
| | | <!-- Pre-initialise the servers in the topology --> |
| | | <call function="'preInitializeReplication'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstanceAdminPort' : master.getAdminPort(), |
| | | 'localOnly' : False, |
| | | 'replicationDnList' : [synchroSuffix], |
| | | 'adminUID' : adminUID, |
| | | 'adminPswd' : adminPswd |
| | | } |
| | | </call> |
| | | |
| | | <!-- Stop "master" Directory Server --> |
| | | <call function="'StopDsWithScript'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsHost' : masterHost, |
| | | 'dsAdminPort' : master.getAdminPort(), |
| | | 'dsBindDN' : master.getRootDn(), |
| | | 'dsBindPwd' : master.getRootPwd() |
| | | } |
| | | </call> |
| | | |
| | | <!-- Import data into "master" Directory Server --> |
| | | <call function="'ImportLdifWithScript'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsBackEnd' : DIRECTORY_INSTANCE_BE, |
| | | 'dsLdifFile' : '%s/replication/Example.ldif' \ |
| | | % masterDataDir |
| | | } |
| | | </call> |
| | | |
| | | <!-- Start the Directory Server --> |
| | | <call function="'StartDsWithScript'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath |
| | | } |
| | | </call> |
| | | |
| | | <!-- Wait for DS to start --> |
| | | <call function="'isAlive'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort() , |
| | | 'dsInstanceDn' : master.getRootDn() , |
| | | 'dsInstancePswd' : master.getRootPwd() , |
| | | 'noOfLoops' : 10 , |
| | | 'noOfMilliSeconds' : 2000 |
| | | } |
| | | </call> |
| | | |
| | | <!-- Perform the total update --> |
| | | <call function="'initializeReplication'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | | 'sourceInstanceHost' : masterHost, |
| | | 'sourceInstanceAdminPort' : master.getAdminPort(), |
| | | 'replicationDnList' : ['o=example'] |
| | | } |
| | | </call> |
| | | <!--- Test Case information |
| | | #@TestMarker Replication External Changelog Tests |
| | | #@TestName Replication: External Changelog: Setup |
| | | #@TestID Setup |
| | | #@TestPurpose Set up environment for External Changelog tests |
| | | #@TestPreamble |
| | | #@TestSteps Reset replicated data |
| | | #@TestPostamble |
| | | #@TestResult Success if the data reset succeeds |
| | | --> |
| | | <testcase name="getTestCaseName('%s - Setup' % ecl_mode)"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Replication: External Changelog: %s - Setup. \ |
| | | Set up environment for External Changelog tests' % ecl_mode |
| | | </message> |
| | | |
| | | <message> |
| | | 'Common ECL tests: reset data' |
| | | </message> |
| | | |
| | | |
| | | <message> |
| | | 'Common ECL tests: start test execution in mode: %s' % ecl_mode |
| | | </message> |
| | | <!-- Pre-initialise the servers in the topology --> |
| | | <call function="'preInitializeReplication'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstanceAdminPort' : master.getAdminPort(), |
| | | 'localOnly' : False, |
| | | 'replicationDnList' : [synchroSuffix], |
| | | 'adminUID' : adminUID, |
| | | 'adminPswd' : adminPswd |
| | | } |
| | | </call> |
| | | |
| | | <!-- Stop "master" Directory Server --> |
| | | <call function="'StopDsWithScript'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsHost' : masterHost, |
| | | 'dsAdminPort' : master.getAdminPort(), |
| | | 'dsBindDN' : master.getRootDn(), |
| | | 'dsBindPwd' : master.getRootPwd() |
| | | } |
| | | </call> |
| | | |
| | | <!-- Import data into "master" Directory Server --> |
| | | <call function="'ImportLdifWithScript'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsBackEnd' : DIRECTORY_INSTANCE_BE, |
| | | 'dsLdifFile' : '%s/replication/Example.ldif' \ |
| | | % masterDataDir |
| | | } |
| | | </call> |
| | | |
| | | <!-- Start the Directory Server --> |
| | | <call function="'StartDsWithScript'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath |
| | | } |
| | | </call> |
| | | |
| | | <!-- Wait for DS to start --> |
| | | <call function="'isAlive'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort() , |
| | | 'dsInstanceDn' : master.getRootDn() , |
| | | 'dsInstancePswd' : master.getRootPwd() , |
| | | 'noOfLoops' : 10 , |
| | | 'noOfMilliSeconds' : 2000 |
| | | } |
| | | </call> |
| | | |
| | | <!-- Perform the total update --> |
| | | <call function="'initializeReplication'"> |
| | | { 'location' : clientHost, |
| | | 'dsPath' : clientPath, |
| | | 'sourceInstanceHost' : masterHost, |
| | | 'sourceInstanceAdminPort' : master.getAdminPort(), |
| | | 'replicationDnList' : ['o=example'] |
| | | } |
| | | </call> |
| | | |
| | | <message> |
| | | 'Common ECL tests: start test execution in mode: %s' % ecl_mode |
| | | </message> |
| | | |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # initialise the searchIndex (lastCookie) value to that for the |
| | |
| | | return self.listAttr |
| | | def addAttr(self, attrType, attrValue): |
| | | self.listAttr.append('%s:%s' % (attrType, attrValue)) |
| | | </script> |
| | | </script> |
| | | |
| | | |
| | | <!--- Test Case information |
| | |
| | | 'Index to use for the next ECL search: %s' % \ |
| | | nextIndex |
| | | </message> |
| | | |
| | | <if expr="addedEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="addedEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (myEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (myEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (myEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (myEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'newRDN' : myNewRDN, |
| | | 'deleteOldRDN' : myDeleteOldRDN |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'newRDN' : myNewRDN, |
| | | 'deleteOldRDN' : myDeleteOldRDN |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (newEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'newRDN' : myNewRDN, |
| | | 'deleteOldRDN' : myDeleteOldRDN |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'newRDN' : myNewRDN, |
| | | 'deleteOldRDN' : myDeleteOldRDN |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (newEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="delEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'targetEntryUUID' : myTargetEntryUUID |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="delEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'targetEntryUUID' : myTargetEntryUUID |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (newEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="addedEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="addedEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (myEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="modEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (myEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read entries %s and/or %s)' % \ |
| | | (myTargetDN, eclEntry['dn'][0]) |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read entries %s and/or %s)' % \ |
| | | (myTargetDN, eclEntry['dn'][0]) |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read entries %s and/or %s)' % \ |
| | | (myTargetDN, eclEntry['dn'][0]) |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # Issue 4502: ECL: error 53 when searching with cookie older |
| | | # than updates on several server |
| | | myKnownIssue = '4502' |
| | | else: |
| | | myKnownIssue = None |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie |
| | | 'changelogCookie' : lastCookie, |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <script> |
| | |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read entries %s and/or %s)' % \ |
| | | (myTargetDN, eclEntry['dn'][0]) |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # Issue 4502: ECL: error 53 when searching with cookie older |
| | | # than updates on several server |
| | | myKnownIssue = '4502' |
| | | else: |
| | | myKnownIssue = None |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie |
| | | 'changelogCookie' : lastCookie, |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <script> |
| | |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read entries %s and/or %s)' % \ |
| | | (myTargetDN, eclEntry['dn'][0]) |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # Issue 4502: ECL: error 53 when searching with cookie older |
| | | # than updates on several server |
| | | myKnownIssue = '4502' |
| | | else: |
| | | myKnownIssue = None |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie |
| | | 'changelogCookie' : lastCookie, |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <script> |
| | |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="addedEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <if expr="addedEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry (failed to \ |
| | | read entries %s and/or %s)' % \ |
| | | (myEntry.getDn(), eclEntry['dn'][0]) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode != 'opends': |
| | | # Issue 4309: draft-mode search for new changes returns error |
| | | # if no new changes since last search |
| | | myKnownIssue = '4309' |
| | | if ecl_mode == 'opends': |
| | | # Issue 4502: ECL: error 53 when searching with cookie older |
| | | # than updates on several server |
| | | myKnownIssue = '4502' |
| | | else: |
| | | myKnownIssue = None |
| | | |
| | |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # Issue 4502: ECL: error 53 when searching with cookie older |
| | | # than updates on several server |
| | | myKnownIssue = '4502' |
| | | else: |
| | | myKnownIssue = None |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie |
| | | 'changelogCookie' : lastCookie, |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <script> |
| | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | <!-- Add entries to non-replicated suffix on "master" server --> |
| | | <!-- Add entries to replicated suffix on "master" server --> |
| | | <script> |
| | | newReplSuffix = 'o=new_suffix_repl' |
| | | |
| | |
| | | <sequence> |
| | | <!-- New replicated suffix added => resync required |
| | | ! Check searching ECL with old (single-suffix) cookie returns |
| | | ! error and requests resync --> |
| | | ! error 53 and requests resync |
| | | ! => retrieve suggested cookie value (referring to 2 suffixes) |
| | | --> |
| | | <script> |
| | | lastCookie = searchIndex |
| | | chgNumberFilter = None |
| | |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | # Issue 4502: ECL: error 53 when searching with cookie older |
| | | # than updates on several server |
| | | myKnownIssue = '4502' |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | |
| | | (replServer.getHostname(), replServer.getPort(), searchIndex) |
| | | </message> |
| | | |
| | | <!-- Search for entry add - expect error (RC=1) --> |
| | | <!-- Search for entry add - expect error (RC=53) --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie, |
| | | 'expectedRC' : 1 |
| | | 'expectedRC' : 53 |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == 0"> |
| | | |
| | | <if expr="searchRC == 53"> |
| | | <!-- ECL disabled => should have returned: |
| | | ! SEARCH operation failed |
| | | ! Result Code: 53 (Unwilling to Perform) |
| | | ! Additional Information: Full resync required. Reason: |
| | | ! The provided cookie is missing the replicated domain(s) |
| | | ! my_domain:;. Possible cookie: <new_cookie> |
| | | --> |
| | | <sequence> |
| | | <message> |
| | | 'This is the ECL search result on server %s:%s: \n%s' \ |
| | | 'This is the ECL search result on server %s:%s \ |
| | | (expect ERROR 53 to be returned): \n%s' \ |
| | | % (replServer.getHostname(), replServer.getPort(), |
| | | searchResult) |
| | | </message> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'resync', |
| | | 'returnString' : searchResult |
| | | { 'expectedString' : 'is missing the replicated domain', |
| | | 'returnString' : searchResult, |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <script> |
| | | searchStringRC = STAXResult[0] |
| | | newCookie = None |
| | | |
| | | if searchStringRC == 0: |
| | | # Retrieve the suggested cookie value |
| | | totem = 'Possible cookie:' |
| | | lenTotem = len(totem) + 2 |
| | | indexTotem = searchResult.index(totem) |
| | | newCookie = searchResult[indexTotem + lenTotem:] |
| | | indexEnd = newCookie.index('>') |
| | | newCookie = newCookie[:indexEnd] |
| | | nextIndex = newCookie |
| | | </script> |
| | | <message> |
| | | 'This is the new changelogcookie to use: %s' % newCookie |
| | | </message> |
| | | </sequence> |
| | | </if> |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | <!-- New replicated suffix added => resync required => |
| | | ! Retrieve lastExternalChangelogCookie from root DSE --> |
| | | <script> |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[0] |
| | | else: |
| | | replServer = master |
| | | |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | </script> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstancePort' : replServer.getPort(), |
| | | 'dsInstanceDn' : replServer.getRootDn(), |
| | | 'dsInstancePswd' : replServer.getRootPwd(), |
| | | 'dsScope' : 'base', |
| | | 'dsBaseDN' : ' ', |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsAttributes' : 'lastExternalChangelogCookie' |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == 0"> |
| | | <sequence> |
| | | <script> |
| | | lastECLCookie = None |
| | | pendingValue = 0 |
| | | |
| | | for line in searchResult.splitlines(): |
| | | notBlank = (len(line.strip()) != 0) |
| | | if line.strip().lower().startswith('lastexternalchangelogcookie'): |
| | | # line corresponds to lastExternalChangelogCookie:_cookie_ |
| | | lastECLCookie = line[line.find(':') + 1:].lstrip() |
| | | pendingValue = 1 |
| | | elif (notBlank and pendingValue): |
| | | lastECLCookie += line.lstrip() |
| | | elif pendingValue: |
| | | pendingValue = 0 |
| | | break |
| | | |
| | | searchIndex = lastECLCookie |
| | | </script> |
| | | <message> |
| | | 'New index read from root DSE entry lastExternalChangelogCookie \ |
| | | attribute: %s' % searchIndex |
| | | </message> |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read root DSE entry from server %s:%s' % \ |
| | | (masterHost, master.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | </sequence> |
| | | </if> |
| | | |
| | |
| | | { 'ldifEntries' : searchResult } |
| | | </call> |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # because of the resync, the first add will be missed when |
| | | # searching the ECL |
| | | addedEntries += STAXResult[1:] |
| | | else: |
| | | addedEntries += STAXResult |
| | | addedEntries += STAXResult |
| | | </script> |
| | | </sequence> |
| | | <else> |
| | |
| | | |
| | | |
| | | <script> |
| | | # set the index for the next ECL search |
| | | if nextIndex: |
| | | searchIndex = nextIndex |
| | | nextIndex = None |
| | | |
| | | if ecl_mode == 'opends': |
| | | lastCookie = searchIndex |
| | | chgNumberFilter = None |
| | |
| | | </message> |
| | | |
| | | <!-- Search for entry add --> |
| | | <!-- In draft-mode, this may fail because of issue #4329: |
| | | ! draft mode: after adding new suffix, can not search ECL |
| | | ! because of invalid cookie! --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie, |
| | | 'knownIssue' : '4329' |
| | | 'changelogCookie' : lastCookie |
| | | } |
| | | </call> |
| | | <script> |
| | |
| | | { 'ldifEntries' : searchResult } |
| | | </call> |
| | | <script> |
| | | eclEntries = [firstEclEntryList[indx]] + STAXResult |
| | | if len(firstEclEntryList) != 0: |
| | | eclEntries = [firstEclEntryList[indx]] + STAXResult |
| | | else: |
| | | eclEntries = STAXResult |
| | | |
| | | eclEntriesNb = len(eclEntries) |
| | | expectedNb = len(addedEntries) |
| | | </script> |
| | |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read entries %s and/or %s)' % \ |
| | | (myTargetDN, eclEntry['dn'][0]) |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | |
| | | eclSearchBaseDn = '%s,cn=changelog' % synchroSuffix |
| | | eclSearchFilter = '(objectclass=*)' |
| | | else: |
| | | # ECL entry DN: cn=_changenumber_,cn=changelog |
| | | # => suffix information sound on targetDN attribute |
| | | # ECL entry DN: changenumber=_changenumber_,cn=changelog |
| | | # => suffix information found on targetDN attribute |
| | | eclSearchBaseDn = 'cn=changelog' |
| | | eclSearchFilter = '(targetdn=*%s)' % synchroSuffix |
| | | </script> |
| | |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # Issue 4502: ECL: error 53 when searching with cookie older |
| | | # than updates on several server |
| | | myKnownIssue = '4502' |
| | | else: |
| | | myKnownIssue = None |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | |
| | | </message> |
| | | |
| | | <!-- Search for entry adds in synchroSuffix --> |
| | | <!-- In draft-mode, this may fail because of issue #4329: |
| | | ! draft mode: after adding new suffix, can not search ECL |
| | | ! because of invalid cookie! --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | |
| | | 'dsFilter' : eclSearchFilter, |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie, |
| | | 'knownIssue' : '4329' |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <script> |
| | |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read entries %s and/or %s)' % \ |
| | | (myTargetDN, eclEntry['dn'][0]) |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | |
| | | eclSearchBaseDn = '%s,cn=changelog' % newReplSuffix |
| | | eclSearchFilter = '(objectclass=*)' |
| | | else: |
| | | # ECL entry DN: cn=_changenumber_,cn=changelog |
| | | # ECL entry DN: changenumber=_changenumber_,cn=changelog |
| | | # => suffix information sound on targetDN attribute |
| | | eclSearchBaseDn = 'cn=changelog' |
| | | eclSearchFilter = '(targetdn=*%s)' % newReplSuffix |
| | |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # Issue 4502: ECL: error 53 when searching with cookie older |
| | | # than updates on several server |
| | | myKnownIssue = '4502' |
| | | else: |
| | | myKnownIssue = None |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | |
| | | </message> |
| | | |
| | | <!-- Search for entry adds in newReplSuffix --> |
| | | <!-- In draft-mode, this may fail because of issue #4329: |
| | | ! draft mode: after adding new suffix, can not search ECL |
| | | ! because of invalid cookie! --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | |
| | | 'dsFilter' : eclSearchFilter, |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie, |
| | | 'knownIssue' : '4329' |
| | | } |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read entries %s and/or %s)' % \ |
| | | (myTargetDN, eclEntry['dn'][0]) |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!-- Clean new suffixes on servers --> |
| | | <!-- Clean newReplSuffix changes from changelog --> |
| | | <call function="'preInitializeReplication'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstanceAdminPort' : master.getAdminPort(), |
| | | 'localOnly' : False, |
| | | 'replicationDnList' : [newReplSuffix], |
| | | 'adminUID' : adminUID, |
| | | 'adminPswd' : adminPswd |
| | | } |
| | | </call> |
| | | |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | newSuffx = "o=new_suffix_no_repl" |
| | | newReplSuffix = "o=new_suffix_repl" |
| | | |
| | | serverPath = '%s/%s' % (server.getDir(), OPENDSNAME) |
| | | </script> |
| | | |
| | | <!-- Disable replication for newReplSuffix --> |
| | | <message> |
| | | 'Disable replication for suffix %s on server %s:%s' % \ |
| | | (newReplSuffix, server.getHostname(), server.getPort()) |
| | | </message> |
| | | <call function="'disableReplication'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : serverPath, |
| | | 'dsInstanceHost' : server.getHostname(), |
| | | 'dsInstanceAdminPort' : server.getAdminPort(), |
| | | 'replicationDnList' : [newReplSuffix] |
| | | } |
| | | </call> |
| | | |
| | | <if expr="globalSplitServers"> |
| | | |
| | | |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Replication External Changelog Tests |
| | | #@TestName Replication: External Changelog: Disable ECL - add |
| | | entry to disabled suffix |
| | | #@TestID Disable ECL - add entry to disabled suffix |
| | | #@TestPurpose Verify external changelog can be disabled for a |
| | | replicated suffix, no change recorded |
| | | #@TestPreamble Read lastExternalChangelogCookie/lastChangenumber |
| | | #@TestSteps Disable ECL for old replicated suffix |
| | | #@TestSteps Add entry (old suffix) |
| | | #@TestSteps Verify servers in sync |
| | | #@TestSteps Read last changelog entry on each repl server |
| | | (expect: error 53 if in 'opends' mode; |
| | | expect: NO ECL entry if in 'mode' draft) |
| | | #@TestSteps Add entry (old suffix) |
| | | #@TestSteps Verify servers in sync |
| | | #@TestSteps Read last changelog entry on each repl server |
| | | (expect: NO ECL entry) |
| | | #@TestPostamble |
| | | #@TestResult Success if the servers synchronised and the ECL |
| | | search behaves as expected |
| | | --> |
| | | <testcase name="getTestCaseName('%s - Disable ECL - add entry to disabled suffix' % ecl_mode)"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Replication: External Changelog: %s - Disable ECL - add entry to \ |
| | | disabled suffix. \ |
| | | Verify external changelog can be disabled for a replicated suffix' \ |
| | | % ecl_mode |
| | | </message> |
| | | |
| | | <!-- Read last index from root DSE (lastExternalChangelogCookie / |
| | | ! lastChangenumber) --> |
| | | <script> |
| | | lastIndexAttr = None |
| | | lastIndexValue = None |
| | | |
| | | if ecl_mode == 'opends': |
| | | lastIndexAttr = 'lastexternalchangelogcookie' |
| | | else: |
| | | lastIndexAttr = 'lastchangenumber' |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[0] |
| | | else: |
| | | replServer = master |
| | | |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | </script> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstancePort' : replServer.getPort(), |
| | | 'dsInstanceDn' : replServer.getRootDn(), |
| | | 'dsInstancePswd' : replServer.getRootPwd(), |
| | | 'dsScope' : 'base', |
| | | 'dsBaseDN' : ' ', |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsAttributes' : lastIndexAttr |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == 0"> |
| | | <sequence> |
| | | <script> |
| | | replServer = _topologyReplServerList[indx] |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | lastIndexValue = None |
| | | pendingValue = 0 |
| | | |
| | | for line in searchResult.splitlines(): |
| | | notBlank = (len(line.strip()) != 0) |
| | | if line.strip().lower().startswith(lastIndexAttr): |
| | | # line corresponds to lastIndexAttr:_lastIndexValue_ |
| | | lastIndexValue = line[line.find(':') + 1:].lstrip() |
| | | pendingValue = 1 |
| | | elif (notBlank and pendingValue): |
| | | lastIndexValue += line.lstrip() |
| | | elif pendingValue: |
| | | pendingValue = 0 |
| | | break |
| | | |
| | | if ecl_mode == 'opends': |
| | | nextIndex = lastIndexValue |
| | | else: |
| | | nextChgNumber = int(lastIndexValue) + 1 |
| | | nextIndex = str(nextChgNumber) |
| | | </script> |
| | | <call function="'disableReplication'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstanceAdminPort' : replServer.getAdminPort(), |
| | | 'replicationDnList' : [newReplSuffix] |
| | | <message> |
| | | 'Last index read from root DSE entry %s attribute: %s' % \ |
| | | (lastIndexAttr, lastIndexValue) |
| | | </message> |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read root DSE entry from server %s:%s' % \ |
| | | (server.getHostname(), server.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <!-- Disable ECL for synchroSuffix on server --> |
| | | <message> |
| | | 'Disable ECL for suffix %s on server %s:%s' % \ |
| | | (synchroSuffix, server.getHostname(), server.getPort()) |
| | | </message> |
| | | <script> |
| | | serverPath = '%s/%s' % (server.getDir(), OPENDSNAME) |
| | | |
| | | myOptionString = """--domain-name "%s" --set enabled:false""" \ |
| | | % synchroSuffix |
| | | </script> |
| | | <call function="'dsconfig'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : serverPath, |
| | | 'dsInstanceHost' : server.getHostname(), |
| | | 'dsInstanceAdminPort' : server.getAdminPort(), |
| | | 'dsInstanceDn' : server.getRootDn(), |
| | | 'dsInstancePswd' : server.getRootPwd(), |
| | | 'subcommand' : 'set-external-changelog-domain-prop', |
| | | 'objectType' : 'provider-name', |
| | | 'objectName' : 'Multimaster Synchronization', |
| | | 'optionsString' : myOptionString |
| | | } |
| | | </call> |
| | | </sequence> |
| | | </if> |
| | | |
| | | </iterate> |
| | | |
| | | <!-- Remove newReplSuffix --> |
| | | <message> |
| | | 'Remove suffix %s on server %s:%s' % \ |
| | | (newReplSuffix, server.getHostname(), server.getPort()) |
| | | </message> |
| | | <call function="'dsconfigSet'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : serverPath, |
| | | 'dsInstanceHost' : server.getHostname(), |
| | | 'dsInstanceAdminPort' : server.getAdminPort(), |
| | | 'dsInstanceDn' : server.getRootDn(), |
| | | 'dsInstancePswd' : server.getRootPwd(), |
| | | 'objectName' : 'backend', |
| | | 'propertyType' : 'backend', |
| | | 'propertyName' : 'userRoot', |
| | | 'modifyType' : 'remove', |
| | | 'attributeName' : 'base-dn', |
| | | 'attributeValue' : newReplSuffix |
| | | |
| | | <!-- Add entry to replicated suffix on "master" server --> |
| | | <script> |
| | | myEntry = Entry('cn=Disabled ECL-1', synchroSuffix) |
| | | myEntry.addAttr('sn', 'Disabled') |
| | | </script> |
| | | |
| | | <call function="'addAnEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToAdd' : myEntry.getDn(), |
| | | 'listAttributes' : myEntry.getAttrList() |
| | | } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in |
| | | the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | # set the index for the next ECL search |
| | | if nextIndex: |
| | | searchIndex = nextIndex |
| | | nextIndex = None |
| | | |
| | | if ecl_mode == 'opends': |
| | | lastCookie = searchIndex |
| | | chgNumberFilter = None |
| | | else: |
| | | lastCookie = None |
| | | chgNumberFilter = """(changenumber>=%s)""" % searchIndex |
| | | </script> |
| | | |
| | | <!-- Search changelog in the various replication servers --> |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # ECL disabled => expect RC=53, resync required |
| | | myExpectedRC = 53 |
| | | else: |
| | | myExpectedRC = 0 |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | | replServer = server |
| | | |
| | | <!-- Remove newSuffix (only present on "master" server) --> |
| | | <if expr="indx == 0"> |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | </script> |
| | | |
| | | <message> |
| | | 'Reading changelog in replication server %s:%s from index: \ |
| | | %s' % \ |
| | | (replServer.getHostname(), replServer.getPort(), searchIndex) |
| | | </message> |
| | | |
| | | <!-- Search for entry add --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstancePort' : replServer.getPort(), |
| | | 'dsInstanceDn' : replServer.getRootDn(), |
| | | 'dsInstancePswd' : replServer.getRootPwd(), |
| | | 'dsScope' : 'subordinate', |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie, |
| | | 'expectedRC' : myExpectedRC |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == myExpectedRC"> |
| | | <if expr="ecl_mode == 'opends'"> |
| | | <!-- ECL disabled => should have returned: |
| | | ! SEARCH operation failed |
| | | ! Result Code: 53 (Unwilling to Perform) |
| | | ! Additional Information: Full resync required. Reason: |
| | | ! The provided cookie contains unknown replicated domain |
| | | ! {old_cookie}. Possible cookie: <new_cookie> |
| | | --> |
| | | <sequence> |
| | | <message> |
| | | 'This is the ECL search result on server %s:%s \ |
| | | (expect ERROR 53 to be returned): \n%s' \ |
| | | % (replServer.getHostname(), replServer.getPort(), |
| | | searchResult) |
| | | </message> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'contains unknown replicated domain', |
| | | 'returnString' : searchResult |
| | | } |
| | | </call> |
| | | <script> |
| | | searchStringRC = STAXResult[0] |
| | | newCookie = None |
| | | |
| | | if searchStringRC == 0: |
| | | # Retrieve the suggested cookie value |
| | | totem = 'Possible cookie:' |
| | | lenTotem = len(totem) + 2 |
| | | indexTotem = searchResult.index(totem) |
| | | newCookie = searchResult[indexTotem + lenTotem:] |
| | | indexEnd = newCookie.index('>') |
| | | newCookie = newCookie[:indexEnd] |
| | | nextIndex = newCookie |
| | | </script> |
| | | <message> |
| | | 'This is the new changelogcookie to use: %s' % newCookie |
| | | </message> |
| | | </sequence> |
| | | <else> |
| | | <!-- ECL disabled => expect NO change entry returned --> |
| | | <sequence> |
| | | <message> |
| | | 'This is the ECL entry as read from server %s:%s \ |
| | | (expect NO ECL entry to be returned): \n%s' \ |
| | | % (replServer.getHostname(), replServer.getPort(), |
| | | searchResult) |
| | | </message> |
| | | <if expr="len(searchResult) != 0"> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Expected NO ECL entry to be returned' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </if> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read changelog on replication server %s:%s' \ |
| | | % (replServer.getHostname(), replServer.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | |
| | | <!-- Add entry to replicated suffix on "master" server --> |
| | | <script> |
| | | myEntry = Entry('cn=Disabled ECL-2', synchroSuffix) |
| | | myEntry.addAttr('sn', 'Disabled') |
| | | </script> |
| | | |
| | | <call function="'addAnEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToAdd' : myEntry.getDn(), |
| | | 'listAttributes' : myEntry.getAttrList() |
| | | } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in |
| | | the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | |
| | | <script> |
| | | # set the index for the next ECL search |
| | | if nextIndex: |
| | | searchIndex = nextIndex |
| | | nextIndex = None |
| | | |
| | | if ecl_mode == 'opends': |
| | | lastCookie = searchIndex |
| | | chgNumberFilter = None |
| | | else: |
| | | lastCookie = None |
| | | chgNumberFilter = """(changenumber>=%s)""" % searchIndex |
| | | </script> |
| | | |
| | | <!-- Search changelog in the various replication servers --> |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | | replServer = server |
| | | |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | </script> |
| | | |
| | | <message> |
| | | 'Reading changelog in replication server %s:%s from index: \ |
| | | %s' % \ |
| | | (replServer.getHostname(), replServer.getPort(), searchIndex) |
| | | </message> |
| | | |
| | | <!-- Search for entry add --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstancePort' : replServer.getPort(), |
| | | 'dsInstanceDn' : replServer.getRootDn(), |
| | | 'dsInstancePswd' : replServer.getRootPwd(), |
| | | 'dsScope' : 'subordinate', |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == 0"> |
| | | <!-- ECL disabled => expect NO change entry returned --> |
| | | <sequence> |
| | | <message> |
| | | 'This is the ECL entry as read from server %s:%s \ |
| | | (expect NO ECL entry to be returned): \n%s' \ |
| | | % (replServer.getHostname(), replServer.getPort(), |
| | | searchResult) |
| | | </message> |
| | | <if expr="len(searchResult) != 0"> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Expected NO ECL entry to be returned' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </if> |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read changelog on replication server %s:%s' \ |
| | | % (replServer.getHostname(), replServer.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | <script> |
| | | # set the index for the next ECL search |
| | | if nextIndex: |
| | | searchIndex = nextIndex |
| | | nextIndex = None |
| | | </script> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Replication External Changelog Tests |
| | | #@TestName Replication: External Changelog: Disable ECL - add |
| | | entry to non-disabled suffix |
| | | #@TestID Disable ECL - add entry to non-disabled suffix |
| | | #@TestPurpose Verify external changelog can be disabled for a |
| | | replicated suffix, and still record changes in other |
| | | replicated suffix |
| | | #@TestPreamble |
| | | #@TestSteps Add entry (new repl suffix) |
| | | #@TestSteps Verify servers in sync |
| | | #@TestSteps Read entry from ldap server |
| | | #@TestSteps Read last changelog entry on each repl server |
| | | #@TestSteps Check changelog entry against expected values |
| | | #@TestPostamble |
| | | #@TestResult Success if the server synchronised and the |
| | | changelog entry value check succeeds |
| | | --> |
| | | <testcase name="getTestCaseName('%s - Disable ECL - add entry to non-disabled suffix' % ecl_mode)"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Replication: External Changelog: %s - Disable ECL - add entry to \ |
| | | non-disabled suffix. \ |
| | | Verify external changelog can be disabled for a replicated suffix, \ |
| | | and still record changes in other replicated suffix.' % ecl_mode |
| | | </message> |
| | | |
| | | <!-- Add entry to "master" server --> |
| | | <script> |
| | | newReplSuffix = 'o=new_suffix_repl' |
| | | |
| | | myEntry = Entry('cn=NON-Disabled ECL', newReplSuffix) |
| | | myEntry.addAttr('sn', 'NON-Disabled') |
| | | |
| | | addedEntry = None |
| | | eclEntry = None |
| | | </script> |
| | | <call function="'addAnEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToAdd' : myEntry.getDn(), |
| | | 'listAttributes' : myEntry.getAttrList() |
| | | } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in |
| | | the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, newReplSuffix ] |
| | | </call> |
| | | |
| | | <!-- Retrieve entry information for checkChangelogEntry's sake --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'dsBaseDN' : myEntry.getDn(), |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsAttributes' : addOperationalAttrs |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | |
| | | <if expr="searchRC == 0"> |
| | | <sequence> |
| | | <message> |
| | | 'This is the entry as read from server %s:%s: \n%s' % \ |
| | | (masterHost, master.getPort(), searchResult) |
| | | </message> |
| | | <call function="'parseLdifEntry'"> |
| | | { 'ldifEntry' : searchResult } |
| | | </call> |
| | | <script> |
| | | addedEntry = STAXResult |
| | | |
| | | myTargetDN = addedEntry['dn'][0] |
| | | myChangeType = 'add' |
| | | myChangeTime = addedEntry['createtimestamp'][0] |
| | | myTargetEntryUUID = addedEntry['entryuuid'][0] |
| | | # myReplicationCSN = ----> grab from where??? |
| | | # myReplicatIdentifier = ----> grab from ldap server |
| | | myChanges = {} |
| | | |
| | | for attr in addedEntry.keys(): |
| | | if (attr != 'dn') and (attr != 'changelogcookie') : |
| | | myChanges[attr] = addedEntry[attr] |
| | | |
| | | if ecl_mode != 'opends': |
| | | myChangeNumber = searchIndex |
| | | else: |
| | | myChangeNumber = None |
| | | </script> |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read added entry %s from server %s:%s' % \ |
| | | (myEntry.getDn(), masterHost, master.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | lastCookie = searchIndex |
| | | chgNumberFilter = None |
| | | else: |
| | | lastCookie = None |
| | | chgNumberFilter = """(changenumber>=%s)""" % searchIndex |
| | | </script> |
| | | <!-- Search changelog in the various replication servers --> |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode != 'opends': |
| | | # Issue CR 6929320: ECL draft: after disabling ECL in suffix |
| | | # search returns err 53 (cookie contains unknown repl domain) |
| | | myKnownIssue = '6929320' |
| | | else: |
| | | myKnownIssue = None |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | | replServer = server |
| | | |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | </script> |
| | | |
| | | <message> |
| | | 'Reading changelog in replication server %s:%s from index: \ |
| | | %s' % \ |
| | | (replServer.getHostname(), replServer.getPort(), searchIndex) |
| | | </message> |
| | | |
| | | <!-- Search for entry add --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstancePort' : replServer.getPort(), |
| | | 'dsInstanceDn' : replServer.getRootDn(), |
| | | 'dsInstancePswd' : replServer.getRootPwd(), |
| | | 'dsScope' : 'subordinate', |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie, |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == 0"> |
| | | <sequence> |
| | | <message> |
| | | 'This is the ECL entry as read from server %s:%s: \n%s' %\ |
| | | (replServer.getHostname(), replServer.getPort(), |
| | | searchResult) |
| | | </message> |
| | | <call function="'parseLdifEntry'"> |
| | | { 'ldifEntry' : searchResult } |
| | | </call> |
| | | <script> |
| | | eclEntry = STAXResult |
| | | |
| | | if ecl_mode == 'opends': |
| | | nextIndex = eclEntry['changelogcookie'][0] |
| | | else: |
| | | nextChgNumber = int(eclEntry['changenumber'][0]) + 1 |
| | | nextIndex = str(nextChgNumber) |
| | | </script> |
| | | <message> |
| | | 'Parsed changelog entry: \n%s' % eclEntry |
| | | </message> |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="addedEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read changelog on replication server %s:%s' \ |
| | | % (replServer.getHostname(), replServer.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | <script> |
| | | # set the index for the next ECL search |
| | | if nextIndex: |
| | | searchIndex = nextIndex |
| | | nextIndex = None |
| | | |
| | | # reset variables, just in case |
| | | addedEntry = None |
| | | eclEntry = None |
| | | </script> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Replication External Changelog Tests |
| | | #@TestName Replication: External Changelog: Re-enable ECL |
| | | #@TestID Re-enalbe ECL |
| | | #@TestPurpose Verify external changelog can be re-enabled for a |
| | | replicated suffix |
| | | #@TestPreamble |
| | | #@TestSteps Re-enable ECL for old replicated suffix |
| | | #@TestSteps If in 'opends' mode, read last changelog entry on |
| | | each repl server |
| | | (expect: error 53 if in 'opends' mode) |
| | | #@TestSteps Add entry (old suffix) |
| | | #@TestSteps Verify servers in sync |
| | | #@TestSteps Read last changelog entry on each repl server |
| | | #@TestSteps Check changelog entry against expected values |
| | | #@TestPostamble |
| | | #@TestResult Success if the servers synchronised and the ECL |
| | | search behaves as expected |
| | | --> |
| | | <testcase name="getTestCaseName('%s - Re-enable ECL' % ecl_mode)"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Replication: External Changelog: %s - Re-enable ECL. \ |
| | | Verify external changelog can be re-enabled for a replicated \ |
| | | suffix' % ecl_mode |
| | | </message> |
| | | |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <!-- Re-enable ECL for synchroSuffix on server --> |
| | | <message> |
| | | 'Re-enable ECL for suffix %s on server %s:%s' % \ |
| | | (synchroSuffix, server.getHostname(), server.getPort()) |
| | | </message> |
| | | <script> |
| | | serverPath = '%s/%s' % (server.getDir(), OPENDSNAME) |
| | | |
| | | myOptionString = """--domain-name "%s" --set enabled:true""" \ |
| | | % synchroSuffix |
| | | </script> |
| | | <call function="'dsconfig'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : serverPath, |
| | | 'dsInstanceHost' : server.getHostname(), |
| | | 'dsInstanceAdminPort' : server.getAdminPort(), |
| | | 'dsInstanceDn' : server.getRootDn(), |
| | | 'dsInstancePswd' : server.getRootPwd(), |
| | | 'subcommand' : 'set-external-changelog-domain-prop', |
| | | 'objectType' : 'provider-name', |
| | | 'objectName' : 'Multimaster Synchronization', |
| | | 'optionsString' : myOptionString |
| | | } |
| | | </call> |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | <!-- If ecl_mode == opends, the last changelogcookie refers only to |
| | | ! one suffix (as per last ECL search before re-enabling ECL) |
| | | ! => search changelog and expect: error 53, resync required |
| | | --> |
| | | <if expr="ecl_mode == 'opends'"> |
| | | <sequence> |
| | | <script> |
| | | lastCookie = searchIndex |
| | | chgNumberFilter = None |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[0] |
| | | else: |
| | | replServer = master |
| | | |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | </script> |
| | | |
| | | <message> |
| | | 'Reading changelog in replication server %s:%s from index: \ |
| | | %s' % \ |
| | | (replServer.getHostname(), replServer.getPort(), searchIndex) |
| | | </message> |
| | | |
| | | <!-- Search for entry add --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstancePort' : replServer.getPort(), |
| | | 'dsInstanceDn' : replServer.getRootDn(), |
| | | 'dsInstancePswd' : replServer.getRootPwd(), |
| | | 'dsScope' : 'subordinate', |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie, |
| | | 'expectedRC' : 53 |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == 53"> |
| | | <!-- ECL disabled => should have returned: |
| | | ! SEARCH operation failed |
| | | ! Result Code: 53 (Unwilling to Perform) |
| | | ! Additional Information: Full resync required. Reason: |
| | | ! The provided cookie is missing the replicated domain(s) |
| | | ! my_domain:;. Possible cookie: <new_cookie> |
| | | --> |
| | | <sequence> |
| | | <message> |
| | | 'This is the ECL search result on server %s:%s \ |
| | | (expect ERROR 53 to be returned): \n%s' \ |
| | | % (replServer.getHostname(), replServer.getPort(), |
| | | searchResult) |
| | | </message> |
| | | <call function="'searchString'"> |
| | | { 'expectedString' : 'is missing the replicated domain', |
| | | 'returnString' : searchResult |
| | | } |
| | | </call> |
| | | <script> |
| | | searchStringRC = STAXResult[0] |
| | | </script> |
| | | <if expr="searchStringRC == 0"> |
| | | <sequence> |
| | | <!-- New replicated suffix added => resync required => |
| | | ! Retrieve lastExternalChangelogCookie from root DSE |
| | | --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstancePort' : replServer.getPort(), |
| | | 'dsInstanceDn' : replServer.getRootDn(), |
| | | 'dsInstancePswd' : replServer.getRootPwd(), |
| | | 'dsScope' : 'base', |
| | | 'dsBaseDN' : ' ', |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsAttributes' : 'lastExternalChangelogCookie' |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == 0"> |
| | | <sequence> |
| | | <script> |
| | | lastECLCookie = None |
| | | pendingValue = 0 |
| | | |
| | | for line in searchResult.splitlines(): |
| | | notBlank = (len(line.strip()) != 0) |
| | | if line.strip().lower().startswith('lastexternalchangelogcookie'): |
| | | # line corresponds to lastExternalChangelogCookie:_cookie_ |
| | | lastECLCookie = line[line.find(':') + 1:].lstrip() |
| | | pendingValue = 1 |
| | | elif (notBlank and pendingValue): |
| | | lastECLCookie += line.lstrip() |
| | | elif pendingValue: |
| | | pendingValue = 0 |
| | | break |
| | | |
| | | nextIndex = lastECLCookie |
| | | </script> |
| | | <message> |
| | | 'New index read from root DSE entry \ |
| | | lastExternalChangelogCookie attribute: %s' \ |
| | | % nextIndex |
| | | </message> |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read root DSE entry from server %s:%s' \ |
| | | % (masterHost, master.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | </sequence> |
| | | </if> |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Did not get the expected error 53 when reading changelog \ |
| | | on replication server %s:%s' \ |
| | | % (replServer.getHostname(), replServer.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </if> |
| | | |
| | | <!-- Add entry to replicated suffix on "master" server --> |
| | | <script> |
| | | myEntry = Entry('cn=Re-enabled ECL', synchroSuffix) |
| | | myEntry.addAttr('sn', 'Re-enabled') |
| | | |
| | | addedEntry = None |
| | | eclEntry = None |
| | | </script> |
| | | |
| | | <call function="'addAnEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToAdd' : myEntry.getDn(), |
| | | 'listAttributes' : myEntry.getAttrList() |
| | | } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in |
| | | the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | <!-- Retrieve entry information for checkChangelogEntry's sake --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'dsBaseDN' : myEntry.getDn(), |
| | | 'dsFilter' : 'objectclass=*', |
| | | 'dsAttributes' : addOperationalAttrs |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | |
| | | <if expr="searchRC == 0"> |
| | | <sequence> |
| | | <message> |
| | | 'This is the entry as read from server %s:%s: \n%s' % \ |
| | | (masterHost, master.getPort(), searchResult) |
| | | </message> |
| | | <call function="'parseLdifEntry'"> |
| | | { 'ldifEntry' : searchResult } |
| | | </call> |
| | | <script> |
| | | addedEntry = STAXResult |
| | | |
| | | myTargetDN = addedEntry['dn'][0] |
| | | myChangeType = 'add' |
| | | myChangeTime = addedEntry['createtimestamp'][0] |
| | | myTargetEntryUUID = addedEntry['entryuuid'][0] |
| | | # myReplicationCSN = ----> grab from where??? |
| | | # myReplicatIdentifier = ----> grab from ldap server |
| | | myChanges = {} |
| | | |
| | | for attr in addedEntry.keys(): |
| | | if (attr != 'dn') and (attr != 'changelogcookie') : |
| | | myChanges[attr] = addedEntry[attr] |
| | | |
| | | if ecl_mode != 'opends': |
| | | myChangeNumber = searchIndex |
| | | else: |
| | | myChangeNumber = None |
| | | </script> |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read added entry %s from server %s:%s' % \ |
| | | (myEntry.getDn(), masterHost, master.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <script> |
| | | # set the index for the next ECL search |
| | | if nextIndex: |
| | | searchIndex = nextIndex |
| | | nextIndex = None |
| | | |
| | | if ecl_mode == 'opends': |
| | | lastCookie = searchIndex |
| | | chgNumberFilter = None |
| | | else: |
| | | lastCookie = None |
| | | chgNumberFilter = """(changenumber>=%s)""" % searchIndex |
| | | </script> |
| | | <!-- Search changelog in the various replication servers --> |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | | replServer = server |
| | | |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | </script> |
| | | |
| | | <message> |
| | | 'Reading changelog in replication server %s:%s from index: \ |
| | | %s' % \ |
| | | (replServer.getHostname(), replServer.getPort(), searchIndex) |
| | | </message> |
| | | |
| | | <!-- Search for entry add --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstancePort' : replServer.getPort(), |
| | | 'dsInstanceDn' : replServer.getRootDn(), |
| | | 'dsInstancePswd' : replServer.getRootPwd(), |
| | | 'dsScope' : 'subordinate', |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == 0"> |
| | | <sequence> |
| | | <message> |
| | | 'This is the ECL entry as read from server %s:%s: \n%s' %\ |
| | | (replServer.getHostname(), replServer.getPort(), |
| | | searchResult) |
| | | </message> |
| | | <call function="'parseLdifEntry'"> |
| | | { 'ldifEntry' : searchResult } |
| | | </call> |
| | | <script> |
| | | eclEntry = STAXResult |
| | | |
| | | if ecl_mode == 'opends': |
| | | nextIndex = eclEntry['changelogcookie'][0] |
| | | else: |
| | | nextChgNumber = int(eclEntry['changenumber'][0]) + 1 |
| | | nextIndex = str(nextChgNumber) |
| | | </script> |
| | | <message> |
| | | 'Parsed changelog entry: \n%s' % eclEntry |
| | | </message> |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <!-- As a side effect of the issue arised in the previous |
| | | ! testcase (CR 6929320), we might end up with several old |
| | | ! ECL entries returned |
| | | --> |
| | | <script> |
| | | if ecl_mode != 'opends': |
| | | # Issue CR 6929320: ECL draft: after disabling ECL in suffix |
| | | # search returns err 53 (cookie contains unknown repl domain) |
| | | myKnownIssue = '6929320' |
| | | else: |
| | | myKnownIssue = None |
| | | </script> |
| | | <if expr="addedEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges, |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read changelog on replication server %s:%s' \ |
| | | % (replServer.getHostname(), replServer.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | <script> |
| | | # set the index for the next ECL search |
| | | if nextIndex: |
| | | searchIndex = nextIndex |
| | | nextIndex = None |
| | | |
| | | # reset variables, just in case |
| | | addedEntry = None |
| | | eclEntry = None |
| | | </script> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Replication External Changelog Tests |
| | | #@TestName Replication: External Changelog: Disable + Re-enable |
| | | ECL |
| | | #@TestID Disable + Re-enalbe ECL |
| | | #@TestPurpose Verify external changelog can be disabled, then |
| | | re-enabled for a replicated suffix and still return |
| | | the changes performed in between |
| | | #@TestPreamble |
| | | #@TestSteps Disable suffix for replicated suffix |
| | | #@TestSteps Add entry to suffix |
| | | #@TestSteps Re-enable ECL for replicated suffix |
| | | #@TestSteps Add entry to suffix |
| | | #@TestSteps Verify servers in sync |
| | | #@TestSteps Read last changelog entry on each repl server |
| | | (expect 2 change entries returned) |
| | | #@TestSteps Check changelog entry against expected values |
| | | #@TestPostamble |
| | | #@TestResult Success if the servers synchronised and the ECL |
| | | search behaves as expected |
| | | --> |
| | | <testcase name="getTestCaseName('%s - Disable + Re-enable ECL' % ecl_mode)"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Replication: External Changelog: %s - Disable + Re-enable ECL. \ |
| | | Verify external changelog can be disabled, then re-enabled for a \ |
| | | replicated suffix and still return the changes performed in \ |
| | | between' % ecl_mode |
| | | </message> |
| | | |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <!-- Disable ECL for synchroSuffix on server --> |
| | | <message> |
| | | 'Disable ECL for suffix %s on server %s:%s' % \ |
| | | (synchroSuffix, server.getHostname(), server.getPort()) |
| | | </message> |
| | | <script> |
| | | serverPath = '%s/%s' % (server.getDir(), OPENDSNAME) |
| | | |
| | | myOptionString = """--domain-name "%s" --set enabled:false""" \ |
| | | % synchroSuffix |
| | | </script> |
| | | <call function="'dsconfig'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : serverPath, |
| | | 'dsInstanceHost' : server.getHostname(), |
| | | 'dsInstanceAdminPort' : server.getAdminPort(), |
| | | 'dsInstanceDn' : server.getRootDn(), |
| | | 'dsInstancePswd' : server.getRootPwd(), |
| | | 'subcommand' : 'set-external-changelog-domain-prop', |
| | | 'objectType' : 'provider-name', |
| | | 'objectName' : 'Multimaster Synchronization', |
| | | 'optionsString' : myOptionString |
| | | } |
| | | </call> |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | |
| | | <!-- Add entry to replicated suffix on "master" server --> |
| | | <script> |
| | | myEntry = Entry('cn=Disabled Re-enabled ECL-1', synchroSuffix) |
| | | myEntry.addAttr('sn', 'Disabled Re-enabled') |
| | | |
| | | addedEntries = [] |
| | | eclEntries = [] |
| | | </script> |
| | | |
| | | <call function="'addAnEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToAdd' : myEntry.getDn(), |
| | | 'listAttributes' : myEntry.getAttrList() |
| | | } |
| | | </call> |
| | | |
| | | |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <!-- Re-enable ECL for synchroSuffix on server --> |
| | | <message> |
| | | 'Re-enable ECL for suffix %s on server %s:%s' % \ |
| | | (synchroSuffix, server.getHostname(), server.getPort()) |
| | | </message> |
| | | <script> |
| | | serverPath = '%s/%s' % (server.getDir(), OPENDSNAME) |
| | | |
| | | myOptionString = """--domain-name "%s" --set enabled:true""" \ |
| | | % synchroSuffix |
| | | </script> |
| | | <call function="'dsconfig'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : serverPath, |
| | | 'dsInstanceHost' : server.getHostname(), |
| | | 'dsInstanceAdminPort' : server.getAdminPort(), |
| | | 'dsInstanceDn' : server.getRootDn(), |
| | | 'dsInstancePswd' : server.getRootPwd(), |
| | | 'subcommand' : 'set-external-changelog-domain-prop', |
| | | 'objectType' : 'provider-name', |
| | | 'objectName' : 'Multimaster Synchronization', |
| | | 'optionsString' : myOptionString |
| | | } |
| | | </call> |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | <!-- Add entry to replicated suffix on "master" server --> |
| | | <script> |
| | | myEntry = Entry('cn=Disabled Re-enabled ECL-2', synchroSuffix) |
| | | myEntry.addAttr('sn', 'Disabled Re-enabled') |
| | | </script> |
| | | |
| | | <call function="'addAnEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'DNToAdd' : myEntry.getDn(), |
| | | 'listAttributes' : myEntry.getAttrList() |
| | | } |
| | | </call> |
| | | |
| | | <!-- Verify the synchronization of the trees among the servers in |
| | | the topology --> |
| | | <call function="'verifyTrees'"> |
| | | [ clientHost, clientPath, master, consumerList, synchroSuffix ] |
| | | </call> |
| | | |
| | | <!-- Retrieve entry information for checkChangelogEntry's sake --> |
| | | <call function="'ldapSearchWithScript'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstancePort' : master.getPort(), |
| | | 'dsInstanceDn' : master.getRootDn(), |
| | | 'dsInstancePswd' : master.getRootPwd(), |
| | | 'dsBaseDN' : synchroSuffix, |
| | | 'dsFilter' : 'sn=Disabled Re-enabled', |
| | | 'dsAttributes' : addOperationalAttrs |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | |
| | | <if expr="searchRC == 0"> |
| | | <sequence> |
| | | <message> |
| | | 'These are the entries as read from server %s:%s: \n%s' % \ |
| | | (masterHost, master.getPort(), searchResult) |
| | | </message> |
| | | |
| | | <call function="'parseLdifEntries'"> |
| | | { 'ldifEntries' : searchResult } |
| | | </call> |
| | | <script> |
| | | addedEntries = STAXResult |
| | | </script> |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read added entries from server %s:%s' % \ |
| | | (masterHost, master.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | lastCookie = searchIndex |
| | | chgNumberFilter = None |
| | | else: |
| | | lastCookie = None |
| | | chgNumberFilter = """(changenumber>=%s)""" % searchIndex |
| | | </script> |
| | | |
| | | <!-- Search changelog in the various replication servers --> |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | # Issue 4502: ECL: error 53 when searching with cookie older |
| | | # than updates on several server |
| | | myKnownIssue = '4502' |
| | | else: |
| | | myKnownIssue = None |
| | | |
| | | if globalSplitServers: |
| | | replServer = _topologyReplServerList[indx] |
| | | else: |
| | | replServer = server |
| | | |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | </script> |
| | | |
| | | <message> |
| | | 'Reading changelog in replication server %s:%s from index: \ |
| | | %s' % \ |
| | | (replServer.getHostname(), replServer.getPort(), searchIndex) |
| | | </message> |
| | | |
| | | <!-- Search for entry add --> |
| | | <call function="'SearchExternalChangelog'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstancePort' : replServer.getPort(), |
| | | 'dsInstanceDn' : replServer.getRootDn(), |
| | | 'dsInstancePswd' : replServer.getRootPwd(), |
| | | 'dsScope' : 'subordinate', |
| | | 'dsBaseDN' : 'cn=changelog', |
| | | 'dsFilter' : '(objectclass=*)', |
| | | 'changeNumberFilter' : chgNumberFilter, |
| | | 'changelogCookie' : lastCookie, |
| | | 'knownIssue' : myKnownIssue |
| | | } |
| | | </call> |
| | | <script> |
| | | searchRC = RC |
| | | searchResult = STAXResult[0][1] |
| | | </script> |
| | | <if expr="searchRC == 0"> |
| | | <sequence> |
| | | <message> |
| | | 'These are the ECL entries as read from server %s:%s: \n%s' \ |
| | | % (replServer.getHostname(), replServer.getPort(), |
| | | searchResult) |
| | | </message> |
| | | <call function="'parseLdifEntries'"> |
| | | { 'ldifEntries' : searchResult } |
| | | </call> |
| | | <script> |
| | | eclEntries = STAXResult |
| | | </script> |
| | | |
| | | <if expr="len(addedEntries) != len(eclEntries)"> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Number of added entries %s does not match number of ECL \ |
| | | entries %s' % (len(addedEntries), len(eclEntries)) |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </if> |
| | | |
| | | <iterate var="eclEntry" |
| | | in="eclEntries" |
| | | indexvar="i"> |
| | | <sequence> |
| | | |
| | | <script> |
| | | if ecl_mode == 'opends': |
| | | nextIndex = eclEntry['changelogcookie'][0] |
| | | else: |
| | | nextChgNumber = int(eclEntry['changenumber'][0]) + 1 |
| | | nextIndex = str(nextChgNumber) |
| | | |
| | | addedEntry = addedEntries[i] |
| | | myTargetDN = addedEntry['dn'][0] |
| | | myChangeType = 'add' |
| | | myChangeTime = addedEntry['createtimestamp'][0] |
| | | myTargetEntryUUID = addedEntry['entryuuid'][0] |
| | | # myReplicationCSN = ----> grab from where??? |
| | | # myReplicatIdentifier = ----> grab from ldap server |
| | | myChanges = {} |
| | | |
| | | for attr in addedEntry.keys(): |
| | | if (attr != 'dn') and (attr != 'changelogcookie') : |
| | | myChanges[attr] = addedEntry[attr] |
| | | |
| | | if ecl_mode != 'opends': |
| | | myIntChangeNumber = int(searchIndex) + i |
| | | myChangeNumber = str(myIntChangeNumber) |
| | | else: |
| | | myChangeNumber = None |
| | | </script> |
| | | <message> |
| | | 'Parsed changelog entry: \n%s' % eclEntry |
| | | </message> |
| | | <message> |
| | | 'Index to use for the next ECL search: %s' % nextIndex |
| | | </message> |
| | | |
| | | <if expr="addedEntry and eclEntry"> |
| | | <call function="'checkChangelogEntry'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'changelogEntry' : eclEntry, |
| | | 'targetDN' : myTargetDN, |
| | | 'changeNumber' : myChangeNumber, |
| | | 'changeType' : myChangeType, |
| | | 'changeTime' : myChangeTime, |
| | | 'targetEntryUUID' : myTargetEntryUUID, |
| | | 'changes' : myChanges |
| | | } |
| | | </call> |
| | | <else> |
| | | <sequence> |
| | | <message log="1" level="'Error'"> |
| | | 'Unable to check external changelog entry \ |
| | | (failed to read LDAP and/or changelog entry)' |
| | | </message> |
| | | <call function="'testFailed'"/> |
| | | </sequence> |
| | | </else> |
| | | </if> |
| | | |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | </sequence> |
| | | <else> |
| | | <message log="1" level="'Error'"> |
| | | 'Could not read changelog on replication server %s:%s' \ |
| | | % (replServer.getHostname(), replServer.getPort()) |
| | | </message> |
| | | </else> |
| | | </if> |
| | | </sequence> |
| | | </iterate> |
| | | |
| | | <script> |
| | | # set the index for the next ECL search |
| | | if nextIndex: |
| | | searchIndex = nextIndex |
| | | nextIndex = None |
| | | |
| | | # reset variables, just in case |
| | | addedEntries = [] |
| | | addedEntry = None |
| | | eclEntries = [] |
| | | eclEntry = None |
| | | </script> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | |
| | | <!--- Test Case information |
| | | #@TestMarker Replication External Changelog Tests |
| | | #@TestName Replication: External Changelog: Clean up |
| | | #@TestID Clean up |
| | | #@TestPurpose Clean up environment for External Changelog tests |
| | | #@TestPreamble |
| | | #@TestSteps Clean changelog |
| | | #@TestSteps Disable replication of newReplSuffix |
| | | #@TestSteps Remove added suffixes |
| | | #@TestPostamble |
| | | #@TestResult Success if the data reset succeeds |
| | | --> |
| | | <testcase name="getTestCaseName('%s - Clean up' % ecl_mode)"> |
| | | <sequence> |
| | | <call function="'testCase_Preamble'"/> |
| | | <message> |
| | | 'Replication: External Changelog: %s - Clean up. \ |
| | | Clean up environment for External Changelog tests' % ecl_mode |
| | | </message> |
| | | |
| | | <!-- Clean new suffixes on servers --> |
| | | <!-- Clean newReplSuffix changes from changelog --> |
| | | <call function="'preInitializeReplication'"> |
| | | { 'location' : masterHost, |
| | | 'dsPath' : masterPath, |
| | | 'dsInstanceHost' : masterHost, |
| | | 'dsInstanceAdminPort' : master.getAdminPort(), |
| | | 'localOnly' : False, |
| | | 'replicationDnList' : [newReplSuffix], |
| | | 'adminUID' : adminUID, |
| | | 'adminPswd' : adminPswd |
| | | } |
| | | </call> |
| | | |
| | | <iterate var="server" |
| | | in="_topologyServerList" |
| | | indexvar="indx"> |
| | | <sequence> |
| | | <script> |
| | | newSuffx = "o=new_suffix_no_repl" |
| | | newReplSuffix = "o=new_suffix_repl" |
| | | |
| | | serverPath = '%s/%s' % (server.getDir(), OPENDSNAME) |
| | | </script> |
| | | |
| | | <!-- Disable replication for newReplSuffix --> |
| | | <message> |
| | | 'Disable replication for suffix %s on server %s:%s' % \ |
| | | (newReplSuffix, server.getHostname(), server.getPort()) |
| | | </message> |
| | | <call function="'disableReplication'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : serverPath, |
| | | 'dsInstanceHost' : server.getHostname(), |
| | | 'dsInstanceAdminPort' : server.getAdminPort(), |
| | | 'replicationDnList' : [newReplSuffix] |
| | | } |
| | | </call> |
| | | |
| | | <if expr="globalSplitServers"> |
| | | <sequence> |
| | | <script> |
| | | replServer = _topologyReplServerList[indx] |
| | | replServerPath = '%s/%s' % (replServer.getDir(), OPENDSNAME) |
| | | </script> |
| | | <call function="'disableReplication'"> |
| | | { 'location' : replServer.getHostname(), |
| | | 'dsPath' : replServerPath, |
| | | 'dsInstanceHost' : replServer.getHostname(), |
| | | 'dsInstanceAdminPort' : replServer.getAdminPort(), |
| | | 'replicationDnList' : [newReplSuffix] |
| | | } |
| | | </call> |
| | | </sequence> |
| | | </if> |
| | | |
| | | |
| | | <!-- Remove newReplSuffix --> |
| | | <message> |
| | | 'Remove suffix %s on server %s:%s' % \ |
| | | (newSuffix, server.getHostname(), server.getPort()) |
| | | (newReplSuffix, server.getHostname(), server.getPort()) |
| | | </message> |
| | | <call function="'dsconfigSet'"> |
| | | { 'location' : server.getHostname(), |
| | |
| | | 'propertyName' : 'userRoot', |
| | | 'modifyType' : 'remove', |
| | | 'attributeName' : 'base-dn', |
| | | 'attributeValue' : newSuffix |
| | | 'attributeValue' : newReplSuffix |
| | | } |
| | | </call> |
| | | |
| | | <!-- Remove newSuffix (only present on "master" server) --> |
| | | <if expr="indx == 0"> |
| | | <sequence> |
| | | <message> |
| | | 'Remove suffix %s on server %s:%s' % \ |
| | | (newSuffix, server.getHostname(), server.getPort()) |
| | | </message> |
| | | <call function="'dsconfigSet'"> |
| | | { 'location' : server.getHostname(), |
| | | 'dsPath' : serverPath, |
| | | 'dsInstanceHost' : server.getHostname(), |
| | | 'dsInstanceAdminPort' : server.getAdminPort(), |
| | | 'dsInstanceDn' : server.getRootDn(), |
| | | 'dsInstancePswd' : server.getRootPwd(), |
| | | 'objectName' : 'backend', |
| | | 'propertyType' : 'backend', |
| | | 'propertyName' : 'userRoot', |
| | | 'modifyType' : 'remove', |
| | | 'attributeName' : 'base-dn', |
| | | 'attributeValue' : newSuffix |
| | | } |
| | | </call> |
| | | </sequence> |
| | | </if> |
| | | </sequence> |
| | | </if> |
| | | </sequence> |
| | | </iterate> |
| | | </iterate> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | | </sequence> |
| | | </testcase> |
| | | |
| | | </sequence> |
| | | </function> |
| | | </stax> |
| | |
| | | ! |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! Copyright 2006-2008 Sun Microsystems, Inc. |
| | | ! Copyright 2006-2010 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | |
| | |
| | | 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , |
| | | 'propertyName' : 'Default Password Policy' , |
| | | 'attributeName' : 'lockout-duration' , |
| | | 'attributeValue' : '5 s' } |
| | | 'attributeValue' : '10 s' } |
| | | </call> |
| | | |
| | | <call function="'testCase_Postamble'"/> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | } |
| | | </call> |
| | | |
| | | <if expr="is_windows_platform(location) and RC == 1 and expectedRC == 0"> |
| | | <call function="'setKnownIssue'"> |
| | | { 'issueId' : '6931748' } |
| | | </call> |
| | | </if> |
| | | |
| | | <if expr="expectedRC == 0 or expectedRC == 'noCheck'"> |
| | | <!--- Check that DS stopped --> |
| | | <if expr="IPS_PKG == True"> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | <function-arg-def name="schedulePattern" type="optional"> |
| | | <function-arg-description> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | <function-arg-def name="schedulePattern" type="optional"> |
| | | <function-arg-description> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | <function-arg-def name="schedulePattern" type="optional"> |
| | | <function-arg-description> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | </function> |
| | | |
| | | <!-- This function execute the rebuild-index tool --> |
| | | <function name="rebuildIndexWithScript" scope="local"> |
| | | <function name="rebuildIndexWithScript"> |
| | | <function-prolog> |
| | | This function execute the rebuild-index tool |
| | | </function-prolog> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | </call> |
| | | |
| | | <script> |
| | | savSTAXResult=STAXResult |
| | | |
| | | resultString = STAXResult[0][1] |
| | | </script> |
| | | |
| | | <if expr="dsInstanceDn != None and expectedRC == 0 and schedulePattern == None"> |
| | | <sequence> |
| | | <message> |
| | | 'Check export ldif task successfully completed' |
| | | 'Check rebuild-index task successfully completed' |
| | | </message> |
| | | |
| | | <call function="'checkTaskExecution'"> |
| | |
| | | </call> |
| | | </sequence> |
| | | </if> |
| | | <return>STAXResult</return> |
| | | |
| | | <return>savSTAXResult</return> |
| | | </sequence> |
| | | </function> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | ! |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! Copyright 2007-2008 Sun Microsystems, Inc. |
| | | ! Copyright 2007-2010 Sun Microsystems, Inc. |
| | | ! --> |
| | | |
| | | <stax> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | </function-map-args> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | </function-map-args> |
| | |
| | | newSplitConfig = """REPLICATION_SPLIT_SERVERS = '%s'""" % \ |
| | | REPLICATION_SPLIT_SERVERS |
| | | else: |
| | | newSplitConfig = """'REPLICATION_SPLIT_SERVERS = '%s'""" % \ |
| | | newSplitConfig = """REPLICATION_SPLIT_SERVERS = '%s'""" % \ |
| | | REPLICATION_SPLIT_SERVERS |
| | | oldSplitConfig = newSplitConfig |
| | | |
| | |
| | | ! |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! Copyright 2007-2009 Sun Microsystems, Inc. |
| | | ! Copyright 2007-2010 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | <function name="addEntry"> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | </function-map-args> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | </function-map-args> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | ! |
| | | ! CDDL HEADER END |
| | | ! |
| | | ! Copyright 2008-2009 Sun Microsystems, Inc. |
| | | ! Copyright 2008-2010 Sun Microsystems, Inc. |
| | | ! --> |
| | | <stax> |
| | | <!-- SNMP Get --> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | <function-arg-def name="expectedRC" type="optional" default="0"> |
| | | <function-arg-description> |
| | |
| | | <function-arg-description> |
| | | Issue id. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | </function-map-args> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | </function-map-args> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | <function-arg-def name="ignoreAttrsFile" |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | </function-list-args> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | |
| | | </function-list-args> |
| | |
| | | 'dsInstanceDn' : directoryServer.dn , |
| | | 'dsInstancePswd' : directoryServer.password , |
| | | 'dsDn' : ['%s' % server.suffix] , |
| | | 'expectedRC' : 'noCheck' } |
| | | 'expectedRC' : 'noCheck' , |
| | | 'knownIssue' : '6917970' } |
| | | } |
| | | </call> |
| | | </sequence> |
| | |
| | | <function-arg-description> |
| | | Issue id. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | |
| | | <function-arg-description> |
| | | Issue ID |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | <sequence> |
| | | <call function="'GetVar'"> |
| | | { |
| | | 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'type' : 'shared', |
| | | 'variable' : 'issuesList' |
| | | } |
| | | </call> |
| | | |
| | | <script> |
| | | issuesList=eval(STAFResult) |
| | | </script> |
| | | |
| | | <script> |
| | | try: |
| | | if issueId not in issuesList: |
| | | issuesList.append(issueId) |
| | | if issueId.__class__ is org.python.core.PyList: |
| | | for issue in issueId: |
| | | if int(issue) not in issuesList: |
| | | issuesList.append(int(issue)) |
| | | else: |
| | | if int(issueId) not in issuesList: |
| | | issuesList.append(int(issueId)) |
| | | except: |
| | | print 'Issues list undefined. Unable to add issue %s' % issueId |
| | | </script> |
| | |
| | | <tcstatus result="'fail'"> |
| | | 'KnownIssue: %s' % issuesList |
| | | </tcstatus> |
| | | |
| | | <call function="'SetVar'"> |
| | | { |
| | | 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'type' : 'shared', |
| | | 'variable' : 'issuesList=%s' % issuesList |
| | | } |
| | | </call> |
| | | </sequence> |
| | | </function> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | import time |
| | | testcaseStart=int(time.time()) |
| | | testcaseStartTime=strftime("%Y%m%d-%H:%M:%S",localtime()) |
| | | issuesList=[] |
| | | for logType in ['errors','access']: |
| | | if os.path.exists('%s/%s/logs/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME,logType)): |
| | | logfile=open('%s/%s/logs/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME,logType),'a') |
| | |
| | | logfile.write('Begin testcase %s\n' % STAXCurrentTestcase) |
| | | logfile.close() |
| | | </script> |
| | | <call function="'SetVar'"> |
| | | { |
| | | 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'type' : 'shared', |
| | | 'variable' : 'issuesList=[]' |
| | | } |
| | | </call> |
| | | <call function="'testCase_StartBanner'" /> |
| | | </sequence> |
| | | </function> |
| | |
| | | SignalRaised='' |
| | | </script> |
| | | |
| | | <call function="'GetVar'"> |
| | | { |
| | | 'location' : STAF_REMOTE_HOSTNAME, |
| | | 'type' : 'shared', |
| | | 'variable' : 'issuesList' |
| | | } |
| | | </call> |
| | | |
| | | <script> |
| | | issuesList=eval(STAFResult) |
| | | </script> |
| | | |
| | | <!-- Query the test case results --> |
| | | <call function="'queryTestcase'" /> |
| | | |
| | | |
| | | <script> |
| | | if STAFResult.has_key('numPasses'): |
| | | numPass=int(STAFResult['numPasses']) |
| | |
| | | nvDone = 0 |
| | | nbFail = 0 |
| | | nbKnown = 0 |
| | | allbugs = eval(bugs.getTextContent()) |
| | | if numFail == 0: |
| | | if numPass == 0: |
| | | _status='INCONCLUSIVE' |
| | |
| | | known.setTextContent('%s' % nbKnown) |
| | | nbDone = int(done.getTextContent()) + 1 |
| | | done.setTextContent('%s' % nbDone) |
| | | for issueID in issuesList: |
| | | if issueID not in allbugs: |
| | | allbugs.append(int(issueID)) |
| | | bugs.setTextContent('%s' % allbugs) |
| | | </script> |
| | | |
| | | <message level="'status'"> |
| | |
| | | |
| | | starttime = time.strftime("%Y/%m/%d %H:%M:%S", time.gmtime(TESTS_TIMESTAMP)) |
| | | duration = time.strftime("%H:%M:%S", time.gmtime(time.time() - TESTS_TIMESTAMP)) |
| | | |
| | | |
| | | reportCfg = open('%s/logs/report.cfg' % LOGS_ROOT, 'w') |
| | | reportCfg.write('[Main]\n') |
| | | reportCfg.write('product = OpenDS_SE2.4 (Directory)\n') |
| | |
| | | reportCfg.write('duration = %s\n' % duration) |
| | | reportCfg.write('dsconfigduration = 0\n') |
| | | reportCfg.write('percentage = %s\n' % percentage) |
| | | reportCfg.write('allbugs = []\n') |
| | | reportCfg.write('allbugs = %s\n' % allbugs) |
| | | reportCfg.write('os = %s\n' % TEST_OS_STRING) |
| | | reportCfg.write('report = reports/results2.xml\n') |
| | | reportCfg.write('istemporary = True\n') |
| | |
| | | fail = xml.tempres.getChildNodes().item(1) |
| | | known = xml.tempres.getChildNodes().item(3) |
| | | done = xml.tempres.getChildNodes().item(5) |
| | | bugs = xml.tempres.getChildNodes().item(7) |
| | | else: |
| | | # Create tempres element |
| | | xml.tempres = doc.createElement("tempres") |
| | |
| | | done = doc.createElement('done') |
| | | xml.tempres.appendChild(done) |
| | | done.appendChild(doc.createTextNode('0')) |
| | | bugs = doc.createElement('bugs') |
| | | xml.tempres.appendChild(bugs) |
| | | bugs.appendChild(doc.createTextNode('[]')) |
| | | |
| | | #Create testgroup element |
| | | xml.testgroup = doc.createElement("testgroup") |
| | |
| | | <function-arg-description> |
| | | Issue id. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string"/> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |
| | |
| | | <function-arg-description> |
| | | Known issue. Corresponds to an issue number. |
| | | </function-arg-description> |
| | | <function-arg-property name="type" value="string" /> |
| | | </function-arg-def> |
| | | </function-map-args> |
| | | |