OPENDJ-2772 Align SDK client tool with server's
* General changes
* Migrate translation of localized messages when they were available in the server
* Remove common -i, --encoding {encoding} argument since the option is not implemented
* Changes related to -V, --ldapVersion {version} are effective in 3 commits
---------------------------------------------------------------------------------------------------------------------------------------
* ldapcompare (in comparison of server tool)
* Usage: ldapcompare {options} attribute:value [DN ...] becomes ldapcompare {options} attribute:value DN
* Only reads one DN from the command line (if a user wants to compare against multiple DN he can use scripts)
* Added:
* -E, --reportAuthzID
* -T short option for --trustStorePassword {trustStorePassword} option
* -V short option for --version option
* -Y, --proxyAs {authzID}
* --usePasswordPolicyControl
* Removed:
* -c, --continueOnError (with new usage this parameter has no meaning)
* -f, --filename argument (now the tool read only one DN from the command line)
* -i, --encoding {encoding} option is removed (it was actually not implemented)
* -r, --useSASLExternal (it is redundant as a particular usage of -o, --saslOption mech="EXTERNAL" argument
* -V, --ldapVersion {version} (not implemented because we always do bind in v3)
* Modified:
* -m, --useCompareResultCode
* Note that if the argument is not used and compare operation returns false, the script will return with COMPARE_FALSE.
In other words, the tool always return COMPARE_FALSE if the compare operation is not successfull
* Renamed:
* -s, --script-friendly renamed as -S, --scriptFriendly (to be consistent with other existing sdk tools (xxxrate))
-----------------------------------------------------------------------------
* ldapcompare (in comparison of sdk tool)
* Usage: ldapcompare {options} attribute:value [DN ...] becomes ldapcompare {options} attribute:value DN
* Only reads one DN from the command line (if a user wants to compare against multiple DN he can use scripts)
* Added:
* --connectTimeout {timeout} (hidden now visible)
* -m, --useCompareResultCode
* Note that if the argument is not used and compare operation returns false, the script will return with COMPARE_FALSE.
In other words, the tool always return COMPARE_FALSE if the compare operation is not successfull
* -S, --scriptFriendly
* -V short option for --version option
* Removed:
* -c, --continueOnError (with new usage this parameter has no meaning)
* -f, --filename argument (now the tool read only one DN from the command line)
* -i, --encoding {encoding} option is removed (it was actually not implemented)
* -V, --ldapVersion {version} (not implemented because we always do bind in v3)
---------------------------------------------------------------------------------------------------------------------------------------
* ldapmodify (in comparison of server tool)
* Usage: ldapmodify {options} becomes ldapmodify {options} [changes_files ...] (to be consistent with ldifmodify)
* A user can now provides multiples ldif files with changes
* Added:
* -T short option for --trustStorePassword {trustStorePassword} option
* --usePasswordPolicyControl
* -V short option for --version option
* Removed:
* -a, --defaultAdd argument (default sdk behavior)
* -i, --encoding {encoding} option is removed (it was actually not implemented)
* -r, --useSASLExternal (it is redundant as a particular usage of -o, --saslOption mech="EXTERNAL" argument
* -V, --ldapVersion {version} (not implemented because we always do bind in v3)
* Hidden:
* -f, --filename argument (ensure compatibility with existing scripts)
-----------------------------------------------------------------------------
* ldapmodify (in comparison of sdk tool)
* Usage: ldapmodify {options} becomes ldapmodify {options} [changes_files ...] (to be consistent with ldifmodify)
* A user can now provides multiples ldif files with changes, if any are provided we will read changes on standard input
* Added:
* --connectTimeout {timeout} (hidden now visible)
* -V short option for --version option
* Hidden:
* -f, --filename argument (ensure compatibility with existing scripts)
* Removed:
* -V, --ldapVersion {version} (not implemented because we always do bind in v3)
-----------------------------------------------------------------------------
* ldapmodify use standard input
* if none are provided (or if the hyphen token is used 'ldapmodify {options} -- -') we will read changes on standard input
---------------------------------------------------------------------------------------------------------------------------------------
* ldappasswordmodify (in comparison of server tool)
* Usage: identical
* Added:
* -E, --reportAuthzID
* -F short option for --newPasswordFile {file} option
* -N short option for --certNickname option
* -o, --saslOption {name=value}
* -T short option for --trustStorePassword {trustStorePassword} option
* -v, --verbose
* --usePasswordPolicyControl
* Removed:
* -A, --provideDNForAuthzID (default sdk behavior)
* -N short option for --newPasswordFile option (-N references --certNickname {nickname} in sdk tools)
-----------------------------------------------------------------------------
* ldappasswordmodify (in comparison of sdk tool)
* Usage: identical
* Added:
* -V short option for --version option
* --connectTimeout {timeout} (hidden now visible)
* Removed:
* -V, --ldapVersion {version} (not implemented because we always do bind in v3)
---------------------------------------------------------------------------------------------------------------------------------------
* ldapsearch (in comparison of server tool)
* Usage: ldapsearch {options} [filter] [attributes ...] becomes ldapsearch {options} filter [attributes ...]
* Now the filter trailing argument is mandatory
* Added:
* -t, --wrapColumn (new option to wrap output content (default is no wraping))
* -T short option for --trustStorePassword {trustStorePassword} option
* -V short option for --version option
* Removed:
* -c, --continueOnError (with new usage this parameter has no meaning)
* -f, --filename argument (can easily be doing with scipt)
* -i, --encoding {encoding} option is removed (it was actually not implemented)
* -r, --useSASLExternal (it is redundant as a particular usage of -o, --saslOption mech="EXTERNAL" argument
* -T, --dontWrap (replaced by -t, --wrapColumn)
* -V, --ldapVersion {version} (not implemented because we always do bind in v3)
* Additional changes:
* Add Note: 'subordinate' is an LDAP extension that might not work with all LDAP servers to the -s, --searchScope {searchScope} argument description
-----------------------------------------------------------------------------
* ldapsearch (in comparison of sdk tool)
* Usage: ldapsearch {options} [filter] [attributes ...] becomes ldapsearch {options} filter [attributes ...]
* Now the filter trailing argument is mandatory
* Added:
* -t, --wrapColumn (new option to wrap output content (default is no wraping))
* -V short option for --version option
* --connectTimeout {timeout} (hidden now visible)
* --subEntries
* Removed:
* -f, --filename argument (can easily be doing with scipt)
* -t, --dontWrap (replaced by -t, --wrapColumn)
* -V, --ldapVersion {version} (not implemented because we always do bind in v3)
---------------------------------------------------------------------------------------------------------------------------------------
* ldifdiff (in comparison of server tool ldif-diff)
* Usage: ldif-diff {options} becomes ldifdiff {options} source target
* Source and target file are now mandatory trailing args (align with unix diff command)
* Note that the tool now returns 0 if no diffs are found and 1 if diffs are found (before was always 0).
* Added:
* -t, --wrapColumn (new option to wrap output content (default is no wraping))
* Removed:
* -a, --ignoreAttrs {file} (due to sdk tool design)
* -e, --ignoreEntries {file} (due to sdk tool design)
* -O, --overwriteExisting (sdk default behavior)
* -r, --useCompareResultCode (that was not right to use LDAP return code, align with unix diff command is worth)
* -s, --sourceLDIF {file} (mandatory trailing argument)
* -S, --singleValueChanges (due to sdk tool design)
* -t, --targetLDIF {file} (mandatory trailing argument)
* --checkSchema (due to sdk tool design)
-----------------------------------------------------------------------------
* ldifdiff (in comparison of sdk tool)
* Usage: identical
* source or target can be read on standard input (use 'ldifdiff {options} -- - target' or 'ldifdiff {options} -- source -')
* Note that the tool now returns 0 if no diffs are found and 1 if diffs are found (before was always 0).
* Added:
* -t, --wrapColumn (new option to wrap output content (default is no wraping))
-----------------------------------------------------------------------------
* ldifdiff use standard input/output
* source or target can be read on standard input (use 'ldifdiff {options} -- - target' or 'ldifdiff {options} -- source -')
* If -o, --outputLDIF {file} is not used (or if '-o ' is used) diffs are written on standard output
---------------------------------------------------------------------------------------------------------------------------------------
* ldifmodify (in comparison of server tool ldifmodify)
* Usage: ldifmodify {options} becomes ldifmodify {options} source_file [changes_files...]
* Now we have ldapmodify and ldifmodify behavior aligned
* Added:
* -c, --continueOnError
* -o, --outputLDIF
* -t, --wrapColumn (new option to wrap output content (default is no wraping))
* Removed:
* -s, --sourceLDIF {file} (mandatory trailing argument)
* -m, --changesLDIF {ldifFile} (trailing argument or stdin)
* -t, --targetLDIF {ldifFile} (renamed as -o, --outputLDIF {file} to be consistent with other sdk tools
-----------------------------------------------------------------------------
* ldifmodify (in comparison of sdk tool)
* Usage: ldifmodify {options} becomes ldifmodify {options} source_file [changes_files...]
* Now we have ldapmodify and ldifmodify behavior aligned
* Added:
* -t, --wrapColumn (new option to wrap output content (default is no wraping))
-----------------------------------------------------------------------------
* ldifmodify use standard input/output
* source_file can be read from standard input (use 'ldifmodify {options} -- - changes_files...)
* changes_files can be read from standard input (use 'ldifmodify {options} -- source_file -)
* If -o is not used (or if '-o ' is used) diffs are written on standard output
---------------------------------------------------------------------------------------------------------------------------------------
* ldifsearch (in comparison of server tool ldifsearch)
* Usage: ldifsearch {options} source [filter] [attributes ...] becomes ldifsearch {options} source filter [attributes ...]
* Now we have mandatory filter (consistency with ldapsearch)
* Added:
* -A, --typesOnly
* -l as short option for --timeLimit (in replacement of -t)
* -t, --wrapColumn (new option to wrap output content (default is no wraping))
* --outputLDIF (in replacement of --outputFile to be consistent with other sdk tools)
* Removed:
* -f, --f {filterFileName} (can be scripted)
* -l, --ldifFile {ldifFile} (mandatory trailing argument)
* -O, --overwriteExisting (default sdk behavior)
* -t for --timeLimit argument (now -t references --timeLimit)
* -T, --dontWrap (replaced by -t, --wrapColumn)
* --outputFile (renamed as --outputLDIF to be consistent with other sdk tools)
* Modifications:
* -b --baseDN is not anymore multi valued (keep the sdk behavior)
-----------------------------------------------------------------------------
* ldifsearch (in comparison of sdk tool)
* Usage: ldifsearch {options} source [filter] [attributes ...] becomes ldifsearch {options} source filter [attributes ...]
* Now we have mandatory filter (consistency with ldapsearch)
* Added:
* -t, --wrapColumn (new option to wrap output content (default is no wraping))
* Removed:
* -f, --f {filterFileName} (can be scripted)
* Modifications:
* -b --baseDN has root DSE default value (copy server behavior)
-----------------------------------------------------------------------------
* ldifsearch use standard input/output
* source can be read from standard input (use 'ldifsearch {options} -- - filter [attributes...])
* If -o is not used (or if '-o ' is used) diffs are written on standard output