From 0569ca6686efb88285110866064fa40d98a93a1b Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Thu, 29 Apr 2010 15:34:27 +0000
Subject: [PATCH] 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
---
opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java | 22
opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml | 20
opendj-sdk/opends/tests/staf-tests/shared/functions/snmp.xml | 6
opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/BuildInformation.java | 5
opendj-sdk/opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java | 6
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23d.ldif | 8
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java | 2
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-26.ldif | 8
opendj-sdk/opends/tests/staf-tests/shared/functions/dsadm.xml | 30
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch025.res.6930250.issue | 7
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml | 22
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/indexes/indexes.xml | 570 +++--
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch075.res.6930250.issue | 7
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/core_entry_cache.xml | 4
opendj-sdk/opends/tests/staf-tests/shared/functions/tools.xml | 7
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22a.ldif | 16
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/filters/core_tf_filters.xml | 10
opendj-sdk/opends/tests/staf-tests/shared/functions/dsconfig.xml | 6
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch115.res.6930250.issue | 7
opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml | 72
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23b.ldif | 8
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-28.ldif | 8
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/core_collectiveattr.ldif | 1
opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml | 3
opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml | 2
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-25.ldif | 8
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22c.ldif | 8
opendj-sdk/opends/src/messages/messages/admin_tool.properties | 2
opendj-sdk/opends/src/server/org/opends/server/api/DirectoryThread.java | 4
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/genericIssues/multiRDNImport.2.6930250.issue | 7
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/replication/externalchangelog/externalchangelog_common_ecl_tests.xml | 2528 +++++++++++++++++++++++------
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/components/DoubleAddRemovePanel.java | 9
opendj-sdk/opends/lib/je.jar | 0
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22b.ldif | 8
opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciListenerManager.java | 151 +
opendj-sdk/opends/src/server/org/opends/server/types/SubEntry.java | 26
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-24.ldif | 8
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23c.ldif | 8
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests.xml | 1318 +++++++++++++++
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/TaskToSchedulePanel.java | 4
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-27.ldif | 8
opendj-sdk/opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java | 4
opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/SecurityOptions.java | 22
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr.xml | 12
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml | 11
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-29.ldif | 8
/dev/null | 6
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23a.ldif | 21
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml | 4
opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java | 87
opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/genericIssues/multiRDNImport.1.6930250.issue | 7
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java | 30
52 files changed, 4,178 insertions(+), 988 deletions(-)
diff --git a/opendj-sdk/opends/lib/je.jar b/opendj-sdk/opends/lib/je.jar
index 5f5cc3c..f1c5b85 100644
--- a/opendj-sdk/opends/lib/je.jar
+++ b/opendj-sdk/opends/lib/je.jar
Binary files differ
diff --git a/opendj-sdk/opends/resource/config/logging.properties b/opendj-sdk/opends/resource/config/logging.properties
deleted file mode 100644
index 2f3819c..0000000
--- a/opendj-sdk/opends/resource/config/logging.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-# Set java.util.logging.config.file system property via
-# Java Arguments to enable logging options specified, eg
-# -Djava.util.logging.config.file=full_path_to_this_file
-com.sleepycat.je.level=INFO
-com.sleepycat.je.util.FileHandler.level=ALL
-com.sleepycat.je.util.ConsoleHandler.level=OFF
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java
index c596268..5e03473 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java
@@ -337,7 +337,7 @@
popupDuplicateEntryMenuItem.setEnabled(enableDuplicateEntry);
menuBar.duplicateEntryMenuItem.setEnabled(enableDuplicateEntry);
- boolean enableAddToGroup = enableCopyDN;
+ boolean enableAddToGroup = enableDelete;
popupAddToGroupMenuItem.setEnabled(enableAddToGroup);
menuBar.addToGroupMenuItem.setEnabled(enableAddToGroup);
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/TaskToSchedulePanel.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/TaskToSchedulePanel.java
index 1549b6e..9ae1234 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/TaskToSchedulePanel.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/TaskToSchedulePanel.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2009 Sun Microsystems, Inc.
+ * Copyright 2009-2010 Sun Microsystems, Inc.
*/
package org.opends.guitools.controlpanel.ui;
@@ -850,7 +850,7 @@
{
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(),
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/components/DoubleAddRemovePanel.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/components/DoubleAddRemovePanel.java
index 05797dc..92565e9 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/components/DoubleAddRemovePanel.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/components/DoubleAddRemovePanel.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2008 Sun Microsystems, Inc.
+ * Copyright 2008-2010 Sun Microsystems, Inc.
*/
package org.opends.guitools.controlpanel.ui.components;
@@ -194,7 +194,7 @@
}
else if (e.getSource() == selectedList2)
{
- if (selectedList1.getSelectedValue() != null)
+ if (selectedList2.getSelectedValue() != null)
{
remove2Clicked();
}
@@ -581,7 +581,10 @@
{
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]);
diff --git a/opendj-sdk/opends/src/messages/messages/admin_tool.properties b/opendj-sdk/opends/src/messages/messages/admin_tool.properties
index 1040f78..e8b98b0 100644
--- a/opendj-sdk/opends/src/messages/messages/admin_tool.properties
+++ b/opendj-sdk/opends/src/messages/messages/admin_tool.properties
@@ -2832,7 +2832,7 @@
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
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/BuildInformation.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/BuildInformation.java
index 0076720..fe7867b 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/BuildInformation.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/BuildInformation.java
@@ -217,7 +217,10 @@
// -------------------------------------------------------
// 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");
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/SecurityOptions.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/SecurityOptions.java
index 3bae717..6d90912 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/SecurityOptions.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/SecurityOptions.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2009 Sun Microsystems, Inc.
+ * Copyright 2006-2010 Sun Microsystems, Inc.
*/
package org.opends.quicksetup;
@@ -107,10 +107,28 @@
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;
}
diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java
index fa8e0a9..1cd30b0 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java
@@ -959,7 +959,8 @@
if (origJavaArgument.equals(defaultJavaArg) &&
fileProperties.containsKey(propertiesKey))
{
- otherProperties.put(script, fileProperties.getProperty(propertiesKey));
+ otherProperties.put(propertiesKey,
+ fileProperties.getProperty(propertiesKey));
}
else
{
@@ -967,14 +968,29 @@
}
}
- 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);
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java b/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java
index 64860fc..f3e68a9 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliArgs.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2007-2009 Sun Microsystems, Inc.
+ * Copyright 2007-2010 Sun Microsystems, Inc.
*/
package org.opends.server.admin.client.cli;
@@ -990,44 +990,48 @@
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.
+ }
}
}
}
@@ -1041,13 +1045,22 @@
*/
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;
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/api/DirectoryThread.java b/opendj-sdk/opends/src/server/org/opends/server/api/DirectoryThread.java
index 95aa832..cb3e9f0 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/api/DirectoryThread.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/api/DirectoryThread.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2009 Sun Microsystems, Inc.
+ * Copyright 2006-2010 Sun Microsystems, Inc.
*/
package org.opends.server.api;
@@ -178,7 +178,7 @@
* {@inheritDoc}
*/
public String getClassName() {
- return "org.oepnds.server.api.DirectoryThread";
+ return "org.opends.server.api.DirectoryThread";
}
/**
diff --git a/opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciListenerManager.java b/opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciListenerManager.java
index 81e6d8e..5ee7739 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciListenerManager.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciListenerManager.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2008-2009 Sun Microsystems, Inc.
+ * Copyright 2008-2010 Sun Microsystems, Inc.
*/
package org.opends.server.authorization.dseecompat;
@@ -39,10 +39,7 @@
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;
@@ -89,7 +86,12 @@
{
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);
@@ -100,22 +102,56 @@
/**
* {@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();
@@ -129,15 +165,7 @@
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();
@@ -151,7 +179,7 @@
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.
@@ -166,16 +194,68 @@
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;
@@ -193,18 +273,15 @@
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.
*/
diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java
index 9fcaf4d..1a0d11a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2009 Sun Microsystems, Inc.
+ * Copyright 2006-2010 Sun Microsystems, Inc.
*/
package org.opends.server.backends.jeb;
@@ -43,6 +43,8 @@
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.*;
@@ -492,6 +494,32 @@
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();
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java
index 673bacc..3cf450b 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java
@@ -41,6 +41,7 @@
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;
@@ -258,7 +259,8 @@
int defaultAdminPort = UserData.getDefaultAdminConnectorPort();
if (defaultAdminPort == -1)
{
- defaultAdminPort = 4444;
+ defaultAdminPort =
+ AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT;
}
adminConnectorPortArg = new IntegerArgument(
"adminConnectorPort".toLowerCase(), null,
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java b/opendj-sdk/opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
index c31937a..ce17fbb 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2007-2009 Sun Microsystems, Inc.
+ * Copyright 2007-2010 Sun Microsystems, Inc.
*/
package org.opends.server.tools.dsreplication;
@@ -41,6 +41,7 @@
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;
@@ -68,7 +69,8 @@
private SubCommand preExternalInitializationSubCmd;
private SubCommand statusReplicationSubCmd;
- int defaultAdminPort = 4444;
+ int defaultAdminPort =
+ AdministrationConnector.DEFAULT_ADMINISTRATION_CONNECTOR_PORT;
/**
* No-prompt argument.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/types/SubEntry.java b/opendj-sdk/opends/src/server/org/opends/server/types/SubEntry.java
index ef93ea0..8f17bb4 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/types/SubEntry.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/types/SubEntry.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2009 Sun Microsystems, Inc.
+ * Copyright 2009-2010 Sun Microsystems, Inc.
*/
package org.opends.server.types;
@@ -142,23 +142,27 @@
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);
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22a.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22a.ldif
new file mode 100644
index 0000000..300aa32
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22a.ldif
@@ -0,0 +1,16 @@
+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
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22b.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22b.ldif
new file mode 100644
index 0000000..294f694
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22b.ldif
@@ -0,0 +1,8 @@
+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}
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22c.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22c.ldif
new file mode 100644
index 0000000..5f9fb1f
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-22c.ldif
@@ -0,0 +1,8 @@
+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}
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23a.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23a.ldif
new file mode 100644
index 0000000..0e59eb8
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23a.ldif
@@ -0,0 +1,21 @@
+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
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23b.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23b.ldif
new file mode 100644
index 0000000..7273d11
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23b.ldif
@@ -0,0 +1,8 @@
+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}
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23c.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23c.ldif
new file mode 100644
index 0000000..0dd6d0f
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23c.ldif
@@ -0,0 +1,8 @@
+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}
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23d.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23d.ldif
new file mode 100644
index 0000000..86741d0
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-23d.ldif
@@ -0,0 +1,8 @@
+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}
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-24.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-24.ldif
new file mode 100644
index 0000000..1218842
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-24.ldif
@@ -0,0 +1,8 @@
+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"}}
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-25.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-25.ldif
new file mode 100644
index 0000000..91b1c74
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-25.ldif
@@ -0,0 +1,8 @@
+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"}}
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-26.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-26.ldif
new file mode 100644
index 0000000..f486294
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-26.ldif
@@ -0,0 +1,8 @@
+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}}
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-27.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-27.ldif
new file mode 100644
index 0000000..58f8be7
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-27.ldif
@@ -0,0 +1,8 @@
+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 }
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-28.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-28.ldif
new file mode 100644
index 0000000..10d45fe
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-28.ldif
@@ -0,0 +1,8 @@
+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}
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-29.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-29.ldif
new file mode 100644
index 0000000..78c33f4
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/collectiveattr-29.ldif
@@ -0,0 +1,8 @@
+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 }
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/core_collectiveattr.ldif b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/core_collectiveattr.ldif
index 3625acb..0fb6bd8 100755
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/core_collectiveattr.ldif
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/core/ldifs/core_collectiveattr.ldif
@@ -21,7 +21,6 @@
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
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch025.res.6930250.issue b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch025.res.6930250.issue
new file mode 100644
index 0000000..beaed30
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch025.res.6930250.issue
@@ -0,0 +1,7 @@
+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>
\ No newline at end of file
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch075.res.6930250.issue b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch075.res.6930250.issue
new file mode 100644
index 0000000..ef18c57
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch075.res.6930250.issue
@@ -0,0 +1,7 @@
+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>
\ No newline at end of file
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch115.res.6930250.issue b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch115.res.6930250.issue
new file mode 100644
index 0000000..6614efe
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/07srchsuite/data/srch115.res.6930250.issue
@@ -0,0 +1,7 @@
+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>
\ No newline at end of file
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/genericIssues/multiRDNImport.1.6930250.issue b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/genericIssues/multiRDNImport.1.6930250.issue
new file mode 100644
index 0000000..035699d
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/genericIssues/multiRDNImport.1.6930250.issue
@@ -0,0 +1,7 @@
+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>
\ No newline at end of file
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/genericIssues/multiRDNImport.2.6930250.issue b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/genericIssues/multiRDNImport.2.6930250.issue
new file mode 100644
index 0000000..4a85c25
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/shared/data/dsml/suites/genericIssues/multiRDNImport.2.6930250.issue
@@ -0,0 +1,7 @@
+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>
\ No newline at end of file
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml
index 28689d0..12bfecc 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/clu/clu_rebuild-index_checkbehavior.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Portions Copyright 2008-2009 Sun Microsystems, Inc.
+ ! Portions Copyright 2008-2010 Sun Microsystems, Inc.
! -->
<stax>
@@ -95,7 +95,8 @@
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsBaseDN' : 'dc=com' ,
- 'dsIndexList' : [ 'uid' ]
+ 'dsIndexList' : [ 'uid' ] ,
+ 'knownIssue' : '6931704'
}
</call>
@@ -193,7 +194,8 @@
<call function="'rebuildIndexWithScript'">
{
'dsBaseDN' : 'dc=com' ,
- 'dsIndexList' : [ 'uid' ]
+ 'dsIndexList' : [ 'uid' ] ,
+ 'knownIssue' : '6931704'
}
</call>
@@ -302,7 +304,8 @@
<call function="'rebuildIndexWithScript'">
{
'dsBaseDN' : 'dc=com' ,
- 'dsIndexList' : [ 'uid', 'cn' ]
+ 'dsIndexList' : [ 'uid', 'cn' ] ,
+ 'knownIssue' : '6931704'
}
</call>
@@ -361,7 +364,7 @@
{
'dsBaseDN' : 'dc=com' ,
'dsIndexList' : [ 'myindex' ] ,
- 'expectedRC' : 1
+ 'expectedRC' : 1
}
</call>
@@ -473,7 +476,8 @@
<call function="'rebuildIndexWithScript'">
{
'dsBaseDN' : 'dc=com' ,
- 'dsIndexList' : [ 'st' ]
+ 'dsIndexList' : [ 'st' ] ,
+ 'knownIssue' : '6931704'
}
</call>
@@ -632,7 +636,8 @@
<call function="'rebuildIndexWithScript'">
{
'dsBaseDN' : 'dc=com' ,
- 'dsRebuildAll' : 'True'
+ 'dsRebuildAll' : 'True' ,
+ 'knownIssue' : '6931704'
}
</call>
@@ -739,7 +744,8 @@
{
'dsBaseDN' : 'dc=com' ,
'dsIndexList' : [ 'uid' ] ,
- 'dsTmpDir' : '%s/index_tmp' % DIRECTORY_INSTANCE_DIR
+ 'dsTmpDir' : '%s/index_tmp' % DIRECTORY_INSTANCE_DIR ,
+ 'knownIssue' : '6931704'
}
</call>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr.xml
index d5df20d..5571ba0 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr.xml
@@ -82,8 +82,8 @@
</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')
@@ -107,6 +107,14 @@
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 -->
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests.xml
index 69f3657..944ca8d 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests.xml
@@ -2747,4 +2747,1322 @@
</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>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/core_entry_cache.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/core_entry_cache.xml
index 72a72dd..d568ab7 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/core_entry_cache.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/core_entry_cache.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Copyright 2006-2009 Sun Microsystems, Inc.
+ ! Copyright 2006-2010 Sun Microsystems, Inc.
! -->
<stax>
<defaultcall function="core_entry_cache" />
@@ -82,7 +82,7 @@
'dsBaseDN' : 'cn=version,cn=monitor',
'dsFilter' : '|' ,
'expectedRC' : 2 ,
- 'knownIssue' : '3966'
+ 'knownIssue' : ['3966','4406']
}
</call>
<call function="'testCase_Postamble'" />
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/filters/core_tf_filters.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/filters/core_tf_filters.xml
index e122f58..a6de87e 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/filters/core_tf_filters.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/filters/core_tf_filters.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Copyright 2006-2009 Sun Microsystems, Inc.
+ ! Copyright 2006-2010 Sun Microsystems, Inc.
! -->
<stax>
<defaultcall function="core_tf_filters" />
@@ -81,7 +81,7 @@
'dsBaseDN' : 'cn=version,cn=monitor',
'dsFilter' : '&',
'expectedRC' : 2 ,
- 'knownIssue' : '3966'
+ 'knownIssue' : ['3966','4406']
}
</call>
@@ -114,7 +114,7 @@
'dsBaseDN' : 'cn=version,cn=monitor',
'dsFilter' : '|',
'expectedRC' : 2 ,
- 'knownIssue' : '3966'
+ 'knownIssue' : ['3966','4406']
}
</call>
@@ -148,7 +148,7 @@
'dsBaseDN' : 'cn=bad,cn=monitor',
'dsFilter' : '&',
'expectedRC' : 2,
- 'knownIssue' : '3966'
+ 'knownIssue' : ['3966','4406']
}
</call>
<call function="'testCase_Postamble'" />
@@ -181,7 +181,7 @@
'dsBaseDN' : 'cn=bad,cn=monitor',
'dsFilter' : '|',
'expectedRC' : 2,
- 'knownIssue' : '3966'
+ 'knownIssue' : ['3966','4406']
}
</call>
<call function="'testCase_Postamble'" />
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml
index b8cd51b..4e66d89 100755
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml
@@ -312,16 +312,16 @@
}
</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>
@@ -334,6 +334,7 @@
'dsCountEntries' : 'True' ,
'dsBaseDN' : baseDN,
'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'dn',
'expectedRC' : 'noCheck'
}
</call>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/indexes/indexes.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/indexes/indexes.xml
index 8edfabd..783f4c5 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/indexes/indexes.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/indexes/indexes.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Copyright 2007-2008 Sun Microsystems, Inc.
+ ! Copyright 2007-2010 Sun Microsystems, Inc.
! -->
<stax>
<defaultcall function="main_indexes" />
@@ -43,8 +43,9 @@
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
@@ -137,56 +138,58 @@
<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'">
@@ -233,35 +236,40 @@
<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>
@@ -312,56 +320,56 @@
<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>
@@ -413,35 +421,42 @@
<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'">
@@ -489,16 +504,22 @@
<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>
@@ -542,21 +563,27 @@
<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>
@@ -600,21 +627,27 @@
<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>
@@ -711,7 +744,7 @@
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())
@@ -724,31 +757,34 @@
'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>
@@ -768,29 +804,35 @@
</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>
@@ -806,22 +848,30 @@
</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>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/replication/externalchangelog/externalchangelog_common_ecl_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/replication/externalchangelog/externalchangelog_common_ecl_tests.xml
index 563ea5f..a875d7e 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/replication/externalchangelog/externalchangelog_common_ecl_tests.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/replication/externalchangelog/externalchangelog_common_ecl_tests.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Copyright 2009 Sun Microsystems, Inc.
+ ! Copyright 2009-2010 Sun Microsystems, Inc.
! -->
<stax>
@@ -47,80 +47,101 @@
</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
@@ -154,7 +175,7 @@
return self.listAttr
def addAttr(self, attrType, attrValue):
self.listAttr.append('%s:%s' % (attrType, attrValue))
- </script>
+ </script>
<!--- Test Case information
@@ -340,6 +361,31 @@
'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'">
@@ -348,32 +394,6 @@
</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>
@@ -575,6 +595,31 @@
<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'">
@@ -583,32 +628,6 @@
</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>
@@ -811,6 +830,31 @@
<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'">
@@ -819,32 +863,6 @@
</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>
@@ -1045,6 +1063,31 @@
<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'">
@@ -1053,32 +1096,6 @@
</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>
@@ -1277,6 +1294,32 @@
<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'">
@@ -1285,33 +1328,6 @@
</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>
@@ -1512,6 +1528,32 @@
<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'">
@@ -1520,33 +1562,6 @@
</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>
@@ -1751,6 +1766,29 @@
<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'">
@@ -1759,30 +1797,6 @@
</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>
@@ -1985,6 +1999,31 @@
<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'">
@@ -1993,32 +2032,6 @@
</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>
@@ -2224,6 +2237,31 @@
<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'">
@@ -2232,32 +2270,6 @@
</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>
@@ -2817,8 +2829,7 @@
<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>
@@ -3176,8 +3187,7 @@
<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>
@@ -3444,8 +3454,7 @@
<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>
@@ -3613,6 +3622,13 @@
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:
@@ -3639,7 +3655,8 @@
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
- 'changelogCookie' : lastCookie
+ 'changelogCookie' : lastCookie,
+ 'knownIssue' : myKnownIssue
}
</call>
<script>
@@ -3725,8 +3742,7 @@
<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>
@@ -3900,6 +3916,13 @@
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:
@@ -3926,7 +3949,8 @@
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
- 'changelogCookie' : lastCookie
+ 'changelogCookie' : lastCookie,
+ 'knownIssue' : myKnownIssue
}
</call>
<script>
@@ -4014,8 +4038,7 @@
<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>
@@ -4182,6 +4205,13 @@
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:
@@ -4208,7 +4238,8 @@
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
- 'changelogCookie' : lastCookie
+ 'changelogCookie' : lastCookie,
+ 'knownIssue' : myKnownIssue
}
</call>
<script>
@@ -4240,6 +4271,31 @@
<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'">
@@ -4248,32 +4304,6 @@
</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>
@@ -4417,10 +4447,10 @@
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
@@ -4658,6 +4688,13 @@
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:
@@ -4684,7 +4721,8 @@
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
- 'changelogCookie' : lastCookie
+ 'changelogCookie' : lastCookie,
+ 'knownIssue' : myKnownIssue
}
</call>
<script>
@@ -4729,7 +4767,7 @@
</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'
@@ -4896,7 +4934,9 @@
<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
@@ -4907,6 +4947,10 @@
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:
@@ -4921,7 +4965,7 @@
(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,
@@ -4934,89 +4978,58 @@
'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>
@@ -5078,12 +5091,7 @@
{ '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>
@@ -5096,6 +5104,11 @@
<script>
+ # set the index for the next ECL search
+ if nextIndex:
+ searchIndex = nextIndex
+ nextIndex = None
+
if ecl_mode == 'opends':
lastCookie = searchIndex
chgNumberFilter = None
@@ -5125,9 +5138,6 @@
</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,
@@ -5139,8 +5149,7 @@
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
- 'changelogCookie' : lastCookie,
- 'knownIssue' : '4329'
+ 'changelogCookie' : lastCookie
}
</call>
<script>
@@ -5158,7 +5167,11 @@
{ '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>
@@ -5235,8 +5248,7 @@
<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>
@@ -5431,8 +5443,8 @@
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>
@@ -5441,6 +5453,13 @@
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:
@@ -5456,9 +5475,6 @@
</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,
@@ -5471,7 +5487,7 @@
'dsFilter' : eclSearchFilter,
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie,
- 'knownIssue' : '4329'
+ 'knownIssue' : myKnownIssue
}
</call>
<script>
@@ -5570,8 +5586,7 @@
<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>
@@ -5643,7 +5658,7 @@
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
@@ -5653,6 +5668,13 @@
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:
@@ -5668,9 +5690,6 @@
</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,
@@ -5683,8 +5702,8 @@
'dsFilter' : eclSearchFilter,
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie,
- 'knownIssue' : '4329'
- }
+ 'knownIssue' : myKnownIssue
+ }
</call>
<script>
searchRC = RC
@@ -5787,8 +5806,7 @@
<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>
@@ -5825,92 +5843,1529 @@
<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(),
@@ -5924,14 +7379,41 @@
'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>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml
index e5e0c0b..f6795d3 100755
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Copyright 2006-2008 Sun Microsystems, Inc.
+ ! Copyright 2006-2010 Sun Microsystems, Inc.
! -->
<stax>
@@ -180,7 +180,7 @@
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'propertyName' : 'Default Password Policy' ,
'attributeName' : 'lockout-duration' ,
- 'attributeValue' : '5 s' }
+ 'attributeValue' : '10 s' }
</call>
<call function="'testCase_Postamble'"/>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/dsadm.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/dsadm.xml
index 777587b..d4f5afe 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/dsadm.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/dsadm.xml
@@ -145,7 +145,6 @@
<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>
@@ -268,7 +267,6 @@
<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>
@@ -518,7 +516,6 @@
<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>
@@ -608,6 +605,12 @@
}
</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">
@@ -678,7 +681,6 @@
<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>
@@ -885,7 +887,6 @@
<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>
@@ -1168,7 +1169,6 @@
<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>
@@ -1876,7 +1876,6 @@
<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>
@@ -2240,7 +2239,6 @@
<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>
@@ -3434,7 +3432,6 @@
<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>
@@ -3560,7 +3557,6 @@
<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>
@@ -3786,7 +3782,6 @@
<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>
@@ -3884,7 +3879,7 @@
</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>
@@ -3993,7 +3988,6 @@
<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>
@@ -4051,13 +4045,15 @@
</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'">
@@ -4072,7 +4068,8 @@
</call>
</sequence>
</if>
- <return>STAXResult</return>
+
+ <return>savSTAXResult</return>
</sequence>
</function>
@@ -4147,7 +4144,6 @@
<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>
@@ -4255,7 +4251,6 @@
<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>
@@ -4399,7 +4394,6 @@
<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>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/dsconfig.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/dsconfig.xml
index 3a329ee..e8aece7 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/dsconfig.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/dsconfig.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Copyright 2007-2008 Sun Microsystems, Inc.
+ ! Copyright 2007-2010 Sun Microsystems, Inc.
! -->
<stax>
@@ -160,7 +160,6 @@
<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>
@@ -320,7 +319,6 @@
<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>
@@ -481,7 +479,6 @@
<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>
@@ -731,7 +728,6 @@
<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>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml
index 29d5b62..ce4fa87 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml
@@ -211,7 +211,7 @@
newSplitConfig = """REPLICATION_SPLIT_SERVERS = '%s'""" % \
REPLICATION_SPLIT_SERVERS
else:
- newSplitConfig = """'REPLICATION_SPLIT_SERVERS = '%s'""" % \
+ newSplitConfig = """REPLICATION_SPLIT_SERVERS = '%s'""" % \
REPLICATION_SPLIT_SERVERS
oldSplitConfig = newSplitConfig
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml
index 21b71aa..fa397e5 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Copyright 2007-2009 Sun Microsystems, Inc.
+ ! Copyright 2007-2010 Sun Microsystems, Inc.
! -->
<stax>
<function name="addEntry">
@@ -96,7 +96,6 @@
<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>
@@ -366,7 +365,6 @@
<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>
@@ -568,7 +566,6 @@
<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>
@@ -957,7 +954,6 @@
<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>
@@ -1241,7 +1237,6 @@
<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>
@@ -1371,7 +1366,6 @@
<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>
@@ -1449,7 +1443,6 @@
<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>
@@ -1666,7 +1659,6 @@
<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>
@@ -1853,7 +1845,6 @@
<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>
@@ -2118,7 +2109,6 @@
<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>
@@ -2310,7 +2300,6 @@
<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>
@@ -2552,7 +2541,6 @@
<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>
@@ -2757,7 +2745,6 @@
<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>
@@ -3039,7 +3026,6 @@
<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>
@@ -3174,7 +3160,6 @@
<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>
@@ -3358,7 +3343,6 @@
<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>
@@ -3546,7 +3530,6 @@
<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>
@@ -3737,7 +3720,6 @@
<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>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/snmp.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/snmp.xml
index 1f6da42..b0b9cc2 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/snmp.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/snmp.xml
@@ -23,7 +23,7 @@
!
! CDDL HEADER END
!
- ! Copyright 2008-2009 Sun Microsystems, Inc.
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
! -->
<stax>
<!-- SNMP Get -->
@@ -426,7 +426,6 @@
<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>
@@ -559,7 +558,6 @@
<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>
@@ -667,7 +665,6 @@
<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>
@@ -760,7 +757,6 @@
<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>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/tools.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/tools.xml
index 0e079b3..9fcc19c 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/tools.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/tools.xml
@@ -97,7 +97,6 @@
<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>
@@ -585,7 +584,6 @@
<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>
@@ -678,7 +676,6 @@
<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"
@@ -888,7 +885,6 @@
<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>
@@ -1446,7 +1442,6 @@
<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>
@@ -1714,7 +1709,6 @@
<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>
@@ -2154,7 +2148,6 @@
<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>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml
index 05f8bf9..fdd5654 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/topology.xml
@@ -2665,7 +2665,8 @@
'dsInstanceDn' : directoryServer.dn ,
'dsInstancePswd' : directoryServer.password ,
'dsDn' : ['%s' % server.suffix] ,
- 'expectedRC' : 'noCheck' }
+ 'expectedRC' : 'noCheck' ,
+ 'knownIssue' : '6917970' }
}
</call>
</sequence>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
index 17bb0e7..38c0dac 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
@@ -108,7 +108,6 @@
<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>
@@ -173,14 +172,30 @@
<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>
@@ -190,6 +205,14 @@
<tcstatus result="'fail'">
'KnownIssue: %s' % issuesList
</tcstatus>
+
+ <call function="'SetVar'">
+ {
+ 'location' : STAF_REMOTE_HOSTNAME,
+ 'type' : 'shared',
+ 'variable' : 'issuesList=%s' % issuesList
+ }
+ </call>
</sequence>
</function>
@@ -378,7 +401,6 @@
<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>
@@ -446,7 +468,6 @@
<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>
@@ -872,7 +893,6 @@
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')
@@ -880,6 +900,13 @@
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>
@@ -906,9 +933,21 @@
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'])
@@ -933,6 +972,7 @@
nvDone = 0
nbFail = 0
nbKnown = 0
+ allbugs = eval(bugs.getTextContent())
if numFail == 0:
if numPass == 0:
_status='INCONCLUSIVE'
@@ -961,6 +1001,10 @@
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'">
@@ -1016,7 +1060,7 @@
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')
@@ -1033,7 +1077,7 @@
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')
@@ -1162,6 +1206,7 @@
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")
@@ -1175,6 +1220,9 @@
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")
@@ -1532,7 +1580,6 @@
<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>
@@ -2276,7 +2323,6 @@
<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>
@@ -2837,7 +2883,6 @@
<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>
@@ -3290,7 +3335,6 @@
<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>
--
Gitblit v1.10.0