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
| | |
| | | /** Long form of option for the command-line encoding option. */ |
| | | public static final String OPTION_LONG_ENCODING = "encoding"; |
| | | |
| | | /** Long form of option specifying no wrapping of the command-line. */ |
| | | public static final String OPTION_LONG_DONT_WRAP = "dontWrap"; |
| | | |
| | | /** The value for the long option targetDN. */ |
| | | public static final String OPTION_LONG_TARGETDN = "targetDN"; |
| | | |
| | |
| | | /** The value to use to read from stdin or write to stdout. */ |
| | | public static final String USE_SYSTEM_STREAM_TOKEN = "-"; |
| | | |
| | | /** The value for the wrap column long option. */ |
| | | public static final String OPTION_LONG_WRAP_COLUMN = "wrapColumn"; |
| | | /** The value for the wrap column short option. */ |
| | | public static final char OPTION_SHORT_WRAP_COLUMN = 't'; |
| | | |
| | | /** Prevent instantiation. */ |
| | | private ArgumentConstants() { |
| | | } |
| | |
| | | || OPTION_LONG_PROP_FILE_PATH.equals(longId) |
| | | || OPTION_LONG_NO_PROP_FILE.equals(longId) |
| | | || OPTION_LONG_SCRIPT_FRIENDLY.equals(longId) |
| | | || OPTION_LONG_DONT_WRAP.equals(longId) |
| | | || OPTION_LONG_WRAP_COLUMN.equals(longId) |
| | | || OPTION_LONG_ENCODING.equals(longId) |
| | | || OPTION_LONG_BATCH_FILE_PATH.equals(longId); |
| | | } |
| | |
| | | * information: "Portions Copyright [year] [name of copyright owner]". |
| | | * |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | * Portions copyright 2012-2015 ForgeRock AS. |
| | | * Portions copyright 2012-2016 ForgeRock AS. |
| | | */ |
| | | package com.forgerock.opendj.cli; |
| | | |
| | |
| | | /** Default Administration UID. */ |
| | | public static final String GLOBAL_ADMIN_UID = "admin"; |
| | | |
| | | /** Default maximum number of columns before starting to wrap tools output. */ |
| | | public static final int NO_WRAPPING_BY_DEFAULT = 0; |
| | | |
| | | /** Prevent instantiation. */ |
| | | private CliConstants() { |
| | |
| | | */ |
| | | package com.forgerock.opendj.cli; |
| | | |
| | | import static com.forgerock.opendj.cli.CliConstants.NO_WRAPPING_BY_DEFAULT; |
| | | import static com.forgerock.opendj.cli.CliMessages.*; |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT; |
| | |
| | | } |
| | | |
| | | /** |
| | | * Returns a "connectTimeout" hidden integer argument. |
| | | * |
| | | * @return A "connectTimeout" hidden integer argument. |
| | | * @throws ArgumentException |
| | | * If there is a problem with any of the parameters used to create this argument. |
| | | */ |
| | | public static IntegerArgument connectTimeOutHiddenArgument() throws ArgumentException { |
| | | return connectTimeOutArgument(true); |
| | | } |
| | | |
| | | /** |
| | | * Returns a "connectTimeout" integer argument. |
| | | * |
| | | * @return A "connectTimeout" integer argument. |
| | |
| | | * If there is a problem with any of the parameters used to create this argument. |
| | | */ |
| | | public static IntegerArgument connectTimeOutArgument() throws ArgumentException { |
| | | return connectTimeOutArgument(false); |
| | | } |
| | | |
| | | private static IntegerArgument connectTimeOutArgument(final boolean hidden) throws ArgumentException { |
| | | final IntegerArgument.Builder builder = IntegerArgument.builder(OPTION_LONG_CONNECT_TIMEOUT) |
| | | return IntegerArgument.builder(OPTION_LONG_CONNECT_TIMEOUT) |
| | | .description(INFO_DESCRIPTION_CONNECTION_TIMEOUT.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(DEFAULT_LDAP_CONNECT_TIMEOUT) |
| | | .valuePlaceholder(INFO_TIMEOUT_PLACEHOLDER.get()); |
| | | if (hidden) { |
| | | builder.hidden(); |
| | | } |
| | | return builder.buildArgument(); |
| | | .valuePlaceholder(INFO_TIMEOUT_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * Returns the "encoding" string argument. <br> |
| | | * <i> N.B : the 'i' short option is also used by cli</i> |
| | | * |
| | | * @return The "encoding" argument. |
| | | * @throws ArgumentException |
| | | * If there is a problem with any of the parameters used to create this argument. |
| | | */ |
| | | public static StringArgument encodingArgument() throws ArgumentException { |
| | | return StringArgument.builder("encoding") |
| | | .shortIdentifier('i') |
| | | .description(INFO_DESCRIPTION_ENCODING.get()) |
| | | .valuePlaceholder(INFO_ENCODING_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | /** |
| | | * Returns the "do not start" boolean argument. |
| | | * |
| | | * @return The "doNotStart" argument. |
| | |
| | | } |
| | | |
| | | /** |
| | | * Returns the "filename" string argument. |
| | | * <i> N.B : the 'f' short option is also used by configfile</i> |
| | | * @param description |
| | | * The description of this argument. |
| | | * @return The "filename" argument. |
| | | * @throws ArgumentException |
| | | * If there is a problem with any of the parameters used to create this argument. |
| | | */ |
| | | public static StringArgument filenameArgument(final LocalizableMessage description) throws ArgumentException { |
| | | return StringArgument.builder(OPTION_LONG_FILENAME) |
| | | .shortIdentifier(OPTION_SHORT_FILENAME) |
| | | .description(description) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | |
| | | /** |
| | | * Returns the "enable start TLS" boolean argument. |
| | | * |
| | | * @return The "enableStartTLS" argument. |
| | |
| | | } |
| | | return builder.buildArgument(); |
| | | } |
| | | |
| | | /** |
| | | * Returns the "-t, --wrapColumn" integer argument. |
| | | * |
| | | * @return The "-t, --wrapColumn" integer argument. |
| | | * @throws ArgumentException |
| | | * If there is a problem with any of the parameters used to create this argument. |
| | | */ |
| | | public static IntegerArgument wrapColumnArgument() throws ArgumentException { |
| | | return IntegerArgument.builder(OPTION_LONG_WRAP_COLUMN) |
| | | .shortIdentifier(OPTION_SHORT_WRAP_COLUMN) |
| | | .lowerBound(0) |
| | | .defaultValue(NO_WRAPPING_BY_DEFAULT) |
| | | .description(INFO_DESCRIPTION_WRAP_COLUMN.get()) |
| | | .valuePlaceholder(INFO_WRAP_COLUMN_PLACEHOLDER.get()) |
| | | .buildArgument(); |
| | | } |
| | | } |
| | |
| | | * @throws ArgumentException |
| | | * If an error occurs during parsing the arguments. |
| | | */ |
| | | public ConnectionFactoryProvider(final ArgumentParser argumentParser, |
| | | final ConsoleApplication app) throws ArgumentException { |
| | | public ConnectionFactoryProvider(final ArgumentParser argumentParser, final ConsoleApplication app) |
| | | throws ArgumentException { |
| | | this(argumentParser, app, "", DEFAULT_LDAP_PORT, false); |
| | | } |
| | | |
| | |
| | | reportAuthzIDArg = reportAuthzIdArgument(); |
| | | argumentParser.addArgument(reportAuthzIDArg); |
| | | |
| | | connectTimeOut = connectTimeOutHiddenArgument(); |
| | | connectTimeOut = connectTimeOutArgument(); |
| | | argumentParser.addArgument(connectTimeOut); |
| | | |
| | | usePasswordPolicyControlArg = |
| | |
| | | the server. Use -w - to ensure that the command prompts for the password, \ |
| | | rather than entering the password as a command argument |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=Bind password file |
| | | INFO_DESCRIPTION_ENCODING=Use the specified character set for \ |
| | | command-line input |
| | | INFO_DESCRIPTION_VERBOSE=Use verbose mode |
| | | INFO_DESCRIPTION_KEYSTOREPATH=Certificate key store path |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=Certificate trust store path |
| | |
| | | INFO_DESCRIPTION_RESTART=Attempt to automatically restart the \ |
| | | server once it has stopped |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=Search scope ('base', 'one', 'sub', \ |
| | | or 'subordinate') |
| | | or 'subordinates'). Note: 'subordinates' is an LDAP extension \ |
| | | that might not work with all LDAP servers |
| | | ERR_LDAPAUTH_UNSUPPORTED_SASL_MECHANISM=The requested SASL mechanism \ |
| | | "%s" is not supported by this client |
| | | ERR_LDAPAUTH_SASL_AUTHID_REQUIRED=The "authid" SASL property is \ |
| | |
| | | INFO_PROP_FILE_PATH_PLACEHOLDER={propertiesFilePath} |
| | | INFO_NUM_ENTRIES_PLACEHOLDER={numEntries} |
| | | INFO_LDAP_CONTROL_PLACEHOLDER={controloid[:criticality[:value|::b64value|:<filePath]]} |
| | | INFO_ENCODING_PLACEHOLDER={encoding} |
| | | INFO_SEARCH_SCOPE_PLACEHOLDER={searchScope} |
| | | INFO_KEYSTORE_PWD_FILE_PLACEHOLDER={keyStorePasswordFile} |
| | | INFO_PATH_PLACEHOLDER={path} |
| | |
| | | INFO_DESCRIPTION_ADMIN_PORT=Directory server administration port number |
| | | INFO_DESCRIPTION_ADMIN_BINDDN=Administrator user bind DN |
| | | INFO_ERROR_EMPTY_RESPONSE=ERROR: a response must be provided in order to continue |
| | | INFO_DESCRIPTION_WRAP_COLUMN=Maximum length of an output line (0 for no wrapping) |
| | | INFO_WRAP_COLUMN_PLACEHOLDER={wrapColumn} |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | |
| | | # |
| | | |
| | | ERR_TOOL_CONFLICTING_ARGS=ERROR: Potser nou heu introdu\u00eft ambd\u00f3s arguments %s i %s al mateix cop |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=\u00c0mbit de cerca ('base', 'one', 'sub', o 'subordinate') |
| | | INFO_DESCRIPTION_DONT_WRAP=No replegar les l\u00ednies llargues |
| | | INFO_DESCRIPTION_BINDDN=DN per utilitzar per enlla\u00e7ar al servidor |
| | | INFO_DESCRIPTION_BINDPASSWORD=Contrasenya per utilitzar per enlla\u00e7ar al servidor |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=Fitxer enlla\u00e7 de contrasenya |
| | | INFO_DESCRIPTION_KEYSTOREPATH=Ruta del magatzem del certificat de claus |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=Ruta del magatzem del certificat de confian\u00e7a |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD=PIN del magatzem del certificat de claus |
| | | INFO_ARGUMENT_DESCRIPTION_HOST_NAME=Nom d'equip o adre\u00e7a IP del servidor de directori |
| | | INFO_DESCRIPTION_PORT=Numero de port del servidor de directori |
| | | INFO_DESCRIPTION_CONTROLS=Utilitzar un control de peticions amb la informaci\u00f3 proporcionada |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR=Continuar processant encara que hi hagin errors |
| | | INFO_DESCRIPTION_USE_SSL=Utilitzar SSL per a una comunicaci\u00f3 segura amb el servidor |
| | | INFO_DESCRIPTION_START_TLS=Utilitzar StartTLS per a una comunicaci\u00f3 segura amb el servidor |
| | | INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS=Opcions enlla\u00e7 SASL |
| | | INFO_DESCRIPTION_VERSION=N\u00famero de versi\u00f3 del protocol LDAP |
| | | INFO_DESCRIPTION_NOOP=Mostrar que es far\u00e0 per\u00f2 no realitzar cap operaci\u00f3 |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD_FILE=Fitxer PIN del magatzem del certificat de claus |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD=PIN del magatzem del certificat de confian\u00e7a |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE=Fitxer PIN del magatzem del certificat de confian\u00e7a |
| | | INFO_ARGUMENT_DESCRIPTION_CERT_NICKNAME=Sobrenom del certificat per l'autentificaci\u00f3 de client SSL |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY=Utilitzar el mode de script amigable |
| | | INFO_DESCRIPTION_PROP_FILE_PATH=La ruta al fitxer que cont\u00e9 els valors de les propietats predeterminades utilitzat pels arguments de la l\u00ednia de comandes |
| | | INFO_DESCRIPTION_NO_PROP_FILE=No s'utilitzar\u00e0 cap fitxer de propietats per obtenir els valors predeterminats dels arguments de la l\u00ednia de comandes |
| | | |
| | |
| | | # |
| | | |
| | | ERR_TOOL_CONFLICTING_ARGS=Sie haben m\u00f6glicherweise nicht beide Argumente --%s und --%s angegeben |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=Suchumfang ('base', 'one', 'sub' oder 'subordinate') |
| | | INFO_DESCRIPTION_DONT_WRAP=Lange Zeilen nicht umbrechen |
| | | INFO_DESCRIPTION_BINDDN=DN f\u00fcr die Verbindung zum Server |
| | | INFO_DESCRIPTION_BINDPASSWORD=Passwort f\u00fcr die Verbindung zum Server |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=Passwortdatei f\u00fcr die Verbindung |
| | | INFO_DESCRIPTION_KEYSTOREPATH=Zertifikatschl\u00fcsselspeicherpfad |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=Zertifikat-Trust Store-Pfad |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD=Zertifikatschl\u00fcsselspeicher-PIN |
| | | INFO_ARGUMENT_DESCRIPTION_HOST_NAME=Directory-Server-Hostname oder -IP-Adresse |
| | | INFO_DESCRIPTION_PORT=Directory-Server-Portnummer |
| | | INFO_DESCRIPTION_CONTROLS=Anforderungssteuerung f\u00fcr die angegebenen Informationen verwenden |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR=Bearbeitung auch bei Fehlern fortsetzen |
| | | INFO_DESCRIPTION_USE_SSL=SSL f\u00fcr sichere Kommunikation mit dem Server verwenden |
| | | INFO_DESCRIPTION_START_TLS=StartTLS f\u00fcr sichere Kommunikation mit dem Server verwenden |
| | | INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS=SASL-Verbindungsoptionen |
| | | INFO_DESCRIPTION_VERSION=Versionsnummer des LDAP-Protokolls |
| | | INFO_DESCRIPTION_NOOP=Anzeigen, was ausgef\u00fchrt werden w\u00fcrde, aber keine Vorg\u00e4nge ausf\u00fchren |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD_FILE=Zertifikatschl\u00fcsselspeicher-PIN-Datei |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD=Zertifikat-Trust Store-PIN |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE=Zertifikat-Trust Store-PIN-Datei |
| | | INFO_ARGUMENT_DESCRIPTION_CERT_NICKNAME=Spitzname des Zertifikats f\u00fcr die SSL-Client-Authentifizierung |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY=Skript-freundlichen Modus verwenden |
| | | INFO_DESCRIPTION_PROP_FILE_PATH=Pfad zur Datei mit den Standardeigenschaftswerten f\u00fcr die Befehlszeilenargumente |
| | | INFO_DESCRIPTION_NO_PROP_FILE=Es wird keine Eigenschaftendatei mit den Standardargumentwerte f\u00fcr die Befehlszeile verwendet |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT=Maximale Dauer (in Millisekunden), die die Verbindungsherstellung in Anspruch nehmen kann |
| | | |
| | |
| | | # |
| | | |
| | | ERR_TOOL_CONFLICTING_ARGS=No se pueden proporcionar los argumentos --%s y --%s conjuntamente |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=\u00c1mbito de b\u00fasqueda ('base', 'uno', 'sub' o 'subordinada') |
| | | INFO_DESCRIPTION_DONT_WRAP=No ajustar l\u00edneas largas |
| | | INFO_DESCRIPTION_BINDDN=ND que utilizar para enlazar al servidor |
| | | INFO_DESCRIPTION_BINDPASSWORD=Contrase\u00f1a que utilizar para enlazar al servidor |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=Archivo de contrase\u00f1as de enlace |
| | | INFO_DESCRIPTION_KEYSTOREPATH=Ruta de almac\u00e9n de claves de certificados |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=Ruta de almac\u00e9n de confianza de certificado |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD=PIN de almac\u00e9n de claves de certificados |
| | | INFO_ARGUMENT_DESCRIPTION_HOST_NAME=Direcci\u00f3n IP o nombre de host de servidor de directorios |
| | | INFO_DESCRIPTION_PORT=N\u00famero de puerto de servidor de directorios |
| | | INFO_DESCRIPTION_CONTROLS=Utilizar un control de solicitud con la informaci\u00f3n especificada |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR=Continuar el procesamiento incluso si hay errores |
| | | INFO_DESCRIPTION_USE_SSL=Utilizar SSL para la comunicaci\u00f3n segura con el servidor |
| | | INFO_DESCRIPTION_START_TLS=Utilizar StartTLS para la comunicaci\u00f3n segura con el servidor |
| | | INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS=Opciones de enlace de SASL |
| | | INFO_DESCRIPTION_VERSION=N\u00famero de versi\u00f3n del protocolo LDAP |
| | | INFO_DESCRIPTION_NOOP=Muestra qu\u00e9 se debe hacer pero no realiza ninguna operaci\u00f3n |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD_FILE=Archivo de PIN de almac\u00e9n de claves de certificados |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD=PIN de almac\u00e9n de confianza de certificado |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE=Archivo de PIN de almac\u00e9n de confianza de certificado |
| | | INFO_ARGUMENT_DESCRIPTION_CERT_NICKNAME=Sobrenombre del certificado para la autenticaci\u00f3n del cliente SSL |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY=Utilizar modo de secuencia de comandos |
| | | INFO_DESCRIPTION_PROP_FILE_PATH=Ruta al archivo que contiene los valores de propiedad predeterminados usados para argumentos de la l\u00ednea de comandos |
| | | INFO_DESCRIPTION_NO_PROP_FILE=No se utilizar\u00e1 ning\u00fan archivo de propiedades para obtener los valores de argumentos de l\u00ednea de comandos predeterminados |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT=La duraci\u00f3n m\u00e1xima de tiempo (en mil\u00e9simas de segundo) que puede tardarse en establecer una conexi\u00f3n |
| | | |
| | |
| | | # |
| | | |
| | | ERR_TOOL_CONFLICTING_ARGS=Vous ne pouvez pas utiliser \u00e0 la fois les arguments --%s et --%s |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=Domaine de recherche ('base', 'one', 'sub' ou 'subordinate') |
| | | INFO_DESCRIPTION_DONT_WRAP=Ne pas adapter les lignes longues |
| | | INFO_DESCRIPTION_BINDDN=DN \u00e0 utiliser pour effectuer une liaison au serveur |
| | | INFO_DESCRIPTION_BINDPASSWORD=Mot de passe \u00e0 utiliser pour effectuer une liaison au serveur |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=Fichier de mots de passe de liaison |
| | | INFO_DESCRIPTION_KEYSTOREPATH=Chemin de keystore de certificat |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=Chemin de magasin d'approbations de certificats |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD=Mot de passe du keystore de certificat |
| | | INFO_ARGUMENT_DESCRIPTION_HOST_NAME=Nom d'h\u00f4te ou adresse IP du serveur d'annuaire |
| | | INFO_DESCRIPTION_PORT=Num\u00e9ro de port du serveur d'annuaire |
| | | INFO_DESCRIPTION_CONTROLS=Utiliser un contr\u00f4le des requ\u00eates avec les informations indiqu\u00e9es |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR=Continuer le traitement m\u00eame s'il y a des erreurs |
| | | INFO_DESCRIPTION_USE_SSL=Utiliser SSL pour s\u00e9curiser la communication avec le serveur |
| | | INFO_DESCRIPTION_START_TLS=Utiliser StartTLS pour s\u00e9curiser la communication avec le serveur |
| | | INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS=Options de liaison SASL |
| | | INFO_DESCRIPTION_VERSION=Num\u00e9ro de la version de protocole LDAP |
| | | INFO_DESCRIPTION_NOOP=Afficher les \u00e9tapes de l'op\u00e9ration sans l'effectuer |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD_FILE=Fichier de mot de passe du keystore de certificats |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD=Num\u00e9ro d'identification personnel de magasin d'approbation de certificats |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE=Fichier de num\u00e9ros d'identification personnels de magasins d'approbation de certificats |
| | | INFO_ARGUMENT_DESCRIPTION_CERT_NICKNAME=Pseudonyme du certificat pour l'authentification client SSL |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY=Utiliser le mode adapt\u00e9 aux scripts |
| | | INFO_DESCRIPTION_PROP_FILE_PATH=Chemin vers le fichier contenant les valeurs des propri\u00e9t\u00e9s par d\u00e9faut pour les arguments de ligne de commande |
| | | INFO_DESCRIPTION_NO_PROP_FILE=Aucun fichier de propri\u00e9t\u00e9 ne va \u00eatre utilis\u00e9 pour obtenir des valeurs d'arguments de ligne de commande |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT=Dur\u00e9e maximale (en millisecondes) qui peut \u00eatre n\u00e9cessaire pour \u00e9tablir une connexion |
| | | |
| | |
| | | # |
| | | |
| | | ERR_TOOL_CONFLICTING_ARGS=--%s \u5f15\u6570\u3068 --%s \u5f15\u6570\u306e\u4e21\u65b9\u306f\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093 |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=\u691c\u7d22\u7bc4\u56f2 ('base'\u3001'one'\u3001'sub'\u3001\u307e\u305f\u306f 'subordinates') |
| | | INFO_DESCRIPTION_DONT_WRAP=\u9577\u3044\u884c\u3092\u6298\u308a\u8fd4\u3057\u307e\u305b\u3093 |
| | | INFO_DESCRIPTION_BINDDN=\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30d0\u30a4\u30f3\u30c9\u306b\u4f7f\u7528\u3059\u308b DN |
| | | INFO_DESCRIPTION_BINDPASSWORD=\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30d0\u30a4\u30f3\u30c9\u306b\u4f7f\u7528\u3059\u308b\u30d1\u30b9\u30ef\u30fc\u30c9 |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=\u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u3092\u30d0\u30a4\u30f3\u30c9\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_KEYSTOREPATH=\u8a3c\u660e\u66f8\u9375\u30b9\u30c8\u30a2\u306e\u30d1\u30b9 |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=\u8a3c\u660e\u66f8\u30c8\u30e9\u30b9\u30c8\u30b9\u30c8\u30a2\u306e\u30d1\u30b9 |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD=\u8a3c\u660e\u66f8\u9375\u30b9\u30c8\u30a2\u306e PIN |
| | | INFO_ARGUMENT_DESCRIPTION_HOST_NAME=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306e\u30db\u30b9\u30c8\u540d\u307e\u305f\u306f IP \u30a2\u30c9\u30ec\u30b9 |
| | | INFO_DESCRIPTION_PORT=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u306e\u30dd\u30fc\u30c8\u756a\u53f7 |
| | | INFO_DESCRIPTION_CONTROLS=\u6307\u5b9a\u3055\u308c\u305f\u60c5\u5831\u3067\u8981\u6c42\u5236\u5fa1\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR=\u30a8\u30e9\u30fc\u304c\u5b58\u5728\u3057\u3066\u3082\u51e6\u7406\u3092\u7d9a\u884c\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_USE_SSL=\u30b5\u30fc\u30d0\u30fc\u3068\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30fc\u4fdd\u8b77\u3055\u308c\u305f\u901a\u4fe1\u306b SSL \u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_START_TLS=\u30b5\u30fc\u30d0\u30fc\u3068\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30fc\u4fdd\u8b77\u3055\u308c\u305f\u901a\u4fe1\u306b StartTLS \u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS=SASL \u30d0\u30a4\u30f3\u30c9\u30aa\u30d7\u30b7\u30e7\u30f3 |
| | | INFO_DESCRIPTION_VERSION=LDAP \u30d7\u30ed\u30c8\u30b3\u30eb\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u756a\u53f7 |
| | | INFO_DESCRIPTION_NOOP=\u5b9f\u884c\u3055\u308c\u308b\u5185\u5bb9\u3092\u8868\u793a\u3057\u307e\u3059\u304c\u3001\u64cd\u4f5c\u306f\u5b9f\u884c\u3057\u307e\u305b\u3093 |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD_FILE=\u8a3c\u660e\u66f8\u9375\u30b9\u30c8\u30a2\u306e PIN \u30d5\u30a1\u30a4\u30eb |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD=\u8a3c\u660e\u66f8\u30c8\u30e9\u30b9\u30c8\u30b9\u30c8\u30a2\u306e PIN |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE=\u8a3c\u660e\u66f8\u30c8\u30e9\u30b9\u30c8\u30b9\u30c8\u30a2\u306e PIN \u30d5\u30a1\u30a4\u30eb |
| | | INFO_ARGUMENT_DESCRIPTION_CERT_NICKNAME=SSL \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u8a8d\u8a3c\u306e\u8a3c\u660e\u66f8\u306e\u30cb\u30c3\u30af\u30cd\u30fc\u30e0 |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY=\u30b9\u30af\u30ea\u30d7\u30c8\u30d5\u30ec\u30f3\u30c9\u30ea\u30e2\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_PROP_FILE_PATH=\u30b3\u30de\u30f3\u30c9\u884c\u5f15\u6570\u306b\u4f7f\u7528\u3055\u308c\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u5024\u3092\u542b\u3080\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u30d1\u30b9 |
| | | INFO_DESCRIPTION_NO_PROP_FILE=\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30b3\u30de\u30f3\u30c9\u884c\u5f15\u6570\u5024\u306e\u53d6\u5f97\u306b\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u30d5\u30a1\u30a4\u30eb\u306f\u4f7f\u7528\u3055\u308c\u307e\u305b\u3093 |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT=\u63a5\u7d9a\u3092\u78ba\u7acb\u3059\u308b\u305f\u3081\u306b\u304b\u3051\u3089\u308c\u308b\u6700\u5927\u6642\u9593 (\u30df\u30ea\u79d2) |
| | | |
| | |
| | | # |
| | | |
| | | ERR_TOOL_CONFLICTING_ARGS=--%s \uc778\uc218\uc640 --%s \uc778\uc218\ub97c \ubaa8\ub450 \uc81c\uacf5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=\uac80\uc0c9 \ubc94\uc704('base', 'one', 'sub' \ub610\ub294 'subordinate') |
| | | INFO_DESCRIPTION_DONT_WRAP=\uae34 \ud589 \uc904\ubc14\uafc8 \uc548 \ud568 |
| | | INFO_DESCRIPTION_BINDDN=\uc11c\ubc84\uc5d0 \ubc14\uc778\ub4dc\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 DN |
| | | INFO_DESCRIPTION_BINDPASSWORD=\uc11c\ubc84\uc5d0 \ubc14\uc778\ub4dc\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \ube44\ubc00\ubc88\ud638 |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=\ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc744 \ubc14\uc778\ub4dc\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_KEYSTOREPATH=\uc778\uc99d\uc11c \ud0a4 \uc800\uc7a5\uc18c \uacbd\ub85c |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=\uc778\uc99d\uc11c \ud2b8\ub7ec\uc2a4\ud2b8 \uc800\uc7a5\uc18c \uacbd\ub85c |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD=\uc778\uc99d\uc11c \ud0a4 \uc800\uc7a5\uc18c PIN |
| | | INFO_ARGUMENT_DESCRIPTION_HOST_NAME=\ub514\ub809\ud1a0\ub9ac \uc11c\ubc84 \ud638\uc2a4\ud2b8 \uc774\ub984 \ub610\ub294 IP \uc8fc\uc18c |
| | | INFO_DESCRIPTION_PORT=\ub514\ub809\ud1a0\ub9ac \uc11c\ubc84 \ud3ec\ud2b8 \ubc88\ud638 |
| | | INFO_DESCRIPTION_CONTROLS=\uc81c\uacf5\ub41c \uc815\ubcf4\ub85c \uc694\uccad \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR=\uc624\ub958\uac00 \ubc1c\uc0dd\ud55c \uacbd\uc6b0\uc5d0\ub3c4 \uacc4\uc18d \ucc98\ub9ac\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_USE_SSL=\uc11c\ubc84\uc640\uc758 \ubcf4\uc548 \ud1b5\uc2e0\uc5d0 SSL\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_START_TLS=\uc11c\ubc84\uc640\uc758 \ubcf4\uc548 \ud1b5\uc2e0\uc5d0 StartTLS\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS=SASL \ubc14\uc778\ub4dc \uc635\uc158 |
| | | INFO_DESCRIPTION_VERSION=LDAP \ud504\ub85c\ud1a0\ucf5c \ubc84\uc804 \ubc88\ud638 |
| | | INFO_DESCRIPTION_NOOP=\uc644\ub8cc\ub418\uc5c8\uc9c0\ub9cc \uc544\ubb34 \uc791\uc5c5\ub3c4 \uc218\ud589\ub418\uc9c0 \uc54a\uc740 \ud56d\ubaa9\uc744 \ubcf4\uc5ec \uc90d\ub2c8\ub2e4. |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD_FILE=\uc778\uc99d\uc11c \ud0a4 \uc800\uc7a5\uc18c PIN \ud30c\uc77c |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD=\uc778\uc99d\uc11c \ud2b8\ub7ec\uc2a4\ud2b8 \uc800\uc7a5\uc18c PIN |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE=\uc778\uc99d\uc11c \ud2b8\ub7ec\uc2a4\ud2b8 \uc800\uc7a5\uc18c PIN \ud30c\uc77c |
| | | INFO_ARGUMENT_DESCRIPTION_CERT_NICKNAME=SSL \ud074\ub77c\uc774\uc5b8\ud2b8 \uc778\uc99d\uc744 \uc704\ud55c \uc778\uc99d\uc11c \ubcc4\uba85 |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY=script-friendly \ubaa8\ub4dc\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_PROP_FILE_PATH=\uba85\ub839\uc904 \uc778\uc218\uc5d0 \uc0ac\uc6a9\ub418\ub294 \uae30\ubcf8 \ub4f1\ub85d \uc815\ubcf4 \uac12\uc744 \ud3ec\ud568\ud558\ub294 \ud30c\uc77c \uacbd\ub85c |
| | | INFO_DESCRIPTION_NO_PROP_FILE=\uae30\ubcf8 \uba85\ub839\uc904 \uc778\uc218 \uac12\uc744 \uac00\uc838\uc624\ub294 \ub370 \ub4f1\ub85d \uc815\ubcf4 \ud30c\uc77c\uc744 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. |
| | | |
| | |
| | | # |
| | | |
| | | ERR_TOOL_CONFLICTING_ARGS=B\u0141\u0104D\: Nie mo\u017cesz poda\u0107 obydwu arument\u00f3w %s i %s w tym samym czasie |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=Zasi\u0119g szukania ('base', 'one', 'sub', or 'subordinate') |
| | | INFO_DESCRIPTION_DONT_WRAP=Nie zawijaj d\u0142ugich linii |
| | | INFO_DESCRIPTION_START_TLS=U\u017cyj StartTLS do bezpiecznej komunikacji z serwerem |
| | | INFO_DESCRIPTION_BINDDN=DN do po\u0142\u0105czenia z serwerem |
| | | INFO_ARGUMENT_DESCRIPTION_CERT_NICKNAME=Przydomek certyfikatu dla autentykacji SSL klienta |
| | | INFO_DESCRIPTION_NO_PROP_FILE=Nie zostanie u\u017cyty \u017caden plik z domy\u015blnymi argumentami komendy wiersza polece\u0144 |
| | | INFO_DESCRIPTION_BINDPASSWORD=Has\u0142o do po\u0142\u0105czenia z serwerem |
| | | INFO_DESCRIPTION_PROP_FILE_PATH=\u015acie\u017cka pliku zawieraj\u0105cego domy\u015blne warto\u015bci u\u017cyte jako argumenty komendy wiersza polece\u0144 |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD_FILE=Plik zawieraj\u0105cy PIN sk\u0142adu klucza certyfikatu |
| | | INFO_ARGUMENT_DESCRIPTION_HOST_NAME=Nazwa hosta lub adres IP serwera us\u0142ug katalogowych |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD=PIN sk\u0142adu zaufania certyfikatu |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD=PIN sk\u0142adu klucza certyfikatu |
| | | INFO_DESCRIPTION_PORT=Numer portu serwera us\u0142ug katalogowych |
| | | INFO_DESCRIPTION_NOOP=Poka\u017c co by\u0142oby zrobione ale nie wykonuj \u017cadnej operacji |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR=Kontynuuj prztwarzanie nawet je\u015bli wyst\u0105pi\u0142y b\u0142\u0119dy |
| | | INFO_DESCRIPTION_USE_SSL=U\u017cyj SSL do bezpiecznej komunikacji z serwerem |
| | | INFO_DESCRIPTION_CONTROLS=U\u017cyj kontroli polece\u0144 z podanymi informacjami |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=Plik zawieraj\u0105cy has\u0142o po\u0142\u0105czeniowe |
| | | INFO_DESCRIPTION_VERSION=Wersja protoko\u0142u LDAP |
| | | INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS=Opcje po\u0142\u0105czenia SASL |
| | | INFO_DESCRIPTION_KEYSTOREPATH=\u015acie\u017cka sk\u0142adu klucza certyfikatu |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE=Plik zawieraj\u0105cy PIN sk\u0142adu zaufania certyfikatu |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY=U\u017cyj trybu przyjaznego skryptom |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=\u015acie\u017cka sk\u0142adu zaufania certyfikatu |
| | | |
| | |
| | | # |
| | | |
| | | ERR_TOOL_CONFLICTING_ARGS=\u4e0d\u80fd\u540c\u65f6\u63d0\u4f9b --%s \u548c --%s \u53c2\u6570 |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=\u641c\u7d22\u8303\u56f4\uff08'base'\u3001'one'\u3001'sub' \u6216 'subordinate'\uff09 |
| | | INFO_DESCRIPTION_DONT_WRAP=\u4e0d\u5bf9\u8f83\u957f\u7684\u884c\u8fdb\u884c\u6362\u884c |
| | | INFO_DESCRIPTION_BINDDN=\u7528\u4e8e\u7ed1\u5b9a\u5230\u670d\u52a1\u5668\u7684 DN |
| | | INFO_DESCRIPTION_BINDPASSWORD=\u7528\u4e8e\u7ed1\u5b9a\u5230\u670d\u52a1\u5668\u7684\u5bc6\u7801 |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=\u7ed1\u5b9a\u5bc6\u7801\u6587\u4ef6 |
| | | INFO_DESCRIPTION_KEYSTOREPATH=\u8bc1\u4e66\u5bc6\u94a5\u5e93\u8def\u5f84 |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=\u8bc1\u4e66\u4fe1\u4efb\u5e93\u8def\u5f84 |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD=\u8bc1\u4e66\u5bc6\u94a5\u5e93 PIN |
| | | INFO_ARGUMENT_DESCRIPTION_HOST_NAME=\u76ee\u5f55\u670d\u52a1\u5668\u4e3b\u673a\u540d\u6216 IP \u5730\u5740 |
| | | INFO_DESCRIPTION_PORT=\u76ee\u5f55\u670d\u52a1\u5668\u7aef\u53e3\u53f7 |
| | | INFO_DESCRIPTION_CONTROLS=\u5c06\u8bf7\u6c42\u63a7\u5236\u7528\u4e8e\u63d0\u4f9b\u7684\u4fe1\u606f |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR=\u5373\u4f7f\u51fa\u73b0\u9519\u8bef\u4e5f\u7ee7\u7eed\u8fdb\u884c\u5904\u7406 |
| | | INFO_DESCRIPTION_USE_SSL=\u4f7f\u7528 SSL \u786e\u4fdd\u4e0e\u670d\u52a1\u5668\u8fdb\u884c\u5b89\u5168\u901a\u4fe1 |
| | | INFO_DESCRIPTION_START_TLS=\u4f7f\u7528 StartTLS \u786e\u4fdd\u4e0e\u670d\u52a1\u5668\u8fdb\u884c\u5b89\u5168\u901a\u4fe1 |
| | | INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS=SASL \u7ed1\u5b9a\u9009\u9879 |
| | | INFO_DESCRIPTION_VERSION=LDAP \u534f\u8bae\u7248\u672c\u53f7 |
| | | INFO_DESCRIPTION_NOOP=\u663e\u793a\u5c06\u8981\u6267\u884c\u7684\u64cd\u4f5c\uff0c\u4f46\u4e0d\u6267\u884c\u4efb\u4f55\u64cd\u4f5c |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD_FILE=\u8bc1\u4e66\u5bc6\u94a5\u5e93 PIN \u6587\u4ef6 |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD=\u8bc1\u4e66\u4fe1\u4efb\u5e93 PIN |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE=\u8bc1\u4e66\u4fe1\u4efb\u5e93 PIN \u6587\u4ef6 |
| | | INFO_ARGUMENT_DESCRIPTION_CERT_NICKNAME=\u7528\u4e8e SSL \u5ba2\u6237\u7aef\u9a8c\u8bc1\u7684\u8bc1\u4e66\u7684\u522b\u540d |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY=\u4f7f\u7528\u811a\u672c\u53cb\u597d\u6a21\u5f0f |
| | | INFO_DESCRIPTION_PROP_FILE_PATH=\u5305\u542b\u7528\u4e8e\u547d\u4ee4\u884c\u53c2\u6570\u7684\u9ed8\u8ba4\u5c5e\u6027\u503c\u7684\u6587\u4ef6\u7684\u8def\u5f84 |
| | | INFO_DESCRIPTION_NO_PROP_FILE=\u4e0d\u4f1a\u4f7f\u7528\u4efb\u4f55\u5c5e\u6027\u6587\u4ef6\u6765\u83b7\u53d6\u9ed8\u8ba4\u547d\u4ee4\u884c\u53c2\u6570\u503c |
| | | INFO_DESCRIPTION_CONNECTION_TIMEOUT=\u5efa\u7acb\u8fde\u63a5\u6240\u80fd\u5360\u7528\u7684\u6700\u5927\u65f6\u95f4\u957f\u5ea6\uff08\u4ee5\u6beb\u79d2\u4e3a\u5355\u4f4d\uff09 |
| | | |
| | |
| | | # |
| | | |
| | | ERR_TOOL_CONFLICTING_ARGS=\u60a8\u7121\u6cd5\u540c\u6642\u63d0\u4f9b --%s \u8207 --%s \u5f15\u6578 |
| | | INFO_SEARCH_DESCRIPTION_SEARCH_SCOPE=\u641c\u5c0b\u7bc4\u570d (\u300c\u57fa\u5e95\u300d\u3001\u300c\u4e00\u500b\u300d\u3001\u300c\u6b21\u8981\u300d\u3001\u300c\u5f9e\u5c6c\u300d) |
| | | INFO_DESCRIPTION_DONT_WRAP=\u9577\u53e5\u4e0d\u63db\u884c |
| | | INFO_DESCRIPTION_BINDDN=\u7528\u4ee5\u9023\u7d50\u81f3\u4f3a\u670d\u5668\u7684 DN |
| | | INFO_DESCRIPTION_BINDPASSWORD=\u7528\u4ee5\u9023\u7d50\u81f3\u4f3a\u670d\u5668\u7684\u5bc6\u78bc |
| | | INFO_DESCRIPTION_BINDPASSWORDFILE=\u9023\u7d50\u5bc6\u78bc\u6a94\u6848 |
| | | INFO_DESCRIPTION_KEYSTOREPATH=\u6191\u8b49\u91d1\u9470\u5eab\u8def\u5f91 |
| | | INFO_DESCRIPTION_TRUSTSTOREPATH=\u6191\u8b49\u4fe1\u4efb\u6e05\u55ae\u5b58\u653e\u5340\u8def\u5f91 |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD=\u6191\u8b49\u91d1\u9470\u5eab PIN |
| | | INFO_ARGUMENT_DESCRIPTION_HOST_NAME=\u76ee\u9304\u4f3a\u670d\u5668\u4e3b\u6a5f\u540d\u7a31\u6216 IP \u4f4d\u5740 |
| | | INFO_DESCRIPTION_PORT=\u76ee\u9304\u4f3a\u670d\u5668\u9023\u63a5\u57e0\u865f\u78bc |
| | | INFO_DESCRIPTION_CONTROLS=\u900f\u904e\u6240\u63d0\u4f9b\u7684\u8cc7\u8a0a\u4f7f\u7528\u8acb\u6c42\u63a7\u5236 |
| | | INFO_DESCRIPTION_CONTINUE_ON_ERROR=\u5373\u4f7f\u51fa\u73fe\u932f\u8aa4\u4ecd\u7e7c\u7e8c\u8655\u7406 |
| | | INFO_DESCRIPTION_USE_SSL=\u4f7f\u7528 SSL \u7dad\u8b77\u8207\u4f3a\u670d\u5668\u9593\u7684\u901a\u8a0a\u5b89\u5168 |
| | | INFO_DESCRIPTION_START_TLS=\u4f7f\u7528 StartTLS \u7dad\u8b77\u8207\u4f3a\u670d\u5668\u9593\u7684\u901a\u8a0a\u5b89\u5168 |
| | | INFO_LDAP_CONN_DESCRIPTION_SASLOPTIONS=SASL \u9023\u7d50\u9078\u9805 |
| | | INFO_DESCRIPTION_VERSION=LDAP \u5354\u5b9a\u7248\u672c\u7de8\u865f |
| | | INFO_DESCRIPTION_NOOP=\u986f\u793a\u5373\u5c07\u5b8c\u6210\u7684\u52d5\u4f5c\uff0c\u4f46\u4e0d\u57f7\u884c\u4efb\u4f55\u4f5c\u696d |
| | | INFO_ARGUMENT_DESCRIPTION_KEYSTOREPASSWORD_FILE=\u6191\u8b49\u91d1\u9470\u5eab PIN \u6a94\u6848 |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD=\u6191\u8b49\u4fe1\u4efb\u6e05\u55ae\u5b58\u653e\u5340 PIN |
| | | INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE=\u6191\u8b49\u4fe1\u4efb\u6e05\u55ae\u5b58\u653e\u5340 PIN \u6a94\u6848 |
| | | INFO_ARGUMENT_DESCRIPTION_CERT_NICKNAME=SSL \u7528\u6236\u7aef\u8a8d\u8b49\u7684\u6191\u8b49\u66b1\u7a31 |
| | | INFO_DESCRIPTION_SCRIPT_FRIENDLY=\u4f7f\u7528\u6709\u5229\u65bc\u7a0b\u5e8f\u6a94\u7684\u6a21\u5f0f |
| | | INFO_DESCRIPTION_PROP_FILE_PATH=\u6a94\u6848\u7684\u8def\u5f91\uff0c\u8a72\u6a94\u6848\u4e2d\u5305\u542b\u7528\u65bc\u6307\u4ee4\u884c\u5f15\u6578\u7684\u9810\u8a2d\u7279\u6027\u503c |
| | | INFO_DESCRIPTION_NO_PROP_FILE=\u5c07\u4e0d\u6703\u4f7f\u7528\u4efb\u4f55\u7279\u6027\u6a94\u4f86\u53d6\u5f97\u9810\u8a2d\u6307\u4ee4\u884c\u5f15\u6578\u503c |
| | | |
| | |
| | | ConnectionFactoryProvider cfp = null; |
| | | try { |
| | | cfp = new ConnectionFactoryProvider(parser, this, CliConstants.DEFAULT_ROOT_USER_DN, |
| | | CliConstants.DEFAULT_ADMINISTRATION_CONNECTOR_PORT, true); |
| | | CliConstants.DEFAULT_ADMINISTRATION_CONNECTOR_PORT, true); |
| | | cfp.setIsAnAdminConnection(); |
| | | |
| | | // Parse the command-line arguments provided to this program. |
| | |
| | | return writer.toString(); |
| | | } |
| | | |
| | | private boolean hasChanged; |
| | | |
| | | /** |
| | | * Creates a new LDIF change record writer which will append lines of LDIF |
| | | * to the provided list. |
| | |
| | | if (isBranchExcluded(change.getName())) { |
| | | return this; |
| | | } |
| | | this.hasChanged = true; |
| | | |
| | | writeKeyAndValue("dn", change.getName().toString()); |
| | | writeControls(change.getControls()); |
| | |
| | | if (isBranchExcluded(change.getName())) { |
| | | return this; |
| | | } |
| | | this.hasChanged = true; |
| | | |
| | | writeKeyAndValue("dn", change.getName().toString()); |
| | | writeControls(change.getControls()); |
| | |
| | | if (isBranchExcluded(change.getName())) { |
| | | return this; |
| | | } |
| | | this.hasChanged = true; |
| | | |
| | | writeKeyAndValue("dn", change.getName().toString()); |
| | | writeControls(change.getControls()); |
| | |
| | | if (isBranchExcluded(change.getName())) { |
| | | return this; |
| | | } |
| | | this.hasChanged = true; |
| | | |
| | | writeKeyAndValue("dn", change.getName().toString()); |
| | | writeControls(change.getControls()); |
| | |
| | | writeComment0(comment); |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * Returns {@code true} if changes has already been written in this {@link LDIFChangeRecordWriter}. |
| | | * |
| | | * @return {@code true} if changes has already been written in this {@link LDIFChangeRecordWriter} |
| | | */ |
| | | public boolean containsChanges() { |
| | | return hasChanged; |
| | | } |
| | | } |
| | |
| | | import static com.forgerock.opendj.cli.CommonArguments.*; |
| | | |
| | | import static com.forgerock.opendj.ldap.tools.Utils.readControls; |
| | | import static org.forgerock.util.Utils.closeSilently; |
| | | |
| | | import java.io.BufferedReader; |
| | | import java.io.FileNotFoundException; |
| | | import java.io.FileReader; |
| | | import java.io.IOException; |
| | | import java.io.InputStreamReader; |
| | | import java.io.PrintStream; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | |
| | | import org.forgerock.opendj.ldap.controls.ProxiedAuthV2RequestControl; |
| | | import org.forgerock.opendj.ldap.requests.CompareRequest; |
| | | import org.forgerock.opendj.ldap.requests.Requests; |
| | | import org.forgerock.opendj.ldap.responses.Result; |
| | | |
| | | import com.forgerock.opendj.cli.ArgumentException; |
| | | import com.forgerock.opendj.cli.BooleanArgument; |
| | |
| | | |
| | | /** A tool that can be used to issue Compare requests to the Directory Server. */ |
| | | public final class LDAPCompare extends ConsoleApplication { |
| | | |
| | | /** |
| | | * The main method for LDAPModify tool. |
| | | * The main method for ldapcompare tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | public static void main(final String[] args) { |
| | | final LDAPCompare ldapCompare = new LDAPCompare(); |
| | | int retCode; |
| | | System.exit(filterExitCode(run(System.out, System.err, args))); |
| | | } |
| | | |
| | | /** |
| | | * Run {@link LDAPCompare} tool with the provided arguments. |
| | | * Output and errors will be written on the provided streams. |
| | | * This method can be used to run the tool programmatically. |
| | | * |
| | | * @param out |
| | | * {@link PrintStream} which will be used by the tool to write results and information messages. |
| | | * @param err |
| | | * {@link PrintStream} which will be used by the tool to write errors. |
| | | * @param args |
| | | * Arguments set to pass to the tool. |
| | | * @return |
| | | * An integer which represents the result code of the tool. |
| | | */ |
| | | public static int run(final PrintStream out, final PrintStream err, final String... args) { |
| | | final LDAPCompare ldapCompare = new LDAPCompare(out, err); |
| | | try { |
| | | retCode = ldapCompare.run(args); |
| | | return ldapCompare.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldapCompare); |
| | | retCode = e.getResultCode(); |
| | | return e.getResultCode(); |
| | | } |
| | | System.exit(filterExitCode(retCode)); |
| | | } |
| | | |
| | | private BooleanArgument verbose; |
| | | |
| | | private LDAPCompare() { |
| | | // Nothing to do. |
| | | } |
| | | |
| | | /** |
| | | * Constructor to allow tests. |
| | | * |
| | | * @param out output stream of console application |
| | | * @param err error stream of console application |
| | | */ |
| | | LDAPCompare(PrintStream out, PrintStream err) { |
| | | private LDAPCompare(final PrintStream out, final PrintStream err) { |
| | | super(out, err); |
| | | } |
| | | |
| | |
| | | return verbose.isPresent(); |
| | | } |
| | | |
| | | private int executeCompare(final CompareRequest request, final Connection connection) { |
| | | final String dnStr = request.getName().toString(); |
| | | println(INFO_PROCESSING_COMPARE_OPERATION.get( |
| | | request.getAttributeDescription().toString(), request.getAssertionValueAsString(), dnStr)); |
| | | if (connection != null) { |
| | | try { |
| | | Result result = connection.compare(request); |
| | | if (ResultCode.COMPARE_FALSE == result.getResultCode()) { |
| | | println(INFO_COMPARE_OPERATION_RESULT_FALSE.get(dnStr)); |
| | | } else { |
| | | println(INFO_COMPARE_OPERATION_RESULT_TRUE.get(dnStr)); |
| | | } |
| | | } catch (final LdapException e) { |
| | | return printErrorMessage(this, e, ERR_LDAP_COMPARE_FAILED); |
| | | } |
| | | } |
| | | return ResultCode.SUCCESS.intValue(); |
| | | } |
| | | |
| | | int run(final String[] args) throws LDAPToolException { |
| | | private int run(final String[] args) throws LDAPToolException { |
| | | // Create the command-line argument parser for use with this program. |
| | | final LocalizableMessage toolDescription = INFO_LDAPCOMPARE_TOOL_DESCRIPTION.get(); |
| | | final LDAPToolArgumentParser argParser = LDAPToolArgumentParser.builder(LDAPCompare.class.getName()) |
| | | .toolDescription(toolDescription) |
| | | .trailingArguments(1, "attribute:value [DN ...]") |
| | | .trailingArguments(2, 2, "attribute:value DN") |
| | | .build(); |
| | | argParser.setVersionHandler(newSdkVersionHandler()); |
| | | argParser.setShortToolDescription(REF_SHORT_DESC_LDAPCOMPARE.get()); |
| | | |
| | | ConnectionFactoryProvider connectionFactoryProvider; |
| | | |
| | | BooleanArgument continueOnError; |
| | | BooleanArgument dryRun; |
| | | BooleanArgument showUsage; |
| | | IntegerArgument ldapProtocolVersion; |
| | | StringArgument assertionFilter; |
| | | StringArgument controlStr; |
| | | StringArgument encodingStr; |
| | | StringArgument filename; |
| | | StringArgument proxyAuthzID; |
| | | StringArgument propertiesFileArgument; |
| | | BooleanArgument useCompareResultCode; |
| | | BooleanArgument noPropertiesFileArgument; |
| | | BooleanArgument scriptFriendly; |
| | | |
| | | try { |
| | | connectionFactoryProvider = new ConnectionFactoryProvider(argParser, this); |
| | | |
| | |
| | | argParser.addArgument(noPropertiesFileArgument); |
| | | argParser.setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | filename = filenameArgument(INFO_LDAPMODIFY_DESCRIPTION_FILENAME.get()); |
| | | argParser.addArgument(filename); |
| | | |
| | | proxyAuthzID = proxyAuthIdArgument(); |
| | | argParser.addArgument(proxyAuthzID); |
| | | |
| | | assertionFilter = |
| | | StringArgument.builder(OPTION_LONG_ASSERTION_FILE) |
| | | .description(INFO_DESCRIPTION_ASSERTION_FILTER.get()) |
| | | .valuePlaceholder(INFO_ASSERTION_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | assertionFilter = StringArgument.builder(OPTION_LONG_ASSERTION_FILE) |
| | | .description(INFO_DESCRIPTION_ASSERTION_FILTER.get()) |
| | | .valuePlaceholder(INFO_ASSERTION_FILTER_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | useCompareResultCode = BooleanArgument.builder("useCompareResultCode") |
| | | .shortIdentifier('m') |
| | | .description(INFO_LDAPCOMPARE_DESCRIPTION_USE_COMPARE_RESULT.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | controlStr = controlArgument(); |
| | | argParser.addArgument(controlStr); |
| | |
| | | ldapProtocolVersion = ldapVersionArgument(); |
| | | argParser.addArgument(ldapProtocolVersion); |
| | | |
| | | encodingStr = encodingArgument(); |
| | | argParser.addArgument(encodingStr); |
| | | |
| | | continueOnError = continueOnErrorArgument(); |
| | | argParser.addArgument(continueOnError); |
| | | |
| | | dryRun = noOpArgument(); |
| | | argParser.addArgument(dryRun); |
| | | |
| | | verbose = verboseArgument(); |
| | | argParser.addArgument(verbose); |
| | | |
| | | scriptFriendly = scriptFriendlySdkArgument(); |
| | | argParser.addArgument(scriptFriendly); |
| | | |
| | | showUsage = showUsageArgument(); |
| | | argParser.addArgument(showUsage); |
| | | argParser.setUsageArgument(showUsage, getOutputStream()); |
| | |
| | | } |
| | | ensureLdapProtocolVersionIsSupported(ldapProtocolVersion); |
| | | |
| | | final List<String> dnStrings = new ArrayList<>(); |
| | | final List<String> attrAndDNStrings = argParser.getTrailingArguments(); |
| | | final List<String> trailingArguments = argParser.getTrailingArguments(); |
| | | final String attribute = trailingArguments.get(0); |
| | | final String dn = trailingArguments.get(1); |
| | | |
| | | if (attrAndDNStrings.isEmpty()) { |
| | | argParser.displayMessageAndUsageReference(getErrStream(), ERR_LDAPCOMPARE_NO_ATTR.get()); |
| | | return ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue(); |
| | | } |
| | | |
| | | // First element should be an attribute string. |
| | | final String attributeString = attrAndDNStrings.remove(0); |
| | | // Rest are DN strings |
| | | dnStrings.addAll(attrAndDNStrings); |
| | | |
| | | // If no DNs were provided, then exit with an error. |
| | | if (dnStrings.isEmpty() && !filename.isPresent()) { |
| | | argParser.displayMessageAndUsageReference(getErrStream(), ERR_LDAPCOMPARE_NO_DNS.get()); |
| | | return ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue(); |
| | | } |
| | | |
| | | /* If trailing DNs were provided and the filename argument was also |
| | | provided, exit with an error.*/ |
| | | if (!dnStrings.isEmpty() && filename.isPresent()) { |
| | | argParser.displayMessageAndUsageReference(getErrStream(), ERR_LDAPCOMPARE_FILENAME_AND_DNS.get()); |
| | | return ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue(); |
| | | } |
| | | |
| | | // parse the attribute string |
| | | final int idx = attributeString.indexOf(":"); |
| | | // Parse the attribute string |
| | | final int idx = attribute.indexOf(":"); |
| | | if (idx == -1) { |
| | | argParser.displayMessageAndUsageReference( |
| | | getErrStream(), ERR_LDAPCOMPARE_INVALID_ATTR_STRING.get(attributeString)); |
| | | getErrStream(), ERR_LDAPCOMPARE_INVALID_ATTR_STRING.get(attribute)); |
| | | return ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue(); |
| | | } |
| | | final String attributeType = attributeString.substring(0, idx); |
| | | final String attributeType = attribute.substring(0, idx); |
| | | ByteString attributeVal; |
| | | final String remainder = attributeString.substring(idx + 1, attributeString.length()); |
| | | final String remainder = attribute.substring(idx + 1, attribute.length()); |
| | | if (remainder.length() > 0) { |
| | | final char nextChar = remainder.charAt(0); |
| | | if (nextChar == ':') { |
| | |
| | | compare.addControl(readAssertionControl(assertionFilter.getValue())); |
| | | } |
| | | |
| | | BufferedReader rdr = null; |
| | | if (!filename.isPresent() && dnStrings.isEmpty()) { |
| | | // Read from stdin. |
| | | rdr = new BufferedReader(new InputStreamReader(System.in)); |
| | | } else if (filename.isPresent()) { |
| | | try { |
| | | rdr = new BufferedReader(new FileReader(filename.getValue())); |
| | | } catch (final FileNotFoundException t) { |
| | | throw newToolParamException( |
| | | t, ERR_LDAPCOMPARE_ERROR_READING_FILE.get(filename.getValue(), t.toString())); |
| | | } |
| | | } |
| | | |
| | | try (final Connection connection = getConnection(argParser.getConnectionFactory(), |
| | | argParser.getBindRequest(), |
| | | dryRun, |
| | | this)) { |
| | | int result; |
| | | if (rdr == null) { |
| | | for (final String dn : dnStrings) { |
| | | compare.setName(dn); |
| | | result = executeCompare(compare, connection); |
| | | if (result != 0 && !continueOnError.isPresent()) { |
| | | return result; |
| | | } |
| | | } |
| | | } else { |
| | | String dn; |
| | | try { |
| | | while ((dn = rdr.readLine()) != null) { |
| | | compare.setName(dn); |
| | | result = executeCompare(compare, connection); |
| | | if (result != 0 && !continueOnError.isPresent()) { |
| | | return result; |
| | | } |
| | | } |
| | | } catch (final IOException ioe) { |
| | | throw newToolParamException( |
| | | ioe, ERR_LDAPCOMPARE_ERROR_READING_FILE.get(filename.getValue(), ioe.toString())); |
| | | } |
| | | } |
| | | } finally { |
| | | closeSilently(rdr); |
| | | compare.setName(dn); |
| | | final int compareResultCode = executeCompare(compare, connection, scriptFriendly.isPresent()); |
| | | final boolean compareTrue = compareResultCode == ResultCode.COMPARE_TRUE.intValue(); |
| | | return !useCompareResultCode.isPresent() && compareTrue ? ResultCode.SUCCESS.intValue() |
| | | : compareResultCode; |
| | | } |
| | | } |
| | | |
| | | private int executeCompare( |
| | | final CompareRequest request, final Connection connection, final boolean isScriptFriendly) { |
| | | final String dnStr = request.getName().toString(); |
| | | if (!isScriptFriendly) { |
| | | println(INFO_PROCESSING_COMPARE_OPERATION.get( |
| | | request.getAttributeDescription().toString(), request.getAssertionValueAsString(), dnStr)); |
| | | } |
| | | |
| | | return ResultCode.SUCCESS.intValue(); |
| | | if (connection == null) { |
| | | // Dry run. There nothing more to check on client side. |
| | | return ResultCode.COMPARE_TRUE.intValue(); |
| | | } |
| | | |
| | | try { |
| | | final ResultCode resultCode = connection.compare(request).getResultCode(); |
| | | if (!isScriptFriendly) { |
| | | println(ResultCode.COMPARE_FALSE == resultCode ? INFO_COMPARE_OPERATION_RESULT_FALSE.get(dnStr) |
| | | : INFO_COMPARE_OPERATION_RESULT_TRUE.get(dnStr)); |
| | | } |
| | | return resultCode.intValue(); |
| | | } catch (final LdapException e) { |
| | | return printErrorMessage(this, e, ERR_LDAP_COMPARE_FAILED); |
| | | } |
| | | } |
| | | } |
| | |
| | | package com.forgerock.opendj.ldap.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CliMessages.INFO_FILE_PLACEHOLDER; |
| | | import static com.forgerock.opendj.cli.ToolVersionHandler.newSdkVersionHandler; |
| | | import static com.forgerock.opendj.ldap.tools.LDAPToolException.newToolParamException; |
| | | import static com.forgerock.opendj.ldap.tools.ToolsMessages.*; |
| | |
| | | |
| | | import static org.forgerock.util.Utils.closeSilently; |
| | | |
| | | import java.io.FileInputStream; |
| | | import java.io.IOException; |
| | | import java.io.PrintStream; |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | |
| | | * to the Directory Server. |
| | | */ |
| | | public final class LDAPModify extends ConsoleApplication { |
| | | |
| | | /** |
| | | * The main method for ldapmodify tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | public static void main(final String[] args) { |
| | | System.exit(filterExitCode(run(System.out, System.err, args))); |
| | | } |
| | | |
| | | /** |
| | | * Run {@link LDAPModify} tool with the provided arguments. |
| | | * Output and errors will be written on the provided streams. |
| | | * This method can be used to run the tool programmatically. |
| | | * |
| | | * @param out |
| | | * {@link PrintStream} which will be used by the tool to write results and information messages. |
| | | * @param err |
| | | * {@link PrintStream} which will be used by the tool to write errors. |
| | | * @param args |
| | | * Arguments set to pass to the tool. |
| | | * @return |
| | | * An integer which represents the result code of the tool. |
| | | */ |
| | | public static int run(final PrintStream out, final PrintStream err, final String... args) { |
| | | final LDAPModify ldapModify = new LDAPModify(out, err); |
| | | try { |
| | | return ldapModify.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldapModify); |
| | | return e.getResultCode(); |
| | | } |
| | | } |
| | | |
| | | private final class VisitorImpl implements ChangeRecordVisitor<Integer, Void> { |
| | | private final Connection connection; |
| | | |
| | |
| | | // TODO: CSN control |
| | | } |
| | | |
| | | /** |
| | | * The main method for LDAPModify tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | public static void main(final String[] args) { |
| | | final LDAPModify ldapModify = new LDAPModify(); |
| | | int retCode; |
| | | try { |
| | | retCode = ldapModify.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldapModify); |
| | | retCode = e.getResultCode(); |
| | | } |
| | | System.exit(filterExitCode(retCode)); |
| | | } |
| | | |
| | | private EntryWriter writer; |
| | | private Collection<Control> controls; |
| | | private BooleanArgument verbose; |
| | | |
| | | private LDAPModify() { |
| | | // Nothing to do. |
| | | private LDAPModify(final PrintStream out, final PrintStream err) { |
| | | super(out, err); |
| | | } |
| | | |
| | | @Override |
| | |
| | | return verbose.isPresent(); |
| | | } |
| | | |
| | | int run(final String[] args) throws LDAPToolException { |
| | | private int run(final String[] args) throws LDAPToolException { |
| | | // Create the command-line argument parser for use with this program. |
| | | final LocalizableMessage toolDescription = INFO_LDAPMODIFY_TOOL_DESCRIPTION.get(); |
| | | final LDAPToolArgumentParser argParser = LDAPToolArgumentParser.builder(LDAPModify.class.getName()) |
| | | .toolDescription(toolDescription) |
| | | .toolDescription(INFO_LDAPMODIFY_TOOL_DESCRIPTION.get()) |
| | | .trailingArguments("[changes_files ...]") |
| | | .build(); |
| | | argParser.setVersionHandler(newSdkVersionHandler()); |
| | | argParser.setShortToolDescription(REF_SHORT_DESC_LDAPMODIFY.get()); |
| | |
| | | argParser.addArgument(noPropertiesFileArgument); |
| | | argParser.setNoPropertiesFileArgument(noPropertiesFileArgument); |
| | | |
| | | filename = filenameArgument(INFO_LDAPMODIFY_DESCRIPTION_FILENAME.get()); |
| | | argParser.addArgument(filename); |
| | | filename = |
| | | StringArgument.builder(OPTION_LONG_FILENAME) |
| | | .shortIdentifier(OPTION_SHORT_FILENAME) |
| | | .description(INFO_LDAPMODIFY_DESCRIPTION_FILENAME.get()) |
| | | .valuePlaceholder(INFO_FILE_PLACEHOLDER.get()) |
| | | .hidden() |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | proxyAuthzID = |
| | | StringArgument.builder(OPTION_LONG_PROXYAUTHID) |
| | |
| | | argParser.getBindRequest(), |
| | | noop, |
| | | this)) { |
| | | if (filename.isPresent()) { |
| | | final String filePath = filename.getValue(); |
| | | try { |
| | | reader = new LDIFChangeRecordReader(new FileInputStream(filePath)); |
| | | } catch (final Exception e) { |
| | | throw newToolParamException( |
| | | e, ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ.get(filePath, e.getLocalizedMessage())); |
| | | } |
| | | } else { |
| | | reader = new LDIFChangeRecordReader(getInputStream()); |
| | | } |
| | | reader = createLDIFChangeRecordReader(filename, argParser.getTrailingArguments()); |
| | | |
| | | final VisitorImpl visitor = new VisitorImpl(connection); |
| | | try { |
| | |
| | | return ResultCode.SUCCESS.intValue(); |
| | | } |
| | | |
| | | private ChangeRecordReader createLDIFChangeRecordReader(final StringArgument fileNameArg, |
| | | final List<String> trailingArgs) |
| | | throws LDAPToolException { |
| | | final boolean fileNameArgUsed = fileNameArg.isPresent(); |
| | | final boolean readFromStdinTokenUsed = trailingArgs.size() == 1 |
| | | && USE_SYSTEM_STREAM_TOKEN.equals(trailingArgs.get(0)); |
| | | final boolean readChangesFromStdin = readFromStdinTokenUsed || !fileNameArgUsed && trailingArgs.isEmpty(); |
| | | if (readChangesFromStdin) { |
| | | return new LDIFChangeRecordReader(getInputStream()); |
| | | } |
| | | |
| | | final List<String> filesToRead = new ArrayList<>(); |
| | | if (fileNameArgUsed) { |
| | | filesToRead.add(fileNameArg.getValue()); |
| | | } |
| | | filesToRead.addAll(trailingArgs); |
| | | return new LDIFChangeRecordReader(Utils.getLinesFromFiles(filesToRead)); |
| | | } |
| | | |
| | | private void addReadAttributesToControl( |
| | | final Collection<Control> controls, final StringArgument attributesArg, final boolean preRead) { |
| | | if (attributesArg.isPresent()) { |
| | |
| | | import static com.forgerock.opendj.ldap.tools.Utils.printErrorMessage; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.readControls; |
| | | |
| | | import java.io.PrintStream; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.opendj.ldap.ByteString; |
| | | import org.forgerock.opendj.ldap.Connection; |
| | |
| | | * request. |
| | | */ |
| | | public final class LDAPPasswordModify extends ConsoleApplication { |
| | | |
| | | /** |
| | | * Parses the command-line arguments, establishes a connection to the |
| | | * Directory Server, sends the password modify request, and reads the |
| | | * response. |
| | | * The main method for ldappasswordmodify tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | public static void main(final String[] args) { |
| | | final LDAPPasswordModify ldapPasswordModify = new LDAPPasswordModify(); |
| | | int retCode; |
| | | System.exit(filterExitCode(run(System.out, System.err, args))); |
| | | } |
| | | |
| | | /** |
| | | * Run {@link LDAPPasswordModify} tool with the provided arguments. |
| | | * Output and errors will be written on the provided streams. |
| | | * This method can be used to run the tool programmatically. |
| | | * |
| | | * @param out |
| | | * {@link PrintStream} which will be used by the tool to write results and information messages. |
| | | * @param err |
| | | * {@link PrintStream} which will be used by the tool to write errors. |
| | | * @param args |
| | | * Arguments set to pass to the tool. |
| | | * @return |
| | | * An integer which represents the result code of the tool. |
| | | */ |
| | | public static int run(final PrintStream out, final PrintStream err, final String... args) { |
| | | final LDAPPasswordModify ldapPasswordModify = new LDAPPasswordModify(out, err); |
| | | try { |
| | | retCode = ldapPasswordModify.run(args); |
| | | return ldapPasswordModify.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldapPasswordModify); |
| | | retCode = e.getResultCode(); |
| | | return e.getResultCode(); |
| | | } |
| | | System.exit(filterExitCode(retCode)); |
| | | } |
| | | |
| | | private BooleanArgument verbose; |
| | | |
| | | private LDAPPasswordModify() { |
| | | // Nothing to do. |
| | | private LDAPPasswordModify(final PrintStream out, final PrintStream err) { |
| | | super(out, err); |
| | | } |
| | | |
| | | @Override |
| | |
| | | import org.forgerock.opendj.ldap.controls.ServerSideSortRequestControl; |
| | | import org.forgerock.opendj.ldap.controls.ServerSideSortResponseControl; |
| | | import org.forgerock.opendj.ldap.controls.SimplePagedResultsControl; |
| | | import org.forgerock.opendj.ldap.controls.SubentriesRequestControl; |
| | | import org.forgerock.opendj.ldap.controls.VirtualListViewRequestControl; |
| | | import org.forgerock.opendj.ldap.controls.VirtualListViewResponseControl; |
| | | import org.forgerock.opendj.ldap.requests.BindRequest; |
| | |
| | | import static com.forgerock.opendj.ldap.tools.LDAPToolException.newToolParamException; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.addControlsToRequest; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.ensureLdapProtocolVersionIsSupported; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.computeWrapColumn; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.printErrorMessage; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.printPasswordPolicyResults; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.printlnTextMsg; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.readAssertionControl; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.readControls; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.readFiltersFromFile; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.readFilterFromString; |
| | | import static org.forgerock.util.Utils.*; |
| | | |
| | |
| | | |
| | | /** A tool that can be used to issue Search requests to the Directory Server. */ |
| | | public final class LDAPSearch extends ConsoleApplication { |
| | | |
| | | /** |
| | | * The main method for ldapsearch tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | public static void main(final String[] args) { |
| | | System.exit(filterExitCode(run(System.out, System.err, args))); |
| | | } |
| | | |
| | | /** |
| | | * Run {@link LDAPSearch} tool with the provided arguments. |
| | | * Output and errors will be written on the provided streams. |
| | | * This method can be used to run the tool programmatically. |
| | | * |
| | | * @param out |
| | | * {@link PrintStream} which will be used by the tool to write results and information messages. |
| | | * @param err |
| | | * {@link PrintStream} which will be used by the tool to write errors. |
| | | * @param args |
| | | * Arguments set to pass to the tool. |
| | | * @return |
| | | * An integer which represents the result code of the tool. |
| | | */ |
| | | public static int run(final PrintStream out, final PrintStream err, final String... args) { |
| | | final LDAPSearch ldapSearch = new LDAPSearch(out, err); |
| | | try { |
| | | return ldapSearch.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldapSearch); |
| | | return e.getResultCode(); |
| | | } catch (final ArgumentException e) { |
| | | ldapSearch.errPrintln(ERR_ERROR_PARSING_ARGS.get(e.getMessageObject())); |
| | | return ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue(); |
| | | } |
| | | } |
| | | |
| | | private class LDAPSearchResultHandler implements SearchResultHandler { |
| | | private int entryCount; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * The main method for LDAPSearch tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | |
| | | public static void main(final String[] args) { |
| | | final LDAPSearch ldapSearch = new LDAPSearch(); |
| | | int retCode; |
| | | try { |
| | | retCode = ldapSearch.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldapSearch); |
| | | retCode = e.getResultCode(); |
| | | } catch (final ArgumentException e) { |
| | | ldapSearch.errPrintln(ERR_ERROR_PARSING_ARGS.get(e.getMessageObject())); |
| | | retCode = ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue(); |
| | | } |
| | | System.exit(filterExitCode(retCode)); |
| | | } |
| | | |
| | | private BooleanArgument verbose; |
| | | |
| | | private EntryWriter ldifWriter; |
| | | |
| | | private LDAPSearch() { |
| | | // Nothing to do. |
| | | } |
| | | |
| | | /** |
| | | * Constructor to allow tests. |
| | | * |
| | | * @param out output stream of console application |
| | | * @param err error stream of console application |
| | | */ |
| | | LDAPSearch(PrintStream out, PrintStream err) { |
| | | private LDAPSearch(final PrintStream out, final PrintStream err) { |
| | | super(out, err); |
| | | } |
| | | |
| | |
| | | return verbose.isPresent(); |
| | | } |
| | | |
| | | /** Run ldapsearch with provided command-line arguments. */ |
| | | int run(final String[] args) throws LDAPToolException, ArgumentException { |
| | | private int run(final String[] args) throws LDAPToolException, ArgumentException { |
| | | // Create the command-line argument parser for use with this program. |
| | | final LocalizableMessage toolDescription = INFO_LDAPSEARCH_TOOL_DESCRIPTION.get(); |
| | | final LDAPToolArgumentParser argParser = LDAPToolArgumentParser.builder(LDAPSearch.class.getName()) |
| | | .toolDescription(toolDescription) |
| | | .trailingArguments("[filter] [attributes ...]") |
| | | .trailingArgumentsUnbounded(1, "filter [attributes ...]") |
| | | .build(); |
| | | argParser.setVersionHandler(newSdkVersionHandler()); |
| | | argParser.setShortToolDescription(REF_SHORT_DESC_LDAPSEARCH.get()); |
| | |
| | | ConnectionFactoryProvider connectionFactoryProvider; |
| | | |
| | | BooleanArgument countEntries; |
| | | BooleanArgument dontWrap; |
| | | IntegerArgument wrapColumn; |
| | | BooleanArgument noop; |
| | | BooleanArgument typesOnly; |
| | | IntegerArgument simplePageSize; |
| | |
| | | StringArgument baseDN; |
| | | StringArgument controlStr; |
| | | MultiChoiceArgument<DereferenceAliasesPolicy> dereferencePolicy; |
| | | StringArgument filterFile; |
| | | StringArgument matchedValuesFilter; |
| | | StringArgument pSearchInfo; |
| | | MultiChoiceArgument<SearchScope> searchScope; |
| | |
| | | StringArgument proxyAuthzID; |
| | | StringArgument assertionFilter; |
| | | IntegerArgument sizeLimit; |
| | | BooleanArgument subEntriesArgument; |
| | | |
| | | try { |
| | | connectionFactoryProvider = new ConnectionFactoryProvider(argParser, this); |
| | | |
| | | final StringArgument propertiesFileArgument = propertiesFileArgument(); |
| | | argParser.addArgument(propertiesFileArgument); |
| | | argParser.setFilePropertiesArgument(propertiesFileArgument); |
| | |
| | | searchScope = searchScopeArgument(); |
| | | argParser.addArgument(searchScope); |
| | | |
| | | filterFile = filenameArgument(INFO_SEARCH_DESCRIPTION_FILENAME.get()); |
| | | argParser.addArgument(filterFile); |
| | | |
| | | proxyAuthzID = |
| | | StringArgument.builder(OPTION_LONG_PROXYAUTHID) |
| | | .shortIdentifier(OPTION_SHORT_PROXYAUTHID) |
| | |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_TIME_LIMIT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | dontWrap = |
| | | BooleanArgument.builder("dontWrap") |
| | | .shortIdentifier('t') |
| | | .description(INFO_DESCRIPTION_DONT_WRAP.get()) |
| | | .buildAndAddToParser(argParser); |
| | | wrapColumn = wrapColumnArgument(); |
| | | argParser.addArgument(wrapColumn); |
| | | countEntries = |
| | | BooleanArgument.builder("countEntries") |
| | | .description(INFO_DESCRIPTION_COUNT_ENTRIES.get()) |
| | | .buildAndAddToParser(argParser); |
| | | subEntriesArgument = |
| | | BooleanArgument.builder(OPTION_LONG_SUBENTRIES) |
| | | .shortIdentifier(OPTION_SHORT_SUBENTRIES) |
| | | .description(INFO_DESCRIPTION_SUBENTRIES.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | final BooleanArgument continueOnError = continueOnErrorArgument(); |
| | | argParser.addArgument(continueOnError); |
| | |
| | | return ResultCode.SUCCESS.intValue(); |
| | | } |
| | | |
| | | final List<Filter> filters = new LinkedList<>(); |
| | | final List<String> trailingArgs = argParser.getTrailingArguments(); |
| | | final Filter filter = readFilterFromString(trailingArgs.get(0)); |
| | | final List<String> attributes = new LinkedList<>(); |
| | | final List<String> filterAndAttributeStrings = argParser.getTrailingArguments(); |
| | | if (!filterAndAttributeStrings.isEmpty()) { |
| | | // If filter file is not present, the first trailing argument is considered the filter |
| | | if (!filterFile.isPresent()) { |
| | | filters.add(readFilterFromString(filterAndAttributeStrings.remove(0))); |
| | | } |
| | | if (trailingArgs.size() > 1) { |
| | | // The rest of trailing argument are attributes |
| | | attributes.addAll(filterAndAttributeStrings); |
| | | } |
| | | |
| | | if (filterFile.isPresent()) { |
| | | filters.addAll(readFiltersFromFile(filterFile.getValue())); |
| | | } |
| | | |
| | | if (filters.isEmpty()) { |
| | | argParser.displayMessageAndUsageReference(getErrStream(), ERR_SEARCH_NO_FILTERS.get()); |
| | | return ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue(); |
| | | attributes.addAll(trailingArgs.subList(1, trailingArgs.size())); |
| | | } |
| | | |
| | | final SearchScope scope = searchScope.getTypedValue(); |
| | | final SearchRequest search; |
| | | final SearchRequest searchRequest; |
| | | try { |
| | | search = Requests.newSearchRequest(DN.valueOf(baseDN.getValue()), scope, filters.get(0), |
| | | attributes.toArray(new String[attributes.size()])); |
| | | searchRequest = Requests.newSearchRequest(DN.valueOf(baseDN.getValue()), |
| | | scope, |
| | | filter, |
| | | attributes.toArray(new String[attributes.size()])); |
| | | ensureLdapProtocolVersionIsSupported(ldapProtocolVersion); |
| | | } catch (final LocalizedIllegalArgumentException e) { |
| | | errPrintln(e.getMessageObject()); |
| | | return ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue(); |
| | | } |
| | | |
| | | search.setTypesOnly(typesOnly.isPresent()); |
| | | search.setTimeLimit(timeLimit.getIntValue()); |
| | | search.setSizeLimit(sizeLimit.getIntValue()); |
| | | search.setDereferenceAliasesPolicy(dereferencePolicy.getTypedValue()); |
| | | addControlsToRequest(search, readControls(controlStr)); |
| | | searchRequest.setTypesOnly(typesOnly.isPresent()) |
| | | .setTimeLimit(timeLimit.getIntValue()) |
| | | .setSizeLimit(sizeLimit.getIntValue()) |
| | | .setDereferenceAliasesPolicy(dereferencePolicy.getTypedValue()); |
| | | addControlsToRequest(searchRequest, readControls(controlStr)); |
| | | |
| | | if (effectiveRightsUser.isPresent()) { |
| | | final String authzID = effectiveRightsUser.getValue(); |
| | |
| | | throw newToolParamException(ERR_EFFECTIVERIGHTS_INVALID_AUTHZID.get(authzID)); |
| | | } |
| | | final List<String> attrValues = effectiveRightsAttrs.getValues(); |
| | | search.addControl(GetEffectiveRightsRequestControl.newControl( |
| | | searchRequest.addControl(GetEffectiveRightsRequestControl.newControl( |
| | | false, authzID.substring(3), attrValues.toArray(new String[attrValues.size()]))); |
| | | } |
| | | |
| | | if (proxyAuthzID.isPresent()) { |
| | | search.addControl(ProxiedAuthV2RequestControl.newControl(proxyAuthzID.getValue())); |
| | | searchRequest.addControl(ProxiedAuthV2RequestControl.newControl(proxyAuthzID.getValue())); |
| | | } |
| | | |
| | | if (pSearchInfo.isPresent()) { |
| | | search.addControl(computePSearchControl(pSearchInfo)); |
| | | searchRequest.addControl(computePSearchControl(pSearchInfo)); |
| | | } |
| | | |
| | | if (assertionFilter.isPresent()) { |
| | | search.addControl(readAssertionControl(assertionFilter.getValue())); |
| | | searchRequest.addControl(readAssertionControl(assertionFilter.getValue())); |
| | | } |
| | | |
| | | if (matchedValuesFilter.isPresent()) { |
| | |
| | | throw newToolParamException(le, ERR_LDAP_MATCHEDVALUES_INVALID_FILTER.get(le.getMessage())); |
| | | } |
| | | } |
| | | search.addControl(MatchedValuesRequestControl.newControl(true, mvFilters)); |
| | | searchRequest.addControl(MatchedValuesRequestControl.newControl(true, mvFilters)); |
| | | } |
| | | |
| | | if (sortOrder.isPresent()) { |
| | | try { |
| | | search.addControl(ServerSideSortRequestControl.newControl(false, sortOrder.getValue())); |
| | | searchRequest.addControl(ServerSideSortRequestControl.newControl(false, sortOrder.getValue())); |
| | | } catch (final LocalizedIllegalArgumentException le) { |
| | | throw newToolParamException(le, ERR_LDAP_SORTCONTROL_INVALID_ORDER.get(le.getMessageObject())); |
| | | } |
| | | } |
| | | |
| | | if (vlvDescriptor.isPresent()) { |
| | | search.addControl(readVLVControl(vlvDescriptor, sortOrder)); |
| | | searchRequest.addControl(readVLVControl(vlvDescriptor, sortOrder)); |
| | | } |
| | | |
| | | if (subEntriesArgument.isPresent()) { |
| | | searchRequest.addControl(SubentriesRequestControl.newControl(true, true)); |
| | | } |
| | | |
| | | int pageSize = 0; |
| | | if (simplePageSize.isPresent()) { |
| | | if (filters.size() > 1) { |
| | | throw newToolParamException(ERR_PAGED_RESULTS_REQUIRES_SINGLE_FILTER.get()); |
| | | } |
| | | pageSize = simplePageSize.getIntValue(); |
| | | search.addControl(SimplePagedResultsControl.newControl(true, pageSize, ByteString.empty())); |
| | | } |
| | | |
| | | int wrapColumn = 80; |
| | | if (dontWrap.isPresent()) { |
| | | wrapColumn = 0; |
| | | searchRequest.addControl(SimplePagedResultsControl.newControl(true, pageSize, ByteString.empty())); |
| | | } |
| | | |
| | | if (noop.isPresent()) { |
| | |
| | | printPasswordPolicyResults(this, connection.bind(bindRequest)); |
| | | } |
| | | |
| | | int filterIndex = 0; |
| | | ldifWriter = new LDIFEntryWriter(getOutputStream()).setWrapColumn(wrapColumn); |
| | | ldifWriter = new LDIFEntryWriter(getOutputStream()).setWrapColumn(computeWrapColumn(wrapColumn)); |
| | | final LDAPSearchResultHandler resultHandler = new LDAPSearchResultHandler(); |
| | | while (true) { |
| | | Result result = connection.search(search, resultHandler); |
| | | boolean hasRemainingPages; |
| | | Result result; |
| | | do { |
| | | hasRemainingPages = false; |
| | | result = connection.search(searchRequest, resultHandler); |
| | | try { |
| | | final ServerSideSortResponseControl control = |
| | | result.getControl(ServerSideSortResponseControl.DECODER, new DecodeOptions()); |
| | |
| | | if (!isQuiet()) { |
| | | pressReturnToContinue(); |
| | | } |
| | | final Iterator<Control> iterator = search.getControls().iterator(); |
| | | final Iterator<Control> iterator = searchRequest.getControls().iterator(); |
| | | while (iterator.hasNext()) { |
| | | if (SimplePagedResultsControl.OID.equals(iterator.next().getOID())) { |
| | | iterator.remove(); |
| | | } |
| | | } |
| | | control = SimplePagedResultsControl.newControl(true, pageSize, control.getCookie()); |
| | | search.addControl(control); |
| | | continue; |
| | | searchRequest.addControl(control); |
| | | hasRemainingPages = true; |
| | | } |
| | | } catch (final DecodeException e) { |
| | | errPrintln(ERR_DECODE_CONTROL_FAILURE.get(e.getLocalizedMessage())); |
| | | } |
| | | } while (hasRemainingPages); |
| | | |
| | | errPrintln(); |
| | | final ResultCode rc = result.getResultCode(); |
| | | errPrintln(ERR_TOOL_RESULT_CODE.get(rc.intValue(), rc.toString())); |
| | | printlnTextMsg(this, result.getDiagnosticMessage()); |
| | | printlnTextMsg(this, ERR_TOOL_MATCHED_DN, result.getMatchedDN()); |
| | | errPrintln(); |
| | | final ResultCode rc = result.getResultCode(); |
| | | errPrintln(ERR_TOOL_RESULT_CODE.get(rc.intValue(), rc.toString())); |
| | | printlnTextMsg(this, result.getDiagnosticMessage()); |
| | | printlnTextMsg(this, ERR_TOOL_MATCHED_DN, result.getMatchedDN()); |
| | | |
| | | filterIndex++; |
| | | if (filterIndex < filters.size()) { |
| | | search.setFilter(filters.get(filterIndex)); |
| | | } else { |
| | | break; |
| | | } |
| | | } |
| | | if (countEntries.isPresent() && !isQuiet()) { |
| | | println(INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT.get(resultHandler.entryCount)); |
| | | println(); |
| | |
| | | * information: "Portions Copyright [year] [name of copyright owner]". |
| | | * |
| | | * Copyright 2012-2016 ForgeRock AS. |
| | | * Portions Copyright 2014-2015 ForgeRock AS. |
| | | */ |
| | | package com.forgerock.opendj.ldap.tools; |
| | | |
| | |
| | | import static com.forgerock.opendj.cli.Utils.filterExitCode; |
| | | import static com.forgerock.opendj.cli.CommonArguments.*; |
| | | |
| | | import static com.forgerock.opendj.ldap.tools.Utils.computeWrapColumn; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.getLDIFToolInputStream; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.getLDIFToolOutputStream; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.parseArguments; |
| | |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.io.PrintStream; |
| | | import java.util.List; |
| | | |
| | | import com.forgerock.opendj.cli.IntegerArgument; |
| | | import org.forgerock.i18n.LocalizableException; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.opendj.ldap.ResultCode; |
| | | import org.forgerock.opendj.ldif.ChangeRecordReader; |
| | | import org.forgerock.opendj.ldif.LDIF; |
| | | import org.forgerock.opendj.ldif.LDIFChangeRecordWriter; |
| | | import org.forgerock.opendj.ldif.LDIFEntryReader; |
| | |
| | | */ |
| | | public final class LDIFDiff extends ConsoleApplication { |
| | | |
| | | static final int NO_DIFFERENCES_FOUND = 0; |
| | | static final int DIFFERENCES_FOUND = 1; |
| | | |
| | | /** |
| | | * The main method for LDIFDiff tool. |
| | | * The main method for ldifdiff tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | public static void main(final String[] args) { |
| | | final LDIFDiff ldifDiff = new LDIFDiff(); |
| | | int retCode; |
| | | try { |
| | | retCode = ldifDiff.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldifDiff); |
| | | retCode = e.getResultCode(); |
| | | } |
| | | System.exit(filterExitCode(retCode)); |
| | | System.exit(filterExitCode(run(System.out, System.err, args))); |
| | | } |
| | | |
| | | private LDIFDiff() { |
| | | // Nothing to do. |
| | | /** |
| | | * Run {@link LDIFDiff} tool with the provided arguments. |
| | | * Output and errors will be written on the provided streams. |
| | | * This method can be used to run the tool programmatically. |
| | | * |
| | | * @param out |
| | | * {@link PrintStream} which will be used by the tool to write results and information messages. |
| | | * @param err |
| | | * {@link PrintStream} which will be used by the tool to write errors. |
| | | * @param args |
| | | * Arguments set to pass to the tool. |
| | | * @return |
| | | * An integer which represents the result code of the tool. |
| | | */ |
| | | public static int run(final PrintStream out, final PrintStream err, final String... args) { |
| | | final LDIFDiff ldifDiff = new LDIFDiff(out, err); |
| | | try { |
| | | return ldifDiff.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldifDiff); |
| | | return e.getResultCode(); |
| | | } |
| | | } |
| | | |
| | | private LDIFDiff(final PrintStream out, final PrintStream err) { |
| | | super(out, err); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isInteractive() { |
| | | return false; |
| | | } |
| | | |
| | | private int run(final String[] args) throws LDAPToolException { |
| | | // Create the command-line argument parser for use with this program. |
| | | final LocalizableMessage toolDescription = INFO_LDIFDIFF_TOOL_DESCRIPTION.get(); |
| | | final ArgumentParser argParser = LDAPToolArgumentParser.builder(LDIFDiff.class.getName()) |
| | | .toolDescription(toolDescription) |
| | | .toolDescription(INFO_LDIFDIFF_TOOL_DESCRIPTION.get()) |
| | | .trailingArguments(2, "source target") |
| | | .build(); |
| | | argParser.setVersionHandler(newSdkVersionHandler()); |
| | |
| | | |
| | | final BooleanArgument showUsage; |
| | | final StringArgument outputFilename; |
| | | final IntegerArgument wrapColumn; |
| | | try { |
| | | outputFilename = |
| | | StringArgument.builder(OPTION_LONG_OUTPUT_LDIF_FILENAME) |
| | |
| | | .defaultValue("stdout") |
| | | .valuePlaceholder(INFO_OUTPUT_LDIF_FILE_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | wrapColumn = wrapColumnArgument(); |
| | | argParser.addArgument(wrapColumn); |
| | | |
| | | showUsage = showUsageArgument(); |
| | | argParser.addArgument(showUsage); |
| | |
| | | targetInputStream = getLDIFToolInputStream(this, trailingArguments.get(1)); |
| | | outputStream = getLDIFToolOutputStream(this, outputFilename); |
| | | |
| | | if (System.in == sourceInputStream && System.in == targetInputStream) { |
| | | if (System.in == sourceInputStream && System.in == targetInputStream) { |
| | | throw newToolParamException(ERR_LDIFDIFF_MULTIPLE_USES_OF_STDIN.get()); |
| | | } |
| | | |
| | | try (LDIFEntryReader sourceReader = new LDIFEntryReader(sourceInputStream); |
| | | LDIFEntryReader targetReader = new LDIFEntryReader(targetInputStream); |
| | | LDIFChangeRecordWriter outputWriter = new LDIFChangeRecordWriter(outputStream)) { |
| | | LDIF.copyTo(LDIF.diff(sourceReader, targetReader), outputWriter); |
| | | LDIFEntryReader targetReader = new LDIFEntryReader(targetInputStream); |
| | | LDIFChangeRecordWriter outputWriter = new LDIFChangeRecordWriter(outputStream)) { |
| | | outputWriter.setWrapColumn(computeWrapColumn(wrapColumn)); |
| | | final ChangeRecordReader changes = LDIF.diff(sourceReader, targetReader); |
| | | LDIF.copyTo(changes, outputWriter); |
| | | if (outputWriter.containsChanges()) { |
| | | return DIFFERENCES_FOUND; |
| | | } else { |
| | | outputWriter.writeComment(INFO_LDIFDIFF_NO_DIFFERENCES.get().toString()); |
| | | return NO_DIFFERENCES_FOUND; |
| | | } |
| | | } |
| | | } catch (final IOException e) { |
| | | if (e instanceof LocalizableException) { |
| | |
| | | errPrintln(ERR_LDIFDIFF_DIFF_FAILED.get(e.getLocalizedMessage())); |
| | | } |
| | | return ResultCode.CLIENT_SIDE_LOCAL_ERROR.intValue(); |
| | | } catch (final ArgumentException ae) { |
| | | throw newToolParamException(ae, ae.getMessageObject()); |
| | | } finally { |
| | | closeSilently(sourceInputStream, targetInputStream, outputStream); |
| | | } |
| | | |
| | | return ResultCode.SUCCESS.intValue(); |
| | | } |
| | | } |
| | |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.OPTION_LONG_OUTPUT_LDIF_FILENAME; |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.OPTION_SHORT_OUTPUT_LDIF_FILENAME; |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.USE_SYSTEM_STREAM_TOKEN; |
| | | import static com.forgerock.opendj.cli.ToolVersionHandler.newSdkVersionHandler; |
| | | import static com.forgerock.opendj.ldap.tools.LDAPToolException.newToolParamException; |
| | | import static com.forgerock.opendj.ldap.tools.ToolsMessages.*; |
| | | import static com.forgerock.opendj.cli.Utils.filterExitCode; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.computeWrapColumn; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.getLDIFToolInputStream; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.getLDIFToolOutputStream; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.parseArguments; |
| | |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.io.PrintStream; |
| | | import java.util.List; |
| | | |
| | | import com.forgerock.opendj.cli.IntegerArgument; |
| | | import org.forgerock.i18n.LocalizableException; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.opendj.ldap.DecodeException; |
| | |
| | | * to a set of entries contained in an LDIF file. |
| | | */ |
| | | public final class LDIFModify extends ConsoleApplication { |
| | | |
| | | /** |
| | | * The main method for LDIFModify tool. |
| | | * The main method for ldifmodify tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | public static void main(final String[] args) { |
| | | final LDIFModify ldifModify = new LDIFModify(); |
| | | int retCode; |
| | | try { |
| | | retCode = ldifModify.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldifModify); |
| | | retCode = e.getResultCode(); |
| | | } |
| | | System.exit(filterExitCode(retCode)); |
| | | System.exit(filterExitCode(run(System.out, System.err, args))); |
| | | } |
| | | |
| | | private LDIFModify() { |
| | | // Nothing to do. |
| | | /** |
| | | * Run {@link LDIFModify} tool with the provided arguments. |
| | | * Output and errors will be written on the provided streams. |
| | | * This method can be used to run the tool programmatically. |
| | | * |
| | | * @param out |
| | | * {@link PrintStream} which will be used by the tool to write results and information messages. |
| | | * @param err |
| | | * {@link PrintStream} which will be used by the tool to write errors. |
| | | * @param args |
| | | * Arguments set to pass to the tool. |
| | | * @return |
| | | * An integer which represents the result code of the tool. |
| | | */ |
| | | public static int run(final PrintStream out, final PrintStream err, final String... args) { |
| | | final LDIFModify ldifModify = new LDIFModify(out, err); |
| | | try { |
| | | return ldifModify.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldifModify); |
| | | return e.getResultCode(); |
| | | } |
| | | } |
| | | |
| | | private LDIFModify(final PrintStream out, final PrintStream err) { |
| | | super(out, err); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isInteractive() { |
| | | return false; |
| | | } |
| | | |
| | | private int run(final String[] args) throws LDAPToolException { |
| | | // Create the command-line argument parser for use with this program. |
| | | final LocalizableMessage toolDescription = INFO_LDIFMODIFY_TOOL_DESCRIPTION.get(); |
| | | final ArgumentParser argParser = LDAPToolArgumentParser.builder(LDIFModify.class.getName()) |
| | | .toolDescription(toolDescription) |
| | | .trailingArguments(1, 2, "source [changes]") |
| | | .toolDescription(INFO_LDIFMODIFY_TOOL_DESCRIPTION.get()) |
| | | .trailingArgumentsUnbounded(1, "source_file [changes_files...]") |
| | | .build(); |
| | | argParser.setVersionHandler(newSdkVersionHandler()); |
| | | argParser.setShortToolDescription(REF_SHORT_DESC_LDIFMODIFY.get()); |
| | |
| | | final BooleanArgument continueOnError; |
| | | final BooleanArgument showUsage; |
| | | final StringArgument outputFilename; |
| | | final IntegerArgument wrapColumn; |
| | | try { |
| | | outputFilename = |
| | | StringArgument.builder(OPTION_LONG_OUTPUT_LDIF_FILENAME) |
| | |
| | | continueOnError = continueOnErrorArgument(); |
| | | argParser.addArgument(continueOnError); |
| | | |
| | | wrapColumn = wrapColumnArgument(); |
| | | argParser.addArgument(wrapColumn); |
| | | |
| | | showUsage = showUsageArgument(); |
| | | argParser.addArgument(showUsage); |
| | | argParser.setUsageArgument(showUsage, getOutputStream()); |
| | |
| | | } |
| | | |
| | | InputStream sourceInputStream = null; |
| | | InputStream changesInputStream = null; |
| | | OutputStream outputStream = null; |
| | | LDIFEntryReader sourceReader = null; |
| | | LDIFChangeRecordReader changesReader = null; |
| | |
| | | try { |
| | | final List<String> trailingArguments = argParser.getTrailingArguments(); |
| | | sourceInputStream = getLDIFToolInputStream(this, trailingArguments.get(0)); |
| | | changesInputStream = getLDIFToolInputStream(this, trailingArguments.get(1)); |
| | | outputStream = getLDIFToolOutputStream(this, outputFilename); |
| | | |
| | | if (System.in == sourceInputStream && System.in == changesInputStream) { |
| | | final int nbTrailingArgs = trailingArguments.size(); |
| | | final boolean readChangesFromStdin = nbTrailingArgs == 1 |
| | | || (nbTrailingArgs == 2 && USE_SYSTEM_STREAM_TOKEN.equals(trailingArguments.get(1))); |
| | | if (getInputStream() == sourceInputStream && readChangesFromStdin) { |
| | | throw newToolParamException(ERR_LDIFMODIFY_MULTIPLE_USES_OF_STDIN.get()); |
| | | } |
| | | |
| | | sourceReader = new LDIFEntryReader(sourceInputStream); |
| | | changesReader = new LDIFChangeRecordReader(changesInputStream); |
| | | outputWriter = new LDIFEntryWriter(outputStream); |
| | | if (readChangesFromStdin) { |
| | | changesReader = new LDIFChangeRecordReader(getInputStream()); |
| | | } else { |
| | | changesReader = new LDIFChangeRecordReader( |
| | | Utils.getLinesFromFiles(trailingArguments.subList(1, nbTrailingArgs))); |
| | | } |
| | | outputWriter = new LDIFEntryWriter(outputStream).setWrapColumn(computeWrapColumn(wrapColumn)); |
| | | |
| | | final RejectedChangeRecordListener listener = new RejectedChangeRecordListener() { |
| | | @Override |
| | |
| | | errPrintln(ERR_LDIFMODIFY_PATCH_FAILED.get(e.getLocalizedMessage())); |
| | | } |
| | | return ResultCode.CLIENT_SIDE_LOCAL_ERROR.intValue(); |
| | | } catch (final ArgumentException ae) { |
| | | throw newToolParamException(ae, ae.getMessageObject()); |
| | | } finally { |
| | | closeSilently(sourceReader, changesReader, outputWriter, |
| | | sourceInputStream, changesInputStream, outputStream); |
| | | sourceInputStream, outputStream); |
| | | } |
| | | |
| | | return ResultCode.SUCCESS.intValue(); |
| | |
| | | import static com.forgerock.opendj.cli.Utils.filterExitCode; |
| | | import static com.forgerock.opendj.cli.CommonArguments.*; |
| | | |
| | | import static com.forgerock.opendj.ldap.tools.Utils.computeWrapColumn; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.getLDIFToolInputStream; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.getLDIFToolOutputStream; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.parseArguments; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.readFiltersFromFile; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.readFilterFromString; |
| | | |
| | | import java.io.IOException; |
| | | import java.io.PrintStream; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | /** This utility can be used to perform search operations against data in an LDIF file. */ |
| | | public final class LDIFSearch extends ConsoleApplication { |
| | | |
| | | /** |
| | | * The main method for LDIFSearch tool. |
| | | * The main method for ldifsearch tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | public static void main(final String[] args) { |
| | | final LDIFSearch ldifSearch = new LDIFSearch(); |
| | | int retCode; |
| | | try { |
| | | retCode = ldifSearch.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldifSearch); |
| | | retCode = e.getResultCode(); |
| | | } |
| | | System.exit(filterExitCode(retCode)); |
| | | System.exit(filterExitCode(run(System.out, System.err, args))); |
| | | } |
| | | |
| | | private LDIFSearch() { |
| | | // Nothing to do. |
| | | /** |
| | | * Run {@link LDIFSearch} tool with the provided arguments. |
| | | * Output and errors will be written on the provided streams. |
| | | * This method can be used to run the tool programmatically. |
| | | * |
| | | * @param out |
| | | * {@link PrintStream} which will be used by the tool to write results and information messages. |
| | | * @param err |
| | | * {@link PrintStream} which will be used by the tool to write errors. |
| | | * @param args |
| | | * Arguments set to pass to the tool. |
| | | * @return |
| | | * An integer which represents the result code of the tool. |
| | | */ |
| | | public static int run(final PrintStream out, final PrintStream err, final String... args) { |
| | | final LDIFSearch ldifSearch = new LDIFSearch(out, err); |
| | | try { |
| | | return ldifSearch.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(ldifSearch); |
| | | return e.getResultCode(); |
| | | } |
| | | } |
| | | |
| | | private LDIFSearch(final PrintStream out, final PrintStream err) { |
| | | super(out, err); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isInteractive() { |
| | | return false; |
| | | } |
| | | |
| | | private int run(final String[] args) throws LDAPToolException { |
| | | /* Create the command-line argument parser for use with this program. */ |
| | | final LocalizableMessage toolDescription = INFO_LDIFSEARCH_TOOL_DESCRIPTION.get(); |
| | | final ArgumentParser argParser = LDAPToolArgumentParser.builder(LDIFSearch.class.getName()) |
| | | .toolDescription(toolDescription) |
| | | .trailingArgumentsUnbounded(1, "source [filter] [attributes ...]") |
| | | .toolDescription(INFO_LDIFSEARCH_TOOL_DESCRIPTION.get()) |
| | | .trailingArgumentsUnbounded(2, "source filter [attributes ...]") |
| | | .build(); |
| | | argParser.setVersionHandler(newSdkVersionHandler()); |
| | | argParser.setShortToolDescription(REF_SHORT_DESC_LDIFSEARCH.get()); |
| | |
| | | final StringArgument outputFilename; |
| | | final BooleanArgument typesOnly; |
| | | final IntegerArgument timeLimit; |
| | | final StringArgument filterFile; |
| | | final StringArgument baseDN; |
| | | final MultiChoiceArgument<SearchScope> searchScope; |
| | | final IntegerArgument sizeLimit; |
| | | final IntegerArgument wrapColumn; |
| | | try { |
| | | outputFilename = |
| | | StringArgument.builder(OPTION_LONG_OUTPUT_LDIF_FILENAME) |
| | |
| | | baseDN = |
| | | StringArgument.builder(OPTION_LONG_BASEDN) |
| | | .shortIdentifier(OPTION_SHORT_BASEDN) |
| | | .description(INFO_SEARCH_DESCRIPTION_BASEDN.get()) |
| | | .required() |
| | | .description(INFO_LDIFSEARCH_DESCRIPTION_BASEDN.get()) |
| | | .defaultValue("") // Search for rootDSE if no base DN is provided |
| | | .valuePlaceholder(INFO_BASEDN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | searchScope = searchScopeArgument(); |
| | | argParser.addArgument(searchScope); |
| | | |
| | | filterFile = filenameArgument(INFO_SEARCH_DESCRIPTION_FILENAME.get()); |
| | | argParser.addArgument(filterFile); |
| | | |
| | | typesOnly = |
| | | BooleanArgument.builder("typesOnly") |
| | | .shortIdentifier('A') |
| | |
| | | .valuePlaceholder(INFO_TIME_LIMIT_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | |
| | | wrapColumn = wrapColumnArgument(); |
| | | argParser.addArgument(wrapColumn); |
| | | |
| | | showUsage = showUsageArgument(); |
| | | argParser.addArgument(showUsage); |
| | | argParser.setUsageArgument(showUsage, getOutputStream()); |
| | |
| | | return ResultCode.SUCCESS.intValue(); |
| | | } |
| | | |
| | | final List<Filter> filters = new LinkedList<>(); |
| | | final List<String> attributes = new LinkedList<>(); |
| | | final List<String> trailingArguments = argParser.getTrailingArguments(); |
| | | if (trailingArguments.size() > 1) { |
| | | final List<String> filterAndAttributeStrings = trailingArguments.subList(1, trailingArguments.size()); |
| | | // If filter file is not present, the first trailing argument is considered the filter |
| | | if (!filterFile.isPresent()) { |
| | | filters.add(readFilterFromString(filterAndAttributeStrings.remove(0))); |
| | | } |
| | | // The rest of trailing argument are attributes |
| | | attributes.addAll(filterAndAttributeStrings); |
| | | } |
| | | |
| | | if (filterFile.isPresent()) { |
| | | filters.addAll(readFiltersFromFile(filterFile.getValue())); |
| | | } |
| | | |
| | | if (filters.isEmpty()) { |
| | | argParser.displayMessageAndUsageReference(getErrStream(), ERR_SEARCH_NO_FILTERS.get()); |
| | | return ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue(); |
| | | final Filter filter = readFilterFromString(trailingArguments.get(1)); |
| | | final List<String> attributes = new LinkedList<>(); |
| | | if (trailingArguments.size() > 2) { |
| | | attributes.addAll(trailingArguments.subList(2, trailingArguments.size())); |
| | | } |
| | | |
| | | final SearchRequest search; |
| | | try { |
| | | final SearchScope scope = searchScope.getTypedValue(); |
| | | search = |
| | | Requests.newSearchRequest(DN.valueOf(baseDN.getValue()), scope, filters.get(0), |
| | | Requests.newSearchRequest(DN.valueOf(baseDN.getValue()), scope, filter, |
| | | attributes.toArray(new String[attributes.size()])).setTypesOnly( |
| | | typesOnly.isPresent()).setTimeLimit(timeLimit.getIntValue()) |
| | | .setSizeLimit(sizeLimit.getIntValue()); |
| | |
| | | try (final LDIFEntryReader sourceReader = |
| | | new LDIFEntryReader(getLDIFToolInputStream(this, trailingArguments.get(0))); |
| | | final LDIFEntryWriter outputWriter = new LDIFEntryWriter(getLDIFToolOutputStream(this, outputFilename))) { |
| | | outputWriter.setWrapColumn(computeWrapColumn(wrapColumn)); |
| | | LDIF.copyTo(LDIF.search(sourceReader, search), outputWriter); |
| | | } catch (final IOException e) { |
| | | if (e instanceof LocalizableException) { |
| | |
| | | errPrintln(ERR_LDIFSEARCH_FAILED.get(e.getLocalizedMessage())); |
| | | } |
| | | return ResultCode.CLIENT_SIDE_LOCAL_ERROR.intValue(); |
| | | } catch (final ArgumentException ae) { |
| | | throw newToolParamException(ae, ae.getMessageObject()); |
| | | } |
| | | |
| | | return ResultCode.SUCCESS.intValue(); |
| | |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.*; |
| | | import static com.forgerock.opendj.cli.CommonArguments.showUsageArgument; |
| | | import static com.forgerock.opendj.cli.CommonArguments.wrapColumnArgument; |
| | | import static com.forgerock.opendj.cli.ToolVersionHandler.newSdkVersionHandler; |
| | | import static com.forgerock.opendj.ldap.tools.LDAPToolException.newToolException; |
| | | import static com.forgerock.opendj.ldap.tools.LDAPToolException.newToolExceptionAlreadyPrinted; |
| | | import static com.forgerock.opendj.ldap.tools.LDAPToolException.newToolParamException; |
| | | import static com.forgerock.opendj.ldap.tools.ToolsMessages.*; |
| | | import static com.forgerock.opendj.cli.Utils.filterExitCode; |
| | | import static com.forgerock.opendj.ldap.tools.ToolsMessages.INFO_MAKELDIF_WRAP_COLUMN_PLACEHOLDER; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.computeWrapColumn; |
| | | import static com.forgerock.opendj.ldap.tools.Utils.parseArguments; |
| | | import static org.forgerock.util.Utils.closeSilently; |
| | | |
| | | import java.io.BufferedWriter; |
| | |
| | | import com.forgerock.opendj.cli.StringArgument; |
| | | |
| | | import org.forgerock.opendj.ldap.Entry; |
| | | import org.forgerock.opendj.ldap.ResultCode; |
| | | import org.forgerock.opendj.ldif.EntryGenerator; |
| | | import org.forgerock.opendj.ldif.LDIFEntryWriter; |
| | | |
| | |
| | | /** The value for the path to look for LDIF resources (e.g data files). */ |
| | | public static final String OPTION_LONG_RESOURCE_PATH = "resourcePath"; |
| | | |
| | | private static final int EXIT_CODE_SUCCESS = 0; |
| | | private static final int EXIT_CODE_FAILURE = 1; |
| | | |
| | | /** The total number of entries that have been written. */ |
| | | private long numberOfEntriesWritten; |
| | | |
| | | /** |
| | | * Main method for MakeLDIF tool. |
| | | * The main method for makeldif tool. |
| | | * |
| | | * @param args |
| | | * The command-line arguments provided to this program. |
| | | */ |
| | | public static void main(final String[] args) { |
| | | final int retCode = new MakeLDIF().run(args); |
| | | System.exit(filterExitCode(retCode)); |
| | | System.exit(filterExitCode(run(System.out, System.err, args))); |
| | | } |
| | | |
| | | /** Run Make LDIF with provided command-line arguments. */ |
| | | int run(final String[] args) { |
| | | /** |
| | | * Run {@link MakeLDIF} tool with the provided arguments. |
| | | * Output and errors will be written on the provided streams. |
| | | * This method can be used to run the tool programmatically. |
| | | * |
| | | * @param out |
| | | * {@link PrintStream} which will be used by the tool to write results and information messages. |
| | | * @param err |
| | | * {@link PrintStream} which will be used by the tool to write errors. |
| | | * @param args |
| | | * Arguments set to pass to the tool. |
| | | * @return |
| | | * An integer which represents the result code of the tool. |
| | | */ |
| | | public static int run(final PrintStream out, final PrintStream err, final String... args) { |
| | | final MakeLDIF makeLDIF = new MakeLDIF(out, err); |
| | | try { |
| | | return makeLDIF.run(args); |
| | | } catch (final LDAPToolException e) { |
| | | e.printErrorMessage(makeLDIF); |
| | | return e.getResultCode(); |
| | | } |
| | | } |
| | | |
| | | private MakeLDIF(final PrintStream out, final PrintStream err) { |
| | | super(out, err); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isInteractive() { |
| | | return false; |
| | | } |
| | | |
| | | /** The total number of entries that have been written. */ |
| | | private long numberOfEntriesWritten; |
| | | |
| | | private int run(final String[] args) throws LDAPToolException { |
| | | final LocalizableMessage toolDescription = INFO_MAKELDIF_TOOL_DESCRIPTION.get(); |
| | | final ArgumentParser argParser = LDAPToolArgumentParser.builder(MakeLDIF.class.getName()) |
| | | .toolDescription(toolDescription) |
| | |
| | | showUsage = showUsageArgument(); |
| | | argParser.addArgument(showUsage); |
| | | |
| | | wrapColumn = |
| | | IntegerArgument.builder("wrapColumn") |
| | | .shortIdentifier('w') |
| | | .description(INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN.get()) |
| | | .lowerBound(0) |
| | | .defaultValue(0) |
| | | .valuePlaceholder(INFO_MAKELDIF_WRAP_COLUMN_PLACEHOLDER.get()) |
| | | .buildAndAddToParser(argParser); |
| | | wrapColumn = wrapColumnArgument(); |
| | | argParser.addArgument(wrapColumn); |
| | | |
| | | argParser.setUsageArgument(showUsage, getOutputStream()); |
| | | } catch (ArgumentException ae) { |
| | | errPrintln(ERR_CANNOT_INITIALIZE_ARGS.get(ae.getMessage())); |
| | | return EXIT_CODE_FAILURE; |
| | | } catch (final ArgumentException ae) { |
| | | throw newToolParamException(ae, ERR_CANNOT_INITIALIZE_ARGS.get(ae.getMessage())); |
| | | } |
| | | |
| | | // Parse the command-line arguments provided to the program. |
| | | try { |
| | | argParser.parseArguments(args); |
| | | } catch (ArgumentException ae) { |
| | | argParser.displayMessageAndUsageReference(getErrStream(), ERR_ERROR_PARSING_ARGS.get(ae.getMessage())); |
| | | return EXIT_CODE_FAILURE; |
| | | } |
| | | |
| | | parseArguments(argParser, getErrStream(), args); |
| | | if (argParser.usageOrVersionDisplayed()) { |
| | | return 0; |
| | | return ResultCode.SUCCESS.intValue(); |
| | | } |
| | | final String templatePath = argParser.getTrailingArguments().get(0); |
| | | return run(templatePath, resourcePath, ldifFile, randomSeed, constants, wrapColumn); |
| | | } |
| | | |
| | | /** Run Make LDIF with provided arguments. */ |
| | | private int run(final String templatePath, final StringArgument resourcePath, final StringArgument ldifFile, |
| | | final IntegerArgument randomSeedArg, final StringArgument constants, final IntegerArgument wrapColumn) { |
| | | private int run(final String templatePath, |
| | | final StringArgument resourcePath, |
| | | final StringArgument ldifFile, |
| | | final IntegerArgument randomSeedArg, |
| | | final StringArgument constants, |
| | | final IntegerArgument wrapColumn) throws LDAPToolException { |
| | | LDIFEntryWriter writer = null; |
| | | try (EntryGenerator generator = createGenerator(templatePath, resourcePath, randomSeedArg, constants)) { |
| | | if (generator == null) { |
| | | return EXIT_CODE_FAILURE; |
| | | // Root exception has already been printed |
| | | throw newToolExceptionAlreadyPrinted(null, ResultCode.UNDEFINED); |
| | | } |
| | | |
| | | if (generator.hasWarnings()) { |
| | |
| | | } |
| | | |
| | | try { |
| | | writer = createLdifWriter(ldifFile, wrapColumn); |
| | | writer = createLdifWriter(ldifFile, computeWrapColumn(wrapColumn)); |
| | | } catch (final IOException e) { |
| | | errPrintln(ERR_MAKELDIF_UNABLE_TO_CREATE_LDIF.get(ldifFile.getValue(), e.getMessage())); |
| | | return EXIT_CODE_FAILURE; |
| | | throw newToolParamException( |
| | | e, ERR_MAKELDIF_UNABLE_TO_CREATE_LDIF.get(ldifFile.getValue(), e.getMessage())); |
| | | } catch (final ArgumentException e) { |
| | | errPrintln(ERR_ERROR_PARSING_ARGS.get(e.getMessageObject())); |
| | | return EXIT_CODE_FAILURE; |
| | | throw newToolParamException( |
| | | e, ERR_ERROR_PARSING_ARGS.get(e.getMessageObject())); |
| | | } |
| | | |
| | | if (!generateEntries(generator, writer, ldifFile)) { |
| | | return EXIT_CODE_FAILURE; |
| | | } |
| | | generateEntries(generator, writer, ldifFile); |
| | | |
| | | errPrintln(INFO_MAKELDIF_PROCESSING_COMPLETE.get(numberOfEntriesWritten)); |
| | | |
| | | return EXIT_CODE_SUCCESS; |
| | | println(INFO_MAKELDIF_PROCESSING_COMPLETE.get(numberOfEntriesWritten)); |
| | | return ResultCode.SUCCESS.intValue(); |
| | | } finally { |
| | | closeSilently(writer); |
| | | } |
| | | } |
| | | |
| | | private LDIFEntryWriter createLdifWriter(final StringArgument ldifFile, final IntegerArgument wrapColumn) |
| | | private LDIFEntryWriter createLdifWriter(final StringArgument ldifFile, final int wrapColumn) |
| | | throws IOException, ArgumentException { |
| | | final LDIFEntryWriter writer; |
| | | if (ldifFile.isPresent()) { |
| | |
| | | } else { |
| | | writer = new LDIFEntryWriter(getOutputStream()); |
| | | } |
| | | return writer.setWrapColumn(wrapColumn.getIntValue()); |
| | | return writer.setWrapColumn(wrapColumn); |
| | | } |
| | | |
| | | static EntryGenerator createGenerator(final String templatePath, final StringArgument resourcePath, |
| | |
| | | } |
| | | |
| | | /** Returns true if generation is successful, false otherwise. */ |
| | | private boolean generateEntries(final EntryGenerator generator, final LDIFEntryWriter writer, |
| | | final StringArgument ldifFile) { |
| | | private void generateEntries(final EntryGenerator generator, |
| | | final LDIFEntryWriter writer, |
| | | final StringArgument ldifFile) throws LDAPToolException { |
| | | try { |
| | | while (generator.hasNext()) { |
| | | final Entry entry = generator.readEntry(); |
| | | try { |
| | | writer.writeEntry(entry); |
| | | } catch (IOException e) { |
| | | errPrintln(ERR_MAKELDIF_ERROR_WRITING_LDIF.get(ldifFile.getValue(), e.getMessage())); |
| | | return false; |
| | | } catch (final IOException e) { |
| | | throw newToolParamException( |
| | | e, ERR_MAKELDIF_ERROR_WRITING_LDIF.get(ldifFile.getValue(), e.getMessage())); |
| | | } |
| | | if ((++numberOfEntriesWritten % 1000) == 0) { |
| | | errPrintln(INFO_MAKELDIF_PROCESSED_N_ENTRIES.get(numberOfEntriesWritten)); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | errPrintln(ERR_MAKELDIF_EXCEPTION_DURING_PROCESSING.get(e.getMessage())); |
| | | return false; |
| | | } catch (final Exception e) { |
| | | throw newToolException( |
| | | e, ResultCode.UNDEFINED, ERR_MAKELDIF_EXCEPTION_DURING_PROCESSING.get(e.getMessage())); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | private MakeLDIF() { |
| | | // nothing to do |
| | | } |
| | | |
| | | /** To allow tests. */ |
| | | MakeLDIF(PrintStream out, PrintStream err) { |
| | | super(out, err); |
| | | } |
| | | } |
| | |
| | | package com.forgerock.opendj.ldap.tools; |
| | | |
| | | import static com.forgerock.opendj.cli.ArgumentConstants.USE_SYSTEM_STREAM_TOKEN; |
| | | import static com.forgerock.opendj.cli.CliConstants.NO_WRAPPING_BY_DEFAULT; |
| | | import static com.forgerock.opendj.cli.Utils.readBytesFromFile; |
| | | import static com.forgerock.opendj.cli.Utils.secondsToTimeString; |
| | | import static com.forgerock.opendj.ldap.tools.LDAPToolException.newToolException; |
| | |
| | | import com.forgerock.opendj.cli.BooleanArgument; |
| | | import com.forgerock.opendj.cli.IntegerArgument; |
| | | import com.forgerock.opendj.cli.StringArgument; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.LocalizableMessageDescriptor; |
| | | import org.forgerock.i18n.LocalizedIllegalArgumentException; |
| | |
| | | return rc; |
| | | } |
| | | |
| | | static void printSuccessMessage( |
| | | final ConsoleApplication app, final Result r, final String operationType, final String dn) { |
| | | app.println(INFO_OPERATION_SUCCESSFUL.get(operationType, dn)); |
| | | printlnTextMsg(app, r.getDiagnosticMessage()); |
| | | final List<String> referralURIs = r.getReferralURIs(); |
| | | if (referralURIs != null) { |
| | | for (final String uri : referralURIs) { |
| | | app.println(LocalizableMessage.raw(uri)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | static void printPasswordPolicyResults(final ConsoleApplication app, final BindResult result) { |
| | | try { |
| | | final AuthorizationIdentityResponseControl control = result.getControl( |
| | |
| | | } |
| | | } |
| | | |
| | | static List<Filter> readFiltersFromFile(final String fileName) throws LDAPToolException { |
| | | final List<Filter> filters = new ArrayList<>(); |
| | | try (final BufferedReader in = new BufferedReader(new FileReader(fileName))) { |
| | | String line; |
| | | while ((line = in.readLine()) != null) { |
| | | if ("".equals(line.trim())) { |
| | | // ignore empty lines. |
| | | continue; |
| | | } |
| | | filters.add(Filter.valueOf(line)); |
| | | } |
| | | return filters; |
| | | } catch (final IOException e) { |
| | | throw newToolException(e, ResultCode.CLIENT_SIDE_FILTER_ERROR, LocalizableMessage.raw(e.toString())); |
| | | } catch (final LocalizedIllegalArgumentException e) { |
| | | throw newToolException(e, ResultCode.CLIENT_SIDE_FILTER_ERROR, e.getMessageObject()); |
| | | } |
| | | } |
| | | |
| | | static Filter readFilterFromString(final String filterStr) throws LDAPToolException { |
| | | try { |
| | | return Filter.valueOf(filterStr); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Return the content of all file which path are provided in the {@link List<String>}. |
| | | * |
| | | * @param filePaths |
| | | * The list of the paths of the files to get content from. |
| | | * @return The aggregated content of the files in a {@link List<String>}. |
| | | */ |
| | | static List<String> getLinesFromFiles(final List<String> filePaths) throws LDAPToolException { |
| | | final List<String> filesLines = new ArrayList<>(); |
| | | |
| | | for (final String filePath : filePaths) { |
| | | try (final BufferedReader reader = new BufferedReader(new FileReader(filePath))) { |
| | | String line; |
| | | while ((line = reader.readLine()) != null) { |
| | | filesLines.add(line); |
| | | } |
| | | } catch (final IOException e) { |
| | | throw newToolParamException( |
| | | e, ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ.get(filePath, e.getLocalizedMessage())); |
| | | } |
| | | } |
| | | return filesLines; |
| | | } |
| | | |
| | | static void ensureLdapProtocolVersionIsSupported(final IntegerArgument version) throws LDAPToolException { |
| | | try { |
| | | final int versionNumber = version.getIntValue(); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Return the maximum line length before wrapping or {@code 0} if no wrap should be done. |
| | | * |
| | | * @param wrapColumn |
| | | * {@link IntegerArgument} which could be provided on the command line. |
| | | * @return The maximum line length before wrapping or {@code 0} if no wrap should be done. |
| | | */ |
| | | static int computeWrapColumn(final IntegerArgument wrapColumn) throws ArgumentException { |
| | | if (wrapColumn.isPresent()) { |
| | | return wrapColumn.getIntValue(); |
| | | } |
| | | return NO_WRAPPING_BY_DEFAULT; |
| | | } |
| | | |
| | | /** Prevent instantiation. */ |
| | | private Utils() { |
| | | // Do nothing. |
| | |
| | | ERR_DESCRIPTION_INVALID_VERSION=Invalid LDAP version number '%s'. \ |
| | | Allowed values are 2 and 3 |
| | | ERR_SEARCH_NO_FILTERS=No filters specified for the search request |
| | | INFO_DESCRIPTION_DONT_WRAP=Do not wrap long lines |
| | | INFO_DESCRIPTION_TYPES_ONLY=Only retrieve attribute names but not their \ |
| | | values |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=Use the LDAP assertion control with the \ |
| | |
| | | control be included in updated entries, or 0 to exclude the control from \ |
| | | matching entries |
| | | INFO_BIND_AUTHZID_RETURNED=# Bound with authorization ID %s |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=File containing a list of search filter \ |
| | | strings |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=File containing the search filter to use |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=Use the LDAP matched values \ |
| | | control with the provided filter |
| | | ERR_LDAP_MATCHEDVALUES_INVALID_FILTER=The provided matched values \ |
| | |
| | | LDAP compare operations in the Directory Server |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=This utility can be used to perform LDAP \ |
| | | modify, add, delete, and modify DN operations in the Directory Server. \ |
| | | When not using a file to specify modifications, end your input with EOF \ |
| | | When not using file(s) to specify modifications, end your input with EOF \ |
| | | (Ctrl+D on UNIX, Ctrl+Z on Windows) |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=This utility can be used to perform LDAP \ |
| | | password modify operations in the Directory Server |
| | |
| | | ERR_LDIFDIFF_MULTIPLE_USES_OF_STDIN=Unable to use stdin for both the source \ |
| | | LDIF and target LDIF |
| | | ERR_LDIFMODIFY_PATCH_FAILED=The changes could not be applied for the following \ |
| | | reason: %s |
| | | reason: %s\nEnsure that no modification operations are done on previously \ |
| | | added or deleted entries. |
| | | ERR_LDIFDIFF_DIFF_FAILED=The differences could not be computed for the following \ |
| | | reason: %s |
| | | ERR_LDIFSEARCH_FAILED=The search could not be performed for the following \ |
| | | reason: %s |
| | | INFO_LDIFMODIFY_TOOL_DESCRIPTION=This utility can be used to apply a set of \ |
| | | modify, add, and delete operations to entries contained in an LDIF file |
| | | modify, add, and delete operations to entries contained in an LDIF file.\n \ |
| | | If standard input is used to specify source or changes, end your input with EOF \ |
| | | (Ctrl+D on UNIX, Ctrl+Z on Windows) |
| | | INFO_LDIFDIFF_TOOL_DESCRIPTION=This utility can be used to compare two LDIF \ |
| | | files and report the differences in LDIF format |
| | | files and report the differences in LDIF format.\n \ |
| | | If standard input is used to specify source or target, end your input with EOF \ |
| | | (Ctrl+D on UNIX, Ctrl+Z on Windows) |
| | | INFO_LDIFSEARCH_TOOL_DESCRIPTION=This utility can be used to perform search \ |
| | | operations against entries contained in an LDIF file |
| | | operations against entries contained in an LDIF file.\n \ |
| | | If standard input is used to specify source, end your input with EOF \ |
| | | (Ctrl+D on UNIX, Ctrl+Z on Windows) |
| | | ERR_LDIF_GEN_TOOL_EXCEPTION_DURING_PARSE=An error occurred while \ |
| | | parsing template file: %s |
| | | ERR_LDIF_GEN_TOOL_NO_SUCH_RESOURCE_DIRECTORY=The specified resource \ |
| | |
| | | ERR_AUTHRATE_NO_BIND_DN_PROVIDED=Authentication information must be provided \ |
| | | to use this tool |
| | | ERR_DECODE_CONTROL_CRITICALITY=Invalid format for criticality value '%s' in control '%s' |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=File containing the DNs of the entries \ |
| | | to compare |
| | | INFO_DESCRIPTION_SUBENTRIES=Use subentries control to specify that \ |
| | | subentries are visible and normal entries are not |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=The base DN for the search. If no base \ |
| | | DN is provided, then the root DSE will be used |
| | | INFO_LDIFDIFF_DESCRIPTION_USE_COMPARE_RESULT=Use the LDAP compare result \ |
| | | as an exit code for reporting differences between the two LDIF files |
| | | INFO_LDAPCOMPARE_DESCRIPTION_USE_COMPARE_RESULT=Use the LDAP compare result \ |
| | | as an exit code for the LDAP compare operations |
| | | INFO_LDIFDIFF_NO_DIFFERENCES=No differences were detected between the \ |
| | | source and target LDIF files |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | |
| | | processing : %s |
| | | ERR_CONSTANT_ARG_CANNOT_DECODE=Unable to parse a constant argument \ |
| | | expecting name=value but got %s |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=Maximum length of an output line \ |
| | | (0 for no wrapping) |
| | | INFO_MAKELDIF_WRAP_COLUMN_PLACEHOLDER={wrapColumn} |
| | | ERR_LDAPP_BIND_FAILED=The LDAP bind request failed: %d (%s) |
| | | ERR_LDAP_SEARCH_FAILED=The LDAP search request failed: %d (%s) |
| | | ERR_LDAP_MODIFY_FAILED=The LDAP modify request failed: %d (%s) |
| | |
| | | # Copyright 2016 ForgeRock AS. |
| | | # |
| | | |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=Columna in la qual s'envoltaran les l\u00ednies incorrectes (0 per no envoltar) |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=El fitxer que cont\u00e9 els DNs de les entrades a comparar |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=El DN base per la cerca. Si no es proporciona cap DN base, aleshores s'utilitzar\u00e0 l'arrel DSE |
| | | INFO_SEARCH_DESCRIPTION_BASEDN=Cercar DN base |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT=Nombre m\u00e0xim d'entrades per retornar des de la cerca |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT=Per\u00edode de temps m\u00e0xim en segons per permetre en la cerca |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY=\u00c0lies pol\u00edtica des-refer\u00e8ncia ('never', 'always', 'search', o 'find') |
| | | INFO_DESCRIPTION_TYPES_ONLY=Recuperar \u00fanicament els noms dels atributs per\u00f2 no els seus valors |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=Utilitzar el control d'argumentaci\u00f3 LDAP amb el filtre proporcionat |
| | | INFO_DESCRIPTION_PREREAD_ATTRS=Utilitzar el control de pre-lectura ReadEntry de LDAP |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS=Utilitzar el control de post-lectura ReadEntry de LDAP |
| | | INFO_DESCRIPTION_PROXY_AUTHZID=Utilitzar el control d'autentificaci\u00f3 intermediari amb la ID d'autoritzaci\u00f3 donada |
| | | INFO_DESCRIPTION_PSEARCH_INFO=Utilitzar el control de cerca persistent |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=El fitxer que cont\u00e9 un llistat de les cadenes de text del filtre de cerca |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=Utilitzar el control dels valors de coincid\u00e8ncia LDAP amb el filtre proporcionat |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILENAME=La ruta al fitxer de sortida on el qual s'escriuran totes les entrades coincidents. Si aquesta no es proporciona, aleshores les dades seran escrites a la sortida est\u00e0ndard |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_FILENAME=Fitxer on el qual s'ha d'escriure la sortida |
| | | INFO_MAKELDIF_DESCRIPTION_LDIF=La ruta al fitxer LDIF a ser escrit |
| | | INFO_MAKELDIF_DESCRIPTION_SEED=La llavor a utilitzar per inicialitzar el generador de n\u00fameros aleatoris |
| | | INFO_LDIFMODIFY_DESCRIPTION_OUTPUT_FILENAME=El fitxer on el qual les dades d'actualitzaci\u00f3 s'hauran d'escriure |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID=ID d'autoritzaci\u00f3 per l'entada de l'usuari la contrasenya del qual s'ha de canviar |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW=Nova contrasenya a proporcionar per l'usuari dest\u00ed |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE=La ruta al fitxer que cont\u00e9 la nova contrasenya a proporcionar per l'usuari dest\u00ed |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW=Contrasenya actual per l'usuari dest\u00ed |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE=La ruta al fitxer que cont\u00e9 la contrasenya actual per l'usuari dest\u00ed |
| | | INFO_DESCRIPTION_COUNT_ENTRIES=Contar el n\u00famero d'entrades retornades pel servidor |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE=Utilitzar el control de resultats paginats amb la mida de p\u00e0gina donada |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME=El fitxer LDIF que cont\u00e9 els canvis a aplicar |
| | | INFO_DESCRIPTION_SORT_ORDER=Ordenar els resultats mitjan\u00e7ant l'ordre d'ordenaci\u00f3 proporcionat |
| | | INFO_DESCRIPTION_VLV=Utilitzar el control de visualitzaci\u00f3 del llistat virtual per recuperar la p\u00e0gina de resultats especificada |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER=Utilitzar el control geteffectiverights amb el authzid proporcionat |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR=Especificar el llistat d'atributs espec\u00edfics del control geteffectiverights |
| | | ERR_CANNOT_INITIALIZE_ARGS=S'ha produ\u00eft un error mentre s'intentava inicialitzar els arguments de la l\u00ednia de comandes: %s |
| | | ERR_ERROR_PARSING_ARGS=S'ha produ\u00eft un error mentre s'analitzaven els arguments de la l\u00ednia de comandes: %s |
| | | INFO_PROCESSING_OPERATION=Processant la sol\u00b7litut %s per %s |
| | | INFO_OPERATION_FAILED=Operaci\u00f3 %s fallida |
| | | INFO_OPERATION_SUCCESSFUL=Operaci\u00f3 %s satisfact\u00f2ria pel DN %s |
| | | INFO_PROCESSING_COMPARE_OPERATION=Comparant el tipus %s amb el valor %s en l'entrada %s |
| | | INFO_LDAPCOMPARE_TOOL_DESCRIPTION=Aquesta utilitat pot utilitzar-se per realitzar operacions de comparaci\u00f3 LDAP en el servidor de directori |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=Aquesta utilitat pot utilitzar-se per realitzar operacions de modificaci\u00f3, afegiment, eliminaci\u00f3, i modificaci\u00f3 DN en el servidor de directori |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=Aquesta utilitat pot utilitzar-se per realitzar operacions de modificaci\u00f3 de contrasenya en el servidor de directori |
| | | INFO_LDAPSEARCH_TOOL_DESCRIPTION=Aquesta utilitat pot utilitzar-se per realitzar operacions de cerca en el servidor de directori |
| | | INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT=# N\u00famero total de les entrades que coincideixen: %d |
| | | ERR_TOOL_RESULT_CODE=Codi de resultat: %d (%s) |
| | | ERR_TOOL_MATCHED_DN=DN coincident: %s |
| | |
| | | # Copyright 2009 Sun Microsystems, Inc. |
| | | # Portions Copyright 2016 ForgeRock AS. |
| | | |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=Spalte, in der lange Zeile umgebrochen werden sollen (0 f\u00fcr keinen Zeilenumbruch) |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=Datei mit den DNs der zu vergleichenden Eintr\u00e4ge |
| | | INFO_DESCRIPTION_SUBENTRIES=Verwenden Sie das Steuerelement f\u00fcr Untereintr\u00e4ge, um anzugeben, dass die Untereintr\u00e4ge sichtbar und normale Eintrag unsichtbar sind |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=Basis-DN f\u00fcr die Suche. Falls kein Basis-DN angegeben wird, wird das Root-DSE verwendet |
| | | INFO_SEARCH_DESCRIPTION_BASEDN=Basis-DN f\u00fcr Suche |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT=Maximale Anzahl der Eintr\u00e4ge, die bei der Suche zur\u00fcckgegeben werden |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT=Maximal zul\u00e4ssige Suchdauer in Sekunden |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY=Alias-Dereferenzierungsrichtlinie ('never', 'always', 'search' oder 'find') |
| | | INFO_DESCRIPTION_TYPES_ONLY=Nur Attributnamen abfragen, nicht ihre Werte |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=LDAP-Assertionssteuerung f\u00fcr den angegebenen Filter verwenden |
| | | INFO_DESCRIPTION_PREREAD_ATTRS=LDAP-ReadEntry-Preread-Steuerung verwenden |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS=LDAP-ReadEntry-Postread-Steuerung verwenden |
| | | INFO_DESCRIPTION_PROXY_AUTHZID=Die Authorisierungssteuerung \u00fcber einen Proxy mit der gegebenen Authorisierungs-ID verwenden |
| | | INFO_DESCRIPTION_PSEARCH_INFO=Die best\u00e4ndige Suchsteuerung verwenden |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=Datei mit einer Liste von Suchfilterzeichenketten |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=LDAP-Steuerung f\u00fcr \u00fcbereinstimmende Werte mit dem angegebenen Filter verwenden |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILENAME=Der Pfad zu der Ausgabedatei, in die die \u00fcbereinstimmenden Werte geschrieben werden. Wenn diese nicht angegeben wird, werden die Daten in die Standardausgabedatei geschrieben |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_FILENAME=Datei, in die die Ausgabe geschrieben wird |
| | | INFO_MAKELDIF_DESCRIPTION_LDIF=Pfad zu der zu schreibenden LDIF-Datei |
| | | INFO_MAKELDIF_DESCRIPTION_SEED=Seed zur Initialisierung des Zufallszahlengenerators |
| | | INFO_MAKELDIF_DESCRIPTION_RESOURCE_PATH=Pfad, um nach MakeLDIF-Ressourcen zu suchen (z. B. Datendateien), die nicht im aktuellen Arbeitsverzeichnis oder dem Vorlagenverzeichnispfad gefunden werden |
| | | INFO_LDIFMODIFY_DESCRIPTION_OUTPUT_FILENAME=Datei, in die die aktualisierten Daten geschrieben werden |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID=Authorisierungs-ID f\u00fcr den Benutzereintrag, dessen Passwort ge\u00e4ndert werden soll |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW=Neues Passwort f\u00fcr den Benutzer |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE=Pfad zur neuen Passwortdatei f\u00fcr den Zielbenutzer |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW=Aktuelles Passwort f\u00fcr den Zielbenutzer |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE=Pfad zur aktuellen Passwortdatei f\u00fcr den Zielbenutzer |
| | | INFO_DESCRIPTION_COUNT_ENTRIES=Anzahl der vom Server zur\u00fcckgegebenen Eintr\u00e4ge z\u00e4hlen |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE=Simple Paged Results Control mit der gegebenen Seitengr\u00f6\u00dfe verwenden |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME=LDIF-Datei mit den zu \u00fcbernehmenden \u00c4nderungen |
| | | INFO_DESCRIPTION_SORT_ORDER=Ergebnisse nach der angegebenen Sortierreihenfolge sortieren |
| | | INFO_DESCRIPTION_VLV=Virtual List View Control zum Abrufen der angegebenen Ergebnisseite verwenden |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER=Steuerung geteffectiverights mit der angegebenen Authzid verwenden |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR=Legt die spezifische Attributliste der Steuerung geteffectiverights fest |
| | | ERR_CANNOT_INITIALIZE_ARGS=Unerwarteter Fehler beim Versuch, das Befehlszeilenargument zu initialisieren: %s |
| | | ERR_ERROR_PARSING_ARGS=Fehler beim Parsing der Befehlszeilenargumente: %s |
| | | INFO_PROCESSING_OPERATION=Verarbeitet Anforderung %s f\u00fcr %s |
| | | INFO_OPERATION_FAILED=Vorgang %s fehlgeschlagen |
| | | INFO_OPERATION_SUCCESSFUL=Vorgang %s erfolgreich f\u00fcr DN %s |
| | | INFO_PROCESSING_COMPARE_OPERATION=Vergleicht Typ %s mit Wert %s in Eintrag %s |
| | | INFO_COMPARE_OPERATION_RESULT_FALSE=Vergleichvorgang gibt den Wert false f\u00fcr Eintrag %s zur\u00fcck |
| | | INFO_COMPARE_OPERATION_RESULT_TRUE=Vergleichvorgang gibt den Wert true f\u00fcr Eintrag %s zur\u00fcck |
| | | ERR_SEARCH_NO_FILTERS=Es wurden keine Filter f\u00fcr die Suchanfrage angegeben |
| | | INFO_LDAPMODIFY_PREREAD_ENTRY=Zieleintrag vor dem Vorgang: |
| | | INFO_LDAPMODIFY_POSTREAD_ENTRY=Zieleintrag nach dem Vorgang: |
| | | ERR_PSEARCH_MISSING_DESCRIPTOR=Die Anforderung, die best\u00e4ndige Suchsteuerung zu verwenden, enth\u00e4lt keine Beschreibung mit den Optionen f\u00fcr die Steuerung |
| | | ERR_PSEARCH_DOESNT_START_WITH_PS=Die best\u00e4ndige Suchbeschreibung %s beginnt nicht mit der erforderlichen Zeichenkette 'ps' |
| | | ERR_PSEARCH_INVALID_CHANGE_TYPE=Der angegebene \u00c4nderungstypwert %s ist ung\u00fcltig. Zul\u00e4ssige \u00c4nderungstypen sind add, delete, modify, modifydn und any |
| | | ERR_PSEARCH_INVALID_CHANGESONLY=Der angegebene changesOnly-Wert %s ist ung\u00fcltig. Zul\u00e4ssige Werte sind 1, um nur \u00fcbereinstimmende Eintr\u00e4ge zur\u00fcckzugeben, die seit Beginn der Suche ge\u00e4ndert wurden, und 0, um auch vorhandene Eintr\u00e4ge einzuschlie\u00dfen, die dem Suchkriterium entsprechen |
| | | ERR_PSEARCH_INVALID_RETURN_ECS=Der angegebene returnECs-Wert %s ist ung\u00fcltig. Zul\u00e4ssige Werte sind 1, damit die Eintrags\u00e4nderungsbenachrichtigungssteuerung bei aktualisierten Eintr\u00e4gen eingeschlossen wird, oder 0, um die Steuerung von \u00fcbereinstimmenden Eintr\u00e4gen auszuschlie\u00dfen |
| | | ERR_LDAP_MATCHEDVALUES_INVALID_FILTER=Der angegebene Filter f\u00fcr \u00fcbereinstimmende Werte ist ung\u00fcltig: %s |
| | | ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ=Fehler beim Versuch, die LDIF-Datei %s zum Lesen zu \u00f6ffnen: %s |
| | | ERR_LDIF_FILE_READ_ERROR=Fehler beim Versuch, den Inhalt der LDIF-Datei %s zu lesen: %s |
| | | ERR_MAKELDIF_UNABLE_TO_CREATE_LDIF=Fehler beim Versuch, LDIF-Datei %s zum Schreiben zu \u00f6ffnen: %s |
| | | ERR_MAKELDIF_ERROR_WRITING_LDIF=Fehler beim Schreiben von Daten in LDIF-Datei %s: %s |
| | | INFO_MAKELDIF_PROCESSED_N_ENTRIES=%d Eintr\u00e4ge verarbeitet |
| | | INFO_MAKELDIF_PROCESSING_COMPLETE=LDIF-Verarbeitung vollst\u00e4ndig. %d Eintr\u00e4ge geschrieben |
| | | ERR_LDAPPWMOD_FAILED=Der LDAP-Passwort\u00e4nderungsvorgang ist mit Ergebniscode %d fehlgeschlagen |
| | | ERR_LDAPPWMOD_FAILURE_ERROR_MESSAGE=Fehlermeldung: %s |
| | | ERR_LDAPPWMOD_FAILURE_MATCHED_DN=\u00dcbereinstimmender DN: %s |
| | | INFO_LDAPPWMOD_SUCCESSFUL=Der LDAP-Passwort\u00e4nderungsvorgang war erfolgreich |
| | | INFO_LDAPPWMOD_ADDITIONAL_INFO=Zus\u00e4tzliche Info: %s |
| | | INFO_LDAPPWMOD_GENERATED_PASSWORD=Generiertes Passwort: %s |
| | | INFO_COMPARE_CANNOT_BASE64_DECODE_ASSERTION_VALUE=Der Assertionswert sollte Base64-enkodiert sein, es ist aber ein Fehler beim Entschl\u00fcsseln des Werts aufgetreten |
| | | INFO_COMPARE_CANNOT_READ_ASSERTION_VALUE_FROM_FILE=Der Assertionswert kann nicht aus der angegebenen Datei gelesen werden: %s |
| | | INFO_LDAPCOMPARE_TOOL_DESCRIPTION=Dieses Dienstprogramm dient zur Durchf\u00fchrung von LDAP-Vergleichsvorg\u00e4ngen im Directory-Server |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=Dieses Dienstprogramm dient zur Durchf\u00fchrung von LDAP-\u00c4nderungs-, -Hinzuf\u00fcge-, -L\u00f6sch- und DN-\u00c4nderungsvorg\u00e4ngen im Directory-Server |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=Dieses Dienstprogramm dient zur Durchf\u00fchrung von LDAP-\u00c4nderungsvorg\u00e4ngen im Directory-Server |
| | | INFO_LDAPSEARCH_TOOL_DESCRIPTION=Dieses Dienstprogramm dient zur Durchf\u00fchrung von LDAP-Suchvorg\u00e4ngen im Directory-Server |
| | | ERR_LDAPCOMPARE_NO_ATTR=Es wurde kein Attribut zur Verwendung als Ziel f\u00fcr den Vergleich angegeben |
| | | ERR_LDAPCOMPARE_INVALID_ATTR_STRING=Ung\u00fcltige Attributzeichenkette '%s'. Die Attributzeichenkette muss in einer der folgenden Formen vorliegen: 'attribute:value', 'attribute::base64value' oder 'attribute:<valueFilePath' |
| | | INFO_LDAPSEARCH_PSEARCH_CHANGE_TYPE=# \u00c4nderungstyp best\u00e4ndige Suche: %s |
| | | INFO_LDAPSEARCH_PSEARCH_PREVIOUS_DN=# Vorheriger Eintrags-DN best\u00e4ndige Suche: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_HEADER=# Antwortsteuerung Kontoverwendbarkeit |
| | | INFO_LDAPSEARCH_ACCTUSABLE_IS_USABLE=# Das Konto ist verwendbar |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_EXPIRATION=# Zeitdauer, bis das Passwort abl\u00e4uft: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_NOT_USABLE=# Das Konto ist nicht verwendbar |
| | | INFO_LDAPSEARCH_ACCTUSABLE_ACCT_INACTIVE=# Das Konto wurde deaktiviert |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_RESET=# Das Passwort wurde zur\u00fcckgesetzt |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_EXPIRED=# Das Passwort ist abgelaufen |
| | | INFO_LDAPSEARCH_ACCTUSABLE_REMAINING_GRACE=# Verbleibende Kulanzanmeldungen: %d |
| | | INFO_LDAPSEARCH_ACCTUSABLE_LOCKED=# Das Konto ist gesperrt |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_UNLOCK=# Zeitdauer, bis das Konto entsperrt wird: %s |
| | | INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT=# Gesamtzahl \u00fcbereinstimmender Eintr\u00e4ge: %d |
| | | ERR_PAGED_RESULTS_REQUIRES_SINGLE_FILTER=Das Steuerelement f\u00fcr die einfache Seitenansicht der Ergebnisse kann nur mit einem einzelnen Suchfilter verwendet werden |
| | | ERR_TOOL_RESULT_CODE=Ergebniscode: %d (%s) |
| | | ERR_TOOL_MATCHED_DN=\u00dcbereinstimmender DN: %s |
| | | ERR_LDAP_SORTCONTROL_INVALID_ORDER=Die angegebene Sortierreihenfolge ist ung\u00fcltig: %s |
| | | ERR_LDAPSEARCH_VLV_REQUIRES_SORT=Wenn das Argument --%s angegeben ist, dann muss auch das Argument --%s angebgeben werden |
| | | ERR_LDAPSEARCH_VLV_INVALID_DESCRIPTOR=Die angegebene Virtual List View-Beschreibung ist ung\u00fcltig. Der Wert muss in der Form 'beforeCount:afterCount:offset:contentCount' (wobei Offset den Index des Zieleintrags und contentCount die gesch\u00e4tzte Gesamtzahl an Ergebnissen bzw. Null angibt, wenn diese unbekannt ist), oder 'beforeCount:afterCount:assertionValue' (wobei der Eintrag der erste Eintrag sein sollte, dessen prim\u00e4rer Sortierwert gr\u00f6\u00dfergleich dem angegebenen assertionValue ist) vorliegen. In beiden F\u00e4llen ist beforeCount die Anzahl der zur\u00fcckzugebenden Eintr\u00e4ge vor dem Zielwert und afterCount die Anzahl der zur\u00fcckzugebenden Eintr\u00e4ge nach dem Zielwert |
| | | WARN_LDAPSEARCH_SORT_ERROR=# Serverseitige Sortierung fehlgeschlagen: %s |
| | | INFO_LDAPSEARCH_VLV_TARGET_OFFSET=# VLV Ziel-Offset: %d |
| | | INFO_LDAPSEARCH_VLV_CONTENT_COUNT=# VLV Inhaltsmenge: %d |
| | | WARN_LDAPSEARCH_VLV_ERROR=# Verarbeitung der virtuellen Listenansicht fehlgeschlagen: %s |
| | | ERR_EFFECTIVERIGHTS_INVALID_AUTHZID=Die in der Steuerung geteffectiverights enthaltene Authorisierungs-ID "%s" ist ung\u00fcltig, da sie nicht mit "dn:" beginnt, um einen Benutzer-DN anzuzeigen |
| | | ERR_LDAPCOMPARE_ERROR_READING_FILE=Fehler beim Lesen von Datei '%s'. Stellen Sie sicher, dass die Datei vorhanden ist und Sie die Lesezugriffsrechte hierf\u00fcr besitzen Details: %s |
| | | ERR_LDAPCOMPARE_FILENAME_AND_DNS=Beide Eintrags-DNs und ein Dateiname wurden f\u00fcr den Vergleichsvorgang angegeben. Diese Argumente sind nicht kompatibel |
| | |
| | | # Copyright 2009 Sun Microsystems, Inc. |
| | | # Portions Copyright 2016 ForgeRock AS. |
| | | |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=Columna en la que ajustar l\u00edneas largas (0 para ning\u00fan ajuste) |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=Archivo que contiene los ND de las entradas que comparar |
| | | INFO_DESCRIPTION_SUBENTRIES=Use el control de subentradas para especificar que las subentradas sean visibles, pero que las entradas normales no lo sean |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=El ND de base para la b\u00fasqueda. Si no se especifica un ND de base, se utilizar\u00e1 el DSE ra\u00edz |
| | | INFO_SEARCH_DESCRIPTION_BASEDN=ND base de b\u00fasqueda |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT=N\u00famero m\u00e1ximo de entradas que se devolver\u00e1n de la b\u00fasqueda |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT=Duraci\u00f3n m\u00e1xima de tiempo en segundos permitida para la b\u00fasqueda |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY=Directiva de deshacer referencia de alias ('nunca', 'siempre', 'b\u00fasqueda' o 'buscar') |
| | | INFO_DESCRIPTION_TYPES_ONLY=Recuperar s\u00f3lo los nombres de atributo, pero no sus valores |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=Utilizar el control de aserci\u00f3n LDAP con el filtro especificado |
| | | INFO_DESCRIPTION_PREREAD_ATTRS=Utilizar el control de pre-lectura ReadEntry de LDAP |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS=Utilizar el control de post-lectura ReadEntry de LDAP |
| | | INFO_DESCRIPTION_PROXY_AUTHZID=Utilizar el control de autorizaci\u00f3n de proxy con el Id. de autorizaci\u00f3n dado |
| | | INFO_DESCRIPTION_PSEARCH_INFO=Utilizar el control de b\u00fasqueda persistente |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=Archivo que contiene una lista de cadenas de filtro de b\u00fasqueda |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=Utilizar el control de valores coincidentes de LDAP con el filtro especificado |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILENAME=Se debe escribir la ruta al archivo de salida con las entradas coincidentes. Si no se especifica, los datos se escribir\u00e1n en la salida est\u00e1ndar |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_FILENAME=Archivo en el que se escribir\u00e1 la salida |
| | | INFO_MAKELDIF_DESCRIPTION_LDIF=La ruta al archivo LDIF que escribir |
| | | INFO_MAKELDIF_DESCRIPTION_SEED=La semilla que se utilizar\u00e1 para inicializar el generador de n\u00fameros aleatorios |
| | | INFO_MAKELDIF_DESCRIPTION_RESOURCE_PATH=No se ha encontrado la ruta para buscar recursos MakeLDIF (p.ej. archivos de datos) en el directorio de trabajo actual o en la ruta del directorio de plantillas |
| | | INFO_LDIFMODIFY_DESCRIPTION_OUTPUT_FILENAME=Archivo en el que se deben escribir los datos actualizados |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID=Id. de autorizaci\u00f3n para la entrada de usuario cuya contrase\u00f1a se debe cambiar |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW=Nueva contrase\u00f1a que proporcionar al usuario de destino |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE=Ruta a un archivo que contiene la nueva contrase\u00f1a que proporcionar al usuario de destino |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW=Contrase\u00f1a actual para el usuario de destino |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE=Ruta a un archivo que contiene la contrase\u00f1a actual para el usuario de destino |
| | | INFO_DESCRIPTION_COUNT_ENTRIES=Contar el n\u00famero de entradas devueltas por el servidor |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE=Utilizar el control de resultados paginado de forma simple con el tama\u00f1o de p\u00e1gina dado |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME=Archivo LDIF que contiene los cambios que se van a aplicar |
| | | INFO_DESCRIPTION_SORT_ORDER=Ordenar los resultados mediante el orden especificado |
| | | INFO_DESCRIPTION_VLV=Utilizar el control de vista de lista virtual para recuperar la p\u00e1gina de resultados especificados |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER=Utilizar el control geteffectiverights con el authzid especificado |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR=Especifica la lista de atributos espec\u00edfica del control geteffectiverights |
| | | ERR_CANNOT_INITIALIZE_ARGS=Se ha producido un error inesperado al tratar de inicializar los argumentos de l\u00ednea de comandos: %s |
| | | ERR_ERROR_PARSING_ARGS=Se ha producido un error al analizar los argumentos de l\u00ednea de comandos: %s |
| | | INFO_PROCESSING_OPERATION=Procesando solicitud %s para %s |
| | | INFO_OPERATION_FAILED=error de operaci\u00f3n %s |
| | | INFO_OPERATION_SUCCESSFUL=operaci\u00f3n %s correcta para ND %s |
| | | INFO_PROCESSING_COMPARE_OPERATION=Comparando el tipo %s con valor %s en la entrada %s |
| | | INFO_COMPARE_OPERATION_RESULT_FALSE=La operaci\u00f3n de comparaci\u00f3n ha devuelto el valor false para la entrada %s |
| | | INFO_COMPARE_OPERATION_RESULT_TRUE=La operaci\u00f3n de comparaci\u00f3n ha devuelto el valor true para la entrada %s |
| | | ERR_SEARCH_NO_FILTERS=No se han especificado filtros para la solicitud de b\u00fasqueda |
| | | INFO_LDAPMODIFY_PREREAD_ENTRY=Entrada de destino antes de la operaci\u00f3n: |
| | | INFO_LDAPMODIFY_POSTREAD_ENTRY=Entrada de destino despu\u00e9s de la operaci\u00f3n: |
| | | ERR_PSEARCH_MISSING_DESCRIPTOR=La solicitud para utilizar el control de b\u00fasqueda persistente no incluye un descriptor que indique las opciones que utilizar con dicho control |
| | | ERR_PSEARCH_DOESNT_START_WITH_PS=El descriptor de b\u00fasqueda persistente %s no comenzaba por la cadena 'ps' requerida |
| | | ERR_PSEARCH_INVALID_CHANGE_TYPE=El valor de tipo de cambio especificado %s no es v\u00e1lido. Los tipos de cambio reconocidos son add, delete, modify, modifydn y any |
| | | ERR_PSEARCH_INVALID_CHANGESONLY=El valor changesOnly %s especificado no es v\u00e1lido. Los valores permitidos son 1 para devolver s\u00f3lo las entradas coincidentes que hayan cambiado desde el inicio de la b\u00fasqueda o 0 para incluir tambi\u00e9n las entradas existentes que coincidan con los criterios de b\u00fasqueda |
| | | ERR_PSEARCH_INVALID_RETURN_ECS=El valor returnECs %s especificado no es v\u00e1lido. Los valores permitidos son 1 para solicitar que el control de notificaci\u00f3n de cambios de entrada se incluya en entradas actualizadas o 0 para excluir el control de las entradas coincidentes |
| | | ERR_LDAP_MATCHEDVALUES_INVALID_FILTER=El filtro de valores coincidentes especificado no era v\u00e1lido: %s |
| | | ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ=Se ha producido un error al tratar de abrir el archivo de LDIF %s para lectura: %s |
| | | ERR_LDIF_FILE_READ_ERROR=Se ha producido un error al tratar de leer los contenidos del archivo de LDIF %s: %s |
| | | ERR_MAKELDIF_UNABLE_TO_CREATE_LDIF=Se ha producido un error al intentar abrir el archivo LDIF %s para escritura: %s |
| | | ERR_MAKELDIF_ERROR_WRITING_LDIF=Se ha producido un error al escribir datos en el archivo LDIF %s: %s |
| | | INFO_MAKELDIF_PROCESSED_N_ENTRIES=%d entradas procesadas |
| | | INFO_MAKELDIF_PROCESSING_COMPLETE=Procesamiento LDIF completo. %d entradas escritas |
| | | ERR_LDAPPWMOD_FAILED=Se ha producido un error en la operaci\u00f3n de modificaci\u00f3n de contrase\u00f1a LDAP con el c\u00f3digo de resultado %d |
| | | ERR_LDAPPWMOD_FAILURE_ERROR_MESSAGE=Mensaje de error: %s |
| | | ERR_LDAPPWMOD_FAILURE_MATCHED_DN=ND coincidente: %s |
| | | INFO_LDAPPWMOD_SUCCESSFUL=La operaci\u00f3n de modificaci\u00f3n de contrase\u00f1a de LDAP ha sido correcta |
| | | INFO_LDAPPWMOD_ADDITIONAL_INFO=Informaci\u00f3n adicional: %s |
| | | INFO_LDAPPWMOD_GENERATED_PASSWORD=Contrase\u00f1a generada: %s |
| | | INFO_COMPARE_CANNOT_BASE64_DECODE_ASSERTION_VALUE=Se ha indicado que el valor de aserci\u00f3n estaba codificado en base64, pero se ha producido un error al intentar descodificar el valor |
| | | INFO_COMPARE_CANNOT_READ_ASSERTION_VALUE_FROM_FILE=No se puede leer el valor de aserci\u00f3n desde el archivo especificado: %s |
| | | INFO_LDAPCOMPARE_TOOL_DESCRIPTION=Esta utilidad se puede utilizar para realizar operaciones de comparaci\u00f3n de LDAP en Directory Server |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=Esta utilidad se puede utilizar para realizar operaciones de modificar, agregar, eliminar y modificar ND en Directory Server |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=Esta utilidad se puede utilizar para realizar operaciones de modificaci\u00f3n de contrase\u00f1a en Directory Server |
| | | INFO_LDAPSEARCH_TOOL_DESCRIPTION=Esta utilidad se puede utilizar para realizar operaciones de b\u00fasqueda de LDAP en Directory Server |
| | | ERR_LDAPCOMPARE_NO_ATTR=No se ha especificado ning\u00fan atributo para su uso como destino para la comparaci\u00f3n |
| | | ERR_LDAPCOMPARE_INVALID_ATTR_STRING=Cadena de atributo no v\u00e1lida '%s'. La cadena de atributo debe tener una de las siguientes formas: 'atributo:valor', 'atributo::valorBase64', o 'atributo:<rutaArchivoValor' |
| | | INFO_LDAPSEARCH_PSEARCH_CHANGE_TYPE=# Tipo de cambio de b\u00fasqueda persistente: %s |
| | | INFO_LDAPSEARCH_PSEARCH_PREVIOUS_DN=# ND de entrada anterior de b\u00fasqueda persistente: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_HEADER=# Control de respuesta de usabilidad de cuenta |
| | | INFO_LDAPSEARCH_ACCTUSABLE_IS_USABLE=# La cuenta es utilizable |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_EXPIRATION=# Tiempo para que caduque la contrase\u00f1a: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_NOT_USABLE=# La cuenta no es utilizable |
| | | INFO_LDAPSEARCH_ACCTUSABLE_ACCT_INACTIVE=# Se ha desactivado la cuenta |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_RESET=# Se ha restablecido la contrase\u00f1a |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_EXPIRED=# La contrase\u00f1a ha caducado |
| | | INFO_LDAPSEARCH_ACCTUSABLE_REMAINING_GRACE=# N\u00famero de inicios de sesi\u00f3n de gracia restantes: %d |
| | | INFO_LDAPSEARCH_ACCTUSABLE_LOCKED=# La cuenta est\u00e1 bloqueada |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_UNLOCK=# Tiempo para el desbloqueo de la cuenta: %s |
| | | INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT=# N\u00famero total de entradas coincidentes: %d |
| | | ERR_PAGED_RESULTS_REQUIRES_SINGLE_FILTER=S\u00f3lo puede emplearse el control de resultados paginado de forma simple con un \u00fanico filtro de b\u00fasqueda |
| | | ERR_TOOL_RESULT_CODE=C\u00f3digo de resultado: %d (%s) |
| | | ERR_TOOL_MATCHED_DN=ND coincidente: %s |
| | | ERR_LDAP_SORTCONTROL_INVALID_ORDER=El orden especificado no era v\u00e1lido: %s |
| | | ERR_LDAPSEARCH_VLV_REQUIRES_SORT=Si se especifica el argumento --%s, tambi\u00e9n se debe especificar el argumento --%s |
| | | ERR_LDAPSEARCH_VLV_INVALID_DESCRIPTOR=El descriptor de vista de lista virtual especificado no era v\u00e1lido. Debe ser un valor con la forma 'beforeCount:afterCount:offset:contentCount' (donde offset especifica el \u00edndice de la entrada de destino y contentCount especifica el n\u00famero total de resultados estimado o cero si se desconoce) o 'beforeCount:afterCount:assertionValue' (donde la entrada debe ser la primera entrada cuyo valor de ordenaci\u00f3n principal sea mayor o igual al valor de aserci\u00f3n especificado). En cualquier caso, beforeCount es el n\u00famero de entradas que devolver antes del valor de destino y afterCount es el n\u00famero de entradas que devolver despu\u00e9s del valor de destino |
| | | WARN_LDAPSEARCH_SORT_ERROR=# No pudo realizarse la ordenaci\u00f3n del lado del servidor: %s |
| | | INFO_LDAPSEARCH_VLV_TARGET_OFFSET=# Desplazamiento de destino de VLV: %d |
| | | INFO_LDAPSEARCH_VLV_CONTENT_COUNT=# Recuento de contenido de VLV: %d |
| | | WARN_LDAPSEARCH_VLV_ERROR=# No pudo realizarse el procesamiento de la vista de lista virtual: %s |
| | | ERR_EFFECTIVERIGHTS_INVALID_AUTHZID=El Id. de autorizaci\u00f3n "%s" contenido en el control geteffectiverights no es v\u00e1lido ya que no empieza por "dn:" para indicar un ND de usuario |
| | | ERR_LDAPCOMPARE_ERROR_READING_FILE=Se ha producido un error al leer el archivo '%s'. Compruebe si existe el archivo y si posee derechos de acceso de lectura para \u00e9ste. Detalles: %s |
| | | ERR_LDAPCOMPARE_FILENAME_AND_DNS=Se han proporcionado ambos ND de entrada y un nombre de archivo para la operaci\u00f3n de comparaci\u00f3n Estos argumentos no son compatibles |
| | | INFO_LDIFDIFF_DESCRIPTION_USE_COMPARE_RESULT=Utilice los resultados de comparaci\u00f3n de LDAP como un c\u00f3digo de salida para se\\u00F1alar diferencias entre los dos archivos LDIF |
| | | INFO_LDAPCOMPARE_DESCRIPTION_USE_COMPARE_RESULT=Utilice los resultados de comparaci\u00f3n de LDAP como un c\u00f3digo de salida para las comparaci\u00f3nes LDAP |
| | |
| | | # Copyright 2009 Sun Microsystems, Inc. |
| | | # Portions Copyright 2016 ForgeRock AS. |
| | | |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=Taille maximum d'une ligne dans le fichier de sortie (0 = pas de limite) |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=Fichier contenant les DN des entr\u00e9es \u00e0 comparer |
| | | INFO_DESCRIPTION_SUBENTRIES=Utilisez le contr\u00f4le de sous-entr\u00e9es pour sp\u00e9cifier que les sous-entr\u00e9es sont visibles et que les entr\u00e9es normales sont masqu\u00e9es |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=Le DN de base pour la recherche. En l'absence de DN de base, le DSE racine sera utilis\u00e9 |
| | | INFO_SEARCH_DESCRIPTION_BASEDN=Rechercher DN de base |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT=Nombre maximum d'entr\u00e9es \u00e0 renvoyer depuis la recherche |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT=Dur\u00e9e maximum en secondes \u00e0 autoriser pour la recherche |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY=Strat\u00e9gie de d\u00e9r\u00e9f\u00e9rencement d'alias ('never', 'always', 'search ou 'find') |
| | | INFO_DESCRIPTION_TYPES_ONLY=R\u00e9cup\u00e9rer uniquement les noms d'attribut, pas leurs valeurs |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=Utiliser le contr\u00f4le de l'assertion LDAP avec le filtre fourni |
| | | INFO_DESCRIPTION_PREREAD_ATTRS=Utiliser le contr\u00f4le de pr\u00e9lecture ReadEntry de LDAP |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS=Utiliser le contr\u00f4le de postlecture ReadEntry de LDAP |
| | | INFO_DESCRIPTION_PROXY_AUTHZID=Utiliser le contr\u00f4le d'autorisation mise en proxy avec l'ID d'autorisation donn\u00e9e |
| | | INFO_DESCRIPTION_PSEARCH_INFO=Utiliser le contr\u00f4le de recherche persistente |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=Fichier contenant une liste des cha\u00eenes de filtres de recherche |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=Utiliser le contr\u00f4le des valeurs avec correspondance LDAP avec le filtre fourni |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILENAME=Le chemin vers le fichier de sortie dans lequel les entr\u00e9es correspondantes devraient \u00eatre \u00e9crites. En son absence, les donn\u00e9es seront alors \u00e9crites dans la sortie standard |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_FILENAME=Fichier dans lequel la sortie devrait \u00eatre \u00e9crite |
| | | INFO_MAKELDIF_DESCRIPTION_LDIF=Le chemin vers le fichier LDIF \u00e0 \u00e9crire |
| | | INFO_MAKELDIF_DESCRIPTION_SEED=Le germe \u00e0 utiliser pour initialiser le g\u00e9n\u00e9rateur de nombres al\u00e9atoire |
| | | INFO_MAKELDIF_DESCRIPTION_RESOURCE_PATH=Impossible de trouver le chemin pour rechercher les ressources MakeLDIF (par exemple, des fichiers de donn\u00e9es) dans le r\u00e9pertoire de travail actuel ou dans le chemin du r\u00e9pertoire de mod\u00e8les |
| | | INFO_LDIFMODIFY_DESCRIPTION_OUTPUT_FILENAME=Fichier dans lequel les donn\u00e9es mises \u00e0 jour devraient \u00eatre \u00e9crites |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID=ID d'autorisation pour l'entr\u00e9e utilisateur dont le mot de passe devrait \u00eatre chang\u00e9 |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW=Nouveau mot de passe \u00e0 fournir pour l'utilisateur cible |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE=Chemin vers un fichier contenant le nouveau mot de passe \u00e0 fournir pour l'utilisateur cible |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW=Mot de passe actuel pour l'utilisateur cible |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE=Chemin vers un fichier contenant le mot de passe actuel pour l'utilisateur cible |
| | | INFO_DESCRIPTION_COUNT_ENTRIES=Compter le nombre d'entr\u00e9es renvoy\u00e9es par le serveur |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE=Utiliser le contr\u00f4le de r\u00e9sultats sur page simple avec la taille de feuille donn\u00e9e |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME=Fichier LDIF contenant les modifications \u00e0 appliquer |
| | | INFO_DESCRIPTION_SORT_ORDER=Trier les r\u00e9sultats selon l'ordre de tri indiqu\u00e9 |
| | | INFO_DESCRIPTION_VLV=Utiliser l'affichage de liste virtuelle pour r\u00e9cup\u00e9rer la page de r\u00e9sultats sp\u00e9cifi\u00e9e |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER=Utiliser le contr\u00f4le geteffectiverights avec authzid autoris\u00e9 |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR=Sp\u00e9cifie la liste d'attributs sp\u00e9cifiques de contr\u00f4le geteffectiverights |
| | | ERR_CANNOT_INITIALIZE_ARGS=Une erreur inattendue s'est produite lors de la tentative d'initialisation des arguments de ligne de commande\u00a0: %s |
| | | ERR_ERROR_PARSING_ARGS=Une erreur s'est produite lors de l'analyse des arguments de ligne de commande\u00a0: %s |
| | | INFO_PROCESSING_OPERATION=Effectue l'action de la demande %s pour %s |
| | | INFO_OPERATION_FAILED=\u00c9chec de %s |
| | | INFO_OPERATION_SUCCESSFUL=%s r\u00e9ussie pour le DN %s |
| | | INFO_PROCESSING_COMPARE_OPERATION=Comparaison de type %s avec la valeur %s dans l'entr\u00e9e %s |
| | | INFO_COMPARE_OPERATION_RESULT_FALSE=L'op\u00e9ration de comparaison a renvoy\u00e9 false pour l'entr\u00e9e %s |
| | | INFO_COMPARE_OPERATION_RESULT_TRUE=L'op\u00e9ration de comparaison a renvoy\u00e9 true pour l'entr\u00e9e %s |
| | | ERR_SEARCH_NO_FILTERS=Aucun filtre sp\u00e9cifi\u00e9 pour la requ\u00eate de recherche |
| | | INFO_LDAPMODIFY_PREREAD_ENTRY=Entr\u00e9e cible avant l'op\u00e9ration\u00a0: |
| | | INFO_LDAPMODIFY_POSTREAD_ENTRY=Entr\u00e9e cible apr\u00e8s l'op\u00e9ration\u00a0: |
| | | ERR_PSEARCH_MISSING_DESCRIPTOR=La requ\u00eate d'utilisation du contr\u00f4le de recherche persistente n'incluait pas de descripteur indiquant les options \u00e0 utiliser avec ce contr\u00f4le |
| | | ERR_PSEARCH_DOESNT_START_WITH_PS=Le descripteur de recherche persistente %s ne s'est pas lanc\u00e9 avec la cha\u00eene 'ps' demand\u00e9e |
| | | ERR_PSEARCH_INVALID_CHANGE_TYPE=La valeur de type de changement indiqu\u00e9e %s est invalide. Les types de changement reconnus sont ajouter, supprimer, modifier, modifydn et autres |
| | | ERR_PSEARCH_INVALID_CHANGESONLY=La valeur changesOnly indiqu\u00e9e %s est invalide. Les valeurs autoris\u00e9es sont 1, pour renvoyer uniquement les entr\u00e9es correspondantes ayant \u00e9t\u00e9 modifi\u00e9es depuis le d\u00e9but de la recherche, ou 0, pour inclure aussi les entr\u00e9es existantes correspondant aux crit\u00e8res de recherche |
| | | ERR_PSEARCH_INVALID_RETURN_ECS=La valeur returnECs indiqu\u00e9e %s est invalide. Les valeurs autoris\u00e9es sont 1, pour demander l'inclusion du contr\u00f4le de notification de modification des entr\u00e9es dans les entr\u00e9es mises \u00e0 jour, ou 0, pour exclure le contr\u00f4le des entr\u00e9es correspondantes |
| | | ERR_LDAP_MATCHEDVALUES_INVALID_FILTER=Le filtre de valeurs avec correspondance fourni \u00e9tait invalide\u00a0: %s |
| | | ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ=Une erreur s'est produite lors de la tentative d'ouverture du fichier LDIF %s pour la lecture\u00a0: %s |
| | | ERR_LDIF_FILE_READ_ERROR=Une erreur s'est produite lors de la tentative de lecture du contenu du fichier LDIF %s\u00a0: %s |
| | | ERR_MAKELDIF_UNABLE_TO_CREATE_LDIF=Une erreur s'est produite lors de la tentative d'ouverture du fichier LDIF %s pour \u00e9crire\u00a0: %s |
| | | ERR_MAKELDIF_ERROR_WRITING_LDIF=Une erreur s'est produite lors de l'\u00e9criture des donn\u00e9es dans le fichier LDIF %s\u00a0: %s |
| | | INFO_MAKELDIF_PROCESSED_N_ENTRIES=%d entr\u00e9es trait\u00e9es |
| | | INFO_MAKELDIF_PROCESSING_COMPLETE=Traitement LDIF termin\u00e9. %d entr\u00e9es \u00e9crites |
| | | ERR_LDAPPWMOD_FAILED=\u00c9chec de l'op\u00e9ration de modification du mot de passe LDAP, avec le code de r\u00e9sultat %d |
| | | ERR_LDAPPWMOD_FAILURE_ERROR_MESSAGE=Message d'erreur\u00a0: %s |
| | | ERR_LDAPPWMOD_FAILURE_MATCHED_DN=DN correspondant\u00a0: %s |
| | | INFO_LDAPPWMOD_SUCCESSFUL=L'op\u00e9ration de modification du mot de passe LDAP a \u00e9t\u00e9 effectu\u00e9e avec succ\u00e8s |
| | | INFO_LDAPPWMOD_ADDITIONAL_INFO=Informations suppl\u00e9mentaires\u00a0: %s |
| | | INFO_LDAPPWMOD_GENERATED_PASSWORD=Mot de passe g\u00e9n\u00e9r\u00e9\u00a0: %s |
| | | INFO_COMPARE_CANNOT_BASE64_DECODE_ASSERTION_VALUE=La valeur assertion \u00e9tait indiqu\u00e9e comme cod\u00e9e en base64, mais une erreur s'est produite lors de la tentative de d\u00e9codage de la valeur |
| | | INFO_COMPARE_CANNOT_READ_ASSERTION_VALUE_FROM_FILE=Impossible de lire la valeur d'assertion dans le fichier sp\u00e9cifi\u00e9\u00a0: %s |
| | | INFO_LDAPCOMPARE_TOOL_DESCRIPTION=Cet utilitaire permet d'effectuer des op\u00e9rations de comparaison de LDAP dans Directory Server |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=Cet utilitaire permet d'effectuer les op\u00e9rations LDAP suivantes dans Directory Server\u00a0: modify, add, delete et modify DN |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=Cet utilitaire permet d'effectuer des op\u00e9rations de modification de mots de passe de LDAP dans Directory Server |
| | | INFO_LDAPSEARCH_TOOL_DESCRIPTION=Cet utilitaire permet d'effectuer des op\u00e9rations de recherche de LDAP dans Directory Server |
| | | ERR_LDAPCOMPARE_NO_ATTR=Aucun attribut n'a \u00e9t\u00e9 sp\u00e9cifi\u00e9 pour utilisation comme cible de la comparaison |
| | | ERR_LDAPCOMPARE_INVALID_ATTR_STRING=Cha\u00eene d'attribut non valide\u00a0: '%s'. La cha\u00eene d'attribut doit avoir l'un des formats suivants\u00a0: 'attribut:valeur', 'attribut::valeurbase64' ou 'attribut:<cheminFichierValeurs' |
| | | INFO_LDAPSEARCH_PSEARCH_CHANGE_TYPE=# Persistent search change type: %s |
| | | INFO_LDAPSEARCH_PSEARCH_PREVIOUS_DN=# DN d'entr\u00e9e pr\u00e9c\u00e9dente de recherche persistante : %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_HEADER=# Contr\u00f4le de r\u00e9ponse d'utilisabilit\u00e9 du compte |
| | | INFO_LDAPSEARCH_ACCTUSABLE_IS_USABLE=# Le compte est utilisable |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_EXPIRATION=# D\u00e9lai avant expiration du mot de passe\u00a0: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_NOT_USABLE=# Le compte n'est pas utilisable |
| | | INFO_LDAPSEARCH_ACCTUSABLE_ACCT_INACTIVE=# Le compte a \u00e9t\u00e9 d\u00e9sactiv\u00e9 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_RESET=# Le mot de passe a \u00e9t\u00e9 r\u00e9initialis\u00e9 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_EXPIRED=# Le mot de passe a expir\u00e9 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_REMAINING_GRACE=# Nombre de connexions restantes : %d |
| | | INFO_LDAPSEARCH_ACCTUSABLE_LOCKED=# Le compte est verrouill\u00e9 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_UNLOCK=# D\u00e9lai avant verrouillage du compte\u00a0: %s |
| | | INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT=# Total number of matching entries: %d |
| | | ERR_PAGED_RESULTS_REQUIRES_SINGLE_FILTER=Vous ne pouvez utiliser le contr\u00f4le simple de r\u00e9sultats pagin\u00e9s qu'avec un seul filtre de recherche |
| | | ERR_TOOL_RESULT_CODE=Code de r\u00e9sultat\u00a0: %d (%s) |
| | | ERR_TOOL_MATCHED_DN=DN correspondant\u00a0: %s |
| | | ERR_LDAP_SORTCONTROL_INVALID_ORDER=L'ordre de tri indiqu\u00e9 \u00e9tait invalide\u00a0: %s |
| | | ERR_LDAPSEARCH_VLV_REQUIRES_SORT=Si cet argument %s est indiqu\u00e9, l'argument --%s doit aussi \u00eatre donn\u00e9 |
| | | ERR_LDAPSEARCH_VLV_INVALID_DESCRIPTOR=Le descripteur indiqu\u00e9 de l'affichage de liste virtuelle \u00e9tait invalide. Cela doit \u00eatre une valeur de la forme suivante: 'beforeCount:afterCount:offset:contentCount' (o\u00f9 offset indique l'index de l'entr\u00e9e cible et contentCount le nombre total estim\u00e9 de r\u00e9sultats, z\u00e9ro s'il est inconnu) ou 'beforeCount:afterCount:assertionValue' (o\u00f9 l'entr\u00e9e devrait \u00eatre la premi\u00e8re entr\u00e9e dont la valeur de tri de noeud principal est sup\u00e9rieure ou \u00e9gale \u00e0 l'assertionValue fournie). Dans les deux cas, beforeCount est le nombre d'entr\u00e9es \u00e0 renvoyer avant la valeur cible et afterCount est le nombre d'entr\u00e9es \u00e0 renvoyer apr\u00e8s la valeur cible |
| | | WARN_LDAPSEARCH_SORT_ERROR=# \u00c9chec du tri c\u00f4t\u00e9 serveur\u00a0: %s |
| | | INFO_LDAPSEARCH_VLV_TARGET_OFFSET=# D\u00e9calage de la cible VLV\u00a0: %d |
| | | INFO_LDAPSEARCH_VLV_CONTENT_COUNT=# Nombre contenus VLV\u00a0: %d |
| | | WARN_LDAPSEARCH_VLV_ERROR=# \u00c9chec du traitement de l'affichage de la liste virtuelle\u00a0: %s |
| | | ERR_EFFECTIVERIGHTS_INVALID_AUTHZID=L'ID d'autorisation "%s" contenu dans le contr\u00f4le geteffectiverights est invalide car il ne doit pas commencer par "dn:" pour indiquer un DN utilisateur |
| | | ERR_LDAPCOMPARE_ERROR_READING_FILE=Une erreur s'est produite lors de la lecture du fichier '%s'. V\u00e9rifiez que ce fichier existe et que vous disposez de droits de lecture le concernant D\u00e9tails\u00a0: %s |
| | | ERR_LDAPCOMPARE_FILENAME_AND_DNS=Vous avez fourni \u00e0 la fois des DN d'entr\u00e9e et un nom de fichier pour l'op\u00e9ration de comparaison. Ces arguments ne sont pas compatibles |
| | | INFO_LDIFDIFF_DESCRIPTION_USE_COMPARE_RESULT=Utiliser le r\u00e9sultat de comparaison LDAP en tant que code de sortie pour signaler les diff\u00e9rences entre deux fichiers LDIF |
| | | INFO_LDAPCOMPARE_DESCRIPTION_USE_COMPARE_RESULT=Utiliser le r\u00e9sultat de comparaison LDAP en tant que code de sortie pour les comparaisons LDAP |
| | |
| | | # Copyright 2009 Sun Microsystems, Inc. |
| | | # Portions Copyright 2016 ForgeRock AS. |
| | | |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=\u9577\u3044\u884c\u3092\u6298\u308a\u8fd4\u3059\u6841 (0 \u306f\u6298\u308a\u8fd4\u3057\u306a\u3057) |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=\u6bd4\u8f03\u3059\u308b\u30a8\u30f3\u30c8\u30ea\u306e DN \u3092\u542b\u3080\u30d5\u30a1\u30a4\u30eb |
| | | INFO_DESCRIPTION_SUBENTRIES=\u30b5\u30d6\u30a8\u30f3\u30c8\u30ea\u5236\u5fa1\u3092\u4f7f\u7528\u3057\u3001\u901a\u5e38\u306e\u30a8\u30f3\u30c8\u30ea\u306f\u8868\u793a\u305b\u305a\u306b\u30b5\u30d6\u30a8\u30f3\u30c8\u30ea\u3092\u8868\u793a\u3059\u308b\u3088\u3046\u306b\u6307\u5b9a\u3057\u307e\u3059 |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=\u30d9\u30fc\u30b9 DN \u3092\u691c\u7d22\u3057\u307e\u3059 |
| | | INFO_SEARCH_DESCRIPTION_BASEDN=\u30d9\u30fc\u30b9 DN \u3092\u691c\u7d22\u3057\u307e\u3059 |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT=\u691c\u7d22\u304b\u3089\u8fd4\u3059\u30a8\u30f3\u30c8\u30ea\u306e\u6700\u5927\u6570 |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT=\u691c\u7d22\u3092\u5b9f\u884c\u53ef\u80fd\u306a\u6700\u5927\u6642\u9593 (\u79d2) |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY=\u30a8\u30a4\u30ea\u30a2\u30b9\u9593\u63a5\u53c2\u7167\u30dd\u30ea\u30b7\u30fc ('never'\u3001'always'\u3001'search'\u3001\u307e\u305f\u306f 'find') |
| | | INFO_DESCRIPTION_TYPES_ONLY=\u5c5e\u6027\u540d\u3092\u53d6\u5f97\u3059\u308b\u3060\u3051\u3067\u3001\u305d\u306e\u5024\u306f\u53d6\u5f97\u3057\u307e\u305b\u3093 |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a3\u30eb\u30bf\u3067 LDAP \u8868\u660e\u5236\u5fa1\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_PREREAD_ATTRS=LDAP ReadEntry \u8aad\u307f\u8fbc\u307f\u524d\u5236\u5fa1\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS=LDAP ReadEntry \u8aad\u307f\u8fbc\u307f\u5f8c\u5236\u5fa1\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_PROXY_AUTHZID=\u6307\u5b9a\u3055\u308c\u305f\u8a8d\u53ef ID \u306b\u5bfe\u3057\u3066\u30d7\u30ed\u30ad\u30b7\u8a2d\u5b9a\u3055\u308c\u305f\u8a8d\u53ef\u5236\u5fa1\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_PSEARCH_INFO=\u6301\u7d9a\u7684\u691c\u7d22\u5236\u5fa1\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=\u691c\u7d22\u30d5\u30a3\u30eb\u30bf\u6587\u5b57\u5217\u306e\u30ea\u30b9\u30c8\u3092\u542b\u3080\u30d5\u30a1\u30a4\u30eb |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a3\u30eb\u30bf\u3067 LDAP \u4e00\u81f4\u5024\u5236\u5fa1\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILENAME=\u4e00\u81f4\u3059\u308b\u30a8\u30f3\u30c8\u30ea\u3092\u66f8\u304d\u8fbc\u3080\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9\u3002 \u3053\u308c\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u30c7\u30fc\u30bf\u306f\u6a19\u6e96\u51fa\u529b\u306b\u66f8\u304d\u8fbc\u307e\u308c\u307e\u3059 |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_FILENAME=\u51fa\u529b\u304c\u66f8\u304d\u8fbc\u307e\u308c\u308b\u30d5\u30a1\u30a4\u30eb |
| | | INFO_MAKELDIF_DESCRIPTION_LDIF=\u66f8\u304d\u8fbc\u307f\u5148\u306e LDIF \u30d5\u30a1\u30a4\u30eb\u3078\u306e\u30d1\u30b9 |
| | | INFO_MAKELDIF_DESCRIPTION_SEED=\u4e71\u6570\u767a\u751f\u95a2\u6570\u306e\u521d\u671f\u5316\u306b\u4f7f\u7528\u3059\u308b\u30b7\u30fc\u30c9 |
| | | INFO_MAKELDIF_DESCRIPTION_RESOURCE_PATH=MakeLDIF \u30ea\u30bd\u30fc\u30b9 (\u30c7\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u306a\u3069) \u306e\u691c\u7d22\u30d1\u30b9\u304c\u3001\u73fe\u5728\u306e\u4f5c\u696d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3082\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30d1\u30b9\u5185\u306b\u3082\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f |
| | | INFO_LDIFMODIFY_DESCRIPTION_OUTPUT_FILENAME=\u66f4\u65b0\u3055\u308c\u305f\u30c7\u30fc\u30bf\u306e\u66f8\u304d\u8fbc\u307f\u5148\u30d5\u30a1\u30a4\u30eb |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5909\u66f4\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u30a8\u30f3\u30c8\u30ea\u306e\u8a8d\u53ef ID |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW=\u30bf\u30fc\u30b2\u30c3\u30c8\u30e6\u30fc\u30b6\u30fc\u306b\u6307\u5b9a\u3059\u308b\u65b0\u898f\u30d1\u30b9\u30ef\u30fc\u30c9 |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE=\u30bf\u30fc\u30b2\u30c3\u30c8\u30e6\u30fc\u30b6\u30fc\u306b\u6307\u5b9a\u3059\u308b\u65b0\u898f\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u542b\u3080\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u30d1\u30b9 |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW=\u30bf\u30fc\u30b2\u30c3\u30c8\u30e6\u30fc\u30b6\u30fc\u306e\u73fe\u5728\u306e\u30d1\u30b9\u30ef\u30fc\u30c9 |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE=\u30bf\u30fc\u30b2\u30c3\u30c8\u30e6\u30fc\u30b6\u30fc\u306e\u73fe\u5728\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u542b\u3080\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u30d1\u30b9 |
| | | INFO_DESCRIPTION_COUNT_ENTRIES=\u30b5\u30fc\u30d0\u30fc\u304b\u3089\u8fd4\u3055\u308c\u305f\u30a8\u30f3\u30c8\u30ea\u306e\u6570\u3092\u6570\u3048\u307e\u3059 |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE=\u6307\u5b9a\u3055\u308c\u305f\u30da\u30fc\u30b8\u30b5\u30a4\u30ba\u3092\u4f7f\u3063\u305f\u5358\u7d14\u306a\u30da\u30fc\u30b8\u30f3\u30b0\u306e\u7d50\u679c\u5236\u5fa1\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME=\u9069\u7528\u3059\u308b\u5909\u66f4\u3092\u542b\u3080 LDIF \u30d5\u30a1\u30a4\u30eb |
| | | INFO_DESCRIPTION_SORT_ORDER=\u6307\u5b9a\u3055\u308c\u305f\u30bd\u30fc\u30c8\u9806\u5e8f\u3092\u4f7f\u3063\u3066\u7d50\u679c\u3092\u30bd\u30fc\u30c8\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_VLV=\u4eee\u60f3\u30ea\u30b9\u30c8\u8868\u793a\u5236\u5fa1\u3092\u4f7f\u3063\u3066\u3001\u6307\u5b9a\u3055\u308c\u305f\u7d50\u679c\u30da\u30fc\u30b8\u3092\u53d6\u5f97\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER=\u6307\u5b9a\u3055\u308c\u305f authzid \u306b\u5bfe\u3057\u3066 geteffectiverights \u5236\u5fa1\u3092\u4f7f\u7528\u3057\u307e\u3059 |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR=geteffectiverights \u5236\u5fa1\u56fa\u6709\u306e\u5c5e\u6027\u30ea\u30b9\u30c8\u3092\u6307\u5b9a\u3057\u307e\u3059 |
| | | ERR_CANNOT_INITIALIZE_ARGS=\u30b3\u30de\u30f3\u30c9\u884c\u5f15\u6570\u306e\u521d\u671f\u5316\u4e2d\u306b\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_ERROR_PARSING_ARGS=\u30b3\u30de\u30f3\u30c9\u884c\u5f15\u6570\u306e\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | INFO_PROCESSING_OPERATION=%2$s \u306e %1$s \u8981\u6c42\u3092\u51e6\u7406\u3057\u3066\u3044\u307e\u3059 |
| | | INFO_OPERATION_FAILED=%s \u306e\u64cd\u4f5c\u304c\u5931\u6557\u3057\u307e\u3057\u305f |
| | | INFO_OPERATION_SUCCESSFUL=DN %2$s \u306b\u5bfe\u3057\u3066 %1$s \u306e\u64cd\u4f5c\u304c\u6210\u529f\u3057\u307e\u3057\u305f |
| | | INFO_PROCESSING_COMPARE_OPERATION=\u30bf\u30a4\u30d7 %1$s \u3092\u30a8\u30f3\u30c8\u30ea %3$s \u5185\u306e\u5024 %2$s \u3068\u6bd4\u8f03\u3057\u3066\u3044\u307e\u3059 |
| | | INFO_COMPARE_OPERATION_RESULT_FALSE=\u6bd4\u8f03\u64cd\u4f5c\u306b\u3088\u308a\u30a8\u30f3\u30c8\u30ea %s \u306b\u5bfe\u3057\u3066 false \u304c\u8fd4\u3055\u308c\u307e\u3057\u305f |
| | | INFO_COMPARE_OPERATION_RESULT_TRUE=\u6bd4\u8f03\u64cd\u4f5c\u306b\u3088\u308a\u30a8\u30f3\u30c8\u30ea %s \u306b\u5bfe\u3057\u3066 true \u304c\u8fd4\u3055\u308c\u307e\u3057\u305f |
| | | ERR_SEARCH_NO_FILTERS=\u691c\u7d22\u8981\u6c42\u306b\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a3\u30eb\u30bf\u304c\u3042\u308a\u307e\u305b\u3093 |
| | | INFO_LDAPMODIFY_PREREAD_ENTRY=\u64cd\u4f5c\u524d\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u30a8\u30f3\u30c8\u30ea: |
| | | INFO_LDAPMODIFY_POSTREAD_ENTRY=\u64cd\u4f5c\u5f8c\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u30a8\u30f3\u30c8\u30ea: |
| | | ERR_PSEARCH_MISSING_DESCRIPTOR=\u6301\u7d9a\u7684\u691c\u7d22\u5236\u5fa1\u306e\u4f7f\u7528\u8981\u6c42\u306b\u3001\u3053\u306e\u5236\u5fa1\u3067\u4f7f\u7528\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u793a\u3059\u8a18\u8ff0\u5b50\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f |
| | | ERR_PSEARCH_DOESNT_START_WITH_PS=\u6301\u7d9a\u7684\u691c\u7d22\u8a18\u8ff0\u5b50 %s \u306e\u5148\u982d\u306b\u5fc5\u9808\u306e 'ps' \u6587\u5b57\u5217\u304c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f |
| | | ERR_PSEARCH_INVALID_CHANGE_TYPE=\u6307\u5b9a\u3055\u308c\u305f\u5909\u66f4\u30bf\u30a4\u30d7\u306e\u5024 %s \u304c\u7121\u52b9\u3067\u3059\u3002 \u8a8d\u8b58\u3055\u308c\u308b\u5909\u66f4\u30bf\u30a4\u30d7\u306f\u3001add\u3001delete\u3001modify\u3001modifydn\u3001\u304a\u3088\u3073 any \u3067\u3059 |
| | | ERR_PSEARCH_INVALID_CHANGESONLY=\u6307\u5b9a\u3055\u308c\u305f changesOnly \u5024 %s \u306f\u7121\u52b9\u3067\u3059\u3002 \u4f7f\u7528\u53ef\u80fd\u306a\u5024\u306f\u3001\u4e00\u81f4\u3059\u308b\u30a8\u30f3\u30c8\u30ea\u306e\u3046\u3061\u691c\u7d22\u306e\u958b\u59cb\u5f8c\u306b\u5909\u66f4\u3055\u308c\u305f\u30a8\u30f3\u30c8\u30ea\u306e\u307f\u3092\u8fd4\u3059\u5834\u5408\u306f 1\u3001\u691c\u7d22\u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u65e2\u5b58\u306e\u30a8\u30f3\u30c8\u30ea\u3082\u542b\u3081\u308b\u5834\u5408\u306f 0 \u3067\u3059 |
| | | ERR_PSEARCH_INVALID_RETURN_ECS=\u6307\u5b9a\u3055\u308c\u305f returnECs \u5024 %s \u306f\u7121\u52b9\u3067\u3059\u3002 \u4f7f\u7528\u53ef\u80fd\u306a\u5024\u306f\u3001\u66f4\u65b0\u3055\u308c\u305f\u30a8\u30f3\u30c8\u30ea\u306b\u30a8\u30f3\u30c8\u30ea\u5909\u66f4\u901a\u77e5\u5236\u5fa1\u3092\u542b\u3081\u308b\u5834\u5408\u306f 1\u3001\u4e00\u81f4\u3059\u308b\u30a8\u30f3\u30c8\u30ea\u304b\u3089\u5236\u5fa1\u3092\u9664\u5916\u3059\u308b\u5834\u5408\u306f 0 \u3067\u3059 |
| | | ERR_LDAP_MATCHEDVALUES_INVALID_FILTER=\u6307\u5b9a\u3055\u308c\u305f\u4e00\u81f4\u5024\u30d5\u30a3\u30eb\u30bf\u306f\u7121\u52b9\u3067\u3057\u305f: %s |
| | | ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ=LDIF \u30d5\u30a1\u30a4\u30eb %s \u3092\u8aad\u307f\u53d6\u308a\u7528\u306b\u958b\u3044\u3066\u3044\u308b\u3068\u304d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_LDIF_FILE_READ_ERROR=LDIF \u30d5\u30a1\u30a4\u30eb %s \u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_MAKELDIF_UNABLE_TO_CREATE_LDIF=LDIF \u30d5\u30a1\u30a4\u30eb %s \u3092\u66f8\u304d\u8fbc\u307f\u7528\u306b\u958b\u3044\u3066\u3044\u308b\u3068\u304d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | ERR_MAKELDIF_ERROR_WRITING_LDIF=\u30c7\u30fc\u30bf\u3092 LDIF \u30d5\u30a1\u30a4\u30eb %s \u306b\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: %s |
| | | INFO_MAKELDIF_PROCESSED_N_ENTRIES=%d \u30a8\u30f3\u30c8\u30ea\u304c\u51e6\u7406\u3055\u308c\u307e\u3057\u305f |
| | | INFO_MAKELDIF_PROCESSING_COMPLETE=LDIF \u306e\u51e6\u7406\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 %d \u30a8\u30f3\u30c8\u30ea\u304c\u66f8\u304d\u8fbc\u307e\u308c\u307e\u3057\u305f |
| | | ERR_LDAPPWMOD_FAILED=LDAP \u30d1\u30b9\u30ef\u30fc\u30c9\u5909\u66f4\u64cd\u4f5c\u306f\u3001\u7d50\u679c\u30b3\u30fc\u30c9 %d \u3067\u5931\u6557\u3057\u307e\u3057\u305f |
| | | ERR_LDAPPWMOD_FAILURE_ERROR_MESSAGE=\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8: %s |
| | | ERR_LDAPPWMOD_FAILURE_MATCHED_DN=\u4e00\u81f4\u3057\u305f DN: %s |
| | | INFO_LDAPPWMOD_SUCCESSFUL=LDAP \u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u5909\u66f4\u64cd\u4f5c\u306b\u6210\u529f\u3057\u307e\u3057\u305f |
| | | INFO_LDAPPWMOD_ADDITIONAL_INFO=\u8ffd\u52a0\u60c5\u5831: %s |
| | | INFO_LDAPPWMOD_GENERATED_PASSWORD=\u751f\u6210\u3055\u308c\u305f\u30d1\u30b9\u30ef\u30fc\u30c9: %s |
| | | INFO_COMPARE_CANNOT_BASE64_DECODE_ASSERTION_VALUE=\u8868\u660e\u5024\u306f Base64 \u3067\u7b26\u53f7\u5316\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u793a\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u5024\u306e\u5fa9\u53f7\u5316\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f |
| | | INFO_COMPARE_CANNOT_READ_ASSERTION_VALUE_FROM_FILE=\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8868\u660e\u5024\u3092\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093: %s |
| | | INFO_LDAPCOMPARE_TOOL_DESCRIPTION=\u3053\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30fc\u3092\u4f7f\u3063\u3066\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u5185\u3067 LDAP \u6bd4\u8f03\u64cd\u4f5c\u3092\u5b9f\u884c\u3067\u304d\u307e\u3059 |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=\u3053\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30fc\u3092\u4f7f\u3063\u3066\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u5185\u3067 LDAP \u5909\u66f4\u3001\u8ffd\u52a0\u3001\u524a\u9664\u3001\u304a\u3088\u3073 DN \u5909\u66f4\u64cd\u4f5c\u3092\u5b9f\u884c\u3067\u304d\u307e\u3059 |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=\u3053\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30fc\u3092\u4f7f\u3063\u3066\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u5185\u3067 LDAP \u30d1\u30b9\u30ef\u30fc\u30c9\u5909\u66f4\u64cd\u4f5c\u3092\u5b9f\u884c\u3067\u304d\u307e\u3059 |
| | | INFO_LDAPSEARCH_TOOL_DESCRIPTION=\u3053\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30fc\u3092\u4f7f\u3063\u3066\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d0\u30fc\u5185\u3067 LDAP \u691c\u7d22\u64cd\u4f5c\u3092\u5b9f\u884c\u3067\u304d\u307e\u3059 |
| | | ERR_LDAPCOMPARE_NO_ATTR=\u6bd4\u8f03\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u5c5e\u6027\u304c\u6307\u5b9a\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f |
| | | ERR_LDAPCOMPARE_INVALID_ATTR_STRING=\u7121\u52b9\u306a\u5c5e\u6027\u6587\u5b57\u5217 '%s' \u3067\u3059\u3002\u5c5e\u6027\u6587\u5b57\u5217\u306f\u3001\u6b21\u306e\u3044\u305a\u308c\u304b\u306e\u5f62\u5f0f\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: '\u5c5e\u6027:\u5024'\u3001'\u5c5e\u6027::base64 \u5f62\u5f0f\u306e\u5024'\u3001\u307e\u305f\u306f '\u5c5e\u6027:<\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u306e\u5024' |
| | | INFO_LDAPSEARCH_PSEARCH_CHANGE_TYPE=# \u6301\u7d9a\u691c\u7d22\u306e\u5909\u66f4\u30bf\u30a4\u30d7: %s |
| | | INFO_LDAPSEARCH_PSEARCH_PREVIOUS_DN=# \u6301\u7d9a\u691c\u7d22\u306e\u524d\u306e\u30a8\u30f3\u30c8\u30ea DN: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_HEADER=# \u30a2\u30ab\u30a6\u30f3\u30c8\u30e6\u30fc\u30b6\u30d3\u30ea\u30c6\u30a3\u30fc\u5fdc\u7b54\u5236\u5fa1 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_IS_USABLE=# \u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u4f7f\u7528\u53ef\u80fd\u3067\u3059 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_EXPIRATION=# \u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u671f\u9650\u5207\u308c\u306b\u306a\u308b\u307e\u3067\u306e\u6642\u9593: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_NOT_USABLE=# \u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_ACCT_INACTIVE=# \u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u975e\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u3055\u308c\u3066\u3044\u307e\u3059 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_RESET=# \u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u30ea\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3057\u305f |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_EXPIRED=# \u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u671f\u9650\u304c\u5207\u308c\u3066\u3044\u307e\u3059 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_REMAINING_GRACE=# \u6b8b\u3055\u308c\u305f\u7336\u4e88\u30ed\u30b0\u30a4\u30f3\u306e\u56de\u6570: %d |
| | | INFO_LDAPSEARCH_ACCTUSABLE_LOCKED=# \u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u30ed\u30c3\u30af\u3055\u308c\u3066\u3044\u307e\u3059 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_UNLOCK=# \u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u30ed\u30c3\u30af\u89e3\u9664\u3055\u308c\u308b\u307e\u3067\u306e\u6642\u9593: %s |
| | | INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT=# \u4e00\u81f4\u3059\u308b\u30a8\u30f3\u30c8\u30ea\u306e\u7dcf\u6570: %d |
| | | ERR_PAGED_RESULTS_REQUIRES_SINGLE_FILTER=\u5358\u7d14\u306a\u30da\u30fc\u30b8\u30f3\u30b0\u306e\u7d50\u679c\u5236\u5fa1\u306f\u3001\u5358\u4e00\u306e\u691c\u7d22\u30d5\u30a3\u30eb\u30bf\u3067\u306e\u307f\u4f7f\u7528\u3067\u304d\u307e\u3059 |
| | | ERR_TOOL_RESULT_CODE=\u7d50\u679c\u30b3\u30fc\u30c9: %d (%s) |
| | | ERR_TOOL_MATCHED_DN=\u4e00\u81f4\u3057\u305f DN: %s |
| | | ERR_LDAP_SORTCONTROL_INVALID_ORDER=\u6307\u5b9a\u3055\u308c\u305f\u30bd\u30fc\u30c8\u9806\u5e8f\u304c\u7121\u52b9\u3067\u3057\u305f: %s |
| | | ERR_LDAPSEARCH_VLV_REQUIRES_SORT=--%s \u5f15\u6570\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u3001--%s \u5f15\u6570\u3082\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044 |
| | | ERR_LDAPSEARCH_VLV_INVALID_DESCRIPTOR=\u6307\u5b9a\u3055\u308c\u305f\u4eee\u60f3\u30ea\u30b9\u30c8\u8868\u793a\u8a18\u8ff0\u5b50\u304c\u7121\u52b9\u3067\u3057\u305f\u3002 \u3053\u306e\u5024\u306e\u66f8\u5f0f\u306f\u3001'beforeCount:afterCount:offset:contentCount' (offset \u306b\u306f\u30bf\u30fc\u30b2\u30c3\u30c8\u30a8\u30f3\u30c8\u30ea\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u6307\u5b9a\u3057\u3001contentCount \u306b\u306f\u63a8\u5b9a\u3055\u308c\u308b\u7d50\u679c\u306e\u5408\u8a08\u307e\u305f\u306f 0 (\u4e0d\u660e\u306e\u5834\u5408) \u3092\u6307\u5b9a\u3059\u308b)\u3001\u307e\u305f\u306f 'beforeCount:afterCount:assertionValue' (\u30a8\u30f3\u30c8\u30ea\u306f\u6307\u5b9a\u3055\u308c\u305f assertionValue \u4ee5\u4e0a\u306e\u4e3b\u30bd\u30fc\u30c8\u5024\u3092\u6301\u3064\u6700\u521d\u306e\u30a8\u30f3\u30c8\u30ea\u306b\u3059\u308b) \u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u3069\u3061\u3089\u306e\u5834\u5408\u3082\u3001beforeCount \u306f\u30bf\u30fc\u30b2\u30c3\u30c8\u5024\u306e\u524d\u306b\u8fd4\u3059\u30a8\u30f3\u30c8\u30ea\u6570\u306b\u3001afterCount \u306f\u30bf\u30fc\u30b2\u30c3\u30c8\u5024\u306e\u3042\u3068\u306b\u8fd4\u3059\u30a8\u30f3\u30c8\u30ea\u6570\u306b\u306a\u308a\u307e\u3059 |
| | | WARN_LDAPSEARCH_SORT_ERROR=# \u30b5\u30fc\u30d0\u30fc\u5074\u306e\u30bd\u30fc\u30c8\u304c\u5931\u6557\u3057\u307e\u3057\u305f: %s |
| | | INFO_LDAPSEARCH_VLV_TARGET_OFFSET=# VLV \u30bf\u30fc\u30b2\u30c3\u30c8\u30aa\u30d5\u30bb\u30c3\u30c8: %d |
| | | INFO_LDAPSEARCH_VLV_CONTENT_COUNT=# VLV \u30b3\u30f3\u30c6\u30f3\u30c4\u6570: %d |
| | | WARN_LDAPSEARCH_VLV_ERROR=# \u4eee\u60f3\u30ea\u30b9\u30c8\u8868\u793a\u306e\u51e6\u7406\u304c\u5931\u6557\u3057\u307e\u3057\u305f: %s |
| | | ERR_EFFECTIVERIGHTS_INVALID_AUTHZID=geteffectiverights \u5236\u5fa1\u306b\u542b\u307e\u308c\u308b\u8a8d\u53ef ID "%s" \u304c\u7121\u52b9\u3067\u3059\u3002\u5148\u982d\u306b\u30e6\u30fc\u30b6\u30fc DN \u3092\u793a\u3059 "dn:" \u304c\u3042\u308a\u307e\u305b\u3093 |
| | | ERR_LDAPCOMPARE_ERROR_READING_FILE=\u30d5\u30a1\u30a4\u30eb '%s' \u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u3001\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u6a29\u304c\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u8a73\u7d30: %s |
| | | ERR_LDAPCOMPARE_FILENAME_AND_DNS=\u30a8\u30f3\u30c8\u30ea DN \u3068\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u4e21\u65b9\u304c\u6bd4\u8f03\u64cd\u4f5c\u306b\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u308c\u3089\u306e\u5f15\u6570\u306f\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093 |
| | |
| | | # Copyright 2009 Sun Microsystems, Inc. |
| | | # Portions Copyright 2016 ForgeRock AS. |
| | | |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=\uae34 \ud589\uc744 \ub798\ud551\ud560 \uc5f4(0 = \ub798\ud551 \uc548 \ud568) |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=\ube44\uad50\ud560 \ud56d\ubaa9\uc758 DN\uc744 \ud3ec\ud568\ud558\ub294 \ud30c\uc77c |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=\uae30\ubcf8 DN\uc744 \uac80\uc0c9\ud569\ub2c8\ub2e4. |
| | | INFO_SEARCH_DESCRIPTION_BASEDN=\uae30\ubcf8 DN\uc744 \uac80\uc0c9\ud569\ub2c8\ub2e4. |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT=\uac80\uc0c9\uc5d0\uc11c \ubc18\ud658\ud560 \ucd5c\ub300 \ud56d\ubaa9 \uc218 |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT=\ud5c8\uc6a9\ub418\ub294 \ucd5c\ub300 \uac80\uc0c9 \uc2dc\uac04(\ucd08) |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY=\ubcc4\uce6d \uc5ed\ucc38\uc870 \uc815\ucc45('never', 'always', 'search' \ub610\ub294 'find') |
| | | INFO_DESCRIPTION_TYPES_ONLY=\uac12\uc740 \uc81c\uc678\ud558\uace0 \uc18d\uc131 \uc774\ub984\ub9cc \uac80\uc0c9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=\uc81c\uacf5\ub41c \ud544\ud130\ub97c \uac00\uc9c4 LDAP \uba85\uc81c \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_PREREAD_ATTRS=LDAP ReadEntry pre-read \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS=LDAP ReadEntry post-read \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_PROXY_AUTHZID=\uc9c0\uc815\ub41c \uad8c\ud55c \ubd80\uc5ec \uc544\uc774\ub514\ub97c \uac00\uc9c4 \ud504\ub85d\uc2dc \uc778\uc99d \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_PSEARCH_INFO=\uc601\uad6c \uac80\uc0c9 \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=\uac80\uc0c9 \ud544\ud130 \ubb38\uc790\uc5f4 \ubaa9\ub85d\uc744 \ud3ec\ud568\ud558\ub294 \ud30c\uc77c |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=\uc81c\uacf5\ub41c \ud544\ud130\ub97c \uac00\uc9c4 LDAP \uc77c\uce58 \uac12 \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILENAME=\uc77c\uce58 \ud56d\ubaa9\uc744 \uae30\ub85d\ud560 \ucd9c\ub825 \ud30c\uc77c \uacbd\ub85c. \uc774 \uac12\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc73c\uba74 \ub370\uc774\ud130\uac00 \ud45c\uc900 \ucd9c\ub825\uc73c\ub85c \uae30\ub85d\ub429\ub2c8\ub2e4. |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_FILENAME=\ucd9c\ub825\uc744 \uae30\ub85d\ud560 \ud30c\uc77c |
| | | INFO_MAKELDIF_DESCRIPTION_LDIF=\uae30\ub85d\ud560 LDIF \ud30c\uc77c \uacbd\ub85c |
| | | INFO_MAKELDIF_DESCRIPTION_SEED=\ub09c\uc218 \uc0dd\uc131\uae30\ub97c \ucd08\uae30\ud654\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 \uc2dc\ub4dc |
| | | INFO_MAKELDIF_DESCRIPTION_RESOURCE_PATH=\ud604\uc7ac \uc791\uc5c5 \ub514\ub809\ud1a0\ub9ac \ub610\ub294 \ud15c\ud50c\ub9ac\ud2b8 \ub514\ub809\ud1a0\ub9ac \uacbd\ub85c\uc5d0 \uc5c6\ub294 MakeLDIF \uc790\uc6d0(\uc608: \ub370\uc774\ud130 \ud30c\uc77c)\uc744 \ucc3e\uae30 \uc704\ud55c \uacbd\ub85c |
| | | INFO_LDIFMODIFY_DESCRIPTION_OUTPUT_FILENAME=\uc5c5\ub370\uc774\ud2b8\ub41c \ub370\uc774\ud130\ub97c \uae30\ub85d\ud560 \ud30c\uc77c |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID=\ube44\ubc00\ubc88\ud638\ub97c \ubcc0\uacbd\ud560 \uc0ac\uc6a9\uc790 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uad8c\ud55c \ubd80\uc5ec \uc544\uc774\ub514 |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW=\ub300\uc0c1 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc81c\uacf5\ud560 \uc0c8 \ube44\ubc00\ubc88\ud638 |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE=\ub300\uc0c1 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc81c\uacf5\ud560 \uc0c8 \ube44\ubc00\ubc88\ud638\ub97c \ud3ec\ud568\ud558\ub294 \ud30c\uc77c \uacbd\ub85c |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW=\ub300\uc0c1 \uc0ac\uc6a9\uc790\uc5d0 \ub300\ud55c \ud604\uc7ac \ube44\ubc00\ubc88\ud638 |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE=\ub300\uc0c1 \uc0ac\uc6a9\uc790\uc5d0 \ub300\ud55c \ud604\uc7ac \ube44\ubc00\ubc88\ud638\ub97c \ud3ec\ud568\ud558\ub294 \ud30c\uc77c \uacbd\ub85c |
| | | INFO_DESCRIPTION_COUNT_ENTRIES=\uc11c\ubc84\uc5d0\uc11c \ubc18\ud658\ub418\ub294 \ud56d\ubaa9 \uc218\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE=\uc9c0\uc815\ub41c \ud398\uc774\uc9c0 \ud06c\uae30\ub97c \uac00\uc9c4 \ub2e8\uc21c \ud398\uc774\uc9c0 \uacb0\uacfc \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME=\uc801\uc6a9\ud560 \ubcc0\uacbd \uc0ac\ud56d\uc744 \ud3ec\ud568\ud558\ub294 LDIF \ud30c\uc77c |
| | | INFO_DESCRIPTION_SORT_ORDER=\uc81c\uacf5\ub41c \uc815\ub82c \uc21c\uc11c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uacb0\uacfc\ub97c \uc815\ub82c\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_VLV=\uac00\uc0c1 \ubaa9\ub85d \ubcf4\uae30 \uc81c\uc5b4\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc9c0\uc815\ub41c \uacb0\uacfc \ud398\uc774\uc9c0\ub97c \uac80\uc0c9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER=geteffectiverights \uc81c\uc5b4\ub97c \uc81c\uacf5\ub41c authzid\uc640 \ud568\uaed8 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR=geteffectiverights \uc81c\uc5b4 \uad00\ub828 \uc18d\uc131 \ubaa9\ub85d\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. |
| | | ERR_CANNOT_INITIALIZE_ARGS=\uba85\ub839\uc904 \uc778\uc218\ub97c \ucd08\uae30\ud654\ud558\ub294 \ub3d9\uc548 \uc608\uae30\uce58 \uc54a\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_ERROR_PARSING_ARGS=\uba85\ub839\uc904 \uc778\uc218\ub97c \uad6c\ubb38 \ubd84\uc11d\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | INFO_PROCESSING_OPERATION=%2$s\uc5d0 \ub300\ud55c %1$s \uc694\uccad\uc744 \ucc98\ub9ac\ud558\ub294 \uc911 |
| | | INFO_OPERATION_FAILED=%s \uc791\uc5c5\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. |
| | | INFO_OPERATION_SUCCESSFUL=DN %2$s\uc5d0 \ub300\ud55c %1$s \uc791\uc5c5\uc774 \uc131\uacf5\ud588\uc2b5\ub2c8\ub2e4. |
| | | INFO_PROCESSING_COMPARE_OPERATION=%1$s \uc720\ud615\uc744 %3$s \ud56d\ubaa9\uc758 %2$s \uac12\uacfc \ube44\uad50\ud558\ub294 \uc911 |
| | | INFO_COMPARE_OPERATION_RESULT_FALSE=\ube44\uad50 \uc791\uc5c5\uc774 %s \ud56d\ubaa9\uc5d0 \ub300\ud574 false\ub97c \ubc18\ud658\ud588\uc2b5\ub2c8\ub2e4. |
| | | INFO_COMPARE_OPERATION_RESULT_TRUE=\ube44\uad50 \uc791\uc5c5\uc774 %s \ud56d\ubaa9\uc5d0 \ub300\ud574 true\ub97c \ubc18\ud658\ud588\uc2b5\ub2c8\ub2e4. |
| | | ERR_SEARCH_NO_FILTERS=\uac80\uc0c9 \uc694\uccad\uc5d0 \ub300\ud55c \ud544\ud130\ub97c \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPMODIFY_PREREAD_ENTRY=\uc791\uc5c5 \uc774\uc804\uc758 \ub300\uc0c1 \ud56d\ubaa9: |
| | | INFO_LDAPMODIFY_POSTREAD_ENTRY=\uc791\uc5c5 \uc774\ud6c4\uc758 \ub300\uc0c1 \ud56d\ubaa9: |
| | | ERR_PSEARCH_MISSING_DESCRIPTOR=\uc601\uad6c \uac80\uc0c9 \uc81c\uc5b4 \uc0ac\uc6a9 \uc694\uccad\uc5d0 \ud574\ub2f9 \uc81c\uc5b4\uc640 \ud568\uaed8 \uc0ac\uc6a9\ud560 \uc635\uc158\uc744 \ub098\ud0c0\ub0b4\ub294 \uc124\uba85\uc790\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. |
| | | ERR_PSEARCH_DOESNT_START_WITH_PS=\uc601\uad6c \uac80\uc0c9 \uc124\uba85\uc790 %s\uc774(\uac00) \ud544\uc218 'ps' \ubb38\uc790\uc5f4\ub85c \uc2dc\uc791\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. |
| | | ERR_PSEARCH_INVALID_CHANGE_TYPE=\uc81c\uacf5\ub41c \ubcc0\uacbd \uc720\ud615 \uac12 %s\uc774(\uac00) \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc778\uc2dd\ub418\ub294 \ubcc0\uacbd \uc720\ud615\uc740 add, delete, modify, modifydn \ubc0f any\uc785\ub2c8\ub2e4. |
| | | ERR_PSEARCH_INVALID_CHANGESONLY=\uc81c\uacf5\ub41c changesOnly \uac12 %s\uc774(\uac00) \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud5c8\uc6a9\ub418\ub294 \uac12\uc740 \uac80\uc0c9 \uc2dc\uc791 \uc774\ud6c4 \ubcc0\uacbd\ub41c \uc77c\uce58 \ud56d\ubaa9\ub9cc \ubc18\ud658\ud558\ub294 \uacbd\uc6b0 1\uc774\uace0, \uac80\uc0c9 \uae30\uc900\uacfc \uc77c\uce58\ud558\ub294 \uae30\uc874 \ud56d\ubaa9\ub3c4 \ud3ec\ud568\ud558\ub294 \uacbd\uc6b0 0\uc785\ub2c8\ub2e4. |
| | | ERR_PSEARCH_INVALID_RETURN_ECS=\uc81c\uacf5\ub41c returnECs \uac12 %s\uc774(\uac00) \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud5c8\uc6a9\ub418\ub294 \uac12\uc740 \uc5c5\ub370\uc774\ud2b8\ub41c \ud56d\ubaa9\uc5d0 \ud56d\ubaa9 \ubcc0\uacbd \uc54c\ub9bc \uc81c\uc5b4\ub97c \ud3ec\ud568\ud558\ub3c4\ub85d \uc694\uccad\ud558\ub294 \uacbd\uc6b0 1\uc774\uace0, \uc77c\uce58 \ud56d\ubaa9\uc5d0\uc11c \uc81c\uc5b4\ub97c \uc81c\uc678\ud558\ub294 \uacbd\uc6b0 0\uc785\ub2c8\ub2e4. |
| | | ERR_LDAP_MATCHEDVALUES_INVALID_FILTER=\uc81c\uacf5\ub41c \uc77c\uce58 \uac12 \ud544\ud130\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ=\uc77d\uae30 \uc704\ud574 LDIF \ud30c\uc77c %s\uc744(\ub97c) \uc5ec\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_LDIF_FILE_READ_ERROR=LDIF \ud30c\uc77c %s\uc758 \ub0b4\uc6a9\uc744 \uc77d\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_MAKELDIF_UNABLE_TO_CREATE_LDIF=\uc4f0\uae30 \uc704\ud574 LDIF \ud30c\uc77c %s\uc744(\ub97c) \uc5ec\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_MAKELDIF_ERROR_WRITING_LDIF=LDIF \ud30c\uc77c %s\uc5d0 \ub370\uc774\ud130\ub97c \uc4f0\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %s |
| | | INFO_MAKELDIF_PROCESSED_N_ENTRIES=%d\uac1c \ud56d\ubaa9\uc744 \ucc98\ub9ac\ud588\uc2b5\ub2c8\ub2e4. |
| | | INFO_MAKELDIF_PROCESSING_COMPLETE=LDIF \ucc98\ub9ac\ub97c \uc644\ub8cc\ud588\uc2b5\ub2c8\ub2e4. %d\uac1c \ud56d\ubaa9\uc744 \uae30\ub85d\ud588\uc2b5\ub2c8\ub2e4. |
| | | ERR_LDAPPWMOD_FAILED=LDAP \ube44\ubc00\ubc88\ud638 \uc218\uc815 \uc791\uc5c5\uc774 \uc2e4\ud328\ud558\uace0 \uacb0\uacfc \ucf54\ub4dc %d\uc774(\uac00) \ud45c\uc2dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | ERR_LDAPPWMOD_FAILURE_ERROR_MESSAGE=\uc624\ub958 \uba54\uc2dc\uc9c0: %s |
| | | ERR_LDAPPWMOD_FAILURE_MATCHED_DN=\uc77c\uce58\ud558\ub294 DN: %s |
| | | INFO_LDAPPWMOD_SUCCESSFUL=LDAP \ube44\ubc00\ubc88\ud638 \uc218\uc815 \uc791\uc5c5\uc774 \uc131\uacf5\ud588\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPPWMOD_ADDITIONAL_INFO=\ucd94\uac00 \uc815\ubcf4: %s |
| | | INFO_LDAPPWMOD_GENERATED_PASSWORD=\uc0dd\uc131\ub41c \ube44\ubc00\ubc88\ud638: %s |
| | | INFO_COMPARE_CANNOT_BASE64_DECODE_ASSERTION_VALUE=\uba85\uc81c \uac12\uc774 base64\ub85c \uc778\ucf54\ub529\ub41c \uac83\uc73c\ub85c \ud45c\uc2dc\ub418\uc9c0\ub9cc \uac12\uc744 \ud574\ub3c5\ud558\ub294 \ub3d9\uc548 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. |
| | | INFO_COMPARE_CANNOT_READ_ASSERTION_VALUE_FROM_FILE=\uc9c0\uc815\ub41c \ud30c\uc77c\uc5d0\uc11c \uba85\uc81c \uac12\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: %s |
| | | INFO_LDAPCOMPARE_TOOL_DESCRIPTION=\uc774 \uc720\ud2f8\ub9ac\ud2f0\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uc5d0\uc11c LDAP \ube44\uad50 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=\uc774 \uc720\ud2f8\ub9ac\ud2f0\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uc5d0\uc11c LDAP \uc218\uc815, DN \ucd94\uac00, \uc0ad\uc81c, \uc218\uc815 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=\uc774 \uc720\ud2f8\ub9ac\ud2f0\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uc5d0\uc11c LDAP \ube44\ubc00\ubc88\ud638 \uc218\uc815 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPSEARCH_TOOL_DESCRIPTION=\uc774 \uc720\ud2f8\ub9ac\ud2f0\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub514\ub809\ud1a0\ub9ac \uc11c\ubc84\uc5d0\uc11c LDAP \uac80\uc0c9 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. |
| | | ERR_LDAPCOMPARE_NO_ATTR=\ube44\uad50 \ub300\uc0c1\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc18d\uc131\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. |
| | | ERR_LDAPCOMPARE_INVALID_ATTR_STRING=\uc18d\uc131 \ubb38\uc790\uc5f4 '%s'\uc774(\uac00) \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc18d\uc131 \ubb38\uc790\uc5f4\uc740 'attribute:value', 'attribute::base64value', 'attribute:<valueFilePath' \ud615\uc2dd \uc911 \ud558\ub098\uc5ec\uc57c \ud569\ub2c8\ub2e4. |
| | | INFO_LDAPSEARCH_PSEARCH_CHANGE_TYPE=# \uc601\uad6c \uac80\uc0c9 \ubcc0\uacbd \uc720\ud615: %s |
| | | INFO_LDAPSEARCH_PSEARCH_PREVIOUS_DN=# \uc601\uad6c \uac80\uc0c9 \uc774\uc804 \ud56d\ubaa9 DN: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_HEADER=# \uacc4\uc815 \uac00\uc6a9\uc131 \uc751\ub2f5 \uc81c\uc5b4 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_IS_USABLE=# \uacc4\uc815\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_EXPIRATION=# \ube44\ubc00\ubc88\ud638 \ub9cc\ub8cc \uc2dc\uae4c\uc9c0 \ub0a8\uc740 \uc2dc\uac04: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_NOT_USABLE=# \uacc4\uc815\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPSEARCH_ACCTUSABLE_ACCT_INACTIVE=# \uacc4\uc815\uc774 \ube44\ud65c\uc131\ud654\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_RESET=# \ube44\ubc00\ubc88\ud638\uac00 \uc7ac\uc124\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_EXPIRED=# \ube44\ubc00\ubc88\ud638\uac00 \ub9cc\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPSEARCH_ACCTUSABLE_REMAINING_GRACE=# \ub0a8\uc740 \uc720\uc608 \ub85c\uadf8\uc778 \ud69f\uc218: %d |
| | | INFO_LDAPSEARCH_ACCTUSABLE_LOCKED=# \uacc4\uc815\uc774 \uc7a0\uacbc\uc2b5\ub2c8\ub2e4. |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_UNLOCK=# \uacc4\uc815\uc774 \uc7a0\uae08 \ud574\uc81c\ub420 \ub54c\uae4c\uc9c0 \ub0a8\uc740 \uc2dc\uac04: %s |
| | | INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT=# \uc77c\uce58\ud558\ub294 \ucd1d \ud56d\ubaa9 \uc218: %d |
| | | ERR_PAGED_RESULTS_REQUIRES_SINGLE_FILTER=\ub2e8\uc21c \ud398\uc774\uc9c0 \uacb0\uacfc \uc81c\uc5b4\ub294 \ub2e8\uc77c \uac80\uc0c9 \ud544\ud130\ub97c \ud1b5\ud574\uc11c\ub9cc \uc0ac\uc6a9\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. |
| | | ERR_TOOL_RESULT_CODE=\uacb0\uacfc \ucf54\ub4dc: %d(%s) |
| | | ERR_TOOL_MATCHED_DN=\uc77c\uce58\ud558\ub294 DN: %s |
| | | ERR_LDAP_SORTCONTROL_INVALID_ORDER=\uc81c\uacf5\ub41c \uc815\ub82c \uc21c\uc11c\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4: %s |
| | | ERR_LDAPSEARCH_VLV_REQUIRES_SORT=--%s \uc778\uc218\ub97c \uc81c\uacf5\ud560 \uacbd\uc6b0 --%s \uc778\uc218\ub3c4 \ud568\uaed8 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4. |
| | | ERR_LDAPSEARCH_VLV_INVALID_DESCRIPTOR=\uc81c\uacf5\ub41c \uac00\uc0c1 \ubaa9\ub85d \ubcf4\uae30 \uc124\uba85\uc790\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4. 'beforeCount:afterCount:offset:contentCount'(\uc5ec\uae30\uc11c offset\uc740 \ub300\uc0c1 \ud56d\ubaa9\uc758 \uc0c9\uc778\uc744 \uc9c0\uc815\ud558\uace0 contentCount\ub294 \ucd1d \uc608\uc0c1 \uacb0\uacfc \uc218\ub97c \uc9c0\uc815\ud568, \uc54c \uc218 \uc5c6\ub294 \uacbd\uc6b0 0) \ub610\ub294 'beforeCount:afterCount:assertionValue'(\uc5ec\uae30\uc11c \ud56d\ubaa9\uc740 \uae30\ubcf8 \uc815\ub82c \uac12\uc774 \uc81c\uacf5\ub41c assertionValue\ubcf4\ub2e4 \ud06c\uac70\ub098 \uac19\uc740 \uccab \ubc88\uc9f8 \ud56d\ubaa9\uc784) \ud615\uc2dd\uc758 \uac12\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc5b4\ub5a4 \uacbd\uc6b0\uc774\uac74 beforeCount\ub294 \ub300\uc0c1 \uac12 \uc774\uc804\uc5d0 \ubc18\ud658\ub418\ub294 \ud56d\ubaa9 \uc218\uc774\uace0 afterCount\ub294 \ub300\uc0c1 \uac12 \uc774\ud6c4\uc5d0 \ubc18\ud658\ub418\ub294 \ud56d\ubaa9 \uc218\uc785\ub2c8\ub2e4. |
| | | WARN_LDAPSEARCH_SORT_ERROR=# \uc11c\ubc84\uce21 \uc815\ub82c \uc2e4\ud328: %s |
| | | INFO_LDAPSEARCH_VLV_TARGET_OFFSET=# VLV \ub300\uc0c1 \uc624\ud504\uc14b: %d |
| | | INFO_LDAPSEARCH_VLV_CONTENT_COUNT=# VLV \ucee8\ud150\ud2b8 \uc218: %d |
| | | WARN_LDAPSEARCH_VLV_ERROR=# \uac00\uc0c1 \ubaa9\ub85d \ubcf4\uae30 \ucc98\ub9ac \uc2e4\ud328: %s |
| | | ERR_EFFECTIVERIGHTS_INVALID_AUTHZID=\uc0ac\uc6a9\uc790 DN\uc744 \ub098\ud0c0\ub0b4\ub294 "dn:"\uc73c\ub85c \uc2dc\uc791\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 geteffectiverights \uc81c\uc5b4\uc5d0 \ud3ec\ud568\ub41c \uc778\uc99d \uc544\uc774\ub514 \"%s\"\uc774(\uac00) \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4. |
| | |
| | | # Copyright 2016 ForgeRock AS. |
| | | # |
| | | |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=Kolumna na kt\u00f3rej zawijane b\u0119d\u0105 d\u0142ugie linie (0 aby wy\u0142\u0105czy\u0107 zawijanie) |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=Plik zawieraj\u0105cy DNy wpis\u00f3w do por\u00f3wnania |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=Szukaj bazowej DN |
| | | INFO_SEARCH_DESCRIPTION_BASEDN=Szukaj bazowej DN |
| | | INFO_MAKELDIF_DESCRIPTION_LDIF=\u015acie\u017cka do pliku LDIF, kt\u00f3ry ma by\u0107 zapisany |
| | | INFO_DESCRIPTION_VLV=U\u017cyj wirtualnej kontroli widoku listy do odebrania podanej strony wynik\u00f3w |
| | | INFO_DESCRIPTION_TYPES_ONLY=Przywr\u00f3\u0107 tylko nazwy atrybut\u00f3w ale nie ich warto\u015bci |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE=U\u017cyj prostej stronicowej kontroli rezultat\u00f3w z podan\u0105 wielko\u015bci\u0105 strony |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=U\u017cyj kontroli pasuj\u0105cych warto\u015bci LDAP z podanym filtrem |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID=ID autoryzacji u\u017cytkownika, kt\u00f3rego has\u0142o powinno zosta\u0107 zmienione |
| | | INFO_DESCRIPTION_COUNT_ENTRIES=Licz ilo\u015b\u0107 wpis\u00f3w zwr\u00f3conych przez serwer |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW=Aktualne has\u0142o docelowego u\u017cytkownika |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT=Maksymalny czas w sekundach przeznaczony na operacj\u0119 szukania |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW=Nowe has\u0142o dla docelowego u\u017cytkownika |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=U\u017cyj kontroli za\u0142o\u017ce\u0144 LDAP za pomoc\u0105 podanego filtra |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR=Okre\u015bla specyficzn\u0105 list\u0119 atrybut\u00f3w geteffectiverights |
| | | INFO_DESCRIPTION_PSEARCH_INFO=U\u017cyj kontroli uporczywego szukania |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE=\u015acie\u017cka pliku zawieraj\u0105cego nowe has\u0142o dla docelowego u\u017cytkownika |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_FILENAME=Plik do kt\u00f3rego wynik powinien by\u0107 zapisany |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS=U\u017cyj kontroli LDAP ReadEntry po odczycie |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME=Plik LDIF zawieraj\u0105cy zmiany do zastosowania |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT=Maksymalna ilo\u015b\u0107 wpis\u00f3w zwracana przez mechanizm wyszukiwania |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=Plik zawieraj\u0105cy list\u0119 ci\u0105g\u00f3w filtr\u00f3w wyszukiwania |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY=Polityka dereferencji alias\u00f3w ('never', 'always', 'search', or 'find') |
| | | INFO_DESCRIPTION_PREREAD_ATTRS=U\u017cyj kontroli LDAP ReadEntry przed odczytem |
| | | INFO_LDIFMODIFY_DESCRIPTION_OUTPUT_FILENAME=Plik do kt\u00f3rego powinny by\u0107 zapisane uaktualnione dane |
| | | INFO_MAKELDIF_DESCRIPTION_SEED=Ziarno u\u017cyte do inicjalizacji generatora liczb losowych |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE=\u015acie\u017cka pliku zawieraj\u0105cego aktualne has\u0142o docelowego u\u017cytkownika |
| | | INFO_DESCRIPTION_PROXY_AUTHZID=U\u017cyj po\u015brednicz\u0105cej kontroli autoryzacji z podanym ID autoryzacji |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER=U\u017cyj kontroli geteffectiverights z podanym authzid |
| | | INFO_DESCRIPTION_SORT_ORDER=Sortuj wyniki u\u017cywaj\u0105c podanej kolejno\u015bci sortowania |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILENAME=\u015acie\u017cka pliku, do kt\u00f3rego zostan\u0105 zapisane pasuj\u0105ce wpisy. Je\u015bli nie podano, wtedy dane zostan\u0105 wypisane na standardowym wyj\u015bciu |
| | | INFO_PROCESSING_OPERATION=Przetwarzam \u017c\u0105danie %s dla %s |
| | | ERR_ERROR_PARSING_ARGS=Wyst\u0105pi\u0142 b\u0142\u0105d podczas przetwarzania argument\u00f3w wiersza polece\u0144: %s |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=To narz\u0119dzie mo\u017ce by\u0107 u\u017cyte do przeprowadzenia operacji modyfikacji, dodania, usuni\u0119cia LDAP i modyfikacji DN na Directory Server |
| | | INFO_OPERATION_SUCCESSFUL=Operacja %s powiod\u0142a si\u0119 dla DN %s |
| | | ERR_TOOL_RESULT_CODE=Kod Rezultatu: %d (%s) |
| | | INFO_LDAPSEARCH_TOOL_DESCRIPTION=To narz\u0119dzie mo\u017ce by\u0107 u\u017cyte do przeprowadzenia operacji szukania LDAP na Directory Server |
| | | INFO_LDAPCOMPARE_TOOL_DESCRIPTION=To narz\u0119dzie mo\u017ce by\u0107 u\u017cyte do przeprowadzenia operacji por\u00f3wnania LDAP na Directory Server |
| | | ERR_LDAPCOMPARE_ERROR_READING_FILE=An error occurred reading file '%s'. Check that the file exists and that you have read access rights to it. Szczeg\u00f3\u0142y: %s |
| | | INFO_OPERATION_FAILED=Operacja %s nie powiod\u0142a si\u0119 |
| | | ERR_TOOL_MATCHED_DN=Pasuj\u0105ce DN: %s |
| | | ERR_LDAPPWMOD_FAILURE_MATCHED_DN=Pasuj\u0105ce DN: %s |
| | | ERR_CANNOT_INITIALIZE_ARGS=Nieoczekiwany b\u0142\u0105d wyst\u0105pi\u0142 podczas pr\u00f3by inicjalizacji argument\u00f3w wiersza polece\u0144: %s |
| | | INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT=# Ca\u0142kowita ilo\u015b\u0107 pasuj\u0105cych wpis\u00f3w: %d |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=To narz\u0119dzie mo\u017ce by\u0107 u\u017cyte do przeprowadzenia operacji modyfikacji has\u0142a LDAP na Directory Server |
| | |
| | | # Copyright 2009 Sun Microsystems, Inc. |
| | | # Portions Copyright 2016 ForgeRock AS. |
| | | |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=\u5bf9\u8f83\u957f\u7684\u884c\u8fdb\u884c\u6362\u884c\u7684\u5217\uff080 \u8868\u793a\u4e0d\u6362\u884c\uff09 |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=\u5305\u542b\u8981\u6bd4\u8f83\u7684\u6761\u76ee DN \u7684\u6587\u4ef6 |
| | | INFO_DESCRIPTION_SUBENTRIES=\u4f7f\u7528\u5b50\u6761\u76ee\u63a7\u4ef6\u6765\u6307\u5b9a\u5b50\u6761\u76ee\u53ef\u89c1\u53ca\u666e\u901a\u6761\u76ee\u4e0d\u53ef\u89c1 |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=\u641c\u7d22\u57fa DN |
| | | INFO_SEARCH_DESCRIPTION_BASEDN=\u641c\u7d22\u57fa DN |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT=\u4ece\u641c\u7d22\u64cd\u4f5c\u8fd4\u56de\u7684\u6700\u5927\u6761\u76ee\u6570 |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT=\u641c\u7d22\u64cd\u4f5c\u5141\u8bb8\u6267\u884c\u7684\u6700\u957f\u65f6\u95f4\uff08\u4ee5\u79d2\u4e3a\u5355\u4f4d\uff09 |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY=\u522b\u540d\u89e3\u9664\u5f15\u7528\u7b56\u7565\uff08'never'\u3001'always'\u3001'search' \u6216 'find'\uff09 |
| | | INFO_DESCRIPTION_TYPES_ONLY=\u4ec5\u68c0\u7d22\u5c5e\u6027\u540d\u79f0\uff0c\u800c\u4e0d\u68c0\u7d22\u5c5e\u6027\u503c |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=\u5c06 LDAP \u58f0\u660e\u63a7\u5236\u7528\u4e8e\u63d0\u4f9b\u7684\u8fc7\u6ee4\u5668 |
| | | INFO_DESCRIPTION_PREREAD_ATTRS=\u4f7f\u7528 LDAP ReadEntry \u9884\u8bfb\u53d6\u63a7\u5236 |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS=\u4f7f\u7528 LDAP ReadEntry \u540e\u8bfb\u53d6\u63a7\u5236 |
| | | INFO_DESCRIPTION_PROXY_AUTHZID=\u5c06\u4ee3\u7406\u6388\u6743\u63a7\u5236\u7528\u4e8e\u7ed9\u5b9a\u6388\u6743 ID |
| | | INFO_DESCRIPTION_PSEARCH_INFO=\u4f7f\u7528\u6301\u4e45\u6027\u641c\u7d22\u63a7\u5236 |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=\u5305\u542b\u641c\u7d22\u8fc7\u6ee4\u5668\u5b57\u7b26\u4e32\u5217\u8868\u7684\u6587\u4ef6 |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=\u5c06 LDAP \u5339\u914d\u503c\u63a7\u5236\u7528\u4e8e\u63d0\u4f9b\u7684\u8fc7\u6ee4\u5668 |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILENAME=\u5e94\u5728\u5176\u4e2d\u5199\u5165\u5339\u914d\u6761\u76ee\u7684\u8f93\u51fa\u6587\u4ef6\u7684\u8def\u5f84\u3002\u5982\u679c\u672a\u63d0\u4f9b\u8be5\u8def\u5f84\uff0c\u5219\u4f1a\u5c06\u6570\u636e\u5199\u5165\u6807\u51c6\u8f93\u51fa\u4e2d |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_FILENAME=\u5e94\u5728\u5176\u4e2d\u5199\u5165\u8f93\u51fa\u7684\u6587\u4ef6 |
| | | INFO_MAKELDIF_DESCRIPTION_LDIF=\u8981\u5199\u5165\u7684 LDIF \u6587\u4ef6\u7684\u8def\u5f84 |
| | | INFO_MAKELDIF_DESCRIPTION_SEED=\u7528\u4e8e\u521d\u59cb\u5316\u968f\u673a\u6570\u751f\u6210\u5668\u7684\u521d\u59cb\u5316\u5411\u91cf |
| | | INFO_MAKELDIF_DESCRIPTION_RESOURCE_PATH=\u5728\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u6216\u6a21\u677f\u76ee\u5f55\u8def\u5f84\u4e2d\u627e\u4e0d\u5230\u7528\u4e8e\u67e5\u627e MakeLDIF \u8d44\u6e90\uff08\u5982\u6570\u636e\u6587\u4ef6\uff09\u7684\u8def\u5f84 |
| | | INFO_LDIFMODIFY_DESCRIPTION_OUTPUT_FILENAME=\u5e94\u5728\u5176\u4e2d\u5199\u5165\u66f4\u65b0\u6570\u636e\u7684\u6587\u4ef6 |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID=\u5e94\u66f4\u6539\u5bc6\u7801\u7684\u7528\u6237\u6761\u76ee\u7684\u6388\u6743 ID |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW=\u4e3a\u76ee\u6807\u7528\u6237\u63d0\u4f9b\u7684\u65b0\u5bc6\u7801 |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE=\u5305\u542b\u4e3a\u76ee\u6807\u7528\u6237\u63d0\u4f9b\u7684\u65b0\u5bc6\u7801\u7684\u6587\u4ef6\u7684\u8def\u5f84 |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW=\u76ee\u6807\u7528\u6237\u7684\u5f53\u524d\u5bc6\u7801 |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE=\u5305\u542b\u76ee\u6807\u7528\u6237\u7684\u5f53\u524d\u5bc6\u7801\u7684\u6587\u4ef6\u7684\u8def\u5f84 |
| | | INFO_DESCRIPTION_COUNT_ENTRIES=\u8ba1\u7b97\u670d\u52a1\u5668\u8fd4\u56de\u7684\u6761\u76ee\u6570 |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE=\u5c06\u7b80\u5355\u5206\u9875\u7ed3\u679c\u63a7\u5236\u7528\u4e8e\u7ed9\u5b9a\u9875\u9762\u5927\u5c0f |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME=\u5305\u542b\u8981\u5e94\u7528\u7684\u66f4\u6539\u7684 LDIF \u6587\u4ef6 |
| | | INFO_DESCRIPTION_SORT_ORDER=\u4f7f\u7528\u63d0\u4f9b\u7684\u6392\u5e8f\u987a\u5e8f\u5bf9\u7ed3\u679c\u8fdb\u884c\u6392\u5e8f |
| | | INFO_DESCRIPTION_VLV=\u4f7f\u7528\u865a\u62df\u5217\u8868\u89c6\u56fe\u63a7\u5236\u68c0\u7d22\u6307\u5b9a\u7684\u7ed3\u679c\u9875 |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER=\u5c06 geteffectiverights \u63a7\u5236\u7528\u4e8e\u63d0\u4f9b\u7684 authzid |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR=\u6307\u5b9a\u7279\u5b9a\u4e8e geteffectiverights \u63a7\u5236\u7684\u5c5e\u6027\u5217\u8868 |
| | | ERR_CANNOT_INITIALIZE_ARGS=\u5728\u5c1d\u8bd5\u521d\u59cb\u5316\u547d\u4ee4\u884c\u53c2\u6570\u65f6\u51fa\u73b0\u610f\u5916\u9519\u8bef: %s |
| | | ERR_ERROR_PARSING_ARGS=\u5728\u89e3\u6790\u547d\u4ee4\u884c\u53c2\u6570\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | INFO_PROCESSING_OPERATION=\u6b63\u5728\u5904\u7406 %2$s \u7684 %1$s \u8bf7\u6c42 |
| | | INFO_OPERATION_FAILED=%s \u64cd\u4f5c\u5931\u8d25 |
| | | INFO_OPERATION_SUCCESSFUL=DN %2$s \u7684 %1$s \u64cd\u4f5c\u6210\u529f |
| | | INFO_PROCESSING_COMPARE_OPERATION=\u6b63\u5728\u5c06\u6761\u76ee %3$s \u4e2d\u7684\u7c7b\u578b %1$s \u4e0e\u503c %2$s \u8fdb\u884c\u6bd4\u8f83 |
| | | INFO_COMPARE_OPERATION_RESULT_FALSE=\u6761\u76ee %s \u7684\u6bd4\u8f83\u64cd\u4f5c\u8fd4\u56de\u5047 |
| | | INFO_COMPARE_OPERATION_RESULT_TRUE=\u6761\u76ee %s \u7684\u6bd4\u8f83\u64cd\u4f5c\u8fd4\u56de\u771f |
| | | ERR_SEARCH_NO_FILTERS=\u6ca1\u6709\u4e3a\u641c\u7d22\u8bf7\u6c42\u6307\u5b9a\u8fc7\u6ee4\u5668 |
| | | INFO_LDAPMODIFY_PREREAD_ENTRY=\u64cd\u4f5c\u4e4b\u524d\u7684\u76ee\u6807\u6761\u76ee: |
| | | INFO_LDAPMODIFY_POSTREAD_ENTRY=\u64cd\u4f5c\u4e4b\u540e\u7684\u76ee\u6807\u6761\u76ee: |
| | | ERR_PSEARCH_MISSING_DESCRIPTOR=\u4f7f\u7528\u6301\u4e45\u6027\u641c\u7d22\u63a7\u5236\u7684\u8bf7\u6c42\u4e0d\u5305\u542b\u6307\u793a\u8be5\u63a7\u5236\u4f7f\u7528\u7684\u9009\u9879\u7684\u63cf\u8ff0\u7b26 |
| | | ERR_PSEARCH_DOESNT_START_WITH_PS=\u6301\u4e45\u6027\u641c\u7d22\u63cf\u8ff0\u7b26 %s \u6ca1\u6709\u4ee5\u5fc5\u9700\u7684 'ps' \u5b57\u7b26\u4e32\u5f00\u5934 |
| | | ERR_PSEARCH_INVALID_CHANGE_TYPE=\u63d0\u4f9b\u7684\u66f4\u6539\u7c7b\u578b\u503c %s \u65e0\u6548\u3002\u53ef\u8bc6\u522b\u7684\u66f4\u6539\u7c7b\u578b\u4e3a add\u3001delete\u3001modify\u3001modifydn \u548c any |
| | | ERR_PSEARCH_INVALID_CHANGESONLY=\u63d0\u4f9b\u7684 changesOnly \u503c %s \u65e0\u6548\u3002\u5141\u8bb8\u7684\u503c\u4e3a 1\uff08\u4ec5\u8fd4\u56de\u5728\u5f00\u59cb\u641c\u7d22\u540e\u53d1\u751f\u66f4\u6539\u7684\u5339\u914d\u6761\u76ee\uff09\u6216 0\uff08\u8fd8\u5305\u62ec\u4e0e\u641c\u7d22\u6761\u4ef6\u5339\u914d\u7684\u73b0\u6709\u6761\u76ee\uff09 |
| | | ERR_PSEARCH_INVALID_RETURN_ECS=\u63d0\u4f9b\u7684 returnECs \u503c %s \u65e0\u6548\u3002\u5141\u8bb8\u7684\u503c\u4e3a 1\uff08\u8bf7\u6c42\u5728\u66f4\u65b0\u7684\u6761\u76ee\u4e2d\u5305\u542b\u6761\u76ee\u66f4\u6539\u901a\u77e5\u63a7\u5236\uff09\u6216 0\uff08\u4ece\u5339\u914d\u6761\u76ee\u4e2d\u6392\u9664\u8be5\u63a7\u5236\uff09 |
| | | ERR_LDAP_MATCHEDVALUES_INVALID_FILTER=\u63d0\u4f9b\u7684\u5339\u914d\u503c\u8fc7\u6ee4\u5668\u65e0\u6548: %s |
| | | ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ=\u5728\u5c1d\u8bd5\u6253\u5f00 LDIF \u6587\u4ef6 %s \u4ee5\u8fdb\u884c\u8bfb\u53d6\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | ERR_LDIF_FILE_READ_ERROR=\u5728\u5c1d\u8bd5\u8bfb\u53d6 LDIF \u6587\u4ef6 %s \u7684\u5185\u5bb9\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | ERR_MAKELDIF_UNABLE_TO_CREATE_LDIF=\u5728\u5c1d\u8bd5\u6253\u5f00 LDIF \u6587\u4ef6 %s \u4ee5\u5199\u5165\u6570\u636e\u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | ERR_MAKELDIF_ERROR_WRITING_LDIF=\u5728\u5c06\u6570\u636e\u5199\u5165 LDIF \u6587\u4ef6 %s \u65f6\u51fa\u73b0\u9519\u8bef: %s |
| | | INFO_MAKELDIF_PROCESSED_N_ENTRIES=\u5df2\u5904\u7406 %d \u4e2a\u6761\u76ee |
| | | INFO_MAKELDIF_PROCESSING_COMPLETE=LDIF \u5904\u7406\u5b8c\u6210\u3002\u5df2\u5199\u5165 %d \u4e2a\u6761\u76ee |
| | | ERR_LDAPPWMOD_FAILED=LDAP \u5bc6\u7801\u4fee\u6539\u64cd\u4f5c\u5931\u8d25\uff0c\u5176\u7ed3\u679c\u4ee3\u7801\u4e3a %d |
| | | ERR_LDAPPWMOD_FAILURE_ERROR_MESSAGE=\u9519\u8bef\u6d88\u606f: %s |
| | | ERR_LDAPPWMOD_FAILURE_MATCHED_DN=\u5339\u914d DN: %s |
| | | INFO_LDAPPWMOD_SUCCESSFUL=LDAP \u5bc6\u7801\u4fee\u6539\u64cd\u4f5c\u6210\u529f |
| | | INFO_LDAPPWMOD_ADDITIONAL_INFO=\u5176\u4ed6\u4fe1\u606f: %s |
| | | INFO_LDAPPWMOD_GENERATED_PASSWORD=\u751f\u6210\u7684\u5bc6\u7801: %s |
| | | INFO_COMPARE_CANNOT_BASE64_DECODE_ASSERTION_VALUE=\u6307\u793a\u58f0\u660e\u503c\u4e3a base64 \u7f16\u7801\uff0c\u4f46\u5728\u5c1d\u8bd5\u5bf9\u8be5\u503c\u8fdb\u884c\u89e3\u7801\u65f6\u51fa\u73b0\u9519\u8bef |
| | | INFO_COMPARE_CANNOT_READ_ASSERTION_VALUE_FROM_FILE=\u65e0\u6cd5\u4ece\u6307\u5b9a\u7684\u6587\u4ef6\u4e2d\u8bfb\u53d6\u58f0\u660e\u503c: %s |
| | | INFO_LDAPCOMPARE_TOOL_DESCRIPTION=\u6b64\u5b9e\u7528\u7a0b\u5e8f\u53ef\u7528\u4e8e\u5728\u76ee\u5f55\u670d\u52a1\u5668\u4e2d\u6267\u884c LDAP \u6bd4\u8f83\u64cd\u4f5c |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=\u6b64\u5b9e\u7528\u7a0b\u5e8f\u53ef\u7528\u4e8e\u5728\u76ee\u5f55\u670d\u52a1\u5668\u4e2d\u6267\u884c LDAP \u4fee\u6539\u3001\u6dfb\u52a0\u3001\u5220\u9664\u548c\u4fee\u6539 DN \u64cd\u4f5c |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=\u6b64\u5b9e\u7528\u7a0b\u5e8f\u53ef\u7528\u4e8e\u5728\u76ee\u5f55\u670d\u52a1\u5668\u4e2d\u6267\u884c LDAP \u5bc6\u7801\u4fee\u6539\u64cd\u4f5c |
| | | INFO_LDAPSEARCH_TOOL_DESCRIPTION=\u6b64\u5b9e\u7528\u7a0b\u5e8f\u53ef\u7528\u4e8e\u5728\u76ee\u5f55\u670d\u52a1\u5668\u4e2d\u6267\u884c LDAP \u641c\u7d22\u64cd\u4f5c |
| | | ERR_LDAPCOMPARE_NO_ATTR=\u6ca1\u6709\u6307\u5b9a\u7528\u4f5c\u6bd4\u8f83\u76ee\u6807\u7684\u5c5e\u6027 |
| | | ERR_LDAPCOMPARE_INVALID_ATTR_STRING=\u5c5e\u6027\u5b57\u7b26\u4e32 '%s' \u65e0\u6548\u3002\u5c5e\u6027\u5b57\u7b26\u4e32\u5fc5\u987b\u4e3a\u4ee5\u4e0b\u683c\u5f0f\u4e4b\u4e00\uff1a'attribute:value'\u3001'attribute::base64value' \u6216 'attribute:<valueFilePath' |
| | | INFO_LDAPSEARCH_PSEARCH_CHANGE_TYPE=# \u6301\u4e45\u6027\u641c\u7d22\u66f4\u6539\u7c7b\u578b: %s |
| | | INFO_LDAPSEARCH_PSEARCH_PREVIOUS_DN=# \u4ee5\u524d\u7684\u6301\u4e45\u6027\u641c\u7d22\u6761\u76ee DN: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_HEADER=# \u5e10\u6237\u53ef\u7528\u6027\u54cd\u5e94\u63a7\u5236 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_IS_USABLE=# \u5e10\u6237\u53ef\u7528 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_EXPIRATION=# \u8ddd\u5bc6\u7801\u5230\u671f\u7684\u65f6\u95f4: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_NOT_USABLE=# \u5e10\u6237\u4e0d\u53ef\u7528 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_ACCT_INACTIVE=# \u5df2\u53d6\u6d88\u6fc0\u6d3b\u5e10\u6237 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_RESET=# \u5df2\u91cd\u7f6e\u5bc6\u7801 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_EXPIRED=# \u5bc6\u7801\u5df2\u8fc7\u671f |
| | | INFO_LDAPSEARCH_ACCTUSABLE_REMAINING_GRACE=# \u8fc7\u6e21\u767b\u5f55\u5269\u4f59\u6b21\u6570: %d |
| | | INFO_LDAPSEARCH_ACCTUSABLE_LOCKED=# \u5e10\u6237\u5df2\u9501\u5b9a |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_UNLOCK=# \u8ddd\u89e3\u9664\u5e10\u6237\u9501\u5b9a\u7684\u65f6\u95f4: %s |
| | | INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT=# \u5339\u914d\u6761\u76ee\u603b\u6570: %d |
| | | ERR_PAGED_RESULTS_REQUIRES_SINGLE_FILTER=\u7b80\u5355\u5206\u9875\u7ed3\u679c\u63a7\u5236\u53ea\u80fd\u4e0e\u5355\u4e00\u641c\u7d22\u8fc7\u6ee4\u5668\u4e00\u8d77\u4f7f\u7528 |
| | | ERR_TOOL_RESULT_CODE=\u7ed3\u679c\u4ee3\u7801: %d (%s) |
| | | ERR_TOOL_MATCHED_DN=\u5339\u914d DN: %s |
| | | ERR_LDAP_SORTCONTROL_INVALID_ORDER=\u63d0\u4f9b\u7684\u6392\u5e8f\u987a\u5e8f\u65e0\u6548: %s |
| | | ERR_LDAPSEARCH_VLV_REQUIRES_SORT=\u5982\u679c\u63d0\u4f9b\u4e86 --%s \u53c2\u6570\uff0c\u5219\u8fd8\u5fc5\u987b\u63d0\u4f9b --%s \u53c2\u6570 |
| | | ERR_LDAPSEARCH_VLV_INVALID_DESCRIPTOR=\u63d0\u4f9b\u7684\u865a\u62df\u5217\u8868\u89c6\u56fe\u63cf\u8ff0\u7b26\u65e0\u6548\u3002\u5b83\u5fc5\u987b\u662f\u5177\u6709\u4ee5\u4e0b\u683c\u5f0f\u7684\u503c\uff1a'beforeCount:afterCount:offset:contentCount'\uff08\u5176\u4e2d\uff0coffset \u6307\u5b9a\u76ee\u6807\u6761\u76ee\u7d22\u5f15\uff1bcontentCount \u6307\u5b9a\u4f30\u8ba1\u7684\u7ed3\u679c\u603b\u6570\uff0c\u5982\u679c\u672a\u77e5\uff0c\u5219\u4e3a\u96f6\uff09\u6216 'beforeCount:afterCount:assertionValue'\uff08\u5176\u4e2d\uff0c\u6761\u76ee\u5e94\u8be5\u662f\u4e3b\u6392\u5e8f\u503c\u5927\u4e8e\u6216\u7b49\u4e8e\u63d0\u4f9b\u7684 assertionValue \u7684\u7b2c\u4e00\u4e2a\u6761\u76ee\uff09\u3002\u5728\u8fd9\u4e24\u79cd\u683c\u5f0f\u4e2d\uff0cbeforeCount \u662f\u5728\u76ee\u6807\u503c\u4e4b\u524d\u8fd4\u56de\u7684\u6761\u76ee\u6570\uff0cafterCount \u662f\u5728\u76ee\u6807\u503c\u4e4b\u540e\u8fd4\u56de\u7684\u6761\u76ee\u6570 |
| | | WARN_LDAPSEARCH_SORT_ERROR=# \u670d\u52a1\u5668\u7aef\u6392\u5e8f\u5931\u8d25: %s |
| | | INFO_LDAPSEARCH_VLV_TARGET_OFFSET=# VLV \u76ee\u6807\u504f\u79fb: %d |
| | | INFO_LDAPSEARCH_VLV_CONTENT_COUNT=# VLV \u5185\u5bb9\u8ba1\u6570: %d |
| | | WARN_LDAPSEARCH_VLV_ERROR=# \u865a\u62df\u5217\u8868\u89c6\u56fe\u5904\u7406\u5931\u8d25: %s |
| | | ERR_EFFECTIVERIGHTS_INVALID_AUTHZID=geteffectiverights \u63a7\u5236\u4e2d\u5305\u542b\u7684\u6388\u6743 ID "%s" \u65e0\u6548\uff0c\u56e0\u4e3a\u5b83\u4e0d\u662f\u4ee5 "dn:" \u5f00\u5934\uff08\u8868\u793a\u7528\u6237 DN\uff09 |
| | | ERR_LDAPCOMPARE_ERROR_READING_FILE=\u8bfb\u53d6\u6587\u4ef6 '%s' \u65f6\u51fa\u73b0\u9519\u8bef\u3002\u68c0\u67e5\u8be5\u6587\u4ef6\u662f\u5426\u5b58\u5728\uff0c\u4ee5\u53ca\u60a8\u662f\u5426\u6709\u6743\u8bfb\u53d6\u8be5\u6587\u4ef6\u3002\u8be6\u7ec6\u4fe1\u606f: %s |
| | | ERR_LDAPCOMPARE_FILENAME_AND_DNS=\u5df2\u63d0\u4f9b\u7528\u4e8e\u6bd4\u8f83\u64cd\u4f5c\u7684\u6761\u76ee DN \u548c\u6587\u4ef6\u540d\u3002\u8fd9\u4e9b\u53c2\u6570\u4e0d\u517c\u5bb9 |
| | |
| | | # Copyright 2009 Sun Microsystems, Inc. |
| | | # Portions Copyright 2016 ForgeRock AS. |
| | | |
| | | # |
| | | # MakeLDIF tool |
| | | # |
| | | INFO_MAKELDIF_DESCRIPTION_WRAP_COLUMN=\u8981\u5c0d\u9577\u53e5\u63db\u884c\u7684\u6b04 (0 \u8868\u793a\u4e0d\u63db\u884c) |
| | | INFO_LDAPCOMPARE_DESCRIPTION_FILENAME=\u542b\u6709\u8981\u6bd4\u8f03\u4e4b\u9805\u76ee DN \u7684\u6a94\u6848 |
| | | INFO_LDIFSEARCH_DESCRIPTION_BASEDN=\u641c\u5c0b\u57fa\u5e95 DN |
| | | INFO_SEARCH_DESCRIPTION_BASEDN=\u641c\u5c0b\u57fa\u5e95 DN |
| | | INFO_SEARCH_DESCRIPTION_SIZE_LIMIT=\u641c\u5c0b\u6240\u50b3\u56de\u7684\u9805\u76ee\u6578\u4e0a\u9650 |
| | | INFO_SEARCH_DESCRIPTION_TIME_LIMIT=\u57f7\u884c\u641c\u5c0b\u7684\u6642\u9593\u9577\u5ea6\u4e0a\u9650 (\u79d2) |
| | | INFO_SEARCH_DESCRIPTION_DEREFERENCE_POLICY=\u89e3\u9664\u5225\u540d\u53c3\u7167\u7b56\u7565 (\u300c\u6c38\u9060\u4e0d\u300d\u3001\u300c\u81ea\u52d5\u300d\u3001\u300c\u641c\u5c0b\u300d\u3001\u300c\u5c0b\u627e\u300d) |
| | | INFO_DESCRIPTION_TYPES_ONLY=\u53ea\u64f7\u53d6\u5c6c\u6027\u540d\u7a31\uff0c\u4f46\u4e0d\u6703\u64f7\u53d6\u5176\u503c |
| | | INFO_DESCRIPTION_ASSERTION_FILTER=\u900f\u904e\u6240\u63d0\u4f9b\u7684\u7be9\u9078\u5668\u4f7f\u7528 LDAP \u6307\u5b9a\u63a7\u5236 |
| | | INFO_DESCRIPTION_PREREAD_ATTRS=\u4f7f\u7528 LDAP ReadEntry \u8b80\u53d6\u524d\u63a7\u5236 |
| | | INFO_DESCRIPTION_POSTREAD_ATTRS=\u4f7f\u7528 LDAP ReadEntry \u8b80\u53d6\u5f8c\u63a7\u5236 |
| | | INFO_DESCRIPTION_PROXY_AUTHZID=\u900f\u904e\u6307\u5b9a\u7684\u6388\u6b0a ID \u4f7f\u7528\u4ee3\u7406\u6388\u6b0a\u63a7\u5236 |
| | | INFO_DESCRIPTION_PSEARCH_INFO=\u4f7f\u7528\u6301\u7e8c\u641c\u5c0b\u63a7\u5236 |
| | | INFO_SEARCH_DESCRIPTION_FILENAME=\u542b\u6709\u641c\u5c0b\u7be9\u9078\u5668\u5b57\u4e32\u6e05\u55ae\u7684\u6a94\u6848 |
| | | INFO_DESCRIPTION_MATCHED_VALUES_FILTER=\u900f\u904e\u6240\u63d0\u4f9b\u7684\u7be9\u9078\u5668\u4f7f\u7528 LDAP \u76f8\u7b26\u503c\u63a7\u5236 |
| | | INFO_LDIFSEARCH_DESCRIPTION_OUTPUT_FILENAME=\u61c9\u5beb\u5165\u76f8\u7b26\u9805\u76ee\u4e4b\u8f38\u51fa\u6a94\u6848\u7684\u8def\u5f91\u3002\u82e5\u672a\u63d0\u4f9b\u6b64\u9805\u76ee\uff0c\u8cc7\u6599\u5c07\u6703\u5beb\u5165\u81f3\u6a19\u6e96\u8f38\u51fa |
| | | INFO_LDIFDIFF_DESCRIPTION_OUTPUT_FILENAME=\u61c9\u5beb\u5165\u8f38\u51fa\u7684\u6a94\u6848 |
| | | INFO_MAKELDIF_DESCRIPTION_LDIF=\u8981\u5beb\u5165\u4e4b LDIF \u6a94\u6848\u7684\u8def\u5f91 |
| | | INFO_MAKELDIF_DESCRIPTION_SEED=\u7528\u4ee5\u521d\u59cb\u5316\u4e82\u6578\u7522\u751f\u5668\u7684\u7a2e\u5b50 |
| | | INFO_MAKELDIF_DESCRIPTION_RESOURCE_PATH=\u5728\u76ee\u524d\u7684\u5de5\u4f5c\u76ee\u9304\u6216\u7bc4\u672c\u76ee\u9304\u8def\u5f91\u4e2d\uff0c\u627e\u4e0d\u5230\u5c0b\u627e MakeLDIF \u8cc7\u6e90 (\u5982\u8cc7\u6599\u6a94) \u7684\u8def\u5f91 |
| | | INFO_LDIFMODIFY_DESCRIPTION_OUTPUT_FILENAME=\u61c9\u5beb\u5165\u66f4\u65b0\u8cc7\u6599\u7684\u6a94\u6848 |
| | | INFO_LDAPPWMOD_DESCRIPTION_AUTHZID=\u61c9\u8b8a\u66f4\u5bc6\u78bc\u4e4b\u4f7f\u7528\u8005\u9805\u76ee\u7684\u6388\u6b0a ID |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPW=\u8981\u70ba\u76ee\u6a19\u4f7f\u7528\u8005\u63d0\u4f9b\u7684\u65b0\u5bc6\u78bc |
| | | INFO_LDAPPWMOD_DESCRIPTION_NEWPWFILE=\u6a94\u6848\u7684\u8def\u5f91\uff0c\u8a72\u6a94\u6848\u4e2d\u5305\u542b\u8981\u70ba\u76ee\u6a19\u4f7f\u7528\u8005\u63d0\u4f9b\u7684\u65b0\u5bc6\u78bc |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPW=\u76ee\u6a19\u4f7f\u7528\u8005\u76ee\u524d\u7684\u5bc6\u78bc |
| | | INFO_LDAPPWMOD_DESCRIPTION_CURRENTPWFILE=\u6a94\u6848\u7684\u8def\u5f91\uff0c\u8a72\u6a94\u6848\u4e2d\u5305\u542b\u76ee\u6a19\u4f7f\u7528\u8005\u76ee\u524d\u7684\u5bc6\u78bc |
| | | INFO_DESCRIPTION_COUNT_ENTRIES=\u8a08\u7b97\u4f3a\u670d\u5668\u6240\u50b3\u56de\u7684\u9805\u76ee\u6578 |
| | | INFO_DESCRIPTION_SIMPLE_PAGE_SIZE=\u900f\u904e\u6307\u5b9a\u7684\u9801\u9762\u5927\u5c0f\u4f7f\u7528\u7c21\u6613\u5206\u9801\u7d50\u679c\u63a7\u5236 |
| | | INFO_LDAPMODIFY_DESCRIPTION_FILENAME=\u542b\u6709\u8981\u5957\u7528\u4e4b\u8b8a\u66f4\u7684 LDIF \u6a94\u6848 |
| | | INFO_DESCRIPTION_SORT_ORDER=\u4f7f\u7528\u63d0\u4f9b\u7684\u6392\u5e8f\u9806\u5e8f\u9032\u884c\u7d50\u679c\u7684\u6392\u5e8f |
| | | INFO_DESCRIPTION_VLV=\u4f7f\u7528\u865b\u64ec\u6e05\u55ae\u6aa2\u8996\u63a7\u5236\u4f86\u64f7\u53d6\u6307\u5b9a\u7684\u7d50\u679c\u9801\u9762 |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_USER=\u900f\u904e\u6240\u63d0\u4f9b\u7684 authzid \u4f7f\u7528 geteffectiverights \u63a7\u5236 |
| | | INFO_DESCRIPTION_EFFECTIVERIGHTS_ATTR=\u6307\u5b9a geteffectiverights \u63a7\u5236\u7684\u7279\u5b9a\u5c6c\u6027\u6e05\u55ae |
| | | ERR_CANNOT_INITIALIZE_ARGS=\u5617\u8a66\u521d\u59cb\u5316\u6307\u4ee4\u884c\u5f15\u6578\u6642\uff0c\u767c\u751f\u672a\u9810\u671f\u7684\u932f\u8aa4: %s |
| | | ERR_ERROR_PARSING_ARGS=\u5256\u6790\u6307\u4ee4\u884c\u5f15\u6578\u6642\u767c\u751f\u932f\u8aa4: %s |
| | | INFO_PROCESSING_OPERATION=\u6b63\u5728\u8655\u7406 %2$s \u7684 %1$s \u8acb\u6c42 |
| | | INFO_OPERATION_FAILED=%s \u4f5c\u696d\u5df2\u5931\u6557 |
| | | INFO_OPERATION_SUCCESSFUL=%s \u4f5c\u696d (\u91dd\u5c0d DN %s) \u6210\u529f |
| | | INFO_PROCESSING_COMPARE_OPERATION=\u6bd4\u8f03\u9805\u76ee %3$s \u4e2d\u7684\u985e\u578b %1$s \u8207\u503c %2$s |
| | | INFO_COMPARE_OPERATION_RESULT_FALSE=\u6bd4\u8f03\u4f5c\u696d\u5c0d\u9805\u76ee %s \u50b3\u56de false |
| | | INFO_COMPARE_OPERATION_RESULT_TRUE=\u6bd4\u8f03\u4f5c\u696d\u5c0d\u9805\u76ee %s \u50b3\u56de true |
| | | ERR_SEARCH_NO_FILTERS=\u672a\u6307\u5b9a\u641c\u5c0b\u8acb\u6c42\u7684\u7be9\u9078\u5668 |
| | | INFO_LDAPMODIFY_PREREAD_ENTRY=\u4f5c\u696d\u524d\u7684\u76ee\u6a19\u9805\u76ee: |
| | | INFO_LDAPMODIFY_POSTREAD_ENTRY=\u4f5c\u696d\u5f8c\u7684\u76ee\u6a19\u9805\u76ee: |
| | | ERR_PSEARCH_MISSING_DESCRIPTOR=\u4f7f\u7528\u6301\u7e8c\u641c\u5c0b\u63a7\u5236\u7684\u8acb\u6c42\u4e0d\u5305\u542b\u63cf\u8ff0\u5143\uff0c\u4ee5\u6307\u51fa\u8981\u7528\u65bc\u8a72\u63a7\u5236\u7684\u9078\u9805 |
| | | ERR_PSEARCH_DOESNT_START_WITH_PS=\u6301\u7e8c\u641c\u5c0b\u63cf\u8ff0\u5143 %s \u4e26\u975e\u4ee5\u5fc5\u8981\u7684\u300cps\u300d\u5b57\u4e32\u958b\u982d |
| | | ERR_PSEARCH_INVALID_CHANGE_TYPE=\u63d0\u4f9b\u7684\u8b8a\u66f4\u985e\u578b\u503c %s \u7121\u6548\u3002\u53ef\u8fa8\u8b58\u7684\u8b8a\u66f4\u985e\u578b\u5305\u62ec add\u3001delete\u3001modify\u3001modifydn \u8207 any |
| | | ERR_PSEARCH_INVALID_CHANGESONLY=\u63d0\u4f9b\u7684 changesOnly \u503c %s \u7121\u6548\u3002\u5141\u8a31\u7684\u503c\u70ba 1 \u6216 0\uff0c\u524d\u8005\u53ea\u6703\u50b3\u56de\u641c\u5c0b\u958b\u59cb\u5f8c\u6709\u6240\u8b8a\u66f4\u7684\u76f8\u7b26\u9805\u76ee\uff0c\u5f8c\u8005\u5247\u9084\u5305\u62ec\u7b26\u5408\u641c\u5c0b\u689d\u4ef6\u7684\u73fe\u6709\u9805\u76ee |
| | | ERR_PSEARCH_INVALID_RETURN_ECS=\u63d0\u4f9b\u7684 returnECs \u503c %s \u7121\u6548\u3002\u5141\u8a31\u7684\u503c\u70ba 1 \u6216 0\uff0c\u524d\u8005\u6703\u8acb\u6c42\u5728\u66f4\u65b0\u7684\u9805\u76ee\u4e2d\u7d0d\u5165\u9805\u76ee\u8b8a\u66f4\u901a\u77e5\u63a7\u5236\uff0c\u5f8c\u8005\u5247\u6703\u5f9e\u76f8\u7b26\u9805\u76ee\u4e2d\u6392\u9664\u8a72\u63a7\u5236 |
| | | ERR_LDAP_MATCHEDVALUES_INVALID_FILTER=\u63d0\u4f9b\u7684\u76f8\u7b26\u503c\u7be9\u9078\u5668\u7121\u6548: %s |
| | | ERR_LDIF_FILE_CANNOT_OPEN_FOR_READ=\u5617\u8a66\u958b\u555f LDIF \u6a94\u6848 %s \u9032\u884c\u8b80\u53d6\u6642\u767c\u751f\u932f\u8aa4: %s |
| | | ERR_LDIF_FILE_READ_ERROR=\u5617\u8a66\u8b80\u53d6 LDIF \u6a94\u6848 %s \u7684\u5167\u5bb9\u6642\u767c\u751f\u932f\u8aa4: %s |
| | | ERR_MAKELDIF_UNABLE_TO_CREATE_LDIF=\u5617\u8a66\u958b\u555f LDIF \u6a94\u6848 %s \u9032\u884c\u5beb\u5165\u6642\u767c\u751f\u932f\u8aa4: %s |
| | | ERR_MAKELDIF_ERROR_WRITING_LDIF=\u5c07\u8cc7\u6599\u5beb\u5165\u81f3 LDIF \u6a94\u6848 %s \u6642\u767c\u751f\u932f\u8aa4: %s |
| | | INFO_MAKELDIF_PROCESSED_N_ENTRIES=\u5df2\u8655\u7406 %d \u500b\u9805\u76ee |
| | | INFO_MAKELDIF_PROCESSING_COMPLETE=LDIF \u8655\u7406\u5b8c\u6210\u3002\u5df2\u5beb\u5165 %d \u500b\u9805\u76ee |
| | | ERR_LDAPPWMOD_FAILED=LDAP \u5bc6\u78bc\u4fee\u6539\u4f5c\u696d\u5931\u6557\uff0c\u7d50\u679c\u78bc\u70ba %d |
| | | ERR_LDAPPWMOD_FAILURE_ERROR_MESSAGE=\u932f\u8aa4\u8a0a\u606f: %s |
| | | ERR_LDAPPWMOD_FAILURE_MATCHED_DN=\u76f8\u7b26 DN: %s |
| | | INFO_LDAPPWMOD_SUCCESSFUL=LDAP \u5bc6\u78bc\u4fee\u6539\u4f5c\u696d\u6210\u529f |
| | | INFO_LDAPPWMOD_ADDITIONAL_INFO=\u9644\u52a0\u8cc7\u8a0a: %s |
| | | INFO_LDAPPWMOD_GENERATED_PASSWORD=\u7522\u751f\u7684\u5bc6\u78bc: %s |
| | | INFO_COMPARE_CANNOT_BASE64_DECODE_ASSERTION_VALUE=\u5df2\u5c07\u6307\u5b9a\u503c\u6307\u5b9a\u70ba base64 \u7de8\u78bc\uff0c\u4f46\u5728\u5617\u8a66\u5c0d\u503c\u9032\u884c\u89e3\u78bc\u6642\u767c\u751f\u932f\u8aa4 |
| | | INFO_COMPARE_CANNOT_READ_ASSERTION_VALUE_FROM_FILE=\u7121\u6cd5\u5f9e\u6307\u5b9a\u7684\u6a94\u6848\u8b80\u53d6\u6307\u5b9a\u503c: %s |
| | | INFO_LDAPCOMPARE_TOOL_DESCRIPTION=\u6b64\u516c\u7528\u7a0b\u5f0f\u53ef\u7528\u65bc\u57f7\u884c\u76ee\u9304\u4f3a\u670d\u5668\u4e2d\u7684 LDAP \u6bd4\u8f03\u4f5c\u696d |
| | | INFO_LDAPMODIFY_TOOL_DESCRIPTION=\u6b64\u516c\u7528\u7a0b\u5f0f\u53ef\u7528\u65bc\u57f7\u884c\u76ee\u9304\u4f3a\u670d\u5668\u4e2d\u7684 LDAP \u4fee\u6539\u3001\u589e\u52a0\u3001\u522a\u9664\u8207\u4fee\u6539 DN \u4f5c\u696d |
| | | INFO_LDAPPWMOD_TOOL_DESCRIPTION=\u6b64\u516c\u7528\u7a0b\u5f0f\u53ef\u7528\u65bc\u57f7\u884c\u76ee\u9304\u4f3a\u670d\u5668\u4e2d\u7684 LDAP \u5bc6\u78bc\u4fee\u6539\u4f5c\u696d |
| | | INFO_LDAPSEARCH_TOOL_DESCRIPTION=\u6b64\u516c\u7528\u7a0b\u5f0f\u53ef\u7528\u65bc\u57f7\u884c\u76ee\u9304\u4f3a\u670d\u5668\u4e2d\u7684 LDAP \u641c\u5c0b\u4f5c\u696d |
| | | ERR_LDAPCOMPARE_NO_ATTR=\u672a\u63d0\u4f9b\u4efb\u4f55\u5c6c\u6027\u4f5c\u70ba\u6bd4\u8f03\u7684\u76ee\u6a19 |
| | | ERR_LDAPCOMPARE_INVALID_ATTR_STRING=\u7121\u6548\u7684\u5c6c\u6027\u5b57\u4e32\u300c%s\u300d\u3002\u5c6c\u6027\u5b57\u4e32\u5fc5\u9808\u70ba\u4e0b\u5217\u5176\u4e2d\u4e00\u7a2e\u683c\u5f0f\uff1a\u300cattribute:value\u300d\u3001\u300cattribute::base64value\u300d\u6216\u300cattribute:<valueFilePath\u300d |
| | | INFO_LDAPSEARCH_PSEARCH_CHANGE_TYPE=# \u6301\u7e8c\u641c\u5c0b\u8b8a\u66f4\u985e\u578b: %s |
| | | INFO_LDAPSEARCH_PSEARCH_PREVIOUS_DN=# \u6301\u7e8c\u641c\u5c0b\u5148\u524d\u9805\u76ee DN: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_HEADER=# \u5e33\u865f\u53ef\u7528\u6027\u56de\u61c9\u63a7\u5236 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_IS_USABLE=# \u5e33\u865f\u662f\u53ef\u7528\u7684 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_EXPIRATION=# \u5bc6\u78bc\u5230\u671f\u524d\u7684\u6642\u9593: %s |
| | | INFO_LDAPSEARCH_ACCTUSABLE_NOT_USABLE=# \u5e33\u865f\u7121\u6cd5\u4f7f\u7528 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_ACCT_INACTIVE=# \u5e33\u865f\u5df2\u88ab\u95dc\u9589 |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_RESET=# \u5bc6\u78bc\u5df2\u91cd\u8a2d |
| | | INFO_LDAPSEARCH_ACCTUSABLE_PW_EXPIRED=# \u5bc6\u78bc\u5df2\u904e\u671f |
| | | INFO_LDAPSEARCH_ACCTUSABLE_REMAINING_GRACE=# \u5269\u9918\u5bec\u9650\u767b\u5165\u6b21\u6578: %d |
| | | INFO_LDAPSEARCH_ACCTUSABLE_LOCKED=# \u5e33\u865f\u5df2\u9396\u5b9a |
| | | INFO_LDAPSEARCH_ACCTUSABLE_TIME_UNTIL_UNLOCK=# \u5e33\u865f\u89e3\u9664\u9396\u5b9a\u524d\u7684\u6642\u9593: %s |
| | | INFO_LDAPSEARCH_MATCHING_ENTRY_COUNT=# \u76f8\u7b26\u9805\u76ee\u7684\u7e3d\u6578: %d |
| | | ERR_PAGED_RESULTS_REQUIRES_SINGLE_FILTER=\u7c21\u6613\u5206\u9801\u7d50\u679c\u63a7\u5236\u53ea\u80fd\u8207\u55ae\u4e00\u641c\u5c0b\u7be9\u9078\u5668\u642d\u914d\u4f7f\u7528 |
| | | ERR_TOOL_RESULT_CODE=\u7d50\u679c\u78bc: %d (%s) |
| | | ERR_TOOL_MATCHED_DN=\u76f8\u7b26 DN: %s |
| | | ERR_LDAP_SORTCONTROL_INVALID_ORDER=\u63d0\u4f9b\u7684\u6392\u5e8f\u9806\u5e8f\u7121\u6548: %s |
| | | ERR_LDAPSEARCH_VLV_REQUIRES_SORT=\u82e5\u63d0\u4f9b\u4e86 --%s \u5f15\u6578\uff0c\u5247\u5fc5\u9808\u540c\u6642\u6307\u5b9a --%s \u5f15\u6578 |
| | | ERR_LDAPSEARCH_VLV_INVALID_DESCRIPTOR=\u63d0\u4f9b\u7684\u865b\u64ec\u6e05\u55ae\u6aa2\u8996\u63cf\u8ff0\u5143\u7121\u6548\u3002\u6b64\u63cf\u8ff0\u5143\u7684\u503c\u5fc5\u9808\u70ba\u300cbeforeCount:afterCount:offset:contentCount\u300d\u5f62\u5f0f (\u5176\u4e2d\uff0coffset \u6703\u6307\u5b9a\u76ee\u6a19\u9805\u76ee\u7684\u7d22\u5f15\uff0ccontentCount \u6703\u6307\u5b9a\u4f30\u8a08\u7684\u7d50\u679c\u7e3d\u6578\uff0c\u4f46\u82e5\u672a\u77e5\u5247\u70ba\u96f6)\uff0c\u6216\u70ba\u300cbeforeCount:afterCount:assertionValue\u300d\u5f62\u5f0f (\u5176\u4e2d\uff0c\u8a72\u9805\u76ee\u61c9\u662f\u7b2c\u4e00\u500b\u4e3b\u8981\u6392\u5e8f\u503c\u5927\u65bc\u6216\u7b49\u65bc\u6240\u63d0\u4f9b assertionValue \u7684\u9805\u76ee)\u7121\u8ad6\u662f\u4f55\u7a2e\u60c5\u6cc1\uff0cbeforeCount \u90fd\u662f\u5728\u76ee\u6a19\u503c\u4e4b\u524d\u50b3\u56de\u7684\u9805\u76ee\u6578\uff0c\u800c afterCount \u5247\u662f\u5728\u76ee\u6a19\u503c\u4e4b\u5f8c\u50b3\u56de\u7684\u9805\u76ee\u6578 |
| | | WARN_LDAPSEARCH_SORT_ERROR=# \u4f3a\u670d\u5668\u7aef\u6392\u5e8f\u5931\u6557: %s |
| | | INFO_LDAPSEARCH_VLV_TARGET_OFFSET=# VLV \u76ee\u6a19\u504f\u79fb: %d |
| | | INFO_LDAPSEARCH_VLV_CONTENT_COUNT=# VLV \u5167\u5bb9\u8a08\u6578: %d |
| | | WARN_LDAPSEARCH_VLV_ERROR=# \u865b\u64ec\u6e05\u55ae\u6aa2\u8996\u8655\u7406\u5931\u6557: %s |
| | | ERR_EFFECTIVERIGHTS_INVALID_AUTHZID=geteffectiverights \u63a7\u5236\u5167\u542b\u7684\u6388\u6b0a ID\u300c%s\u300d\u7121\u6548\uff0c\u56e0\u70ba\u5b83\u4e26\u975e\u4ee5\u300cdn:\u300d\u958b\u982d\u4ee5\u8868\u793a\u4f7f\u7528\u8005 DN |
| | |
| | | |
| | | try (PrintStream outStream = new PrintStream(out.asOutputStream()); |
| | | PrintStream errStream = new PrintStream(err.asOutputStream())) { |
| | | LDAPCompare ldapCompare = new LDAPCompare(outStream, errStream); |
| | | |
| | | ldapCompare.run(arguments); |
| | | LDAPCompare.run(outStream, errStream, arguments); |
| | | checkOuputStreams(out, err, expectedOut, expectedErr); |
| | | } catch (final LDAPToolException ae) { |
| | | checkOuputStreams(out, err, expectedOut, expectedErr); |
| | |
| | | |
| | | try (PrintStream outStream = new PrintStream(out.asOutputStream()); |
| | | PrintStream errStream = new PrintStream(err.asOutputStream())) { |
| | | LDAPSearch ldapSearch = new LDAPSearch(outStream, errStream); |
| | | ldapSearch.run(arguments); |
| | | LDAPSearch.run(outStream, errStream, arguments); |
| | | checkOuputStreams(out, err, expectedOut, expectedErr); |
| | | } catch (final LDAPToolException e) { |
| | | checkOuputStreams(out, err, expectedOut, expectedErr); |
| | |
| | | @Test |
| | | public void testMakeLDIFSupportsLineFolding() throws Exception { |
| | | final Path tempOutputFile = Paths.get(TEST_RESOURCE_PATH, TEMP_OUTPUT_FILE); |
| | | run(args("-o", tempOutputFile.toString(), VALID_TEMPLATE_FILE_PATH), |
| | | run(args("-o", tempOutputFile.toString(), |
| | | "-t", "80", |
| | | VALID_TEMPLATE_FILE_PATH), |
| | | SUCCESS, INFO_MAKELDIF_PROCESSING_COMPLETE.get(2)); |
| | | assertFilesAreEquals(TEMP_OUTPUT_FILE, "expected_output.ldif"); |
| | | assertFilesAreEquals(TEMP_OUTPUT_FILE, "expected_output_80_column.ldif"); |
| | | Files.delete(tempOutputFile); |
| | | } |
| | | |
| | |
| | | @Test |
| | | public void testMakeLDIFSupportsLineFoldingAndLineWrapping() throws Exception { |
| | | final Path tempOutputFile = Paths.get(TEST_RESOURCE_PATH, TEMP_OUTPUT_FILE); |
| | | run(args("-o", tempOutputFile.toString(), "-w", "80", VALID_TEMPLATE_FILE_PATH), |
| | | run(args("-o", tempOutputFile.toString(), "-t", "0", VALID_TEMPLATE_FILE_PATH), |
| | | SUCCESS, INFO_MAKELDIF_PROCESSING_COMPLETE.get(2)); |
| | | assertFilesAreEquals(TEMP_OUTPUT_FILE, "expected_output_80_column.ldif"); |
| | | assertFilesAreEquals(TEMP_OUTPUT_FILE, "expected_output.ldif"); |
| | | Files.delete(tempOutputFile); |
| | | } |
| | | |
| | |
| | | |
| | | private void run(final String[] arguments, final boolean expectsSuccess, final LocalizableMessage expectedOutput) |
| | | throws Exception { |
| | | final MakeLDIF makeLDIF = new MakeLDIF(outStream, errStream); |
| | | int retCode = makeLDIF.run(arguments); |
| | | final int retCode = MakeLDIF.run(outStream, errStream, arguments); |
| | | checkOuputStreams(out, err, expectedOutput, ""); |
| | | if (expectsSuccess) { |
| | | assertThat(retCode).isEqualTo(0); |
| | |
| | | .buildArgument(); |
| | | addDefaultArgument(certNicknameArg); |
| | | |
| | | connectTimeoutArg = connectTimeOutHiddenArgument(); |
| | | connectTimeoutArg = connectTimeOutArgument(); |
| | | addArgument(connectTimeoutArg); |
| | | |
| | | acceptLicense = acceptLicenseArgument(); |