From 3dc706c06dc3aefeb87ed89eb1b47093c442e5ee Mon Sep 17 00:00:00 2001
From: Mark Craig <mark.craig@forgerock.com>
Date: Tue, 24 May 2011 13:27:45 +0000
Subject: [PATCH] Fix OPENDJ-129: Consider adding manual pages for SDK tools, especially xxxrate tooles
---
opendj-sdk/opendj3/src/docbkx/dev-guide/man-authrate.xml | 326 +++++++
opendj-sdk/opendj3/src/docbkx/dev-guide/man-modrate.xml | 327 ++++++++
opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapsearch.xml | 364 +++++++++
opendj-sdk/opendj3/src/docbkx/dev-guide/man-searchrate.xml | 332 ++++++++
opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapmodify.xml | 326 +++++++
opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapcompare.xml | 258 ++++++
opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldappasswordmodify.xml | 245 +++++
7 files changed, 1,961 insertions(+), 217 deletions(-)
diff --git a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-authrate.xml b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-authrate.xml
index 369b1a9..6cff09c 100644
--- a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-authrate.xml
+++ b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-authrate.xml
@@ -32,75 +32,339 @@
xmlns:xinclude='http://www.w3.org/2001/XInclude'>
<refmeta>
<refentrytitle>authrate</refentrytitle><manvolnum>1</manvolnum>
+ <refmiscinfo class="software">OpenDJ</refmiscinfo>
+ <refmiscinfo class="version"><?eval ${project.version}?></refmiscinfo>
</refmeta>
<refnamediv>
<refname>authrate</refname>
- <refpurpose>TODO one-line description</refpurpose>
+ <refpurpose>measure bind throughput and response time</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>authrate</command>
- <command><replaceable>subcommand</replaceable></command>
- <arg choice="opt">--options</arg>
+ <arg choice="req">options</arg>
+ <arg choice="opt">filter format string</arg>
+ <arg choice="opt" rep="repeat">attributes</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>TODO description.</para>
+ <para>This utility can be used to measure bind throughput and response time
+ of a directory service using user-defined bind or search-then-bind
+ operations.</para>
+ <para>Format strings may be used in the bind DN option as well as the authid
+ and authzid SASL bind options. A search operation may be used to retrieve the
+ bind DN by specifying the base DN and a filter. The retrieved entry DN will
+ be appended as the last argument in the argument list when evaluating format
+ strings.</para>
</refsect1>
<refsect1>
- <title>Global Options</title>
- <para>The following global options are supported.</para>
+ <title>Options</title>
+ <para>The following options are supported.</para>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-a, --dereferencePolicy {dereferencePolicy}</option></term>
<listitem>
- <para>TODO Description.</para>
+ <para>Alias dereference policy ('never', 'always', 'search', or 'find')</para>
+ <para>Default value: never</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-b, --baseDN {baseDN}</option></term>
+ <listitem>
+ <para>Base DN format string</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-c, --numConnections {numConnections}</option></term>
+ <listitem>
+ <para>Number of connections</para>
+ <para>Default value: 1</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-e, --percentile {percentile}</option></term>
+ <listitem>
+ <para>Calculate max response time for a percentile of operations</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-f, --keepConnectionsOpen</option></term>
+ <listitem>
+ <para>Keep connections open</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-g, --argument {generator function or static string}</option></term>
+ <listitem>
+ <para>Argument used to evaluate the Java style format strings in program
+ parameters (Base DN, Search Filter). The set of all arguments provided
+ form the the argument list in order. Besides static string arguments, they
+ can be generated per iteration with the following functions:</para>
+ <variablelist>
+ <varlistentry>
+ <term>"inc({filename})"</term>
+ <listitem><para>Consecutive, incremental line from file</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"inc({min},{max})"</term>
+ <listitem><para>Consecutive, incremental number</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rand({filename})"</term>
+ <listitem><para>Random line from file</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rand({min},{max})"</term>
+ <listitem><para>Random number</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"randStr({length},<replaceable>charSet</replaceable>)"</term>
+ <listitem><para>Random string of specified length and optionally from
+ characters in the charSet string. A range of character can be specified
+ with [start-end] charSet notation. If no charSet is specified,
+ the default charSet of [A-Z][a-z][0-9] will be used.</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-i, --statInterval {statInterval}</option></term>
+ <listitem>
+ <para>Display results each specified number of seconds</para>
+ <para>Default value: 5</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-I, --invalidPassword {invalidPassword}</option></term>
+ <listitem>
+ <para>Percent of bind operations with simulated invalid password</para>
+ <para>Default value: 0</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-m, --maxIterations {maxIterations}</option></term>
+ <listitem>
+ <para>Max iterations, 0 for unlimited</para>
+ <para>Default value: 0</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-M, --targetThroughput {targetThroughput}</option></term>
+ <listitem>
+ <para>Target average throughput to achieve</para>
+ <para>Default value: 0</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-s, --searchScope {searchScope}</option></term>
+ <listitem>
+ <para>Search scope ('base', 'one', 'sub', or 'subordinate')</para>
+ <para>Default value: sub</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-S, --scriptFriendly</option></term>
+ <listitem>
+ <para>Use script-friendly mode</para>
</listitem>
</varlistentry>
</variablelist>
- </refsect1>
- <refsect1>
- <title>Subcommands</title>
- <para>The following subcommands are supported.</para>
<refsect2>
- <para>TODO Description.</para>
- <cmdsynopsis>
- <command>authrate</command>
- <command>TODO</command>
- <arg choice="opt">--options</arg>
- </cmdsynopsis>
+ <title>LDAP Connection Options</title>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-D, --bindDN {bindDN}</option></term>
<listitem>
- <para>TODO description.</para>
+ <para>DN to use to bind to the server</para>
+ <para>Default value: cn=Directory Manager</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-E, --reportAuthzID</option></term>
+ <listitem>
+ <para>Use the authorization identity control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h, --hostname {host}</option></term>
+ <listitem>
+ <para>Directory server hostname or IP address</para>
+ <para>Default value: localhost.localdomain</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-j, --bindPasswordFile {bindPasswordFile}</option></term>
+ <listitem>
+ <para>Bind password file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-K, --keyStorePath {keyStorePath}</option></term>
+ <listitem>
+ <para> Certificate key store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N, --certNickname {nickname}</option></term>
+ <listitem>
+ <para>Nickname of certificate for SSL client authentication</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o, --saslOption {name=value}</option></term>
+ <listitem>
+ <para>SASL bind options</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p, --port {port}</option></term>
+ <listitem>
+ <para>Directory server port number</para>
+ <para>Default value: 389</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-P, --trustStorePath {trustStorePath}</option></term>
+ <listitem>
+ <para>Certificate trust store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-q, --useStartTLS</option></term>
+ <listitem>
+ <para>Use StartTLS to secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T, --trustStorePassword {trustStorePassword}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-u, --keyStorePasswordFile {keyStorePasswordFile}</option></term>
+ <listitem>
+ <para>Certificate key store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-U, --trustStorePasswordFile {path}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--usePasswordPolicyControl</option></term>
+ <listitem>
+ <para>Use the password policy request control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-w, --bindPassword {bindPassword}</option></term>
+ <listitem>
+ <para>Password to use to bind to the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W, --keyStorePassword {keyStorePassword}</option></term>
+ <listitem>
+ <para>Certificate key store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X, --trustAll</option></term>
+ <listitem>
+ <para>Trust all server SSL certificates</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Z, --useSSL</option></term>
+ <listitem>
+ <para>Use SSL for secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Utility Input/Output Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--noPropertiesFile</option></term>
+ <listitem>
+ <para>No properties file will be used to get default command line
+ argument values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--propertiesFilePath {propertiesFilePath}</option></term>
+ <listitem>
+ <para>Path to the file containing default property values used for
+ command line arguments</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v, --verbose</option></term>
+ <listitem>
+ <para>Use verbose mode</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>General Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-V, --version</option></term>
+ <listitem>
+ <para>Display version information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?, -H, --help</option></term>
+ <listitem>
+ <para>Display usage information</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
- <title>Files</title>
- <para>TODO if command has configuration file.</para>
- </refsect1>
- <refsect1>
- <title>Environment</title>
- <para>TODO if command reads environment variables.</para>
- </refsect1>
- <refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
- <term>TODO exit code</term>
+ <term>0</term>
<listitem>
- <para>TODO description.</para>
+ <para>The command completed successfully.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>89</term>
+ <listitem>
+ <para>An error occurred while parsing the command-line arguments.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
- <para>TODO</para>
+ <para>The following example demonstrates measuring simple bind
+ performance.</para>
+ <screen width="80">$ authrate -p 1389 -g "rand(names.txt)" \
+> -D "uid=%s,ou=people,dc=example,dc=com" -w password -c 10 -f
+-----------------------------------------------------------------
+ Throughput Response Time
+ (ops/second) (milliseconds)
+recent average recent average 99.9% 99.99% 99.999% err/sec
+-----------------------------------------------------------------
+9796.9 9816.6 1.029 1.029 12.413 161.451 161.835 0.0
+14201.1 12028.1 0.704 0.835 9.508 161.456 167.573 0.0
+14450.0 12835.9 0.692 0.782 8.989 161.835 174.518 0.0
+12934.3 12860.6 0.773 0.779 9.253 161.339 174.426 0.0
+14154.5 13121.0 0.706 0.764 9.025 161.451 177.101 0.0
+^C</screen>
+ <para>The <filename>names.txt</filename> contains all the user IDs for the
+ sample suffix, and all user password values have been set to
+ <literal>password</literal> for this example.</para>
</refsect1>
</refentry>
diff --git a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapcompare.xml b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapcompare.xml
index 11ffc59..94e8fc2 100644
--- a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapcompare.xml
+++ b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapcompare.xml
@@ -32,75 +32,271 @@
xmlns:xinclude='http://www.w3.org/2001/XInclude'>
<refmeta>
<refentrytitle>ldapcompare</refentrytitle><manvolnum>1</manvolnum>
+ <refmiscinfo class="software">OpenDJ</refmiscinfo>
+ <refmiscinfo class="version"><?eval ${project.version}?></refmiscinfo>
</refmeta>
<refnamediv>
<refname>ldapcompare</refname>
- <refpurpose>TODO one-line description</refpurpose>
+ <refpurpose>perform LDAP compare operations</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldapcompare</command>
- <command><replaceable>subcommand</replaceable></command>
- <arg choice="opt">--options</arg>
+ <arg choice="req">options</arg>
+ <group><arg>attribute</arg><arg>:</arg><arg>value</arg></group>
+ <arg choice="opt" rep="repeat">DN</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>TODO description.</para>
+ <para>This utility can be used to perform LDAP compare operations in the
+ directory.</para>
</refsect1>
<refsect1>
- <title>Global Options</title>
- <para>The following global options are supported.</para>
+ <title>Options</title>
+ <para>The following options are supported.</para>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>--assertionFilter {filter}</option></term>
<listitem>
- <para>TODO Description.</para>
+ <para>Use the LDAP assertion control with the provided filter</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>-c, --continueOnError</option></term>
+ <listitem>
+ <para>Continue processing even if there are errors</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-f, --filename {file}</option></term>
+ <listitem>
+ <para>LDIF file containing one DN per line of entries to compare</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-J, --control {controloid[:criticality[:value|::b64value|:<filePath]]}</option></term>
+ <listitem>
+ <para>Use a request control with the provided information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-n, --dry-run</option></term>
+ <listitem>
+ <para>Show what would be done but do not perform any operation</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Y, --proxyAs {authzID}</option></term>
+ <listitem>
+ <para>Use the proxied authorization control with the given authorization
+ ID</para>
+ </listitem>
+ </varlistentry>
</variablelist>
- </refsect1>
- <refsect1>
- <title>Subcommands</title>
- <para>The following subcommands are supported.</para>
<refsect2>
- <para>TODO Description.</para>
- <cmdsynopsis>
- <command>ldapcompare</command>
- <command>TODO</command>
- <arg choice="opt">--options</arg>
- </cmdsynopsis>
+ <title>LDAP Connection Options</title>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-D, --bindDN {bindDN}</option></term>
<listitem>
- <para>TODO description.</para>
+ <para>DN to use to bind to the server</para>
+ <para>Default value: cn=Directory Manager</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-E, --reportAuthzID</option></term>
+ <listitem>
+ <para>Use the authorization identity control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h, --hostname {host}</option></term>
+ <listitem>
+ <para>Directory server hostname or IP address</para>
+ <para>Default value: localhost.localdomain</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-j, --bindPasswordFile {bindPasswordFile}</option></term>
+ <listitem>
+ <para>Bind password file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-K, --keyStorePath {keyStorePath}</option></term>
+ <listitem>
+ <para> Certificate key store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N, --certNickname {nickname}</option></term>
+ <listitem>
+ <para>Nickname of certificate for SSL client authentication</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o, --saslOption {name=value}</option></term>
+ <listitem>
+ <para>SASL bind options</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p, --port {port}</option></term>
+ <listitem>
+ <para>Directory server port number</para>
+ <para>Default value: 389</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-P, --trustStorePath {trustStorePath}</option></term>
+ <listitem>
+ <para>Certificate trust store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-q, --useStartTLS</option></term>
+ <listitem>
+ <para>Use StartTLS to secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T, --trustStorePassword {trustStorePassword}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-u, --keyStorePasswordFile {keyStorePasswordFile}</option></term>
+ <listitem>
+ <para>Certificate key store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-U, --trustStorePasswordFile {path}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--usePasswordPolicyControl</option></term>
+ <listitem>
+ <para>Use the password policy request control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-V, --ldapVersion {version}</option></term>
+ <listitem>
+ <para>LDAP protocol version number</para>
+ <para>Default value: 3</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-w, --bindPassword {bindPassword}</option></term>
+ <listitem>
+ <para>Password to use to bind to the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W, --keyStorePassword {keyStorePassword}</option></term>
+ <listitem>
+ <para>Certificate key store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X, --trustAll</option></term>
+ <listitem>
+ <para>Trust all server SSL certificates</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Z, --useSSL</option></term>
+ <listitem>
+ <para>Use SSL for secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Utility Input/Output Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-i, --encoding {encoding}</option></term>
+ <listitem>
+ <para>Use the specified character set for command-line input</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--noPropertiesFile</option></term>
+ <listitem>
+ <para>No properties file will be used to get default command line
+ argument values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--propertiesFilePath {propertiesFilePath}</option></term>
+ <listitem>
+ <para>Path to the file containing default property values used for
+ command line arguments</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v, --verbose</option></term>
+ <listitem>
+ <para>Use verbose mode</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>General Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--version</option></term>
+ <listitem>
+ <para>Display version information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?, -H, --help</option></term>
+ <listitem>
+ <para>Display usage information</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
- <title>Files</title>
- <para>TODO if command has configuration file.</para>
- </refsect1>
- <refsect1>
- <title>Environment</title>
- <para>TODO if command reads environment variables.</para>
- </refsect1>
- <refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
- <term>TODO exit code</term>
+ <term>0</term>
<listitem>
- <para>TODO description.</para>
+ <para>The command completed successfully.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>89</term>
+ <listitem>
+ <para>An error occurred while parsing the command-line arguments.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
- <para>TODO</para>
+ <para>The following examples demonstrate comparing Babs Jensen's UID.</para>
+ <para>The following example uses a matching UID value.</para>
+ <screen width="80">$ ldapcompare -p 1389 uid:bjensen uid=bjensen,ou=people,dc=example,dc=com
+Comparing type uid with value bjensen in entry
+uid=bjensen,ou=people,dc=example,dc=com
+Compare operation returned true for entry
+uid=bjensen,ou=people,dc=example,dc=com</screen>
+ <para>The following example uses a UID value that does not match.</para>
+ <screen width="80">$ ldapcompare -p 1389 uid:beavis uid=bjensen,ou=people,dc=example,dc=com
+Comparing type uid with value beavis in entry
+uid=bjensen,ou=people,dc=example,dc=com
+Compare operation returned false for entry
+uid=bjensen,ou=people,dc=example,dc=com</screen>
</refsect1>
</refentry>
diff --git a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapmodify.xml b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapmodify.xml
index 714009c..a46ca66 100644
--- a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapmodify.xml
+++ b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapmodify.xml
@@ -32,75 +32,339 @@
xmlns:xinclude='http://www.w3.org/2001/XInclude'>
<refmeta>
<refentrytitle>ldapmodify</refentrytitle><manvolnum>1</manvolnum>
+ <refmiscinfo class="software">OpenDJ</refmiscinfo>
+ <refmiscinfo class="version"><?eval ${project.version}?></refmiscinfo>
</refmeta>
<refnamediv>
<refname>ldapmodify</refname>
- <refpurpose>TODO one-line description</refpurpose>
+ <refpurpose>perform LDAP modify, add, delete, mod DN operations</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldapmodify</command>
- <command><replaceable>subcommand</replaceable></command>
- <arg choice="opt">--options</arg>
+ <arg choice="req">options</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>TODO description.</para>
+ <para>This utility can be used to perform LDAP modify, add, delete, and
+ modify DN operations in the directory.</para>
</refsect1>
<refsect1>
- <title>Global Options</title>
- <para>The following global options are supported.</para>
+ <title>Options</title>
+ <para>The following options are supported.</para>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-a, --defaultAdd</option></term>
<listitem>
- <para>TODO Description.</para>
+ <para>Treat records with no changetype as add operations</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--assertionFilter {filter}</option></term>
+ <listitem>
+ <para>Use the LDAP assertion control with the provided filter</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-c, --continueOnError</option></term>
+ <listitem>
+ <para>Continue processing even if there are errors</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-f, --filename {file}</option></term>
+ <listitem>
+ <para>LDIF file containing the changes to apply</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-J, --control {controloid[:criticality[:value|::b64value|:<filePath]]}</option></term>
+ <listitem>
+ <para>Use a request control with the provided information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-n, --dry-run</option></term>
+ <listitem>
+ <para>Show what would be done but do not perform any operation</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--postReadAttributes {attrList}</option></term>
+ <listitem>
+ <para>Use the LDAP ReadEntry post-read control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--preReadAttributes {attrList}</option></term>
+ <listitem>
+ <para>Use the LDAP ReadEntry pre-read control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Y, --proxyAs {authzID}</option></term>
+ <listitem>
+ <para>Use the proxied authorization control with the given authorization
+ ID</para>
+ </listitem>
+ </varlistentry>
</variablelist>
- </refsect1>
- <refsect1>
- <title>Subcommands</title>
- <para>The following subcommands are supported.</para>
<refsect2>
- <para>TODO Description.</para>
- <cmdsynopsis>
- <command>ldapmodify</command>
- <command>TODO</command>
- <arg choice="opt">--options</arg>
- </cmdsynopsis>
+ <title>LDAP Connection Options</title>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-D, --bindDN {bindDN}</option></term>
<listitem>
- <para>TODO description.</para>
+ <para>DN to use to bind to the server</para>
+ <para>Default value: cn=Directory Manager</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-E, --reportAuthzID</option></term>
+ <listitem>
+ <para>Use the authorization identity control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h, --hostname {host}</option></term>
+ <listitem>
+ <para>Directory server hostname or IP address</para>
+ <para>Default value: localhost.localdomain</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-j, --bindPasswordFile {bindPasswordFile}</option></term>
+ <listitem>
+ <para>Bind password file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-K, --keyStorePath {keyStorePath}</option></term>
+ <listitem>
+ <para> Certificate key store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N, --certNickname {nickname}</option></term>
+ <listitem>
+ <para>Nickname of certificate for SSL client authentication</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o, --saslOption {name=value}</option></term>
+ <listitem>
+ <para>SASL bind options</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p, --port {port}</option></term>
+ <listitem>
+ <para>Directory server port number</para>
+ <para>Default value: 389</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-P, --trustStorePath {trustStorePath}</option></term>
+ <listitem>
+ <para>Certificate trust store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-q, --useStartTLS</option></term>
+ <listitem>
+ <para>Use StartTLS to secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T, --trustStorePassword {trustStorePassword}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-u, --keyStorePasswordFile {keyStorePasswordFile}</option></term>
+ <listitem>
+ <para>Certificate key store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-U, --trustStorePasswordFile {path}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--usePasswordPolicyControl</option></term>
+ <listitem>
+ <para>Use the password policy request control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-V, --ldapVersion {version}</option></term>
+ <listitem>
+ <para>LDAP protocol version number</para>
+ <para>Default value: 3</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-w, --bindPassword {bindPassword}</option></term>
+ <listitem>
+ <para>Password to use to bind to the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W, --keyStorePassword {keyStorePassword}</option></term>
+ <listitem>
+ <para>Certificate key store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X, --trustAll</option></term>
+ <listitem>
+ <para>Trust all server SSL certificates</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Z, --useSSL</option></term>
+ <listitem>
+ <para>Use SSL for secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Utility Input/Output Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-i, --encoding {encoding}</option></term>
+ <listitem>
+ <para>Use the specified character set for command-line input</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--noPropertiesFile</option></term>
+ <listitem>
+ <para>No properties file will be used to get default command line
+ argument values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--propertiesFilePath {propertiesFilePath}</option></term>
+ <listitem>
+ <para>Path to the file containing default property values used for
+ command line arguments</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v, --verbose</option></term>
+ <listitem>
+ <para>Use verbose mode</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>General Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--version</option></term>
+ <listitem>
+ <para>Display version information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?, -H, --help</option></term>
+ <listitem>
+ <para>Display usage information</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
- <title>Files</title>
- <para>TODO if command has configuration file.</para>
- </refsect1>
- <refsect1>
- <title>Environment</title>
- <para>TODO if command reads environment variables.</para>
- </refsect1>
- <refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
- <term>TODO exit code</term>
+ <term>0</term>
<listitem>
- <para>TODO description.</para>
+ <para>The command completed successfully.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>89</term>
+ <listitem>
+ <para>An error occurred while parsing the command-line arguments.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
- <para>TODO</para>
+ <para>The following example demonstrates use of the command to add an entry
+ to the directory.</para>
+ <screen width="80">$ cat newuser.ldif
+dn: uid=newuser,ou=People,dc=example,dc=com
+uid: newuser
+facsimileTelephoneNumber: +1 408 555 1213
+objectClass: person
+objectClass: organizationalPerson
+objectClass: inetOrgPerson
+objectClass: posixAccount
+objectClass: top
+givenName: New
+cn: New User
+cn: Real Name
+telephoneNumber: +1 408 555 1212
+sn: Jensen
+roomNumber: 1234
+homeDirectory: /home/newuser
+uidNumber: 10389
+mail: newuser@example.com
+l: South Pole
+ou: Product Development
+ou: People
+gidNumber: 10636
+
+$ ldapmodify -p 1389 -a -f newuser.ldif \
+> -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
+Processing ADD request for uid=newuser,ou=People,dc=example,dc=com
+ADD operation successful for DN uid=newuser,ou=People,dc=example,dc=com</screen>
+
+ <para>The following example demonstrates adding a Description attribute
+ to the new user's entry.</para>
+ <screen width="80">$ cat newdesc.ldif
+dn: uid=newuser,ou=People,dc=example,dc=com
+changetype: modify
+add: description
+description: A new user's entry
+
+$ ldapmodify -p 1389 -f newdesc.ldif \
+> -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
+Processing MODIFY request for uid=newuser,ou=People,dc=example,dc=com
+MODIFY operation successful for DN uid=newuser,ou=People,dc=example,dc=com</screen>
+
+ <para>The following example demonstrates changing the Description attribute
+ for the new user's entry.</para>
+ <screen width="80">$ cat moddesc.ldif
+dn: uid=newuser,ou=People,dc=example,dc=com
+changetype: modify
+replace: description
+description: Another description
+
+$ ldapmodify -p 1389 -f moddesc.ldif \
+> -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
+Processing MODIFY request for uid=newuser,ou=People,dc=example,dc=com
+MODIFY operation successful for DN uid=newuser,ou=People,dc=example,dc=com</screen>
+
+ <para>The following example demonstrates deleting the new user's entry.</para>
+ <screen width="80">$ cat deluser.ldif
+dn: uid=newuser,ou=People,dc=example,dc=com
+changetype: delete
+
+$ ldapmodify -p 1389 -f deluser.ldif \
+> -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
+Processing DELETE request for uid=newuser,ou=People,dc=example,dc=com
+DELETE operation successful for DN uid=newuser,ou=People,dc=example,dc=com</screen>
</refsect1>
</refentry>
diff --git a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldappasswordmodify.xml b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldappasswordmodify.xml
index cfa7c03..7421dd6 100644
--- a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldappasswordmodify.xml
+++ b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldappasswordmodify.xml
@@ -32,75 +32,258 @@
xmlns:xinclude='http://www.w3.org/2001/XInclude'>
<refmeta>
<refentrytitle>ldappasswordmodify</refentrytitle><manvolnum>1</manvolnum>
+ <refmiscinfo class="software">OpenDJ</refmiscinfo>
+ <refmiscinfo class="version"><?eval ${project.version}?></refmiscinfo>
</refmeta>
<refnamediv>
<refname>ldappasswordmodify</refname>
- <refpurpose>TODO one-line description</refpurpose>
+ <refpurpose>perform LDAP password modifications</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldappasswordmodify</command>
- <command><replaceable>subcommand</replaceable></command>
- <arg choice="opt">--options</arg>
+ <arg choice="req">options</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>TODO description.</para>
+ <para>This utility can be used to perform LDAP password modify operations in
+ the directory.</para>
</refsect1>
<refsect1>
- <title>Global Options</title>
- <para>The following global options are supported.</para>
+ <title>Options</title>
+ <para>The following options are supported.</para>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-a, --authzID {authzID}</option></term>
<listitem>
- <para>TODO Description.</para>
+ <para>Authorization ID for the user entry whose password should be changed</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>-c, --currentPassword {currentPassword}</option></term>
+ <listitem>
+ <para>Current password for the target user</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-C, --currentPasswordFile {file}</option></term>
+ <listitem>
+ <para>Path to a file containing the current password for the target user</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-F, --newPasswordFile {file}</option></term>
+ <listitem>
+ <para>Path to a file containing the new password to provide for the target user</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-J, --control {controloid[:criticality[:value|::b64value|:<filePath]]}</option></term>
+ <listitem>
+ <para>Use a request control with the provided information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-n, --newPassword {newPassword}</option></term>
+ <listitem>
+ <para>New password to provide for the target user</para>
+ </listitem>
+ </varlistentry>
</variablelist>
- </refsect1>
- <refsect1>
- <title>Subcommands</title>
- <para>The following subcommands are supported.</para>
<refsect2>
- <para>TODO Description.</para>
- <cmdsynopsis>
- <command>ldappasswordmodify</command>
- <command>TODO</command>
- <arg choice="opt">--options</arg>
- </cmdsynopsis>
+ <title>LDAP Connection Options</title>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-D, --bindDN {bindDN}</option></term>
<listitem>
- <para>TODO description.</para>
+ <para>DN to use to bind to the server</para>
+ <para>Default value: cn=Directory Manager</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-E, --reportAuthzID</option></term>
+ <listitem>
+ <para>Use the authorization identity control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h, --hostname {host}</option></term>
+ <listitem>
+ <para>Directory server hostname or IP address</para>
+ <para>Default value: localhost.localdomain</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-j, --bindPasswordFile {bindPasswordFile}</option></term>
+ <listitem>
+ <para>Bind password file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-K, --keyStorePath {keyStorePath}</option></term>
+ <listitem>
+ <para> Certificate key store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N, --certNickname {nickname}</option></term>
+ <listitem>
+ <para>Nickname of certificate for SSL client authentication</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o, --saslOption {name=value}</option></term>
+ <listitem>
+ <para>SASL bind options</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p, --port {port}</option></term>
+ <listitem>
+ <para>Directory server port number</para>
+ <para>Default value: 389</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-P, --trustStorePath {trustStorePath}</option></term>
+ <listitem>
+ <para>Certificate trust store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-q, --useStartTLS</option></term>
+ <listitem>
+ <para>Use StartTLS to secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T, --trustStorePassword {trustStorePassword}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-u, --keyStorePasswordFile {keyStorePasswordFile}</option></term>
+ <listitem>
+ <para>Certificate key store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-U, --trustStorePasswordFile {path}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--usePasswordPolicyControl</option></term>
+ <listitem>
+ <para>Use the password policy request control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-V, --ldapVersion {version}</option></term>
+ <listitem>
+ <para>LDAP protocol version number</para>
+ <para>Default value: 3</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-w, --bindPassword {bindPassword}</option></term>
+ <listitem>
+ <para>Password to use to bind to the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W, --keyStorePassword {keyStorePassword}</option></term>
+ <listitem>
+ <para>Certificate key store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X, --trustAll</option></term>
+ <listitem>
+ <para>Trust all server SSL certificates</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Z, --useSSL</option></term>
+ <listitem>
+ <para>Use SSL for secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Utility Input/Output Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--noPropertiesFile</option></term>
+ <listitem>
+ <para>No properties file will be used to get default command line
+ argument values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--propertiesFilePath {propertiesFilePath}</option></term>
+ <listitem>
+ <para>Path to the file containing default property values used for
+ command line arguments</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v, --verbose</option></term>
+ <listitem>
+ <para>Use verbose mode</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>General Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--version</option></term>
+ <listitem>
+ <para>Display version information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?, -H, --help</option></term>
+ <listitem>
+ <para>Display usage information</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
- <title>Files</title>
- <para>TODO if command has configuration file.</para>
- </refsect1>
- <refsect1>
- <title>Environment</title>
- <para>TODO if command reads environment variables.</para>
- </refsect1>
- <refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
- <term>TODO exit code</term>
+ <term>0</term>
<listitem>
- <para>TODO description.</para>
+ <para>The command completed successfully.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>89</term>
+ <listitem>
+ <para>An error occurred while parsing the command-line arguments.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
- <para>TODO</para>
+ <para>The following example demonstrates a user changing the password
+ for her entry.</para>
+ <screen width="80">$ cat /tmp/currpwd.txt /tmp/newpwd.txt
+bribery
+secret12
+$ ldappasswordmodify -p 1389 -C /tmp/currpwd.txt -F /tmp/newpwd.txt \
+> -a "dn:uid=kvaughan,ou=people,dc=example,dc=com" \
+> -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
+The LDAP password modify operation was successful</screen>
</refsect1>
</refentry>
diff --git a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapsearch.xml b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapsearch.xml
index c4189e6..8bc9264 100644
--- a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapsearch.xml
+++ b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-ldapsearch.xml
@@ -32,75 +32,377 @@
xmlns:xinclude='http://www.w3.org/2001/XInclude'>
<refmeta>
<refentrytitle>ldapsearch</refentrytitle><manvolnum>1</manvolnum>
+ <refmiscinfo class="software">OpenDJ</refmiscinfo>
+ <refmiscinfo class="version"><?eval ${project.version}?></refmiscinfo>
</refmeta>
<refnamediv>
<refname>ldapsearch</refname>
- <refpurpose>TODO one-line description</refpurpose>
+ <refpurpose>perform LDAP search operations</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldapsearch</command>
- <command><replaceable>subcommand</replaceable></command>
- <arg choice="opt">--options</arg>
+ <arg choice="req">options</arg>
+ <arg choice="opt">filter</arg>
+ <arg choice="opt" rep="repeat">attributes</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>TODO description.</para>
+ <para>This utility can be used to perform LDAP search operations in the
+ directory.</para>
</refsect1>
<refsect1>
- <title>Global Options</title>
- <para>The following global options are supported.</para>
+ <title>Options</title>
+ <para>The following options are supported.</para>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-a, --dereferencePolicy {dereferencePolicy}</option></term>
<listitem>
- <para>TODO Description.</para>
+ <para>Alias dereference policy ('never', 'always', 'search', or 'find')</para>
+ <para>Default value: never</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>-A, --typesOnly</option></term>
+ <listitem>
+ <para>Only retrieve attribute names but not their values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--assertionFilter {filter}</option></term>
+ <listitem>
+ <para>Use the LDAP assertion control with the provided filter</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-b, --baseDN {baseDN}</option></term>
+ <listitem>
+ <para>Base DN format string</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-c, --continueOnError</option></term>
+ <listitem>
+ <para>Continue processing even if there are errors</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-C, --persistentSearch ps[:changetype[:changesonly[:entrychgcontrols]]]</option></term>
+ <listitem>
+ <para>Use the persistent search control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--countEntries</option></term>
+ <listitem>
+ <para>Count the number of entries returned by the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-e, --getEffectiveRightsAttribute {attribute}</option></term>
+ <listitem>
+ <para>Specifies geteffectiverights control specific attribute list</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-f, --filename {file}</option></term>
+ <listitem>
+ <para>LDIF file containing the changes to apply</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-g, --getEffectiveRightsAuthzid {authzID}</option></term>
+ <listitem>
+ <para>Use geteffectiverights control with the provided authzid</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-G, --virtualListView {before:after:index:count | before:after:value}</option></term>
+ <listitem>
+ <para>Use the virtual list view control to retrieve the specified results page</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-J, --control {controloid[:criticality[:value|::b64value|:<filePath]]}</option></term>
+ <listitem>
+ <para>Use a request control with the provided information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-l, --timeLimit {timeLimit}</option></term>
+ <listitem>
+ <para>Maximum length of time in seconds to allow for the search</para>
+ <para>Default value: 0</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--matchedValuesFilter {filter}</option></term>
+ <listitem>
+ <para>Use the LDAP matched values control with the provided filter</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-n, --dry-run</option></term>
+ <listitem>
+ <para>Show what would be done but do not perform any operation</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-s, --searchScope {searchScope}</option></term>
+ <listitem>
+ <para>Search scope ('base', 'one', 'sub', or 'subordinate')</para>
+ <para>Default value: sub</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-S, --sortOrder {sortOrder}</option></term>
+ <listitem>
+ <para>Sort the results using the provided sort order</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--simplePageSize {numEntries}</option></term>
+ <listitem>
+ <para>Use the simple paged results control with the given page size</para>
+ <para>Default value: 1000</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Y, --proxyAs {authzID}</option></term>
+ <listitem>
+ <para>Use the proxied authorization control with the given authorization
+ ID</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-z, --sizeLimit {sizeLimit}</option></term>
+ <listitem>
+ <para>Maximum number of entries to return from the search</para>
+ <para>Default value: 0</para>
+ </listitem>
+ </varlistentry>
</variablelist>
- </refsect1>
- <refsect1>
- <title>Subcommands</title>
- <para>The following subcommands are supported.</para>
<refsect2>
- <para>TODO Description.</para>
- <cmdsynopsis>
- <command>ldapsearch</command>
- <command>TODO</command>
- <arg choice="opt">--options</arg>
- </cmdsynopsis>
+ <title>LDAP Connection Options</title>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-D, --bindDN {bindDN}</option></term>
<listitem>
- <para>TODO description.</para>
+ <para>DN to use to bind to the server</para>
+ <para>Default value: cn=Directory Manager</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-E, --reportAuthzID</option></term>
+ <listitem>
+ <para>Use the authorization identity control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h, --hostname {host}</option></term>
+ <listitem>
+ <para>Directory server hostname or IP address</para>
+ <para>Default value: localhost.localdomain</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-j, --bindPasswordFile {bindPasswordFile}</option></term>
+ <listitem>
+ <para>Bind password file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-K, --keyStorePath {keyStorePath}</option></term>
+ <listitem>
+ <para> Certificate key store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N, --certNickname {nickname}</option></term>
+ <listitem>
+ <para>Nickname of certificate for SSL client authentication</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o, --saslOption {name=value}</option></term>
+ <listitem>
+ <para>SASL bind options</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p, --port {port}</option></term>
+ <listitem>
+ <para>Directory server port number</para>
+ <para>Default value: 389</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-P, --trustStorePath {trustStorePath}</option></term>
+ <listitem>
+ <para>Certificate trust store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-q, --useStartTLS</option></term>
+ <listitem>
+ <para>Use StartTLS to secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T, --trustStorePassword {trustStorePassword}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-u, --keyStorePasswordFile {keyStorePasswordFile}</option></term>
+ <listitem>
+ <para>Certificate key store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-U, --trustStorePasswordFile {path}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--usePasswordPolicyControl</option></term>
+ <listitem>
+ <para>Use the password policy request control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-V, --ldapVersion {version}</option></term>
+ <listitem>
+ <para>LDAP protocol version number</para>
+ <para>Default value: 3</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-w, --bindPassword {bindPassword}</option></term>
+ <listitem>
+ <para>Password to use to bind to the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W, --keyStorePassword {keyStorePassword}</option></term>
+ <listitem>
+ <para>Certificate key store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X, --trustAll</option></term>
+ <listitem>
+ <para>Trust all server SSL certificates</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Z, --useSSL</option></term>
+ <listitem>
+ <para>Use SSL for secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Utility Input/Output Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-i, --encoding {encoding}</option></term>
+ <listitem>
+ <para>Use the specified character set for command-line input</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--noPropertiesFile</option></term>
+ <listitem>
+ <para>No properties file will be used to get default command line
+ argument values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--propertiesFilePath {propertiesFilePath}</option></term>
+ <listitem>
+ <para>Path to the file containing default property values used for
+ command line arguments</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-t, --dontWrap</option></term>
+ <listitem><para>Do not wrap long lines</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v, --verbose</option></term>
+ <listitem>
+ <para>Use verbose mode</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>General Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--version</option></term>
+ <listitem>
+ <para>Display version information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?, -H, --help</option></term>
+ <listitem>
+ <para>Display usage information</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
- <title>Files</title>
- <para>TODO if command has configuration file.</para>
- </refsect1>
- <refsect1>
- <title>Environment</title>
- <para>TODO if command reads environment variables.</para>
- </refsect1>
- <refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
- <term>TODO exit code</term>
+ <term>0</term>
<listitem>
- <para>TODO description.</para>
+ <para>The command completed successfully.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>89</term>
+ <listitem>
+ <para>An error occurred while parsing the command-line arguments.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
- <para>TODO</para>
+ <para>The following example searches for entries with UID containing
+ <literal>jensen</literal>, returning only DNs and uid values.</para>
+ <screen width="80">$ ldapsearch -p 1389 -b dc=example,dc=com "(uid=*jensen*)" uid
+dn: uid=ajensen,ou=People,dc=example,dc=com
+uid: ajensen
+
+dn: uid=bjensen,ou=People,dc=example,dc=com
+uid: bjensen
+
+dn: uid=gjensen,ou=People,dc=example,dc=com
+uid: gjensen
+
+dn: uid=jjensen,ou=People,dc=example,dc=com
+uid: jjensen
+
+dn: uid=kjensen,ou=People,dc=example,dc=com
+uid: kjensen
+
+dn: uid=rjensen,ou=People,dc=example,dc=com
+uid: rjensen
+
+dn: uid=tjensen,ou=People,dc=example,dc=com
+uid: tjensen
+
+
+Result Code: 0 (Success)</screen>
</refsect1>
</refentry>
diff --git a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-modrate.xml b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-modrate.xml
index 31ce7b4..26da551 100644
--- a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-modrate.xml
+++ b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-modrate.xml
@@ -32,75 +32,340 @@
xmlns:xinclude='http://www.w3.org/2001/XInclude'>
<refmeta>
<refentrytitle>modrate</refentrytitle><manvolnum>1</manvolnum>
+ <refmiscinfo class="software">OpenDJ</refmiscinfo>
+ <refmiscinfo class="version"><?eval ${project.version}?></refmiscinfo>
</refmeta>
<refnamediv>
<refname>modrate</refname>
- <refpurpose>TODO one-line description</refpurpose>
+ <refpurpose>measure modification throughput and response time</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>modrate</command>
- <command><replaceable>subcommand</replaceable></command>
- <arg choice="opt">--options</arg>
+ <arg choice="req">options</arg>
+ <group choice="opt" rep="repeat">
+ <arg>attribute</arg>
+ <arg>:</arg>
+ <arg>value format string</arg>
+ </group>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>TODO description.</para>
+ <para>This utility can be used to measure modify throughput and response time
+ of a directory service using user-defined modifications.</para>
</refsect1>
<refsect1>
- <title>Global Options</title>
- <para>The following global options are supported.</para>
+ <title>Options</title>
+ <para>The following options are supported.</para>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-A, --asynchronous</option></term>
<listitem>
- <para>TODO Description.</para>
+ <para>Use asynchronous mode and don't wait for results before sending the
+ next request</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>-b, --baseDN {baseDN}</option></term>
+ <listitem>
+ <para>Base DN format string</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-c, --numConnections {numConnections}</option></term>
+ <listitem>
+ <para>Number of connections</para>
+ <para>Default value: 1</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-e, --percentile {percentile}</option></term>
+ <listitem>
+ <para>Calculate max response time for a percentile of operations</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-f, --keepConnectionsOpen</option></term>
+ <listitem>
+ <para>Keep connections open</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-F, --noRebind</option></term>
+ <listitem>
+ <para>Keep connections open and don't rebind</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-g, --argument {generator function or static string}</option></term>
+ <listitem>
+ <para>Argument used to evaluate the Java style format strings in program
+ parameters (Base DN, Search Filter). The set of all arguments provided
+ form the the argument list in order. Besides static string arguments, they
+ can be generated per iteration with the following functions:</para>
+ <variablelist>
+ <varlistentry>
+ <term>"inc({filename})"</term>
+ <listitem><para>Consecutive, incremental line from file</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"inc({min},{max})"</term>
+ <listitem><para>Consecutive, incremental number</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rand({filename})"</term>
+ <listitem><para>Random line from file</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rand({min},{max})"</term>
+ <listitem><para>Random number</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"randStr({length},<replaceable>charSet</replaceable>)"</term>
+ <listitem><para>Random string of specified length and optionally from
+ characters in the charSet string. A range of character can be specified
+ with [start-end] charSet notation. If no charSet is specified,
+ the default charSet of [A-Z][a-z][0-9] will be used.</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-i, --statInterval {statInterval}</option></term>
+ <listitem>
+ <para>Display results each specified number of seconds</para>
+ <para>Default value: 5</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-m, --maxIterations {maxIterations}</option></term>
+ <listitem>
+ <para>Max iterations, 0 for unlimited</para>
+ <para>Default value: 0</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-M, --targetThroughput {targetThroughput}</option></term>
+ <listitem>
+ <para>Target average throughput to achieve</para>
+ <para>Default value: 0</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-S, --scriptFriendly</option></term>
+ <listitem>
+ <para>Use script-friendly mode</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-t, --numConcurrentTasks {numConcurrentTasks}</option></term>
+ <listitem>
+ <para>Number of concurrent tasks per connection</para>
+ <para>Default value: 1</para>
+ </listitem>
+ </varlistentry>
</variablelist>
- </refsect1>
- <refsect1>
- <title>Subcommands</title>
- <para>The following subcommands are supported.</para>
<refsect2>
- <para>TODO Description.</para>
- <cmdsynopsis>
- <command>modrate</command>
- <command>TODO</command>
- <arg choice="opt">--options</arg>
- </cmdsynopsis>
+ <title>LDAP Connection Options</title>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-D, --bindDN {bindDN}</option></term>
<listitem>
- <para>TODO description.</para>
+ <para>DN to use to bind to the server</para>
+ <para>Default value: cn=Directory Manager</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-E, --reportAuthzID</option></term>
+ <listitem>
+ <para>Use the authorization identity control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h, --hostname {host}</option></term>
+ <listitem>
+ <para>Directory server hostname or IP address</para>
+ <para>Default value: localhost.localdomain</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-j, --bindPasswordFile {bindPasswordFile}</option></term>
+ <listitem>
+ <para>Bind password file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-K, --keyStorePath {keyStorePath}</option></term>
+ <listitem>
+ <para> Certificate key store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N, --certNickname {nickname}</option></term>
+ <listitem>
+ <para>Nickname of certificate for SSL client authentication</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o, --saslOption {name=value}</option></term>
+ <listitem>
+ <para>SASL bind options</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p, --port {port}</option></term>
+ <listitem>
+ <para>Directory server port number</para>
+ <para>Default value: 389</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-P, --trustStorePath {trustStorePath}</option></term>
+ <listitem>
+ <para>Certificate trust store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-q, --useStartTLS</option></term>
+ <listitem>
+ <para>Use StartTLS to secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T, --trustStorePassword {trustStorePassword}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-u, --keyStorePasswordFile {keyStorePasswordFile}</option></term>
+ <listitem>
+ <para>Certificate key store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-U, --trustStorePasswordFile {path}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--usePasswordPolicyControl</option></term>
+ <listitem>
+ <para>Use the password policy request control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-w, --bindPassword {bindPassword}</option></term>
+ <listitem>
+ <para>Password to use to bind to the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W, --keyStorePassword {keyStorePassword}</option></term>
+ <listitem>
+ <para>Certificate key store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X, --trustAll</option></term>
+ <listitem>
+ <para>Trust all server SSL certificates</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Z, --useSSL</option></term>
+ <listitem>
+ <para>Use SSL for secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Utility Input/Output Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--noPropertiesFile</option></term>
+ <listitem>
+ <para>No properties file will be used to get default command line
+ argument values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--propertiesFilePath {propertiesFilePath}</option></term>
+ <listitem>
+ <para>Path to the file containing default property values used for
+ command line arguments</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v, --verbose</option></term>
+ <listitem>
+ <para>Use verbose mode</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>General Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-V, --version</option></term>
+ <listitem>
+ <para>Display version information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?, -H, --help</option></term>
+ <listitem>
+ <para>Display usage information</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
- <title>Files</title>
- <para>TODO if command has configuration file.</para>
- </refsect1>
- <refsect1>
- <title>Environment</title>
- <para>TODO if command reads environment variables.</para>
- </refsect1>
- <refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
- <term>TODO exit code</term>
+ <term>0</term>
<listitem>
- <para>TODO description.</para>
+ <para>The command completed successfully.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>89</term>
+ <listitem>
+ <para>An error occurred while parsing the command-line arguments.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
- <para>TODO</para>
+ <para>The following example demonstrates testing directory performance by
+ using the modrate command to write random 16-character description values
+ to all entries in a sample file.</para>
+ <screen width="80">$ grep ^uid: /path/to/Example.ldif | sed -e "s/uid: //" > names.txt
+$ modrate -p 1389 -D cn=directory\ manager -w secret12 \
+> -b "uid=%s,ou=people,dc=example,dc=com" -g "rand(names.txt)" \
+>"description:%s" -g "randStr(16)" -A -F -c 4 -t 4
+-----------------------------------------------------------------
+ Throughput Response Time
+ (ops/second) (milliseconds)
+recent average recent average 99.9% 99.99% 99.999% err/sec
+-----------------------------------------------------------------
+ 399.0 399.0 1.546 1.546 8.917 79.764 79.764 0.0
+ 541.6 470.5 1.109 1.294 8.917 181.808 181.808 0.0
+ 755.2 565.4 0.747 1.050 9.828 181.808 181.808 0.0
+ 786.9 620.8 0.718 0.945 10.175 114.424 181.808 0.0
+1209.3 738.3 0.469 0.789 8.917 114.424 181.808 0.0
+1255.8 824.5 0.474 0.709 8.365 79.764 181.808 0.0
+1359.1 900.8 0.430 0.649 7.610 72.218 181.808 0.0
+1294.5 950.0 0.463 0.618 7.589 81.093 181.808 0.0
+1280.0 986.6 0.471 0.596 7.533 81.093 204.701 0.0
+1301.9 1018.2 0.463 0.579 7.506 81.093 204.701 0.0
+^C</screen>
</refsect1>
</refentry>
diff --git a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-searchrate.xml b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-searchrate.xml
index d9e9de2..37a7e4b 100644
--- a/opendj-sdk/opendj3/src/docbkx/dev-guide/man-searchrate.xml
+++ b/opendj-sdk/opendj3/src/docbkx/dev-guide/man-searchrate.xml
@@ -32,75 +32,345 @@
xmlns:xinclude='http://www.w3.org/2001/XInclude'>
<refmeta>
<refentrytitle>searchrate</refentrytitle><manvolnum>1</manvolnum>
+ <refmiscinfo class="software">OpenDJ</refmiscinfo>
+ <refmiscinfo class="version"><?eval ${project.version}?></refmiscinfo>
</refmeta>
<refnamediv>
<refname>searchrate</refname>
- <refpurpose>TODO one-line description</refpurpose>
+ <refpurpose>measure search throughput and response time</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>searchrate</command>
- <command><replaceable>subcommand</replaceable></command>
- <arg choice="opt">--options</arg>
+ <arg choice="req">options</arg>
+ <arg choice="opt">filter format string</arg>
+ <arg choice="opt" rep="repeat">attributes</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>TODO description.</para>
+ <para>This utility can be used to measure search throughput and response time
+ of a directory service using user-defined searches.</para>
</refsect1>
<refsect1>
- <title>Global Options</title>
- <para>The following global options are supported.</para>
+ <title>Options</title>
+ <para>The following options are supported.</para>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-a, --dereferencePolicy {dereferencePolicy}</option></term>
<listitem>
- <para>TODO Description.</para>
+ <para>Alias dereference policy ('never', 'always', 'search', or 'find')</para>
+ <para>Default value: never</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>-A, --asynchronous</option></term>
+ <listitem>
+ <para>Use asynchronous mode and don't wait for results before sending the
+ next request</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-b, --baseDN {baseDN}</option></term>
+ <listitem>
+ <para>Base DN format string</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-c, --numConnections {numConnections}</option></term>
+ <listitem>
+ <para>Number of connections</para>
+ <para>Default value: 1</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-e, --percentile {percentile}</option></term>
+ <listitem>
+ <para>Calculate max response time for a percentile of operations</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-f, --keepConnectionsOpen</option></term>
+ <listitem>
+ <para>Keep connections open</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-F, --noRebind</option></term>
+ <listitem>
+ <para>Keep connections open and don't rebind</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-g, --argument {generator function or static string}</option></term>
+ <listitem>
+ <para>Argument used to evaluate the Java style format strings in program
+ parameters (Base DN, Search Filter). The set of all arguments provided
+ form the the argument list in order. Besides static string arguments, they
+ can be generated per iteration with the following functions:</para>
+ <variablelist>
+ <varlistentry>
+ <term>"inc({filename})"</term>
+ <listitem><para>Consecutive, incremental line from file</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"inc({min},{max})"</term>
+ <listitem><para>Consecutive, incremental number</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rand({filename})"</term>
+ <listitem><para>Random line from file</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"rand({min},{max})"</term>
+ <listitem><para>Random number</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>"randStr({length},<replaceable>charSet</replaceable>)"</term>
+ <listitem><para>Random string of specified length and optionally from
+ characters in the charSet string. A range of character can be specified
+ with [start-end] charSet notation. If no charSet is specified,
+ the default charSet of [A-Z][a-z][0-9] will be used.</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-i, --statInterval {statInterval}</option></term>
+ <listitem>
+ <para>Display results each specified number of seconds</para>
+ <para>Default value: 5</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-m, --maxIterations {maxIterations}</option></term>
+ <listitem>
+ <para>Max iterations, 0 for unlimited</para>
+ <para>Default value: 0</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-M, --targetThroughput {targetThroughput}</option></term>
+ <listitem>
+ <para>Target average throughput to achieve</para>
+ <para>Default value: 0</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-s, --searchScope {searchScope}</option></term>
+ <listitem>
+ <para>Search scope ('base', 'one', 'sub', or 'subordinate')</para>
+ <para>Default value: sub</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-S, --scriptFriendly</option></term>
+ <listitem>
+ <para>Use script-friendly mode</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-t, --numConcurrentTasks {numConcurrentTasks}</option></term>
+ <listitem>
+ <para>Number of concurrent tasks per connection</para>
+ <para>Default value: 1</para>
+ </listitem>
+ </varlistentry>
</variablelist>
- </refsect1>
- <refsect1>
- <title>Subcommands</title>
- <para>The following subcommands are supported.</para>
<refsect2>
- <para>TODO Description.</para>
- <cmdsynopsis>
- <command>searchrate</command>
- <command>TODO</command>
- <arg choice="opt">--options</arg>
- </cmdsynopsis>
+ <title>LDAP Connection Options</title>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-D, --bindDN {bindDN}</option></term>
<listitem>
- <para>TODO description.</para>
+ <para>DN to use to bind to the server</para>
+ <para>Default value: cn=Directory Manager</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-E, --reportAuthzID</option></term>
+ <listitem>
+ <para>Use the authorization identity control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h, --hostname {host}</option></term>
+ <listitem>
+ <para>Directory server hostname or IP address</para>
+ <para>Default value: localhost.localdomain</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-j, --bindPasswordFile {bindPasswordFile}</option></term>
+ <listitem>
+ <para>Bind password file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-K, --keyStorePath {keyStorePath}</option></term>
+ <listitem>
+ <para> Certificate key store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N, --certNickname {nickname}</option></term>
+ <listitem>
+ <para>Nickname of certificate for SSL client authentication</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o, --saslOption {name=value}</option></term>
+ <listitem>
+ <para>SASL bind options</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p, --port {port}</option></term>
+ <listitem>
+ <para>Directory server port number</para>
+ <para>Default value: 389</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-P, --trustStorePath {trustStorePath}</option></term>
+ <listitem>
+ <para>Certificate trust store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-q, --useStartTLS</option></term>
+ <listitem>
+ <para>Use StartTLS to secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T, --trustStorePassword {trustStorePassword}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-u, --keyStorePasswordFile {keyStorePasswordFile}</option></term>
+ <listitem>
+ <para>Certificate key store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-U, --trustStorePasswordFile {path}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--usePasswordPolicyControl</option></term>
+ <listitem>
+ <para>Use the password policy request control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-w, --bindPassword {bindPassword}</option></term>
+ <listitem>
+ <para>Password to use to bind to the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W, --keyStorePassword {keyStorePassword}</option></term>
+ <listitem>
+ <para>Certificate key store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X, --trustAll</option></term>
+ <listitem>
+ <para>Trust all server SSL certificates</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-Z, --useSSL</option></term>
+ <listitem>
+ <para>Use SSL for secure communication with the server</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Utility Input/Output Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--noPropertiesFile</option></term>
+ <listitem>
+ <para>No properties file will be used to get default command line
+ argument values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--propertiesFilePath {propertiesFilePath}</option></term>
+ <listitem>
+ <para>Path to the file containing default property values used for
+ command line arguments</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v, --verbose</option></term>
+ <listitem>
+ <para>Use verbose mode</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>General Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-V, --version</option></term>
+ <listitem>
+ <para>Display version information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?, -H, --help</option></term>
+ <listitem>
+ <para>Display usage information</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
- <title>Files</title>
- <para>TODO if command has configuration file.</para>
- </refsect1>
- <refsect1>
- <title>Environment</title>
- <para>TODO if command reads environment variables.</para>
- </refsect1>
- <refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
- <term>TODO exit code</term>
+ <term>0</term>
<listitem>
- <para>TODO description.</para>
+ <para>The command completed successfully.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>89</term>
+ <listitem>
+ <para>An error occurred while parsing the command-line arguments.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
- <para>TODO</para>
+ <para>The following example demonstrates measuring search performance.</para>
+ <screen width="80">$ grep ^uid: /path/to/Example.ldif | sed -e "s/uid: //" > names.txt
+$ searchrate -p 1389 -b dc=example,dc=com \
+> -g "rand(names.txt)" "(uid=%s)" -A -F -c 4 -t 4
+-------------------------------------------------------------------------------
+ Throughput Response Time
+ (ops/second) (milliseconds)
+recent average recent average 99.9% 99.99% 99.999% err/sec Entries/Srch
+-------------------------------------------------------------------------------
+1475.9 1475.9 0.423 0.423 6.938 126.236 126.236 0.0 1.0
+2596.5 2038.4 0.254 0.315 6.866 12.980 126.236 0.0 1.0
+3210.7 2428.2 0.205 0.267 5.733 11.710 126.236 0.0 1.0
+3080.5 2591.0 0.215 0.252 5.733 10.541 126.236 0.0 1.0
+3236.9 2720.1 0.203 0.240 5.258 10.514 126.236 0.0 1.0
+3181.1 2796.8 0.207 0.234 5.258 10.384 126.236 0.0 1.0
+3202.5 2854.8 0.206 0.229 4.825 10.384 126.236 0.0 1.0
+^C</screen>
</refsect1>
</refentry>
--
Gitblit v1.10.0